This commit is contained in:
2025-04-24 18:31:27 +08:00
commit 9340f5253e
2796 changed files with 1387124 additions and 0 deletions

View File

@@ -0,0 +1,170 @@
using MyCode.Project.Domain.Message.Request.Activity;
using MyCode.Project.Domain.Message.Response.Activity;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Services;
using System;
using System.Collections.Generic;
using System.Web.Http;
namespace MyCode.Project.WebApi.Areas.Member.Controllers
{
/// <summary>
/// 活动相关
/// </summary>
public class ActivityController : BaseMemberController
{
private IActivityService _activityService;
/// <summary>
/// 初始化一个<see cref="ActivityController"/>类型的实例
/// </summary>
/// <param name="activityService"></param>
public ActivityController(IActivityService activityService)
{
_activityService = activityService;
}
#region
/// <summary>
/// 首页轮播图
/// </summary>
/// <param name="shopID">有登录需传店铺ID</param>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public List<HomePageResp> GetHomePageList(Guid? shopID)
{
return _activityService.GetHomePageList(shopID,0);
}
#endregion
#region
/// <summary>
/// 店铺参与的活动列表
/// </summary>
/// <param name="shopID">店铺ID</param>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public List<ShopActivityResp> ShopActivityList(Guid shopID)
{
return _activityService.ShopActivityList(shopID);
}
#endregion
#region -
/// <summary>
/// 不需要登录-所有的活动列表
/// </summary>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public List<ShopActivityResp> ActivityList()
{
return _activityService.ActivityList();
}
#endregion
#region
/// <summary>
/// 活动详情页面
/// </summary>
/// <param name="request"></param>
[HttpPost]
[AllowAnonymous]
public ActivityDatail ActivityDetail(FitShopReq request)
{
return _activityService.ActivityDetail(request,this.CurrentLogin.UserId);
}
#endregion
#region
/// <summary>
/// 参与活动列表
/// </summary>
/// <param name="shopId">个人中切换的店铺ID</param>
/// <returns></returns>
[HttpGet]
public List<MemberActivityResp> JoinActivityList(Guid shopId)
{
return _activityService.JoinActivityList(shopId,this.CurrentLogin);
}
#endregion
#region -
/// <summary>
/// 通用活动-马上领取
/// </summary>
/// <param name="LogID">店铺活动记录主键ID</param>
/// <param name="Scene">小程序进入的参数小程序码产生传参为scene</param>
[HttpGet]
public void JoinActivity(Guid LogID, string Scene)
{
_activityService.JoinActivity(LogID, Scene, this.CurrentLogin);
}
#endregion
#region -
/// <summary>
/// 报名活动-获取报名字段信息
/// </summary>
/// <param name="LogID">店铺活动记录主键ID</param>
[HttpGet]
public ApplyInfoResp GetApplyActivity(Guid LogID)
{
return _activityService.GetApplyActivity(LogID);
}
#endregion
#region -
/// <summary>
/// 报名活动-提交报名信息
/// </summary>
[HttpPost]
public void SaveApply(ApplyRequst act)
{
_activityService.SaveApply(act,this.CurrentLogin);
}
#endregion
#region GetShareCode()
/// <summary>
/// 会员分享活动小程序的链接地址
/// </summary>
/// <param name="shopActivityId">店铺活动的主键</param>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public string GetShareCode(Guid shopActivityId)
{
return _activityService.GetMemberShareCode(shopActivityId,CurrentLogin);
}
#endregion
#region GetMemberProfitTotal -
/// <summary>
/// 活动数据-获取会员的获利来源
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public MemberProfitReq GetMemberProfitTotal(PagedSearch<UserProfitResp> request)
{
return _activityService.GetMemberProfitTotal(request,this.CurrentLogin);
}
#endregion
#region GetMemberProfitDetail -
/// <summary>
/// 活动数据-获取会员的获利明细
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public PageResult<UserProfitDetailReq> GetMemberProfitDetail(PagedSearch<UserProfitResp> request)
{
return _activityService.GetUserProfitDetail(request, this.CurrentLogin);
}
#endregion
}
}

View File

@@ -0,0 +1,32 @@
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using MyCode.Project.Domain.Message.Response.User;
using MyCode.Project.Infrastructure.Constant;
using MyCode.Project.WebApi.Controllers;
using MyCode.Project.Domain.Config;
namespace MyCode.Project.WebApi.Areas.Member.Controllers
{
public class BaseMemberController : BaseAPIController
{
/// <summary>
/// 取得登录信息
/// </summary>
protected MemberLoginInfo CurrentLogin
{
get
{
var obj = this.RequestContext.RouteData.Values[Const.LoginInfoKey];
return ((JObject)obj).ToObject<MemberLoginInfo>();
}
}
}
}

View File

@@ -0,0 +1,141 @@
using MyCode.Project.Domain.Message.Request.Activity;
using MyCode.Project.Domain.Message.Request.Member;
using MyCode.Project.Domain.Message.Request.User;
using MyCode.Project.Domain.Message.Response.CardCover;
using MyCode.Project.Domain.Message.Response.CouponActivity;
using MyCode.Project.Domain.Message.Response.Goods;
using MyCode.Project.Domain.Message.Response.Member;
using MyCode.Project.Domain.Message.Response.Wechat;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Services;
using System;
using System.Collections.Generic;
using System.Web.Http;
namespace MyCode.Project.WebApi.Areas.Member.Controllers
{
/// <summary>
/// 优惠券相关
/// </summary>
public class CouponActivityController : BaseMemberController
{
private ICouponActivityService _couponActivityService;
/// <summary>
/// 初始化一个<see cref="CouponController"/>类型的实例
/// </summary>
/// <param name="couponActivityService"></param>
public CouponActivityController(ICouponActivityService couponActivityService)
{
_couponActivityService = couponActivityService;
}
//#region OpenMemberCouponList(会员手动点领取开优惠券)
///// <summary>
///// 会员手动点领取开优惠券
///// </summary>
///// <returns></returns>
//[HttpGet]
//public List<CouponList> OpenMemberCouponList(string scene)
//{
// if (string.IsNullOrWhiteSpace(scene))
// return _couponActivityService.OpenMemberCouponList(this.CurrentLogin.UserId);
// else
// return _couponActivityService.OpenMemberCouponList(this.CurrentLogin.UserId, scene);
//}
//#endregion
#region GetGoodsString()
/// <summary>
/// 获取优惠券的商品范围规则文本
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet]
public string GetGoodsString(Guid id)
{
return _couponActivityService.GetGoodsString(id);
}
#endregion
#region GetCouponPic()
/// <summary>
/// 获取事件优惠券的优惠券封面和列表
/// </summary>
/// <returns></returns>
[HttpGet]
public CouponPic GetCouponPic()
{
return _couponActivityService.GetCouponPic(this.CurrentLogin.UserId);
}
#endregion
#region GetCouponPicFromCode()
/// <summary>
/// 获取海报的优惠券封面和列表
/// </summary>
/// <returns></returns>
[HttpGet]
public CouponPic GetCouponPicFromCode(string scene)
{
return _couponActivityService.GetCouponPic(this.CurrentLogin.UserId, scene);
}
#endregion
#region GetCouponPic()
/// <summary>
/// 获取单店的事件优惠券的优惠券封面和列表530
/// </summary>
/// <returns></returns>
[HttpGet]
public CouponPic GetCouponPicForSingleShop(Guid shopId)
{
return _couponActivityService.GetCouponPic(this.CurrentLogin.UserId,shopId);
}
#endregion
#region GetCouponPicBy202409()
/// <summary>
/// 获取扫码领取优惠券的优惠券内容
/// </summary>
/// <param name="scene">小程序进入的参数比如id,小程序码产生传参为scene</param>
/// <returns></returns>
[HttpGet]
public Coupon202409 GetCouponPic202409(string scene)
{
return _couponActivityService.GetCouponPicBy202409(this.CurrentLogin.UserId, scene);
}
#endregion
#region OpenCoupon202409((202409))
/// <summary>
/// 领取优惠券(202409版本)
/// </summary>
/// <param name="scene">小程序进入的参数比如id,小程序码产生传参为scene</param>
/// <returns></returns>
[HttpGet]
public void OpenCoupon202409(string scene)
{
_couponActivityService.GetCoupon202409(this.CurrentLogin.UserId, scene);
}
#endregion
//[HttpGet]
//[AllowAnonymous]
//public void AutoJoinCouponActivity()
//{
// _couponActivityService.AutoJoinCouponActivity();
//}
}
}

View File

@@ -0,0 +1,126 @@
using MyCode.Project.Domain.Message.Request.Activity;
using MyCode.Project.Domain.Message.Request.Member;
using MyCode.Project.Domain.Message.Request.User;
using MyCode.Project.Domain.Message.Response.CardCover;
using MyCode.Project.Domain.Message.Response.Goods;
using MyCode.Project.Domain.Message.Response.Member;
using MyCode.Project.Domain.Message.Response.Wechat;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Services;
using System;
using System.Collections.Generic;
using System.Web.Http;
namespace MyCode.Project.WebApi.Areas.Member.Controllers
{
/// <summary>
/// 优惠券相关
/// </summary>
public class CouponController : BaseMemberController
{
private ICouponService _couponService;
/// <summary>
/// 初始化一个<see cref="CouponController"/>类型的实例
/// </summary>
/// <param name="couponService"></param>
public CouponController(ICouponService couponService)
{
_couponService = couponService;
}
#region
/// <summary>
/// 获取会员优惠券列表
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public PageResult<CouponMemberListResp> GetCouponMemberList(PagedSearch<CouponMemberPageQuery> request)
{
return _couponService.GetCouponMemberList(request, this.CurrentLogin);
}
#endregion
#region GetAppShopByCouponId(ID获取适用店铺列表)
/// <summary>
/// 小程序优惠券ID获取适用店铺列表
/// </summary>
/// <param name="couponId">主键ID</param>
/// <param name="logID">会员优惠券记录主键ID</param>
/// <returns></returns>
[HttpGet]
public List<AppGetShopPageListResp> GetAppShopByCouponId(Guid couponId, Guid logID)
{
return _couponService.GetAppShopByCouponId(couponId, logID, this.CurrentLogin);
}
#endregion
#region GetAPPSKUList(ID获取可用商品列表)
/// <summary>
/// 根据优惠券ID获取可用商品列表(即将作废)
/// </summary>
/// <param name="couponId">主键ID</param>
/// <returns></returns>
[HttpGet]
public List<GoodsPackageItem> GetAPPSKUList(Guid couponId)
{
return _couponService.GetAPPSKUList(couponId, this.CurrentLogin);
}
#endregion
#region GetAppCouponDetail()
/// <summary>
/// 小程序获取优惠券详情
/// </summary>
/// <param name="logID">会员优惠券记录ID</param>
/// <returns></returns>
[HttpGet]
public AppCouponDetailResp GetAppCouponDetail(Guid logID)
{
return _couponService.GetAppCouponDetail(logID, this.CurrentLogin.MerchantId);
}
#endregion
#region GetGoodsString()
/// <summary>
/// 获取会员优惠券的商品范围规则文本
/// </summary>
/// <param name="logID">会员优惠券记录主键ID</param>
/// <returns></returns>
[HttpGet]
public string GetGoodsString(Guid logID)
{
return _couponService.GetGoodsString(logID);
}
#endregion
#region GetNewCouponMemberList ()
/// <summary>
/// 新版会员端的优惠券列表(530)
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public PageResult<CouponMemberListResp40> GetNewCouponMemberList(PagedSearch<CouponMemberPageQuery> request)
{
return _couponService.GetNewCouponMemberList(request, this.CurrentLogin);
}
#endregion
//#region ShowCouponMemberList(获取优惠券后的弹框显示)
///// <summary>
///// 获取优惠券后的弹框显示(即将作废)
///// </summary>
///// <returns></returns>
//[HttpGet]
//public List<CouponMemberListResp2> ShowCouponMemberList( )
//{
// return _couponService.ShowCouponMemberList(this.CurrentLogin);
//}
//#endregion
}
}

View File

@@ -0,0 +1,68 @@
using MyCode.Project.Domain.Message.Act.User;
using MyCode.Project.Domain.Message.Request.Activity;
using MyCode.Project.Domain.Message.Request.Member;
using MyCode.Project.Domain.Message.Request.User;
using MyCode.Project.Domain.Message.Response.CardCover;
using MyCode.Project.Domain.Message.Response.Goods;
using MyCode.Project.Domain.Message.Response.LiveVideo;
using MyCode.Project.Domain.Message.Response.Member;
using MyCode.Project.Domain.Message.Response.Wechat;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Services;
using System;
using System.Collections.Generic;
using System.Web.Http;
namespace MyCode.Project.WebApi.Areas.Member.Controllers
{
/// <summary>
/// 直播间相关接口
/// </summary>
public class LiveVideoController : BaseMemberController
{
#region
private readonly ILiveVideoService _liveVideoService;
public LiveVideoController(ILiveVideoService liveVideoService)
{
_liveVideoService = liveVideoService;
}
#endregion
#region GetLiveInfo()
/// <summary>
/// 获取当前最新的直播房间列表
/// </summary>
[HttpGet]
[AllowAnonymous]
public List<Room_info> GetLiveInfo()
{
return _liveVideoService.GetLiveInfo();
}
#endregion
#region SetMemberRelationshipFromLiveVideo()
/// <summary>
/// 更新商城直播的会员关系链的方法
/// </summary>
/// <param name="act"></param>
[HttpPost]
[AllowAnonymous]
public string SetMemberRelationshipFromLiveVideo(LiveVideoMemberRelationshipAct act)
{
return _liveVideoService.SetMemberRelationshipFromLiveVideo(act);
}
#endregion
#region SetMemberRelationship()
/// <summary>
/// 存储登录后自己进入直播间的会员关系链的方法
/// </summary>
[HttpGet]
public void SetMemberRelationship()
{
_liveVideoService.SetMemberRelationshipFromLiveVideo(this.CurrentLogin);
}
#endregion
}
}

View File

@@ -0,0 +1,169 @@
using MyCode.Project.Domain.Message.Common;
using MyCode.Project.Domain.Message.Request.Member;
using MyCode.Project.Domain.Message.Request.User;
using MyCode.Project.Domain.Message.Response.Member;
using MyCode.Project.Domain.Message.Response.ServiceOrder;
using MyCode.Project.Domain.Message.Response.User;
using MyCode.Project.Domain.Message.Response.Wechat;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Services;
using System;
using System.Collections.Generic;
using System.Web.Http;
namespace MyCode.Project.WebApi.Areas.Member.Controllers
{
/// <summary>
/// 会员信息相关
/// </summary>
public class MemberInfoController : BaseMemberController
{
private IMemberInfoService _memberInfoService;
private IMemberOrderService _MemberOrderService;
/// <summary>
/// 初始化一个<see cref="MemberInfoController"/>类型的实例
/// </summary>
/// <param name="memberInfoService"></param>
public MemberInfoController(IMemberInfoService memberInfoService
,IMemberOrderService MemberOrderService)
{
_memberInfoService = memberInfoService;
_MemberOrderService = MemberOrderService;
}
#region
/// <summary>
/// 会员基本信息
/// </summary>
/// <returns></returns>
[HttpGet]
public MemberInfoResp GetMemberInfo(Guid shopID)
{
return _memberInfoService.GetMemberInfo(shopID,this.CurrentLogin.UserId);
}
#endregion
#region
/// <summary>
/// 会员绑定的店铺列表
/// </summary>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public List<MemberShopResp> MemberShopList()
{
return _memberInfoService.MemberShopList(this.CurrentLogin);
}
#endregion
#region
/// <summary>
/// 获取会员余额明细列表
/// </summary>
/// <param name="search"></param>
/// <returns></returns>
[HttpPost]
public PageResult<BalanceDetail> GetMemberBalanceList(PagedSearch<MemberReq> search)
{
return _memberInfoService.GetMemberBalanceList(search,this.CurrentLogin);
}
#endregion
#region
/// <summary>
/// 余额适用的店铺列表
/// </summary>
/// <returns></returns>
[HttpGet]
public List<MemberShopResp> BalanceShopList(Guid shopId)
{
return _memberInfoService.BalanceShopList(shopId,this.CurrentLogin);
}
#endregion
#region
/// <summary>
/// 获取账户积分汇总信息
/// </summary>
/// <param name="shopId">个人中心选择店铺主键ID</param>
/// <returns></returns>
[HttpGet]
public AccountIntegralInfoResp GetAccountIntegral(Guid shopId)
{
return _memberInfoService.GetAccountIntegral(shopId,this.CurrentLogin.UserId);
}
#endregion
#region
/// <summary>
/// 获取账户积分流水分页列表
/// </summary>
/// <param name="search">查询条件</param>
/// <returns></returns>
[HttpPost]
public PageResult<AcountIntegralBookListResp> GetAccountIntegralBookPageList(PagedSearch<MemberReq> search)
{
return _memberInfoService.GetAccountIntegralBookPageList(search, this.CurrentLogin.UserId);
}
#endregion
#region GetMemberOrderList
/// <summary>
/// 获取会员消费记录
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public MemberOrderListResp GetMemberOrderList(PagedSearch<MemberOrderRequst> search)
{
search.Condition.MemberID = this.CurrentLogin.UserId;
return _MemberOrderService.GetMemberOrderList(search);
}
#endregion
#region GetMemberEquity
/// <summary>
/// 获取会员权益富文本
/// </summary>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public string GetMemberEquity()
{
return _memberInfoService.GetMemberEquity();
}
#endregion
#region GetCustomPage
/// <summary>
/// 获取自定义页面信息
/// </summary>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public CustomPage GetCustomPage(Guid id)
{
return _memberInfoService.GetCustomPage(id);
}
#endregion
#region GetOrderShopInfo()
/// <summary>
/// 获取会员的开卡店铺和加盟商信息
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public OrderShopInfo GetOrderShopInfo(Guid userId)
{
return _MemberOrderService.GetOrderShopInfo(userId);
}
#endregion
}
}

View File

@@ -0,0 +1,77 @@
using MyCode.Project.Domain.Message.Request.Activity;
using MyCode.Project.Domain.Message.Request.Member;
using MyCode.Project.Domain.Message.Request.Message;
using MyCode.Project.Domain.Message.Request.User;
using MyCode.Project.Domain.Message.Response.CardCover;
using MyCode.Project.Domain.Message.Response.Goods;
using MyCode.Project.Domain.Message.Response.Member;
using MyCode.Project.Domain.Message.Response.Message;
using MyCode.Project.Domain.Message.Response.Wechat;
using MyCode.Project.Domain.Model;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Services;
using System;
using System.Collections.Generic;
using System.Web.Http;
namespace MyCode.Project.WebApi.Areas.Member.Controllers
{
/// <summary>
/// 奖励记录 相关
/// </summary>
public class MemberPrizeItemController : BaseMemberController
{
private IMemberPrizeItemService _memberPrizeItemService;
private IActivityService _activityService;
/// <summary>
/// 初始化一个<see cref="CouponController"/>类型的实例
/// </summary>
/// <param name="memberPrizeItemService"></param>
/// <param name="activityService"></param>
public MemberPrizeItemController(IMemberPrizeItemService memberPrizeItemService
, IActivityService activityService)
{
_memberPrizeItemService = memberPrizeItemService;
_activityService = activityService;
}
#region GetPageList()
/// <summary>
/// 分页列表(530)
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public PageResult<MemberPrizeResp> GetPageList(PagedSearch<MemberPrizeReq> request)
{
return _memberPrizeItemService.GetPageList(request,this.CurrentLogin.UserId);
}
#endregion
#region GetPrizeDetailResp()
/// <summary>
/// 获取领取奖品的详细内容
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public PrizeDetailResp GetPrizeDetailResp(Guid id)
{
return _activityService.GetPrizeDetailResp(id);
}
#endregion
#region ConvertPrize()
/// <summary>
/// 会员直接兑换代金券
/// </summary>
/// <param name="act"></param>
[HttpPost]
public void ConvertPrize(MemberPrizeAct act)
{
_memberPrizeItemService.ConvertPrize(act, this.CurrentLogin.UserId);
}
#endregion
}
}

View File

@@ -0,0 +1,63 @@
using MyCode.Project.Domain.Message.Request.Member;
using MyCode.Project.Domain.Message.Request.Service;
using MyCode.Project.Domain.Message.Request.User;
using MyCode.Project.Domain.Message.Response.Member;
using MyCode.Project.Domain.Message.Response.Service;
using MyCode.Project.Domain.Message.Response.User;
using MyCode.Project.Domain.Message.Response.Wechat;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Services;
using System;
using System.Collections.Generic;
using System.Web.Http;
namespace MyCode.Project.WebApi.Areas.Member.Controllers
{
/// <summary>
/// 会员服务相关
/// </summary>
public class MemberServiceInvController : BaseMemberController
{
private IMemberServiceInvService _memberServiceInvService;
/// <summary>
///
/// </summary>
/// <param name="memberServiceInvService"></param>
public MemberServiceInvController(IMemberServiceInvService memberServiceInvService)
{
_memberServiceInvService = memberServiceInvService;
}
#region GeMyServiceForAppPageList()
/// <summary>
/// 小程序的我的服务列表
/// </summary>
/// <param name="search"></param>
/// <returns></returns>
[HttpPost]
public PageResult<AppMyServicePageListResp> GetMyServiceForAppPageList(PagedSearch<MemberReq> search)
{
Guid memberid = CurrentLogin.UserId;// Guid.Parse("91C0DA0E-E7B1-E65A-5E3F-39E516A03085");
return _memberServiceInvService.GetMyServiceForAppPageList(search, memberid);
}
#endregion
#region GetServiceShopList(ID获取适用店铺列表)
/// <summary>
/// 根据加盟商ID获取适用店铺列表
/// </summary>
/// <param name="shopId"></param>
/// <returns></returns>
[HttpGet]
public List<AppGetShopListResp> GetServiceShopList(Guid? shopId)
{
return _memberServiceInvService.GetServiceShopList(shopId);
}
#endregion
}
}

View File

@@ -0,0 +1,56 @@
using MyCode.Project.Domain.Message.Act.ServiceOrderComment;
using MyCode.Project.Domain.Message.Common;
using MyCode.Project.Domain.Message.Request.Member;
using MyCode.Project.Domain.Message.Request.OnlineGoods;
using MyCode.Project.Domain.Message.Request.User;
using MyCode.Project.Domain.Message.Response.Member;
using MyCode.Project.Domain.Message.Response.OnlineGoods;
using MyCode.Project.Domain.Message.Response.ServiceOrder;
using MyCode.Project.Domain.Message.Response.ServiceOrderComment;
using MyCode.Project.Domain.Message.Response.User;
using MyCode.Project.Domain.Message.Response.Wechat;
using MyCode.Project.Infrastructure.Cache;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Services;
using System;
using System.Collections.Generic;
using System.Web.Http;
namespace MyCode.Project.WebApi.Areas.Member.Controllers
{
/// <summary>
/// 会员服务评价相关
/// </summary>
public class OnlineGoodsController : BaseMemberController
{
private IOnlineGoodsService _OnlineGoodsService;
/// <summary>
/// 初始化一个<see cref="OnlineGoodsController"/>类型的实例
/// </summary>
public OnlineGoodsController(IOnlineGoodsService onlineGoodsService
)
{
_OnlineGoodsService = onlineGoodsService;
}
#region GetOnlineGoodsDetailForMember()
/// <summary>
/// 会员端扫海报打开的商品详情
/// </summary>
/// <param name="scene"></param>
/// <returns></returns>
[HttpPost]
[AllowAnonymous]
public OnlineGoodsDetailResp GetOnlineGoodsDetailForMember(string scene)
{
return this._OnlineGoodsService.GetOnlineGoodsDetailForMember(scene);
}
#endregion
}
}

View File

@@ -0,0 +1,93 @@
using MyCode.Project.Domain.Message.Act.ServiceOrderComment;
using MyCode.Project.Domain.Message.Common;
using MyCode.Project.Domain.Message.Request.Member;
using MyCode.Project.Domain.Message.Request.User;
using MyCode.Project.Domain.Message.Response.Member;
using MyCode.Project.Domain.Message.Response.ServiceOrder;
using MyCode.Project.Domain.Message.Response.ServiceOrderComment;
using MyCode.Project.Domain.Message.Response.User;
using MyCode.Project.Domain.Message.Response.Wechat;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Services;
using System;
using System.Collections.Generic;
using System.Web.Http;
namespace MyCode.Project.WebApi.Areas.Member.Controllers
{
/// <summary>
/// 会员服务评价相关
/// </summary>
public class ServiceOrderCommentController : BaseMemberController
{
private IMemberInfoService _memberInfoService;
private IMemberOrderService _MemberOrderService;
private IServiceOrderCommentService _serviceOrderCommentService;
/// <summary>
/// 初始化一个<see cref="MemberInfoController"/>类型的实例
/// </summary>
/// <param name="memberInfoService"></param>
public ServiceOrderCommentController(IMemberInfoService memberInfoService
,IMemberOrderService MemberOrderService
, IServiceOrderCommentService serviceOrderCommentService)
{
_memberInfoService = memberInfoService;
_MemberOrderService = MemberOrderService;
_serviceOrderCommentService = serviceOrderCommentService;
}
#region SaveServiceComment
/// <summary>
/// 提交服务评论
/// </summary>
/// <param name="act"></param>
[HttpPost]
public void SaveServiceComment(SaveServiceCommentAct act)
{
_serviceOrderCommentService.SaveServiceComment(act, this.CurrentLogin);
}
#endregion
#region GetMemberOrderList
/// <summary>
/// 获取会员服务记录
/// </summary>
/// <param name="search">店铺ID</param>
/// <returns></returns>
[HttpPost]
public PageResult<MemberServiceOrder> GetMemberServiceOrder(PagedSearch<IdAct> search)
{
return _MemberOrderService.GetMemberServiceOrder(search, this.CurrentLogin, search.Condition.Id);
}
#endregion
#region GetDetail()
/// <summary>
/// 获取评价详情
/// </summary>
/// <param name="id"></param>
[HttpGet]
public ServiceCommentDetail GetDetail(string id)
{
return _serviceOrderCommentService.GetDetail(id);
}
#endregion
#region GetCommentSetList()
/// <summary>
/// 获取快捷评论列表
/// </summary>
[HttpGet]
public List<string> GetCommentSetList()
{
return _serviceOrderCommentService.GetCommentSetList();
}
#endregion
}
}

View File

@@ -0,0 +1,47 @@
using MyCode.Project.Domain.Message.Request.Activity;
using MyCode.Project.Domain.Message.Request.Member;
using MyCode.Project.Domain.Message.Request.User;
using MyCode.Project.Domain.Message.Response.CardCover;
using MyCode.Project.Domain.Message.Response.Goods;
using MyCode.Project.Domain.Message.Response.Member;
using MyCode.Project.Domain.Message.Response.Wechat;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Services;
using System;
using System.Collections.Generic;
using System.Web.Http;
namespace MyCode.Project.WebApi.Areas.Member.Controllers
{
/// <summary>
/// 订阅消息 相关
/// </summary>
public class SubscribNotificationsController : BaseMemberController
{
private IMiniMessageService _miniMessageService;
/// <summary>
/// 初始化一个<see cref="CouponController"/>类型的实例
/// </summary>
/// <param name=""></param>
public SubscribNotificationsController(IMiniMessageService miniMessageService)
{
_miniMessageService = miniMessageService;
}
#region GetTemplateMessageIdList(ID数组)
/// <summary>
/// 获取模板消息ID数组
/// </summary>
/// <returns></returns>
[HttpGet]
public List<string> GetTemplateMessageIdList()
{
List<string> result = _miniMessageService.GetTemplateMessageIdList();
return result;
}
#endregion
}
}

View File

@@ -0,0 +1,228 @@
using MyCode.Project.Domain.Message.Act.User;
using MyCode.Project.Domain.Message.Request.Member;
using MyCode.Project.Domain.Message.Request.Shop;
using MyCode.Project.Domain.Message.Request.User;
using MyCode.Project.Domain.Message.Response.Activity;
using MyCode.Project.Domain.Message.Response.Shop;
using MyCode.Project.Domain.Message.Response.User;
using MyCode.Project.Domain.Message.Response.Wechat;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Services;
using System;
using System.Collections.Generic;
using System.Web.Http;
namespace MyCode.Project.WebApi.Areas.Member.Controllers
{
/// <summary>
/// 会员用户登录相关
/// </summary>
public class UserController : BaseMemberController
{
private IMemberMiniService _memberMiniService;
private IClerkService _clerkService;
public UserController(IMemberMiniService memberMiniService
, IClerkService clerkService)
{
_memberMiniService = memberMiniService;
_clerkService = clerkService;
}
//#region Registered(注册会员)
///// <summary>
///// 注册会员 返回值:是否需要去绑定门店和营销顾问 0 不需要 1 需要
///// </summary>
///// <param name="request"></param>
///// <returns></returns>
//[HttpPost]
//[AllowAnonymous]
//public int Registered(MemberGetTokenRequest request)
//{
// return _memberMiniService.Registered(request);
//}
//#endregion
//#region MemberGetToken(根据小程序的code获得用户的token等信息,如果获取不到,则调到注册页面)
///// <summary>
///// 根据小程序的code获得用户的token等信息,如果获取不到,则调到注册页面
///// </summary>
///// <param name="request"></param>
///// <returns></returns>
//[HttpPost]
//[AllowAnonymous]
//public GetMemberTokenResp MemberGetToken(FirstGetTokenRequest request)
//{
// return _memberMiniService.MemberGetToken(request);
//}
//#endregion
#region GetActivityId(ID和活动类型)
/// <summary>
/// 会员根据店员小程序活动码参数获取店铺活动主键ID和活动类型
/// </summary>
/// <param name="scene"></param>
[HttpGet]
[AllowAnonymous]
public ActivityByCodeResp GetActivityId(string scene)
{
return _memberMiniService.GetActivityId(scene);
}
#endregion
#region DecodeEncryptedData()
/// <summary>
/// 获取小程序解密信息
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
[AllowAnonymous]
public string DecodeEncryptedData(GetWxPhoneRequest request)
{
return _memberMiniService.DecodeEncryptedData(request.JsCode, request.EncryptedData, request.Iv);
}
#endregion
#region GetClerkList
/// <summary>
/// 获取店员列表
/// </summary>
/// <param name="ShopID">详细档案接口返回的店铺主键ShopID</param>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public List<ClerkListResp> GetClerkList(Guid? ShopID)
{
if (!ShopID.HasValue)
return new List<ClerkListResp>();
return _clerkService.GetClerkList(ShopID.Value);
}
#endregion
#region GetAllShopList
/// <summary>
/// 获取所有的店铺列表
/// </summary>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public List<ClerkListResp> GetAllShopList()
{
return _clerkService.GetAllShopList();
}
#endregion
#region GetShopPageList(,)
/// <summary>
/// 关键字查询店铺分页列表,根据距离排序
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
[AllowAnonymous]
public PageResult<ShopCustomerListResp> GetShopPageList(PagedSearch<KeyWordsQuest> request)
{
return _memberMiniService.GetShopPageList(request);
}
#endregion
#region IfNeedSetBirthday( 1 0 )
/// <summary>
/// 会员端首页是否弹出填写生日的框 1 弹 0 不弹
/// </summary>
/// <returns></returns>
[HttpGet]
public int IfNeedSetBirthday()
{
return _memberMiniService.IfNeedSetBirthday(this.CurrentLogin);
}
#endregion
#region SetBirthday()
/// <summary>
/// 会员端填写生日姓名
/// </summary>
/// <param name="act"></param>
/// <returns></returns>
[HttpPost]
public void SetBirthday(SetMemberNameAct act)
{
_memberMiniService.SetBirthday(act,this.CurrentLogin);
}
#endregion
#region NewRegistered()
/// <summary>
/// 新版本注册会员 返回值:是否需要去绑定门店和营销顾问 0 不需要 1 需要
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
[AllowAnonymous]
public int NewRegistered(MemberGetTokenRequest request)
{
return _memberMiniService.NewRegistered(request);
}
#endregion
#region NewSetMemberConsultant()
/// <summary>
/// 新版会员设置营销顾问
/// </summary>
/// <param name="act"></param>
[HttpPost]
[AllowAnonymous]
public void NewSetMemberConsultant(MemberGetTokenRequest act)
{
_memberMiniService.NewRegistered(act);
}
#endregion
#region NewMemberGetToken(code获得用户的token等信息,)
/// <summary>
/// 新版根据小程序的code获得用户的token等信息,如果获取不到,则调到注册页面
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
[AllowAnonymous]
public GetMemberTokenResp NewMemberGetToken(FirstGetTokenRequest request)
{
return _memberMiniService.NewMemberGetToken(request);
}
#endregion
#region AddMemberConsultant()
/// <summary>
/// 老会员主动添加店铺营销顾问关系
/// </summary>
/// <param name="request"></param>
[HttpPost]
public void AddMemberConsultant(AddMemberConsultant request)
{
_memberMiniService.AddMemberConsultant(request,this.CurrentLogin);
}
#endregion
//#region Testasds(测试获取注册事件的数据)
///// <summary>
///// 测试获取注册事件的数据
///// </summary>
///// <param name="shopId"></param>
///// <returns></returns>
//[HttpGet]
//[AllowAnonymous]
//public object Testasds(Guid shopId)
//{
// return _memberMiniService.Testasds(shopId);
//}
//#endregion
}
}

View File

@@ -0,0 +1,111 @@
using MyCode.Project.Domain.Config;
using MyCode.Project.Domain.Message.Act.User;
using MyCode.Project.Domain.Message.Request.Activity;
using MyCode.Project.Domain.Message.Request.Member;
using MyCode.Project.Domain.Message.Request.User;
using MyCode.Project.Domain.Message.Response.CardCover;
using MyCode.Project.Domain.Message.Response.Goods;
using MyCode.Project.Domain.Message.Response.LiveVideo;
using MyCode.Project.Domain.Message.Response.Member;
using MyCode.Project.Domain.Message.Response.Wechat;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Services;
using MyCode.Project.Services.CustomMessageHandler;
using MyCode.Project.WebApi.App_Filter;
using Senparc.NeuChar.Context;
using Senparc.NeuChar.Entities;
using Senparc.Weixin.MP;
using Senparc.Weixin.MP.MessageHandlers;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web.Http;
using System.Xml.Linq;
namespace MyCode.Project.WebApi.Areas.Member.Controllers
{
/// <summary>
/// 微信公众号 相关接口
/// </summary>
public class WeChatPublicController : BaseMemberController
{
#region
private readonly IWorkProcessService _workProcessService;
public WeChatPublicController(IWorkProcessService workProcessService)
{
_workProcessService = workProcessService;
}
#endregion
#region WeCallBack()
/// <summary>
/// 微信回调1
/// </summary>
[AllowAnonymous, IgnoreResultHandle, HttpGet, HttpPost, ActionName("WeCallBack")]
public void WeCallBack()
{
var context = CurrentHttpContext;
string signature = context.Request["signature"];
string timestamp = context.Request["timestamp"];
string nonce = context.Request["nonce"];
string echostr = context.Request["echostr"];
//get method -检验是否微信的回调,不是则不执行
//if (CheckSignature.Check(signature, timestamp, nonce, SystemConfig.WeToken))
//{
// string postStr = @" <xml><ToUserName><![CDATA[gh_9022339a2c40]]></ToUserName>
//<FromUserName><![CDATA[onGWJs5LvcR2NbYMJF2VyRhVH9XU]]></FromUserName>
//<CreateTime>1576747572</CreateTime>
//<MsgType><![CDATA[event]]></MsgType>
//<Event><![CDATA[subscribe]]></Event>
//<EventKey><![CDATA[]]></EventKey>
//</xml>";
Stream s = System.Web.HttpContext.Current.Request.InputStream;//此方法是对System.Web.HttpContext.Current.Request.InputStream的封装可直接代码
string postStr = "";
if (s != null && s.Length > 0)
{
s.Position = 0; //当你读取完之后必须把stream的读取位置设为开始
StreamReader reader = new StreamReader(s, System.Text.Encoding.UTF8);
postStr = reader.ReadToEnd().ToString();
}
//byte[] b = new byte[s.Length];
//s.Read(b, 0, (int)s.Length);
//string postStr = Encoding.UTF8.GetString(b);
//LogHelper.Info(postStr);
var weixinContext = MessageHandler<MessageContext<IRequestMessageBase, IResponseMessageBase>>.GlobalWeixinContext.MessageQueue.FirstOrDefault();
var recordCount = MessageHandler<MessageContext<IRequestMessageBase, IResponseMessageBase>>.GlobalWeixinContext.MaxRecordCount;
if (string.IsNullOrEmpty(postStr))
{
context.Response.Output.Write(echostr);
context.Response.End();
return;
}
//var doc = XDocument.Parse(postStr);
_workProcessService.Add<IWeChatPublicService>(Guid.Parse("00000000-0000-0000-0000-000000000009"), "MemberWeChatPublicCallBack","会员公众号回调", postStr,2);
//var maxRecordCount = 1;
//var messageHandler = new CustomMessageHandler(doc, null, maxRecordCount);
//messageHandler.OmitRepeatedMessage = true;
//messageHandler.Execute();
//LogHelper.Info("RequestMessages:" + messageHandler.RequestMessage);
//if (messageHandler.TextResponseMessage != null)
//{
// //LogHelper.Info("ResponseMessages:" + messageHandler.TextResponseMessage);
// context.Response.Output.Write(messageHandler.TextResponseMessage);
// context.Response.End();
//}
//new SuccessResponseMessage();
context.Response.Output.Write(new SuccessResponseMessage());
context.Response.End();
//}
return;
}
#endregion
}
}

View File

@@ -0,0 +1,86 @@
using MyCode.Project.Domain.Message.Common;
using MyCode.Project.Domain.Message.Request.Activity;
using MyCode.Project.Domain.Message.Request.Member;
using MyCode.Project.Domain.Message.Request.User;
using MyCode.Project.Domain.Message.Response.CardCover;
using MyCode.Project.Domain.Message.Response.Goods;
using MyCode.Project.Domain.Message.Response.LuckyDraw;
using MyCode.Project.Domain.Message.Response.Member;
using MyCode.Project.Domain.Message.Response.Wechat;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Services;
using System;
using System.Collections.Generic;
using System.Web.Http;
namespace MyCode.Project.WebApi.Areas.Member.Controllers
{
/// <summary>
/// 抽奖活动相关
/// </summary>
public class LuckyDrawController : BaseMemberController
{
private ILuckyDrawService _luckyDrawService;
/// <summary>
/// 初始化一个<see cref="CouponController"/>类型的实例
/// </summary>
/// <param name="luckyDrawService"></param>
public LuckyDrawController(ILuckyDrawService luckyDrawService)
{
_luckyDrawService = luckyDrawService;
}
#region IfJoin()
/// <summary>
/// 门店是否开通抽奖活动
/// </summary>
/// <param name="shopId">店铺ID</param>
/// <returns></returns>
[HttpGet]
public int IfJoin(Guid shopId)
{
return _luckyDrawService.IfJoin(shopId);
}
#endregion
#region GetDetail()
/// <summary>
/// 获取抽奖背景图等详情
/// </summary>
/// <param name="shopId">店铺ID</param>
/// <returns></returns>
[HttpGet]
public LuckyDrawDetailResp GetDetail(Guid shopId)
{
return _luckyDrawService.GetDetail(shopId);
}
#endregion
#region GetLuckyDrawLog()
/// <summary>
/// 获取中奖记录和剩余抽奖次数
/// </summary>
/// <param name="shopId">店铺ID</param>
/// <returns></returns>
[HttpGet]
public LuckyDrawLogResp GetLuckyDrawLog(Guid shopId)
{
return _luckyDrawService.GetLuckyDrawLog(shopId,this.CurrentLogin);
}
#endregion
#region LuckyDrawRun()
/// <summary>
/// 抽奖
/// </summary>
/// <param name="idAct">店铺ID</param>
/// <returns></returns>
[HttpPost]
public LuckyDrawRunResp LuckyDrawRun(IdAct idAct)
{
return _luckyDrawService.LuckyDrawRun(idAct, this.CurrentLogin);
}
#endregion
}
}