Commit d63436f2 authored by liudong1993's avatar liudong1993

Merge branch 'sdzq' of http://gitlab.oytour.com/Kui2/mall.oytour.com into sdzq-ld

parents 55f5d35d 7d82ed23
...@@ -2412,5 +2412,55 @@ namespace Mall.Module.Education ...@@ -2412,5 +2412,55 @@ namespace Mall.Module.Education
} }
#endregion #endregion
#region 网课小程序个人中心-学习卡中心
/// <summary>
/// 领劵中心优惠券
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Education_Coupon_Extend> GetAllCouponList(int pageIndex, int pageSize, out long rowCount, RB_Education_Coupon_Extend query)
{
var list = discountCouponRepository.GetAllCouponList(pageIndex, pageSize, out rowCount, query);
//获取特定商品或者分类的数据
string Ids = string.Join(",", list.Where(x => x.UseType == Common.Enum.MarketingCenter.UseTypeEnum.Category).Select(x => x.ID));
if (!string.IsNullOrWhiteSpace(Ids))
{
query.UseType = Common.Enum.MarketingCenter.UseTypeEnum.Category;
var listProduct = productRepository.GetListByDiscountCouponIds(query, Ids);
foreach (var item in list.Where(x => x.UseType == Common.Enum.MarketingCenter.UseTypeEnum.Category))
{
item.ProductList = new List<RB_Education_CouponProduct_Extend>();
item.ProductList = listProduct.Where(x => x.CouponId == item.ID).ToList();
}
}
Ids = string.Join(",", list.Where(x => x.UseType == Common.Enum.MarketingCenter.UseTypeEnum.Product).Select(x => x.ID));
if (!string.IsNullOrWhiteSpace(Ids))
{
query.UseType = Common.Enum.MarketingCenter.UseTypeEnum.Product;
var listProduct = productRepository.GetListByDiscountCouponIds(query, Ids);
foreach (var item in list.Where(x => x.UseType == Common.Enum.MarketingCenter.UseTypeEnum.Product))
{
item.ProductList = new List<RB_Education_CouponProduct_Extend>();
item.ProductList = listProduct.Where(x => x.CouponId == item.ID).ToList();
}
}
return list;
}
/// <summary>
/// 会员优惠券
/// </summary>
/// <returns></returns>
public List<RB_Education_MemberCoupon_Extend> GetMemberDiscountCouponList(RB_Education_MemberCoupon_Extend query)
{
return memberCouponRepository.GetList(query);
}
#endregion
} }
} }
...@@ -204,7 +204,7 @@ SELECT a.ID as MemberCouponId,a.UserId,b.`Name`,b.CouponType,b.UseType,b.MinCons ...@@ -204,7 +204,7 @@ SELECT a.ID as MemberCouponId,a.UserId,b.`Name`,b.CouponType,b.UseType,b.MinCons
/// <returns></returns> /// <returns></returns>
public List<RB_Education_Coupon_Extend> GetAllCouponList(int pageIndex, int pageSize, out long rowCount, RB_Education_Coupon_Extend query) public List<RB_Education_Coupon_Extend> GetAllCouponList(int pageIndex, int pageSize, out long rowCount, RB_Education_Coupon_Extend query)
{ {
string where = " where a.`Status`=0 and a.PickupCenter=1"; string where = " where a.`Status`=0 and a.PickupCenter=1 and (a.TotalNum=-1 or a.TotalNum>0)";
string userWhere = "";//分类 string userWhere = "";//分类
if (query != null) if (query != null)
{ {
...@@ -234,10 +234,10 @@ SELECT a.ID as MemberCouponId,a.UserId,b.`Name`,b.CouponType,b.UseType,b.MinCons ...@@ -234,10 +234,10 @@ SELECT a.ID as MemberCouponId,a.UserId,b.`Name`,b.CouponType,b.UseType,b.MinCons
where += $" AND a.{nameof(RB_Education_Coupon_Extend.SmallShopId)}=0"; where += $" AND a.{nameof(RB_Education_Coupon_Extend.SmallShopId)}=0";
} }
} }
string sql = @$" SELECT t.*,c.MemberNum from (SELECT a.ID,a.`Name`,a.`Describe`,a.CouponType,a.UseType,a.StartDate,a.EndDate,a.CouponIco,a.IndateDay,a.IndateType from {TableName} as a string sql = @$" SELECT t.*,c.MemberNum from (SELECT a.ID,a.`Name`,a.`Describe`,a.CouponType,a.UseType,a.StartDate,a.EndDate,a.CouponIco,a.IndateDay,a.IndateType,a.TotalNum,a.CouponIco from {TableName} as a
{where} and a.IndateType=1 {where} and a.IndateType=1
UNION ALL UNION ALL
SELECT a.ID,a.`Name`,a.`Describe`,a.CouponType,a.UseType,a.StartDate,a.EndDate,a.CouponIco,a.IndateDay,a.IndateType from {TableName} as a SELECT a.ID,a.`Name`,a.`Describe`,a.CouponType,a.UseType,a.StartDate,a.EndDate,a.CouponIco,a.IndateDay,a.IndateType,a.TotalNum,a.CouponIco from {TableName} as a
{where} and a.IndateType=2 and a.EndDate>NOW() ) {where} and a.IndateType=2 and a.EndDate>NOW() )
as t LEFT JOIN (SELECT CouponId,COUNT(*) as MemberNum from RB_Education_MemberCoupon where `Status`=0 {userWhere} GROUP BY CouponId) as c on t.ID=c.CouponId "; as t LEFT JOIN (SELECT CouponId,COUNT(*) as MemberNum from RB_Education_MemberCoupon where `Status`=0 {userWhere} GROUP BY CouponId) as c on t.ID=c.CouponId ";
return GetPage<RB_Education_Coupon_Extend>(pageIndex, pageSize, out rowCount, sql).ToList(); return GetPage<RB_Education_Coupon_Extend>(pageIndex, pageSize, out rowCount, sql).ToList();
......
...@@ -51,6 +51,10 @@ namespace Mall.Repository.Education ...@@ -51,6 +51,10 @@ namespace Mall.Repository.Education
{ {
builder.Append($" AND a.{nameof(RB_Education_MemberCoupon_Extend.Id)} in ({query.Ids})"); builder.Append($" AND a.{nameof(RB_Education_MemberCoupon_Extend.Id)} in ({query.Ids})");
} }
//if (query.UseState >= 0)
//{
// builder.Append($" AND a.{nameof(RB_Member_DiscountCoupon_Extend.UseState)}={query.UseState}");
//}
} }
string sql = @$" select * FROM {TableName} AS a where 1=1 {builder.ToString()} "; string sql = @$" select * FROM {TableName} AS a where 1=1 {builder.ToString()} ";
return Get<RB_Education_MemberCoupon_Extend>(sql).ToList(); return Get<RB_Education_MemberCoupon_Extend>(sql).ToList();
......
...@@ -32,203 +32,186 @@ namespace Mall.WebApi.Controllers.Education ...@@ -32,203 +32,186 @@ namespace Mall.WebApi.Controllers.Education
private Module.User.UserModule UserModule = new Module.User.UserModule(); private Module.User.UserModule UserModule = new Module.User.UserModule();
#region 课程卡 #region 课程卡
///// <summary> /// <summary>
///// 领劵中心 /// 领劵中心
///// </summary> /// </summary>
///// <returns></returns> /// <returns></returns>
//[HttpPost] [HttpPost]
//public ApiResult GetAllCouponPageList() public ApiResult GetAllCouponPageList()
//{ {
// var req = RequestParm; var req = RequestParm;
// var userInfo = AppletUserInfo; var userInfo = AppletUserInfo;
// ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(req.msg.ToString()); ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(req.msg.ToString());
// RB_DiscountCoupon_Extend demodel = JsonConvert.DeserializeObject<RB_DiscountCoupon_Extend>(req.msg.ToString()); RB_Education_Coupon_Extend demodel = JsonConvert.DeserializeObject<RB_Education_Coupon_Extend>(req.msg.ToString());
// demodel.UserId = userInfo.UserId; demodel.UserId = userInfo.UserId;
// demodel.TenantId = userInfo.TenantId; demodel.TenantId = userInfo.TenantId;
// demodel.MallBaseId = userInfo.MallBaseId; demodel.MallBaseId = userInfo.MallBaseId;
// demodel.SmallShopId = userInfo.UserSmallShopId; demodel.SmallShopId = userInfo.UserSmallShopId;
// var list = educationModule.GetAllCouponList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel); var list = educationModule.GetAllCouponList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
// pagelist.count = Convert.ToInt32(count); pagelist.count = Convert.ToInt32(count);
// pagelist.pageData = list.Select(x => new pagelist.pageData = list.Select(x => new
// { {
// x.Name, x.Name,
// x.Describe, x.Describe,
// x.MinConsumePrice, x.TotalNum,
// x.MaxDiscountsPrice, x.MemberNum,
// x.DiscountsPrice, x.CouponIco,
// x.CouponType, CouponId = x.ID,
// CouponId = x.ID, x.IndateDay,
// x.IndateDay, x.IndateType,
// x.IndateType, StartDate = x.StartDate.HasValue ? x.StartDate.Value.ToString("yyyy-MM-dd HH:ss:mm") : "",
// StartDate = x.StartDate.HasValue ? x.StartDate.Value.ToString("yyyy-MM-dd HH:ss:mm") : "", EndDate = x.EndDate.HasValue ? x.EndDate.Value.ToString("yyyy-MM-dd HH:ss:mm") : "",
// EndDate = x.EndDate.HasValue ? x.EndDate.Value.ToString("yyyy-MM-dd HH:ss:mm") : "", IsReceive = x.TotalNum == -1 ? 0 : ((x.TotalNum - x.MemberNum > 0 ? 0 : 1)), //x.MemberNum > 0 ? 1 : 0,
// IsReceive = x.MemberNum > 0 ? 1 : 0, UseTypeStr = ((int)x.UseType == 3 || (int)x.UseType == 4) ? x.UseType.GetEnumName() : (x.ProductList != null && x.ProductList.Any() ? string.Join("、", x.ProductList.Select(x => x.Relevance)) : ""),
// UseTypeStr = ((int)x.UseType == 3 || (int)x.UseType == 4) ? x.UseType.GetEnumName() : (x.ProductList != null && x.ProductList.Any() ? string.Join("、", x.ProductList.Select(x => x.Relevance)) : ""), x.UseType,
// x.UseType, x.ProductList
// x.ProductList });
// }); return ApiResult.Success("", pagelist);
// return ApiResult.Success("", pagelist); }
//}
///// <summary>
///// 领取优惠券
///// </summary>
///// <returns></returns>
//[HttpPost]
//public ApiResult GrantCoupon()
//{
// var parms = RequestParm;
// var userInfo = AppletUserInfo;
// var query = JsonConvert.DeserializeObject<RB_Member_DiscountCoupon_Extend>(RequestParm.msg.ToString());
// query.TenantId = userInfo.TenantId;
// query.MallBaseId = userInfo.MallBaseId;
// query.UserId = userInfo.UserId;
// if (query == null)
// {
// return ApiResult.Failed("请传入卡券信息");
// }
// else
// {
// var oldLogisticsModel = couponModule.GetDiscountCouponList(new RB_DiscountCoupon_Extend { TenantId = query.TenantId, MallBaseId = query.MallBaseId, ID = query.CouponId }).FirstOrDefault();
// var allMemberInfo = userModule.GetMemberUserInfo(userInfo.UserId);
// if (oldLogisticsModel == null || oldLogisticsModel.ID == 0) /// <summary>
// { /// 领取优惠券
// return ApiResult.Failed("优惠券信息不存在,请核实后再操作"); /// </summary>
// } /// <returns></returns>
// if (allMemberInfo.SmallShopId == 0) [HttpPost]
// { public ApiResult GrantCoupon()
// if (oldLogisticsModel.SmallShopId > 0) {
// { var parms = RequestParm;
// return ApiResult.Failed("您不属于当前店铺"); var userInfo = AppletUserInfo;
// } var query = JsonConvert.DeserializeObject<RB_Education_MemberCoupon_Extend>(RequestParm.msg.ToString());
// } query.TenantId = userInfo.TenantId;
// else query.MallBaseId = userInfo.MallBaseId;
// { query.UserId = userInfo.UserId;
// if (oldLogisticsModel.SmallShopId > 0 && oldLogisticsModel.SmallShopId != allMemberInfo.SmallShopId) if (query == null)
// { {
// return ApiResult.Failed("领取优惠券不属于当前店铺"); return ApiResult.Failed("请传入课程卡信息");
// } }
// if (allMemberInfo.SmallShopId > 0 && oldLogisticsModel.SmallShopId == 0 && oldLogisticsModel.IsZanYangUse == 1) else
// { {
// return ApiResult.Failed("领取优惠券不属于当前店铺"); var oldLogisticsModel = educationModule.GetDiscountCouponList(new RB_Education_Coupon_Extend { TenantId = query.TenantId, MallBaseId = query.MallBaseId, ID = query.CouponId }).FirstOrDefault();
// } var allMemberInfo = UserModule.GetMemberUserInfo(userInfo.UserId);
// }
if (oldLogisticsModel == null || oldLogisticsModel.ID == 0)
{
return ApiResult.Failed("课程卡信息不存在,请核实后再操作");
}
if (allMemberInfo.SmallShopId == 0)
{
if (oldLogisticsModel.SmallShopId > 0)
{
return ApiResult.Failed("您不属于当前店铺");
}
}
else
{
if (oldLogisticsModel.SmallShopId > 0 && oldLogisticsModel.SmallShopId != allMemberInfo.SmallShopId)
{
return ApiResult.Failed("领取课程卡不属于当前店铺");
}
if (allMemberInfo.SmallShopId > 0 && oldLogisticsModel.SmallShopId == 0 && oldLogisticsModel.IsZanYangUse == 1)
{
return ApiResult.Failed("领取课程卡不属于当前店铺");
}
}
// if (oldLogisticsModel.TotalNum != -1)//判断优惠券剩余数量是够足够
// {
// if (oldLogisticsModel.TotalNum < 1)
// {
// return ApiResult.Failed("优惠券已领完");
// }
// }
// //判断优惠券是否已领取
// var receiveList = couponModule.GetMemberDiscountCouponList(query);
// if (receiveList != null && receiveList.Any())
// {
// return ApiResult.Failed("您已领取优惠券");
// }
// if (oldLogisticsModel.IndateType == Common.Enum.MarketingCenter.IndateTypeEnum.TimeHorizon) if (oldLogisticsModel.TotalNum != -1)//判断优惠券剩余数量是够足够
// { {
// if (oldLogisticsModel.EndDate.Value < System.DateTime.Now) if (oldLogisticsModel.TotalNum < 1)
// { {
// return ApiResult.Failed("优惠券时间已过期"); return ApiResult.Failed("课程卡已领完");
// } }
// } }
//判断优惠券是否已领取
var receiveList = educationModule.GetMemberDiscountCouponList(query);
if (receiveList != null && receiveList.Any())
{
return ApiResult.Failed("您已领取课程卡");
}
// //判断优惠券是否有等级限制 if (oldLogisticsModel.IndateType == Common.Enum.MarketingCenter.IndateTypeEnum.TimeHorizon)
// if (oldLogisticsModel.OnlyMember == 1) {
// { if (oldLogisticsModel.EndDate.Value < System.DateTime.Now)
// if (!string.IsNullOrWhiteSpace(oldLogisticsModel.MemberLevel)) {
// { return ApiResult.Failed("课程卡时间已过期");
// string[] allLevel = oldLogisticsModel.MemberLevel.Split(','); }
// if (allLevel.Where(x => x == allMemberInfo.MemberGrade.ToString()).Count() == 0) }
// {
// return ApiResult.Failed("会员等级不符合");
// }
// }
// }
// RB_Member_DiscountCoupon_Extend memberCoupon = new RB_Member_DiscountCoupon_Extend(); RB_Education_MemberCoupon_Extend memberCoupon = new RB_Education_MemberCoupon_Extend();
// memberCoupon.Id = 0; memberCoupon.Id = 0;
// memberCoupon.UserId = userInfo.UserId; memberCoupon.UserId = userInfo.UserId;
// memberCoupon.Description = oldLogisticsModel.Describe; memberCoupon.Description = oldLogisticsModel.Describe;
// memberCoupon.CreateDate = System.DateTime.Now; memberCoupon.CreateDate = System.DateTime.Now;
// memberCoupon.TenantId = userInfo.TenantId; memberCoupon.TenantId = userInfo.TenantId;
// memberCoupon.MallBaseId = userInfo.MallBaseId; memberCoupon.MallBaseId = userInfo.MallBaseId;
// memberCoupon.Remarks = ""; memberCoupon.Remarks = "";
// memberCoupon.CouponId = oldLogisticsModel.ID; memberCoupon.CouponId = oldLogisticsModel.ID;
// memberCoupon.Name = oldLogisticsModel.Name; memberCoupon.Name = oldLogisticsModel.Name;
// memberCoupon.CouponType = oldLogisticsModel.CouponType; memberCoupon.HeXiao = oldLogisticsModel.HeXiao;
// memberCoupon.MinConsumePrice = oldLogisticsModel.MinConsumePrice; memberCoupon.UseHeXiao = 0;
// memberCoupon.MaxDiscountsPrice = oldLogisticsModel.MaxDiscountsPrice; memberCoupon.UseType = oldLogisticsModel.UseType;
// memberCoupon.DiscountsPrice = oldLogisticsModel.DiscountsPrice; if (oldLogisticsModel.IndateType == Common.Enum.MarketingCenter.IndateTypeEnum.DayHorizon)
// memberCoupon.UseType = oldLogisticsModel.UseType; {
// if (oldLogisticsModel.IndateType == Common.Enum.MarketingCenter.IndateTypeEnum.DayHorizon) memberCoupon.StartDate = System.DateTime.Now;
// { LogHelper.WriteInfo(userInfo.Name + "课程卡领取时间:" + memberCoupon.StartDate);
// memberCoupon.StartDate = System.DateTime.Now; memberCoupon.EndDate = memberCoupon.StartDate.Value.AddDays(oldLogisticsModel.IndateDay);
// LogHelper.WriteInfo(userInfo.Name + "优惠券领取时间:" + memberCoupon.StartDate); }
// memberCoupon.EndDate = memberCoupon.StartDate.Value.AddDays(oldLogisticsModel.IndateDay); else
// } {
// else memberCoupon.StartDate = oldLogisticsModel.StartDate;
// { memberCoupon.EndDate = oldLogisticsModel.EndDate;
// memberCoupon.StartDate = oldLogisticsModel.StartDate; }
// memberCoupon.EndDate = oldLogisticsModel.EndDate; var memberList = new List<RB_Education_MemberCoupon_Extend>();
// } memberList.Add(memberCoupon);
// var memberList = new List<RB_Member_DiscountCoupon_Extend>(); bool result = educationModule.GrantCoupon(memberList, oldLogisticsModel);
// memberList.Add(memberCoupon); if (result)
// bool result = couponModule.GrantCoupon(memberList, oldLogisticsModel); {
// if (result) return ApiResult.Success("课程卡信息领取成功");
// { }
// return ApiResult.Success("优惠券信息领取成功"); else
// } {
// else return ApiResult.Failed("课程卡信息领取成功");
// { }
// return ApiResult.Failed("优惠券信息领取成功"); }
// } }
// }
//}
///// <summary> /// <summary>
///// 我的优惠券 /// 我的优惠券
///// </summary> /// </summary>
///// <returns></returns> /// <returns></returns>
//[HttpPost] [HttpPost]
//public ApiResult GetMemberCouponPageList() public ApiResult GetMemberCouponPageList()
//{ {
// var req = RequestParm; var req = RequestParm;
// var userInfo = AppletUserInfo; var userInfo = AppletUserInfo;
// ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(req.msg.ToString()); ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(req.msg.ToString());
// RB_DiscountCoupon_Extend demodel = JsonConvert.DeserializeObject<RB_DiscountCoupon_Extend>(req.msg.ToString()); RB_Education_Coupon_Extend demodel = JsonConvert.DeserializeObject<RB_Education_Coupon_Extend>(req.msg.ToString());
// demodel.UserId = userInfo.UserId; demodel.UserId = userInfo.UserId;
// demodel.TenantId = userInfo.TenantId; demodel.TenantId = userInfo.TenantId;
// demodel.MallBaseId = userInfo.MallBaseId; demodel.MallBaseId = userInfo.MallBaseId;
// var list = couponModule.GetMemberDisCouponList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel); var list = educationModule.GetMemberDisCouponList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
// pagelist.count = Convert.ToInt32(count); pagelist.count = Convert.ToInt32(count);
// pagelist.pageData = list.Select(x => new pagelist.pageData = list.Select(x => new
// { {
// x.Name, x.Name,
// x.Describe, x.Describe,
// x.MinConsumePrice, x.UseHeXiao,
// x.MaxDiscountsPrice, x.HeXiao,
// x.DiscountsPrice, x.ID,
// x.CouponType, x.CouponIco,
// x.ID, x.MemberCouponId,
// x.MemberCouponId, StartDate = x.StartDate.HasValue ? x.StartDate.Value.ToString("yyyy-MM-dd HH:ss:mm") : "",
// StartDate = x.StartDate.HasValue ? x.StartDate.Value.ToString("yyyy-MM-dd HH:ss:mm") : "", EndDate = x.EndDate.HasValue ? x.EndDate.Value.ToString("yyyy-MM-dd HH:ss:mm") : "",
// EndDate = x.EndDate.HasValue ? x.EndDate.Value.ToString("yyyy-MM-dd HH:ss:mm") : "", UseTypeStr = ((int)x.UseType == 3 || (int)x.UseType == 4) ? x.UseType.GetEnumName() : (x.ProductList != null && x.ProductList.Any() ? string.Join("、", x.ProductList.Select(x => x.Relevance)) : ""),
// UseTypeStr = ((int)x.UseType == 3 || (int)x.UseType == 4) ? x.UseType.GetEnumName() : (x.ProductList != null && x.ProductList.Any() ? string.Join("、", x.ProductList.Select(x => x.Relevance)) : ""), x.UseType,
// x.UseType, x.ProductList
// x.ProductList });
// }); return ApiResult.Success("", pagelist);
// return ApiResult.Success("", pagelist); }
//}
/// <summary> /// <summary>
/// 分享领取课程卡 /// 分享领取课程卡
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment