2025-04-24 18:31:27 +08:00

361 lines
12 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using MyCode.Project.Domain.Message.Request.Activity;
using MyCode.Project.Domain.Message.Request.Clerk;
using MyCode.Project.Domain.Message.Response.Activity;
using MyCode.Project.Domain.Message.Response.CardCover;
using MyCode.Project.Domain.Message.Response.Member;
using MyCode.Project.Domain.Message.Response.Shop;
using MyCode.Project.Domain.Message.Response.User;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Infrastructure.Exceptions;
using MyCode.Project.Services;
using System;
using System.Collections.Generic;
using System.Web.Http;
namespace MyCode.Project.WebApi.Areas.Wechat.Controllers
{
/// <summary>
///营销中心 相关
/// </summary>
public class ActivityController : BaseWechatController
{
private IActivityService _activityService;
private IMemberInfoService _memberInfoService;
/// <summary>
/// 初始化一个<see cref="ActivityController"/>类型的实例
/// </summary>
public ActivityController(IActivityService activityService
, IMemberInfoService memberInfoService)
{
_activityService = activityService;
_memberInfoService = memberInfoService;
}
#region
/// <summary>
/// 加盟商、店长或店员获取店铺活动列表
/// </summary>
/// <param name="ShopID">店铺ID(店长或店员可不传参)</param>
[HttpGet]
public ActivityResp GetActivityList(Guid? ShopID)
{
ShopID = ShopID.HasValue ? ShopID : this.CurrentLogin.ShopId;
if (!ShopID.HasValue)
{
throw new LoginError("登录信息已失效,请重新登录");
}
return _activityService.GetActivityList(ShopID.Value, this.CurrentLogin);
}
#endregion
#region ()
/// <summary>
/// (加盟商、店长或店员端)活动详情
/// </summary>
/// <param name="shopId">店铺ID加盟商角色且店铺已参加活动时需传</param>
/// <param name="ID">活动主键ID</param>
[HttpGet]
public ActivityDetail GetDetail(Guid? shopId,Guid ID)
{
shopId = shopId.HasValue ? shopId.Value : this.CurrentLogin.ShopId;
return _activityService.GetDetail(shopId.Value,ID,this.CurrentLogin);
}
#endregion
#region ()//--
/// <summary>
/// (加盟商、店长或店员端)通用活动/分销活动--详情
/// </summary>
/// <param name="request"></param>
[HttpPost]
public ActivityCommonDetail GetCommonDetail(CommonActivityReq request)
{
request.shopId = request.shopId.HasValue ? request.shopId.Value : this.CurrentLogin.ShopId.Value;
return _activityService.GetCommonDetail(request, this.CurrentLogin);
}
#endregion
#region /--()
/// <summary>
/// 通用活动/报名活动 详情--(加盟商已存在奖品池信息) 加盟商修改奖品池
/// </summary>
/// <param name="itemId">奖品明细ID</param>
/// <param name="isChoosed">是否选中 0取消选中 1选中</param>
[HttpGet]
public void SetCommonPrize(Guid itemId,int isChoosed)
{
_activityService.SetCommonPrize(itemId, isChoosed, this.CurrentLogin);
}
#endregion
#region
/// <summary>
/// 马上参加
/// </summary>
/// <param name="VoucherID">代金券ID 活动二可不传</param>
/// <param name="ActivityID">活动主键ID</param>
/// <param name="IsAll">是否所有店铺参与该活动 0否 1是</param>
/// <param name="ShopID">选择只有当前店铺参与活动 当前店铺ID</param>
public void SetShopJoin(Guid? VoucherID, Guid ActivityID, int IsAll, Guid? ShopID)
{
_activityService.SetShopJoin(VoucherID, ActivityID, IsAll,ShopID,this.CurrentLogin);
}
#endregion
#region -
/// <summary>
/// 活动三-马上参加
/// </summary>
[HttpPost]
public void SetOnlyShopJoin(ShopJoinReq request)
{
request.ShopID = request.ShopID.HasValue ? request.ShopID : this.CurrentLogin.ShopId;
_activityService.SetOnlyShopJoin(request,this.CurrentLogin);
}
#endregion
#region /-
/// <summary>
/// 通用活动/报名活动-马上参加
/// </summary>
[HttpPost]
public void SetAllShopJoin(AllShopJoinReq request)
{
_activityService.SetAllShopJoin(request, this.CurrentLogin);
}
#endregion
#region -
/// <summary>
/// 分销活动-马上参加
/// </summary>
[HttpPost]
public void SetIsAllShopJoin(IsAllShopJoinReq request)
{
_activityService.SetIsAllShopJoin(request, this.CurrentLogin);
}
#endregion
#region
/// <summary>
/// 活动数据统计
/// </summary>
[HttpPost]
public DataCenterResp GetDataStatistics(DataCenterReq request)
{
request.ShopID = request.ShopID.HasValue ? request.ShopID : this.CurrentLogin.ShopId;
return _activityService.GetDataStatistics(request, this.CurrentLogin);
}
#endregion
//#region GetShopShareCode(加盟商/店员分享活动小程序海报)
///// <summary>
///// 加盟商/店员分享活动小程序海报,返回完整的图片URL
///// </summary>
///// <param name="shopActivityId"></param>
///// <returns></returns>
//[HttpGet]
//public string GetCustomerShareCode(Guid shopActivityId)
//{
// return _activityService.GetCustomerShareCode(shopActivityId,CurrentLogin);
//}
//#endregion
#region
/// <summary>
/// 修改代金券
/// </summary>
/// <param name="logId">店铺参与活动记录ID</param>
/// <param name="voucherId">代金券ID</param>
[HttpGet]
public void SetShopVoucher(Guid logId, Guid voucherId)
{
_activityService.SetShopVoucher(logId, voucherId, this.CurrentLogin);
}
#endregion
#region
/// <summary>
/// 修改兑换方案
/// </summary>
/// <param name="logId">店铺参与活动记录ID</param>
/// <param name="caseId">兑换方案主键ID</param>
[HttpGet]
public void SetShopCase(Guid logId, Guid caseId)
{
_activityService.SetShopCase(logId, caseId, this.CurrentLogin);
}
#endregion
#region
/// <summary>
/// 溯源数据
/// </summary>
/// <param name="search"></param>
/// <returns></returns>
[HttpPost]
public PageResult<OriginResp> GetOriginPageList(PagedSearch<OriginReq> search)
{
return _activityService.GetOriginPageList(search,this.CurrentLogin);
}
#endregion
#region -
/// <summary>
/// 报名活动-溯源数据查看报名信息
/// </summary>
/// <param name="Id">溯源信息主键Id</param>
/// <returns></returns>
[HttpGet]
public ApplyInfo GetApplyInfo(Guid Id)
{
return _activityService.GetApplyInfo(Id);
}
#endregion
#region
/// <summary>
/// 加盟商取消参与活动
/// </summary>
/// <param name="id">活动主键ID</param>
/// <param name="shopId">店铺主键ID</param>
[HttpGet]
public void CancelJoinActivity(Guid id,Guid shopId)
{
_activityService.CancelJoinActivity(id,shopId,this.CurrentLogin);
}
#endregion
#region
/// <summary>
/// 调度开启活动
/// </summary>
[HttpGet]
[AllowAnonymous]
public void ActivityBegin()
{
_activityService.JoinProcessToActivity();
}
#endregion
#region -
/// <summary>
/// 管理层-进行中活动列表
/// </summary>
/// <returns></returns>
[HttpGet]
public List<ActivityListResp> GetInActivityList()
{
return _activityService.GetActivityList();
}
#endregion
#region -
/// <summary>
/// 管理层-所有非禁用与非进行中的活动列表
/// </summary>
/// <returns></returns>
[HttpGet]
public List<ActivityListResp> GetAllActivityList()
{
return _activityService.GetAllActivityList();
}
#endregion
#region -
/// <summary>
/// 强提醒-每天未核销人数
/// </summary>
/// <param name="shopId">加盟商角色必传</param>
/// <returns></returns>
public List<UnusedList> GetUnusedList(Guid? shopId)
{
shopId = shopId.HasValue ? shopId : this.CurrentLogin.ShopId;
return _activityService.GetUnusedList(shopId,this.CurrentLogin);
}
#endregion
#region
/// <summary>
/// 首页轮播图
/// </summary>
/// <param name="shopID">店铺ID</param>
/// <returns></returns>
[HttpGet]
public List<HomePageResp> GetHomePageList(Guid? shopID)
{
return _activityService.GetHomePageList(shopID, 1);
}
#endregion
#region GetCustomPage
/// <summary>
/// 获取自定义页面信息
/// </summary>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public CustomPage GetCustomPage(Guid id)
{
return _memberInfoService.GetCustomPage(id);
}
#endregion
#region GetCustomerSharePic()
/// <summary>
/// 门店端获取拼接海报的多个图片
/// </summary>
/// <param name="shopActivityId"></param>
/// <returns></returns>
[HttpGet]
public CustomerSharePicResp GetCustomerSharePic(Guid shopActivityId)
{
return _activityService.GetCustomerSharePicNew(shopActivityId, CurrentLogin,true);
}
#endregion
#region GetMiniCodeUrl(1280)
/// <summary>
/// 获取1280小程序码
/// </summary>
/// <param name="shopActivityId"></param>
/// <returns></returns>
[HttpGet]
public string Get1280MiniCodeUrl(Guid shopActivityId)
{
return _activityService.Get1280MiniCodeUrl(shopActivityId, CurrentLogin, true);
}
#endregion
#region ClearActivityCache()
/// <summary>
/// 清除已经结束的活动的缓存内容
/// </summary>
[HttpGet]
[AllowAnonymous]
public void ClearActivityCache()
{
_activityService.ClearActivityCache();
}
#endregion
#region ResetKeyExpire(redis有效期)
/// <summary>
/// 刷新店员添加客户的小程序码的redis有效期
/// </summary>
[HttpGet]
[AllowAnonymous]
public void ResetKeyExpire()
{
_activityService.ResetKeyExpire();
}
#endregion
}
}