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
}
#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
/// <returns></returns>
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 = "";//分类
if (query != null)
{
......@@ -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";
}
}
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
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() )
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();
......
......@@ -51,6 +51,10 @@ namespace Mall.Repository.Education
{
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()} ";
return Get<RB_Education_MemberCoupon_Extend>(sql).ToList();
......
......@@ -32,203 +32,186 @@ namespace Mall.WebApi.Controllers.Education
private Module.User.UserModule UserModule = new Module.User.UserModule();
#region 课程卡
///// <summary>
///// 领劵中心
///// </summary>
///// <returns></returns>
//[HttpPost]
//public ApiResult GetAllCouponPageList()
//{
// var req = RequestParm;
// var userInfo = AppletUserInfo;
// ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(req.msg.ToString());
// RB_DiscountCoupon_Extend demodel = JsonConvert.DeserializeObject<RB_DiscountCoupon_Extend>(req.msg.ToString());
// demodel.UserId = userInfo.UserId;
// demodel.TenantId = userInfo.TenantId;
// demodel.MallBaseId = userInfo.MallBaseId;
// demodel.SmallShopId = userInfo.UserSmallShopId;
// var list = educationModule.GetAllCouponList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
// pagelist.count = Convert.ToInt32(count);
// pagelist.pageData = list.Select(x => new
// {
// x.Name,
// x.Describe,
// x.MinConsumePrice,
// x.MaxDiscountsPrice,
// x.DiscountsPrice,
// x.CouponType,
// CouponId = x.ID,
// x.IndateDay,
// x.IndateType,
// 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") : "",
// 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)) : ""),
// x.UseType,
// x.ProductList
// });
// return ApiResult.Success("", pagelist);
//}
/// <summary>
/// 领劵中心
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetAllCouponPageList()
{
var req = RequestParm;
var userInfo = AppletUserInfo;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(req.msg.ToString());
RB_Education_Coupon_Extend demodel = JsonConvert.DeserializeObject<RB_Education_Coupon_Extend>(req.msg.ToString());
demodel.UserId = userInfo.UserId;
demodel.TenantId = userInfo.TenantId;
demodel.MallBaseId = userInfo.MallBaseId;
demodel.SmallShopId = userInfo.UserSmallShopId;
var list = educationModule.GetAllCouponList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
{
x.Name,
x.Describe,
x.TotalNum,
x.MemberNum,
x.CouponIco,
CouponId = x.ID,
x.IndateDay,
x.IndateType,
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") : "",
IsReceive = x.TotalNum == -1 ? 0 : ((x.TotalNum - x.MemberNum > 0 ? 0 : 1)), //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)) : ""),
x.UseType,
x.ProductList
});
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)
// {
// 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("领取优惠券不属于当前店铺");
// }
// }
/// <summary>
/// 领取优惠券
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GrantCoupon()
{
var parms = RequestParm;
var userInfo = AppletUserInfo;
var query = JsonConvert.DeserializeObject<RB_Education_MemberCoupon_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 = 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.EndDate.Value < System.DateTime.Now)
// {
// return ApiResult.Failed("优惠券时间已过期");
// }
// }
if (oldLogisticsModel.TotalNum != -1)//判断优惠券剩余数量是够足够
{
if (oldLogisticsModel.TotalNum < 1)
{
return ApiResult.Failed("课程卡已领完");
}
}
//判断优惠券是否已领取
var receiveList = educationModule.GetMemberDiscountCouponList(query);
if (receiveList != null && receiveList.Any())
{
return ApiResult.Failed("您已领取课程卡");
}
// //判断优惠券是否有等级限制
// if (oldLogisticsModel.OnlyMember == 1)
// {
// if (!string.IsNullOrWhiteSpace(oldLogisticsModel.MemberLevel))
// {
// string[] allLevel = oldLogisticsModel.MemberLevel.Split(',');
// if (allLevel.Where(x => x == allMemberInfo.MemberGrade.ToString()).Count() == 0)
// {
// return ApiResult.Failed("会员等级不符合");
// }
// }
// }
if (oldLogisticsModel.IndateType == Common.Enum.MarketingCenter.IndateTypeEnum.TimeHorizon)
{
if (oldLogisticsModel.EndDate.Value < System.DateTime.Now)
{
return ApiResult.Failed("课程卡时间已过期");
}
}
// RB_Member_DiscountCoupon_Extend memberCoupon = new RB_Member_DiscountCoupon_Extend();
// memberCoupon.Id = 0;
// memberCoupon.UserId = userInfo.UserId;
// memberCoupon.Description = oldLogisticsModel.Describe;
// memberCoupon.CreateDate = System.DateTime.Now;
// memberCoupon.TenantId = userInfo.TenantId;
// memberCoupon.MallBaseId = userInfo.MallBaseId;
// memberCoupon.Remarks = "";
// memberCoupon.CouponId = oldLogisticsModel.ID;
// memberCoupon.Name = oldLogisticsModel.Name;
// memberCoupon.CouponType = oldLogisticsModel.CouponType;
// memberCoupon.MinConsumePrice = oldLogisticsModel.MinConsumePrice;
// memberCoupon.MaxDiscountsPrice = oldLogisticsModel.MaxDiscountsPrice;
// memberCoupon.DiscountsPrice = oldLogisticsModel.DiscountsPrice;
// memberCoupon.UseType = oldLogisticsModel.UseType;
// if (oldLogisticsModel.IndateType == Common.Enum.MarketingCenter.IndateTypeEnum.DayHorizon)
// {
// memberCoupon.StartDate = System.DateTime.Now;
// LogHelper.WriteInfo(userInfo.Name + "优惠券领取时间:" + memberCoupon.StartDate);
// memberCoupon.EndDate = memberCoupon.StartDate.Value.AddDays(oldLogisticsModel.IndateDay);
// }
// else
// {
// memberCoupon.StartDate = oldLogisticsModel.StartDate;
// memberCoupon.EndDate = oldLogisticsModel.EndDate;
// }
// var memberList = new List<RB_Member_DiscountCoupon_Extend>();
// memberList.Add(memberCoupon);
// bool result = couponModule.GrantCoupon(memberList, oldLogisticsModel);
// if (result)
// {
// return ApiResult.Success("优惠券信息领取成功");
// }
// else
// {
// return ApiResult.Failed("优惠券信息领取成功");
// }
// }
//}
RB_Education_MemberCoupon_Extend memberCoupon = new RB_Education_MemberCoupon_Extend();
memberCoupon.Id = 0;
memberCoupon.UserId = userInfo.UserId;
memberCoupon.Description = oldLogisticsModel.Describe;
memberCoupon.CreateDate = System.DateTime.Now;
memberCoupon.TenantId = userInfo.TenantId;
memberCoupon.MallBaseId = userInfo.MallBaseId;
memberCoupon.Remarks = "";
memberCoupon.CouponId = oldLogisticsModel.ID;
memberCoupon.Name = oldLogisticsModel.Name;
memberCoupon.HeXiao = oldLogisticsModel.HeXiao;
memberCoupon.UseHeXiao = 0;
memberCoupon.UseType = oldLogisticsModel.UseType;
if (oldLogisticsModel.IndateType == Common.Enum.MarketingCenter.IndateTypeEnum.DayHorizon)
{
memberCoupon.StartDate = System.DateTime.Now;
LogHelper.WriteInfo(userInfo.Name + "课程卡领取时间:" + memberCoupon.StartDate);
memberCoupon.EndDate = memberCoupon.StartDate.Value.AddDays(oldLogisticsModel.IndateDay);
}
else
{
memberCoupon.StartDate = oldLogisticsModel.StartDate;
memberCoupon.EndDate = oldLogisticsModel.EndDate;
}
var memberList = new List<RB_Education_MemberCoupon_Extend>();
memberList.Add(memberCoupon);
bool result = educationModule.GrantCoupon(memberList, oldLogisticsModel);
if (result)
{
return ApiResult.Success("课程卡信息领取成功");
}
else
{
return ApiResult.Failed("课程卡信息领取成功");
}
}
}
///// <summary>
///// 我的优惠券
///// </summary>
///// <returns></returns>
//[HttpPost]
//public ApiResult GetMemberCouponPageList()
//{
// var req = RequestParm;
// var userInfo = AppletUserInfo;
// ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(req.msg.ToString());
// RB_DiscountCoupon_Extend demodel = JsonConvert.DeserializeObject<RB_DiscountCoupon_Extend>(req.msg.ToString());
// demodel.UserId = userInfo.UserId;
// demodel.TenantId = userInfo.TenantId;
// demodel.MallBaseId = userInfo.MallBaseId;
// var list = couponModule.GetMemberDisCouponList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
// pagelist.count = Convert.ToInt32(count);
// pagelist.pageData = list.Select(x => new
// {
// x.Name,
// x.Describe,
// x.MinConsumePrice,
// x.MaxDiscountsPrice,
// x.DiscountsPrice,
// x.CouponType,
// x.ID,
// x.MemberCouponId,
// 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") : "",
// 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.ProductList
// });
// return ApiResult.Success("", pagelist);
//}
/// <summary>
/// 我的优惠券
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetMemberCouponPageList()
{
var req = RequestParm;
var userInfo = AppletUserInfo;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(req.msg.ToString());
RB_Education_Coupon_Extend demodel = JsonConvert.DeserializeObject<RB_Education_Coupon_Extend>(req.msg.ToString());
demodel.UserId = userInfo.UserId;
demodel.TenantId = userInfo.TenantId;
demodel.MallBaseId = userInfo.MallBaseId;
var list = educationModule.GetMemberDisCouponList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
{
x.Name,
x.Describe,
x.UseHeXiao,
x.HeXiao,
x.ID,
x.CouponIco,
x.MemberCouponId,
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") : "",
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.ProductList
});
return ApiResult.Success("", pagelist);
}
/// <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