Commit 16e0f05c authored by 吴春's avatar 吴春

提交代码

parent e0aded45
......@@ -68,5 +68,10 @@ namespace Mall.Common.Enum.MallBase
/// </summary>
[EnumField("热情红")]
PassionateRed = 9,
/// <summary>
/// 校园
/// </summary>
[EnumField("校园")]
Education = 10,
}
}
......@@ -33,6 +33,12 @@ namespace Mall.Model.Entity.Education
public DateTime UpdateDate { get; set; }
/// <summary>
/// 关联讲师
/// </summary>
public int TeacherId { get; set; }
/// <summary>
/// 资讯状态 1上架 2下架
/// </summary>
......@@ -95,6 +101,12 @@ namespace Mall.Model.Entity.Education
public string LableName { get; set; }
/// <summary>
/// 图片
/// </summary>
public string ArticlePic { get; set; }
/// <summary>
/// 是否可以留言,0-否,1-是
/// </summary>
......
......@@ -26,5 +26,26 @@ namespace Mall.Model.Extend.Education
/// 评论数
/// </summary>
public int CommentNum { get; set; }
public string Ids { get; set; }
public int OrderBy { get; set; }
/// <summary>
/// 讲师名称
/// </summary>
public string TeacherName { get; set; }
/// <summary>
/// 头像
/// </summary>
public string TeacherLogo { get; set; }
/// <summary>
/// 专业
/// </summary>
public string Major { get; set; }
}
}
......@@ -6,7 +6,7 @@ using VT.FW.DB;
namespace Mall.Model.Extend.Education
{
/// <summary>
/// 优惠券扩展实体
/// 课程卡扩展实体
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
......@@ -98,5 +98,7 @@ namespace Mall.Model.Extend.Education
/// 微店名称
/// </summary>
public string SmallShopName { get; set; }
public DateTime? RegisterDate { get; set; }
}
}
......@@ -2221,8 +2221,7 @@ namespace Mall.Model.Extend.MarketingCenter
}
#region 教育模块
/// <summary>
/// 教育模块-最近学习组件
/// </summary>
......@@ -2237,12 +2236,11 @@ namespace Mall.Model.Extend.MarketingCenter
/// 课程名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 进度
/// 显示进度
/// </summary>
public string Progress { get; set; }
public bool showProgress { get; set; }
/// <summary>
......@@ -2271,4 +2269,180 @@ namespace Mall.Model.Extend.MarketingCenter
/// </summary>
public string BtnPosition { get; set; }
}
/// <summary>
///新增教育模块-自定义列表
/// </summary>
public class educationCustomItem
{
/// <summary>
/// 商品数量
/// </summary>
public int goodsLength { get; set; }
/// <summary>
/// 列表样式[-1-列表模式,0-左右滑动,1-一行一个,2-一行两个3-一行三个]
/// </summary>
public int listStyle { get; set; }
/// <summary>
/// 背景颜色
/// </summary>
public string backgroundColor { get; set; }
/// <summary>
/// 上边距
/// </summary>
public string PaddingTop { get; set; }
/// <summary>
/// 下边距
/// </summary>
public string PaddingBottom { get; set; }
/// <summary>
/// 左边距
/// </summary>
public string PaddingLeft { get; set; }
/// <summary>
/// 右边距
/// </summary>
public string PaddingRight { get; set; }
/// <summary>
/// 搜索圆角像素
/// </summary>
public int SearchFilletPX
{
get;
set;
}
/// <summary>
/// 自定义列表
/// </summary>
public List<CustomDetailsItem2> list { get; set; }
}
/// <summary>
/// 商品详情项
/// </summary>
public class CustomDetailsItem2
{
/// <summary>
/// 商品编号
/// </summary>
public int id { get; set; }
/// <summary>
/// 标题
/// </summary>
public string name { get; set; }
/// <summary>
/// 副标题
/// </summary>
public string lableName { get; set; }
/// <summary>
/// 商品图片
/// </summary>
public string picUrl { get; set; }
/// <summary>
/// 链接
/// </summary>
public string linkUrl { get; set; }
///// <summary>
///// 售价
///// </summary>
//public decimal price { get; set; }
///// <summary>
///// 【原价】前端使用
///// </summary>
//public decimal OriginalPrice { get; set; }
}
/// <summary>
///教育模块-资讯列表
/// </summary>
public class educationArticleItem
{
/// <summary>
/// 商品数量
/// </summary>
public int goodsLength { get; set; }
/// <summary>
/// 商品添加方式【0-自定义,1-最新】
/// </summary>
public int addGoodsType { get; set; }
/// <summary>
/// 列表样式[-1-列表模式,0-左右滑动,1-一行一个]
/// </summary>
public int listStyle { get; set; }
/// <summary>
/// 背景颜色
/// </summary>
public string backgroundColor { get; set; }
/// <summary>
/// 上边距
/// </summary>
public string PaddingTop { get; set; }
/// <summary>
/// 下边距
/// </summary>
public string PaddingBottom { get; set; }
/// <summary>
/// 左边距
/// </summary>
public string PaddingLeft { get; set; }
/// <summary>
/// 右边距
/// </summary>
public string PaddingRight { get; set; }
/// <summary>
/// 搜索圆角像素
/// </summary>
public int SearchFilletPX
{
get;
set;
}
/// <summary>
/// 自定义列表
/// </summary>
public List<CustomDetailsItem2> list { get; set; }
}
#endregion
}
\ No newline at end of file
......@@ -835,6 +835,7 @@ namespace Mall.Module.Education
}
/// <summary>
///资讯列表
/// </summary>
......@@ -887,6 +888,7 @@ namespace Mall.Module.Education
{ nameof(RB_Education_Article_Extend.FictitiousBrowseNum),model.FictitiousBrowseNum},
{ nameof(RB_Education_Article_Extend.ShelvesDate),model.ShelvesDate},
{ nameof(RB_Education_Article_Extend.Sort),model.Sort},
{ nameof(RB_Education_Article_Extend.ArticlePic),model.ArticlePic},
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
......@@ -1128,5 +1130,122 @@ namespace Mall.Module.Education
}
#endregion
#region 自动发放给会员优惠券
/// <summary>
/// 自动给会员发放优惠券
/// </summary>
/// <param name="userId"></param>
/// <param name="getType">1-分享,2-购买并付款,3-新人领券</param>
/// <returns></returns>
public RB_Education_Coupon_Extend AutoEducationCoupon(RB_Education_Coupon_Extend model)
{
RB_Education_Coupon_Extend resultModel = new RB_Education_Coupon_Extend();
//先查找会员是否存在
var memberUserModel = member_UserRepository.GetEntity(model.UserId);
if (memberUserModel == null)
{
return resultModel;
}
//根据发放类型获取对应的优惠券信息
model.SmallShopId = memberUserModel.SmallShopId;
if (model.TriggerType == 4)
{
model.RegisterDate = memberUserModel.CreateDate;
}
var couponList = discountCouponRepository.GetSelfmotionCouponList(model);
if (couponList != null && couponList.Any(x => x.TotalNum == -1 || x.TotalNum > 0))//存在满足条件的优惠券可以发放
{
bool isReceive = false;
//查询已发放的优惠券信息
var memberCouponList = memberCouponRepository.GetAutoMemberCouponPageList(new RB_Education_MemberCoupon_Extend { UserId = model.UserId, GetType = model.TriggerType, TenantId = model.TenantId, MallBaseId = model.MallBaseId });
foreach (var item in couponList.Where(x => x.TotalNum == -1 || x.TotalNum > 0))//判断当前优惠券是否已超过领取数
{
int membercouponCoun = memberCouponList.Where(x => x.CouponId == item.ID).Count();
if (!isReceive && membercouponCoun < item.GrantNum)//此次没有领取,并且当前优惠券没有超过领取数量
{
var trans = memberCouponRepository.DbTransaction;
try
{
RB_Education_MemberCoupon nowMemberCoupon = new RB_Education_MemberCoupon
{
Id = 0,
TenantId = item.TenantId,
MallBaseId = item.MallBaseId,
Status = 0,
CreateDate = System.DateTime.Now,
UserId = model.UserId,
Description = item.TriggerType == 1 ? "分享自动发放优惠券" : (item.TriggerType == 2 ? "购买并付款自动发放优惠券" : (item.TriggerType == 3 ? "新人领劵自动发放优惠券" : "新人购买并付款自动发放优惠券")),
Remarks = item.TriggerType == 1 ? "分享" : (item.TriggerType == 2 ? "购买并付款" : (item.TriggerType == 3 ? "新人领劵" : "新人购买并付款")),
CouponId = item.ID,
StartDate = item.IndateType == Common.Enum.MarketingCenter.IndateTypeEnum.DayHorizon ? System.DateTime.Now : item.StartDate,
EndDate = item.IndateType == Common.Enum.MarketingCenter.IndateTypeEnum.DayHorizon ? System.DateTime.Now.AddDays(item.IndateDay) : item.EndDate,
GetType = item.TriggerType,
UseType = item.UseType,
Name = item.Name,
HeXiao=item.HeXiao,
UseHeXiao=0
};
isReceive = memberCouponRepository.Insert(nowMemberCoupon, trans) > 0;
if (isReceive)//更新当前优惠券的领取数量
{
Dictionary<string, object> cols1;
if (item.TotalNum != -1)
{
cols1 = new Dictionary<string, object>()
{
{ nameof(RB_Education_Coupon.ReceiveNum),item.ReceiveNum+1},
{ nameof(RB_Education_Coupon.TotalNum),item.TotalNum - 1},
{ nameof(RB_Education_Coupon.UpdateDate),DateTime.Now},
};
}
else
{
cols1 = new Dictionary<string, object>()
{
{ nameof(RB_Education_Coupon.ReceiveNum),item.ReceiveNum+1},
{ nameof(RB_Education_Coupon.UpdateDate),DateTime.Now},
};
}
List<WhereHelper> wheres1 = new List<WhereHelper>()
{
new WhereHelper(){
FiledName=nameof(RB_Education_Coupon.ID),
FiledValue=item.ID,
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_Education_Coupon.TenantId),
FiledValue=item.TenantId,
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_Education_Coupon.MallBaseId),
FiledValue=item.MallBaseId,
OperatorEnum=OperatorEnum.Equal
}
};
discountCouponRepository.Update(cols1, wheres1, trans);
}
memberCouponRepository.DBSession.Commit();
return item;
}
catch (Exception ex)
{
LogHelper.Write(ex, "AutoEducationCoupon");
memberCouponRepository.DBSession.Rollback("AutoEducationCoupon");
return resultModel;
}
}
}
}
return resultModel;
}
#endregion
}
}
......@@ -438,6 +438,82 @@ namespace Mall.Module.MarketingCenter
}
item.data = driveModel;
break;
//教育模块-最近学习组件
case "education":
educationItem educationModel = new educationItem();
try
{
var driveData = JsonHelper.DeserializeObject<educationItem>(item.data.ToString());
if (driveData != null)
{
educationModel.Cover = driveData?.Cover ?? "";
educationModel.Name = driveData?.Name ?? "";
educationModel.showProgress = driveData?.showProgress ?? false;
educationModel.BtnPosition = driveData?.BtnPosition ?? "left";
educationModel.PaddingTop = driveData?.PaddingTop ?? "0";
educationModel.PaddingBottom = driveData?.PaddingBottom ?? "0";
educationModel.PaddingLeft = driveData?.PaddingLeft ?? "0";
educationModel.PaddingRight = driveData?.PaddingRight ?? "0";
}
}
catch
{
}
item.data = educationModel;
break;
//教育模块-自定义列表
case "educationCustom":
educationCustomItem educationCustomModel = new educationCustomItem();
try
{
var driveData = JsonHelper.DeserializeObject<educationCustomItem>(item.data.ToString());
if (driveData != null)
{
educationCustomModel.goodsLength = driveData?.goodsLength ?? 1;
educationCustomModel.listStyle = driveData?.listStyle ?? 1;
educationCustomModel.backgroundColor = driveData?.backgroundColor ?? "";
educationCustomModel.PaddingTop = driveData?.PaddingTop ?? "0";
educationCustomModel.PaddingBottom = driveData?.PaddingBottom ?? "0";
educationCustomModel.PaddingLeft = driveData?.PaddingLeft ?? "0";
educationCustomModel.PaddingRight = driveData?.PaddingRight ?? "0";
educationCustomModel.SearchFilletPX = driveData?.SearchFilletPX ?? 0;
educationCustomModel.list = new List<CustomDetailsItem2>();
educationCustomModel.list = driveData.list;
}
}
catch
{
}
item.data = educationCustomModel;
break;
//教育模块-资讯列表
case "educationArticle":
educationArticleItem educationArticleModel = new educationArticleItem();
try
{
var driveData = JsonHelper.DeserializeObject<educationArticleItem>(item.data.ToString());
if (driveData != null)
{
educationArticleModel.goodsLength = driveData?.goodsLength ?? 1;
educationArticleModel.addGoodsType = driveData?.addGoodsType ?? 0;
educationArticleModel.listStyle = driveData?.listStyle ?? 1;
educationArticleModel.backgroundColor = driveData?.backgroundColor ?? "";
educationArticleModel.PaddingTop = driveData?.PaddingTop ?? "0";
educationArticleModel.PaddingBottom = driveData?.PaddingBottom ?? "0";
educationArticleModel.PaddingLeft = driveData?.PaddingLeft ?? "0";
educationArticleModel.PaddingRight = driveData?.PaddingRight ?? "0";
educationArticleModel.SearchFilletPX = driveData?.SearchFilletPX ?? 0;
educationArticleModel.list = new List<CustomDetailsItem2>();
educationArticleModel.list = driveData.list;
}
}
catch
{
}
item.data = educationArticleModel;
break;
}
}
......
......@@ -258,10 +258,12 @@ namespace Mall.Module.Finance
}
foreach (var item in model.RecordDetailList)
{
try
{
Dictionary<string, object> keyValues = new Dictionary<string, object>();
if (list.Any(x=>x.Id==item.OrderDetailId && x.FinanceType==1)&& list.Any(x => x.Id == item.OrderDetailId && x.FinanceType == 2))
if (list.Any(x => x.Id == item.OrderDetailId && x.FinanceType == 1) && list.Any(x => x.Id == item.OrderDetailId && x.FinanceType == 2))
{
keyValues = new Dictionary<string, object>()
{
......@@ -270,7 +272,7 @@ namespace Mall.Module.Finance
{ nameof(RB_Goods_OrderDetail.PaidCostMoney),item.OrderDetailPaid}
};
}
else if (list.Any(x => x.Id == item.OrderDetailId && x.FinanceType == 1) && list.Any(x => x.Id == item.OrderDetailId && x.FinanceType ==3))
else if (list.Any(x => x.Id == item.OrderDetailId && x.FinanceType == 1) && list.Any(x => x.Id == item.OrderDetailId && x.FinanceType == 3))
{
keyValues = new Dictionary<string, object>()
{
......@@ -297,7 +299,7 @@ namespace Mall.Module.Finance
{ nameof(RB_Goods_OrderDetail.PaidCostMoney),item.OrderDetailPaid}
};
}
else if (list.Any(x => x.Id == item.OrderDetailId && x.FinanceType ==3))
else if (list.Any(x => x.Id == item.OrderDetailId && x.FinanceType == 3))
{
keyValues = new Dictionary<string, object>()
{
......@@ -315,6 +317,11 @@ namespace Mall.Module.Finance
};
goods_OrderDetailRepository.Update(keyValues, whereHelpers);
}
catch (Exception ex)
{
}
}
}
}
catch (Exception ex)
......
......@@ -27,8 +27,9 @@ namespace Mall.Repository.Education
public List<RB_Education_Article_Extend> GetPageListRepository(int pageIndex, int pageSize, out long rowCount, RB_Education_Article_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append(@$" SELECT a.* FROM {TableName} as a LEFT JOIN (SELECT ArticleId,COUNT(*) as CommentNum from rb_education_articlecomment where `Status`=0 GROUP BY ArticleId )
as b on a.ID = b.ArticleId WHERE a.{nameof(RB_Education_Article_Extend.Status)}=0");
builder.Append(@$" SELECT a.*,b.CommentNum,c.Major,c.TeacherLogo,c.`Name` as TeacherName FROM {TableName} as a LEFT JOIN (SELECT ArticleId,COUNT(*) as CommentNum from rb_education_articlecomment where `Status`=0 GROUP BY ArticleId )
as b on a.ID = b.ArticleId
LEFT JOIN rb_education_teacher as c on a.TeacherId=c.ID WHERE a.{nameof(RB_Education_Article_Extend.Status)}=0 and c.{nameof(RB_Education_Teacher.Status)}=0");
if (query != null)
{
if (query.TenantId > 0)
......@@ -59,6 +60,14 @@ as b on a.ID = b.ArticleId WHERE a.{nameof(RB_Education_Article_Extend.Status)}
{
builder.Append($" and a.{nameof(RB_Education_Article_Extend.CreateDate)} <='{query.EndTime + " 23:59:59"}'");
}
if (query.OrderBy == 0)
{
builder.Append($" order by a.{nameof(RB_Education_Article_Extend.Sort)} asc ");
}
else if (query.OrderBy == 1)
{
builder.Append($" order by a.{nameof(RB_Education_Article_Extend.CreateDate)} desc ");
}
}
return GetPage<RB_Education_Article_Extend>(pageIndex, pageSize, out rowCount, builder.ToString()).ToList();
}
......@@ -75,36 +84,42 @@ as b on a.ID = b.ArticleId WHERE a.{nameof(RB_Education_Article_Extend.Status)}
public List<RB_Education_Article_Extend> GetTeacherList(RB_Education_Article_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} WHERE {nameof(RB_Education_Article_Extend.Status)}=0");
builder.Append(@$" SELECT a.*,b.CommentNum,c.Major,c.TeacherLogo,c.`Name` as TeacherName FROM {TableName} as a LEFT JOIN (SELECT ArticleId,COUNT(*) as CommentNum from rb_education_articlecomment where `Status`=0 GROUP BY ArticleId )
as b on a.ID = b.ArticleId
LEFT JOIN rb_education_teacher as c on a.TeacherId = c.ID WHERE a.{nameof(RB_Education_Article_Extend.Status)}=0 and c.{nameof(RB_Education_Teacher.Status)}=0");
if (query != null)
{
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Education_Article_Extend.TenantId)}={query.TenantId}");
builder.Append($" AND a.{nameof(RB_Education_Article_Extend.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Education_Article_Extend.MallBaseId)}={query.MallBaseId}");
builder.Append($" AND a.{nameof(RB_Education_Article_Extend.MallBaseId)}={query.MallBaseId}");
}
if (query.ID > 0)
{
builder.Append($" AND {nameof(RB_Education_Article_Extend.ID)}={query.ID}");
builder.Append($" AND a.{nameof(RB_Education_Article_Extend.ID)}={query.ID}");
}
if (!string.IsNullOrWhiteSpace(query.Name))
{
builder.Append($" AND {nameof(RB_Education_Article_Extend.Name)} like '%{query.Name}%'");
builder.Append($" AND a.{nameof(RB_Education_Article_Extend.Name)} like '%{query.Name}%'");
}
if (query.ArticleStatus > 0)
{
builder.Append($" AND {nameof(RB_Education_Article_Extend.ArticleStatus)}={query.ArticleStatus}");
builder.Append($" AND a.{nameof(RB_Education_Article_Extend.ArticleStatus)}={query.ArticleStatus}");
}
if (!string.IsNullOrEmpty(query.StartTime))
{
builder.Append($" and g.{nameof(RB_Education_Article_Extend.CreateDate)} >='{query.StartTime}'");
builder.Append($" and a.{nameof(RB_Education_Article_Extend.CreateDate)} >='{query.StartTime}'");
}
if (!string.IsNullOrEmpty(query.EndTime))
{
builder.Append($" and g.{nameof(RB_Education_Article_Extend.CreateDate)} <='{query.EndTime + " 23:59:59"}'");
builder.Append($" and a.{nameof(RB_Education_Article_Extend.CreateDate)} <='{query.EndTime + " 23:59:59"}'");
}
if (!string.IsNullOrEmpty(query.Ids))
{
builder.Append($" and a.{nameof(RB_Education_Article_Extend.ID)} in({query.Ids}) ");
}
}
return Get<RB_Education_Article_Extend>(builder.ToString()).ToList();
......
......@@ -55,5 +55,39 @@ namespace Mall.Repository.Education
string sql = @$" select * FROM {TableName} AS a where 1=1 {builder.ToString()} ";
return Get<RB_Education_MemberCoupon_Extend>(sql).ToList();
}
/// <summary>
/// 自动发放优惠券信息
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Education_MemberCoupon_Extend> GetAutoMemberCouponPageList(RB_Education_MemberCoupon_Extend query)
{
string where = " where a.`Status`=0 ";
if (query != null)
{
if (query.TenantId > 0)
{
where += $" AND a.{nameof(RB_Education_MemberCoupon_Extend.TenantId)}={query.TenantId}";
}
if (query.MallBaseId > 0)
{
where += $" AND a.{nameof(RB_Education_MemberCoupon_Extend.MallBaseId)}={query.MallBaseId}";
}
if (query.UserId > 0)
{
where += $" AND a.{nameof(RB_Education_MemberCoupon_Extend.UserId)}={query.UserId}";
}
if (query.GetType > 0)
{
where += $" AND a.{nameof(RB_Education_MemberCoupon_Extend.GetType)}={query.GetType}";
}
}
string sql = @$" SELECT a.* from rb_education_membercoupon as a {where} ";
return Get<RB_Education_MemberCoupon_Extend>(sql).ToList();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using Mall.Common.API;
using Mall.Model.Extend.User;
using Mall.Module.User;
using Mall.WebApi.Filter;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using Mall.Common.Plugin;
using Mall.Common.Enum.User;
using Newtonsoft.Json.Linq;
using Mall.Model.Extend.Product;
using Mall.Model.Extend.MarketingCenter;
using Mall.Module.BaseSetUp;
using Mall.Common;
using Mall.CacheManager.User;
using Microsoft.AspNetCore.Authorization;
using Mall.Module.Education;
using Mall.Model.Extend.Education;
namespace Mall.WebApi.Controllers.Education
{
[Route("api/[controller]/[action]")]
[ApiExceptionFilter]
[ApiController]
[EnableCors("AllowCors")]
public class AppletEducationController : BaseController
{
private readonly EducationModule educationModule = new EducationModule();
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 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("领取优惠券不属于当前店铺");
// }
// }
// 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.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("会员等级不符合");
// }
// }
// }
// 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("优惠券信息领取成功");
// }
// }
//}
///// <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 ShareEducationCoupon()
{
var parms = RequestParm;
var userInfo = AppletUserInfo;
var query = JsonConvert.DeserializeObject<RB_Education_Coupon_Extend>(RequestParm.msg.ToString());
query.TenantId = userInfo.TenantId;
query.MallBaseId = userInfo.MallBaseId;
query.UserId = userInfo.UserId;
RB_Education_Coupon_Extend resultModel = new RB_Education_Coupon_Extend();
if (query.TriggerType == 2)
{
query.TriggerType = 4;
resultModel = educationModule.AutoEducationCoupon(query);
if (resultModel == null || resultModel.ID == 0)
{
query.TriggerType = 2;
resultModel = educationModule.AutoEducationCoupon(query);
}
}
else
{
resultModel = educationModule.AutoEducationCoupon(query);
}
if (resultModel != null && resultModel.ID > 0)
{
return ApiResult.CouponSuccess(ResultCode.Success, 1, "", resultModel.Name);
}
else
{
return ApiResult.CouponFailed(ResultCode.Fail, 1, "", "");
}
}
#endregion
}
}
\ No newline at end of file
......@@ -705,7 +705,11 @@ namespace Mall.WebApi.Controllers.Education
x.IsComment,
x.CommentNum,
x.BrowseNum,
x.FictitiousBrowseNum
x.FictitiousBrowseNum,
x.ArticlePic,
x.TeacherName,
x.TeacherLogo,
x.Major
});
return ApiResult.Success("", pagelist);
}
......
......@@ -77,13 +77,18 @@ namespace Mall.WebApi.Controllers
/// </summary>
private static RB_Goods_SpecificationPriceRepository goods_SpecificationPriceRepository = new RB_Goods_SpecificationPriceRepository();
/// <summary>
/// 产品处理类
/// </summary>
private static Module.Education.EducationModule educationModule = new Module.Education.EducationModule();
/// <summary>
/// 解析插件数据为对象
/// </summary>
/// <param name="item"></param>
/// <returns></returns>
public static object PlusDataToObject(ComponentItem subItem, int TenantId, int MallBaseId, int SmallShopsId,int IsOpenSchool)
public static object PlusDataToObject(ComponentItem subItem, int TenantId, int MallBaseId, int SmallShopsId, int IsOpenSchool)
{
var obj = new object();
switch (subItem.Id)
......@@ -228,8 +233,8 @@ namespace Mall.WebApi.Controllers
MallBaseId = MallBaseId,
CategoryIds = childItem.id.ToString(),
GoodsStatus = 1,
GoodsPageType= IsOpenSchool==1?Common.Enum.Goods.GoodsPageTypeEnum.School:Common.Enum.Goods.GoodsPageTypeEnum.Mall
},SmallShopsId:SmallShopsId);
GoodsPageType = IsOpenSchool == 1 ? Common.Enum.Goods.GoodsPageTypeEnum.School : Common.Enum.Goods.GoodsPageTypeEnum.Mall
}, SmallShopsId: SmallShopsId);
if (catGoodsList != null && catGoodsList.Count > 0)
{
foreach (var gItem in catGoodsList)
......@@ -711,8 +716,8 @@ namespace Mall.WebApi.Controllers
var shopInfo = subItem.data as shopinfoItem;
obj = new
{
id=subItem.Id,
data=shopInfo
id = subItem.Id,
data = shopInfo
};
break;
//司导插件
......@@ -724,6 +729,95 @@ namespace Mall.WebApi.Controllers
data = driveInfo
};
break;
//教育模块-最近学习组件
case "education":
var educationInfo = subItem.data as educationItem;
obj = new
{
id = subItem.Id,
data = educationInfo
};
break;
//教育模块-自定义列表
case "educationCustom":
var educationCustomerInfo = subItem.data as educationCustomItem;
obj = new
{
id = subItem.Id,
data = educationCustomerInfo
};
break;
//教育模块-资讯列表
case "educationArticle":
var educationArticleInfo = subItem.data as educationArticleItem;
if (educationArticleInfo != null)
{
//自定义商品
if (educationArticleInfo.addGoodsType == 0)
{
if (educationArticleInfo.list != null && educationArticleInfo.list.Count > 0)
{
var Ids = "0," + string.Join(",", educationArticleInfo.list.Select(qitem => qitem.id));
var tempGoodsList = educationModule.GetArticleList(new Model.Extend.Education.RB_Education_Article_Extend()
{
TenantId = TenantId,
MallBaseId = MallBaseId,
Ids = Ids,
ArticleStatus = 1
});
List<CustomDetailsItem2> newGoodsList = new List<CustomDetailsItem2>();
foreach (var goodItem in educationArticleInfo.list)
{
var lastItem = new CustomDetailsItem2();
var tempGood = tempGoodsList?.Where(qitem => qitem.ID == goodItem.id)?.FirstOrDefault();
if (tempGood != null && tempGood.ID > 0)
{
lastItem.id = tempGood.ID;
lastItem.name = tempGood.Name;
lastItem.lableName = tempGood.LableName;
lastItem.picUrl = tempGood.ArticlePic;
newGoodsList.Add(lastItem);
}
}
educationArticleInfo.list = newGoodsList;
}
}
//自动添加商品
else
{
educationArticleInfo.list = new List<CustomDetailsItem2>();
var articleList = educationModule.GetArticlePageListRepository(1, educationArticleInfo.goodsLength, out long rowsCount, new Model.Extend.Education.RB_Education_Article_Extend()
{
TenantId = TenantId,
MallBaseId = MallBaseId,
ArticleStatus = 1,
OrderBy=1
});
if (articleList != null && articleList.Count > 0)
{
foreach (var gItem in articleList)
{
educationArticleInfo.list.Add(new CustomDetailsItem2()
{
id = gItem.ID,
name = gItem.Name,
lableName = gItem.LableName,
picUrl = gItem.ArticlePic
});
}
}
}
}
obj = new
{
id = subItem.Id,
data = educationArticleInfo
};
break;
}
return obj;
}
......@@ -734,7 +828,7 @@ namespace Mall.WebApi.Controllers
/// </summary>
/// <param name="miniProgram"></param>
/// <returns></returns>
public static object DefaultHomepage(RB_MiniProgram_Extend miniProgram,int IsOpenSchool)
public static object DefaultHomepage(RB_MiniProgram_Extend miniProgram, int IsOpenSchool)
{
var templateData = new
{
......@@ -1867,34 +1961,37 @@ namespace Mall.WebApi.Controllers
switch (miniProgram.MallShopStyle)
{
case MallShopStyleEnum.Default:
resultMallShopStyle = new ResultMallShopStyle() { main = "#ff4544", secondary = "#f39800" };
resultMallShopStyle = new ResultMallShopStyle() { main = "#ff4544", secondary = "#f39800", IsEducation = 0 };
break;
case MallShopStyleEnum.VibrantYellow:
resultMallShopStyle = new ResultMallShopStyle() { main = "#ff4544", secondary = "#f39800" };
resultMallShopStyle = new ResultMallShopStyle() { main = "#ff4544", secondary = "#f39800", IsEducation = 0 };
break;
case MallShopStyleEnum.RomanticPowder:
resultMallShopStyle = new ResultMallShopStyle() { main = "#ff547b", secondary = "#ffe6e8" };
resultMallShopStyle = new ResultMallShopStyle() { main = "#ff547b", secondary = "#ffe6e8", IsEducation = 0 };
break;
case MallShopStyleEnum.StreamerGold:
resultMallShopStyle = new ResultMallShopStyle() { main = "#ddb766", secondary = "#f0ebd8" };
resultMallShopStyle = new ResultMallShopStyle() { main = "#ddb766", secondary = "#f0ebd8", IsEducation = 0 };
break;
case MallShopStyleEnum.ElegantPurple:
resultMallShopStyle = new ResultMallShopStyle() { main = "#7783ea", secondary = "#e9ebff" };
resultMallShopStyle = new ResultMallShopStyle() { main = "#7783ea", secondary = "#e9ebff", IsEducation = 0 };
break;
case MallShopStyleEnum.TasteRed:
resultMallShopStyle = new ResultMallShopStyle() { main = "#ff4544", secondary = "#555555" };
resultMallShopStyle = new ResultMallShopStyle() { main = "#ff4544", secondary = "#555555", IsEducation = 0 };
break;
case MallShopStyleEnum.FreshGreen:
resultMallShopStyle = new ResultMallShopStyle() { main = "#63be72", secondary = "#e1f4e3" };
resultMallShopStyle = new ResultMallShopStyle() { main = "#63be72", secondary = "#e1f4e3", IsEducation = 0 };
break;
case MallShopStyleEnum.BusinessBlue:
resultMallShopStyle = new ResultMallShopStyle() { main = "#4a90e2", secondary = "#dbe9f9" };
resultMallShopStyle = new ResultMallShopStyle() { main = "#4a90e2", secondary = "#dbe9f9", IsEducation = 0 };
break;
case MallShopStyleEnum.PureBlack:
resultMallShopStyle = new ResultMallShopStyle() { main = "#333333", secondary = "#dedede" };
resultMallShopStyle = new ResultMallShopStyle() { main = "#333333", secondary = "#dedede", IsEducation = 0 };
break;
case MallShopStyleEnum.PassionateRed:
resultMallShopStyle = new ResultMallShopStyle() { main = "#ff4544", secondary = "#ffdada" };
resultMallShopStyle = new ResultMallShopStyle() { main = "#ff4544", secondary = "#ffdada", IsEducation = 0 };
break;
case MallShopStyleEnum.Education:
resultMallShopStyle = new ResultMallShopStyle() { main = "#00d6a6", secondary = "#ffc86d",IsEducation=1 };
break;
}
mallStyle = new
......@@ -2178,5 +2275,11 @@ namespace Mall.WebApi.Controllers
/// 辅色
/// </summary>
public string secondary { get; set; }
/// <summary>
/// 0-商品,1-是
/// </summary>
public int IsEducation{ get; set; }
}
}
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