Commit f655cc0e authored by liudong1993's avatar liudong1993

小程序榜单

parent c687a920
...@@ -47,13 +47,18 @@ namespace Mall.Model.Entity.TradePavilion ...@@ -47,13 +47,18 @@ namespace Mall.Model.Entity.TradePavilion
/// <summary> /// <summary>
/// 报名截止日期 /// 报名截止日期
/// </summary> /// </summary>
public DateTime DeadlineDate { get; set; } public DateTime EndDate { get; set; }
/// <summary> /// <summary>
/// 公示日期 /// 报名开始日期
/// </summary> /// </summary>
public DateTime StartDate { get; set; } public DateTime StartDate { get; set; }
/// <summary>
/// 放榜日期
/// </summary>
public DateTime FinishDate { get; set; }
/// <summary> /// <summary>
/// 详细内容 /// 详细内容
/// </summary> /// </summary>
......
...@@ -19,6 +19,11 @@ namespace Mall.Model.Entity.TradePavilion ...@@ -19,6 +19,11 @@ namespace Mall.Model.Entity.TradePavilion
/// </summary> /// </summary>
public int Id { get; set; } public int Id { get; set; }
/// <summary>
/// 榜单Id
/// </summary>
public int ListId { get; set; }
/// <summary> /// <summary>
/// 用户id /// 用户id
/// </summary> /// </summary>
...@@ -29,6 +34,11 @@ namespace Mall.Model.Entity.TradePavilion ...@@ -29,6 +34,11 @@ namespace Mall.Model.Entity.TradePavilion
/// </summary> /// </summary>
public ListObjectTypeEnum ObjectType { get; set; } public ListObjectTypeEnum ObjectType { get; set; }
/// <summary>
/// 品牌/载体id
/// </summary>
public int ObjectId { get; set; }
/// <summary> /// <summary>
/// 表单内容 /// 表单内容
/// </summary> /// </summary>
...@@ -79,18 +89,13 @@ namespace Mall.Model.Entity.TradePavilion ...@@ -79,18 +89,13 @@ namespace Mall.Model.Entity.TradePavilion
/// </summary> /// </summary>
public int MallBaseId { get; set; } public int MallBaseId { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary> /// <summary>
/// 创建时间 /// 创建时间
/// </summary> /// </summary>
public DateTime CreateDate { get; set; } public DateTime CreateDate { get; set; }
/// <summary> /// <summary>
/// 修改人 /// 操作人 - 后台empId
/// </summary> /// </summary>
public int UpdateBy { get; set; } public int UpdateBy { get; set; }
......
...@@ -12,6 +12,11 @@ namespace Mall.Model.Extend.TradePavilion ...@@ -12,6 +12,11 @@ namespace Mall.Model.Extend.TradePavilion
/// </summary> /// </summary>
public string ClassName { get; set; } public string ClassName { get; set; }
/// <summary>
/// 品牌ids查询
/// </summary>
public string BrandIds { get; set; }
public List<string> BannerList { get; set; } public List<string> BannerList { get; set; }
......
...@@ -13,6 +13,11 @@ namespace Mall.Model.Extend.TradePavilion ...@@ -13,6 +13,11 @@ namespace Mall.Model.Extend.TradePavilion
/// </summary> /// </summary>
public List<RB_CarrierMetro_Extend> CarrierMetroList { get; set; } public List<RB_CarrierMetro_Extend> CarrierMetroList { get; set; }
/// <summary>
/// 载体ids查询
/// </summary>
public string CarrierIds { get; set; }
/// <summary> /// <summary>
/// 介绍图 /// 介绍图
/// </summary> /// </summary>
......
...@@ -17,5 +17,15 @@ namespace Mall.Model.Extend.TradePavilion ...@@ -17,5 +17,15 @@ namespace Mall.Model.Extend.TradePavilion
/// 用户名称 /// 用户名称
/// </summary> /// </summary>
public string UserName { get; set; } public string UserName { get; set; }
/// <summary>
/// 品牌/载体名称
/// </summary>
public string ObjectName { get; set; }
/// <summary>
/// 品牌/载体图标
/// </summary>
public string ObjectIcon { get; set; }
} }
} }
...@@ -22,5 +22,30 @@ namespace Mall.Model.Extend.TradePavilion ...@@ -22,5 +22,30 @@ namespace Mall.Model.Extend.TradePavilion
/// 面向群里id /// 面向群里id
/// </summary> /// </summary>
public int ObjectTypeId { get; set; } public int ObjectTypeId { get; set; }
/// <summary>
/// 小程序端状态 1进行中 , 2报名已截止 , 3已放榜
/// </summary>
public int State { get; set; }
/// <summary>
/// 排序 1根据报名截止日期
/// </summary>
public int OrderBy { get; set; }
/// <summary>
/// 是否查询正常的 1是
/// </summary>
public int IsAppletSelectNor { get; set; }
/// <summary>
/// 报名
/// </summary>
public List<RB_FirstShop_ListEnroll_Extend> EnrollList { get; set; }
/// <summary>
/// 上榜列表
/// </summary>
public List<RB_FirstShop_ListEnroll_Extend> RankList { get; set; }
} }
} }
using Mall.Common.Plugin; using Mall.Common;
using Mall.Common.Plugin;
using Mall.Model.Extend.TradePavilion; using Mall.Model.Extend.TradePavilion;
using Mall.Repository.TradePavilion; using Mall.Repository.TradePavilion;
using Mall.Repository.User; using Mall.Repository.User;
...@@ -24,6 +25,14 @@ namespace Mall.Module.TradePavilion ...@@ -24,6 +25,14 @@ namespace Mall.Module.TradePavilion
/// </summary> /// </summary>
private readonly RB_FirstShop_ListEnrollRepository firstShop_ListEnrollRepository = new RB_FirstShop_ListEnrollRepository(); private readonly RB_FirstShop_ListEnrollRepository firstShop_ListEnrollRepository = new RB_FirstShop_ListEnrollRepository();
/// <summary> /// <summary>
/// 品牌
/// </summary>
private readonly RB_BrandRepository brandRepository = new RB_BrandRepository();
/// <summary>
/// 载体
/// </summary>
private readonly RB_CarrierRepository carrierRepository = new RB_CarrierRepository();
/// <summary>
/// 用户 /// 用户
/// </summary> /// </summary>
private readonly RB_Member_UserRepository member_UserRepository = new RB_Member_UserRepository(); private readonly RB_Member_UserRepository member_UserRepository = new RB_Member_UserRepository();
...@@ -42,7 +51,7 @@ namespace Mall.Module.TradePavilion ...@@ -42,7 +51,7 @@ namespace Mall.Module.TradePavilion
if (list.Any()) { if (list.Any()) {
foreach (var item in list) { foreach (var item in list) {
if (item.ListState == Common.Enum.TradePavilion.ListStateEnum.Enroll && item.DeadlineDate <= DateTime.Now) if (item.ListState == Common.Enum.TradePavilion.ListStateEnum.Enroll && item.EndDate <= DateTime.Now)
{ {
item.ListState = Common.Enum.TradePavilion.ListStateEnum.Rating; item.ListState = Common.Enum.TradePavilion.ListStateEnum.Rating;
} }
...@@ -59,6 +68,48 @@ namespace Mall.Module.TradePavilion ...@@ -59,6 +68,48 @@ namespace Mall.Module.TradePavilion
return list; return list;
} }
/// <summary>
/// 获取小程序 - 榜单分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_FirstShop_List_Extend> GetAppletFirstShopListPageList(int pageIndex, int pageSize, out long rowsCount, RB_FirstShop_List_Extend query)
{
var list = firstShop_ListRepository.GetPageList(pageIndex, pageSize, out rowsCount, query);
if (list.Any())
{
foreach (var item in list)
{
if (item.ListState == Common.Enum.TradePavilion.ListStateEnum.Enroll && item.StartDate <= DateTime.Now && item.EndDate >= DateTime.Now)
{
item.State = 1;//进行中
}
else if (item.ListState == Common.Enum.TradePavilion.ListStateEnum.Enroll && item.EndDate <= DateTime.Now)
{
item.State = 2;//报名已截止
}
else if (item.ListState == Common.Enum.TradePavilion.ListStateEnum.Confirmed)
{
item.State = 3;//已放榜
}
item.ObjectTypeList = new List<string>();
if (!string.IsNullOrEmpty(item.ObjectTypeIds))
{
List<int> OIdList = JsonHelper.DeserializeObject<List<int>>("[" + item.ObjectTypeIds + "]");
foreach (var qitem in OIdList)
{
item.ObjectTypeList.Add(((Common.Enum.TradePavilion.ListObjectTypeEnum)qitem).GetEnumName());
}
}
}
}
return list;
}
/// <summary> /// <summary>
/// 获取榜单详情 /// 获取榜单详情
/// </summary> /// </summary>
...@@ -69,6 +120,85 @@ namespace Mall.Module.TradePavilion ...@@ -69,6 +120,85 @@ namespace Mall.Module.TradePavilion
return firstShop_ListRepository.GetEntity<RB_FirstShop_List_Extend>(listId); return firstShop_ListRepository.GetEntity<RB_FirstShop_List_Extend>(listId);
} }
/// <summary>
/// 小程序获取榜单详情
/// </summary>
/// <param name="listId"></param>
/// <returns></returns>
public RB_FirstShop_List_Extend GetAppletFirstShopListInfo(int listId, Common.AppletUserInfo userInfo)
{
var model = firstShop_ListRepository.GetEntity<RB_FirstShop_List_Extend>(listId);
if (model != null) {
if (model.ListState == Common.Enum.TradePavilion.ListStateEnum.Confirmed)
{
//已放榜 查询所有上榜的列表
var enrollList = firstShop_ListEnrollRepository.GetList(new RB_FirstShop_ListEnroll_Extend() { MallBaseId = userInfo.MallBaseId, ListId = listId, RankListState = 1 });
//查询 品牌/载体 名称 图片
if (enrollList.Any()) {
var e1list = enrollList.Where(x => x.ObjectType == Common.Enum.TradePavilion.ListObjectTypeEnum.Brand).ToList();
var e2list = enrollList.Where(x => x.ObjectType == Common.Enum.TradePavilion.ListObjectTypeEnum.Carrier).ToList();
if (e1list.Any()) {
//查询品牌
string bids = string.Join(",", e1list.Select(x => x.ObjectId));
var blist = brandRepository.GetBrandList(new RB_Brand_Extend() { MallBaseId = userInfo.MallBaseId, BrandIds = bids });
foreach (var item in e1list) {
var bmodel = blist.Where(x => x.ID == item.ObjectId).FirstOrDefault();
item.ObjectName = bmodel?.BrandName ?? "";
item.ObjectIcon = bmodel?.Logo ?? "";
}
}
if (e2list.Any()) {
//查询载体
string cids = string.Join(",", e2list.Select(x => x.ObjectId));
var clist = carrierRepository.GetCarrierList(new RB_Carrier_Extend() { MallBaseId = userInfo.MallBaseId, CarrierIds = cids });
foreach (var item in e2list) {
var cmodel = clist.Where(x => x.ID == item.ObjectId).FirstOrDefault();
item.ObjectName = cmodel?.CarrierName ?? "";
item.ObjectIcon = cmodel?.Logo ?? "";
}
}
}
model.RankList = enrollList;
}
else {
//查询个人报名记录
var enrollList = firstShop_ListEnrollRepository.GetList(new RB_FirstShop_ListEnroll_Extend() { MallBaseId = userInfo.MallBaseId, ListId = listId, UserId = userInfo.UserId });
//查询 品牌/载体 名称 图片
if (enrollList.Any())
{
var e1list = enrollList.Where(x => x.ObjectType == Common.Enum.TradePavilion.ListObjectTypeEnum.Brand).ToList();
var e2list = enrollList.Where(x => x.ObjectType == Common.Enum.TradePavilion.ListObjectTypeEnum.Carrier).ToList();
if (e1list.Any())
{
//查询品牌
string bids = string.Join(",", e1list.Select(x => x.ObjectId));
var blist = brandRepository.GetBrandList(new RB_Brand_Extend() { MallBaseId = userInfo.MallBaseId, BrandIds = bids });
foreach (var item in e1list)
{
var bmodel = blist.Where(x => x.ID == item.ObjectId).FirstOrDefault();
item.ObjectName = bmodel?.BrandName ?? "";
item.ObjectIcon = bmodel?.Logo ?? "";
}
}
if (e2list.Any())
{
//查询载体
string cids = string.Join(",", e2list.Select(x => x.ObjectId));
var clist = carrierRepository.GetCarrierList(new RB_Carrier_Extend() { MallBaseId = userInfo.MallBaseId, CarrierIds = cids });
foreach (var item in e2list)
{
var cmodel = clist.Where(x => x.ID == item.ObjectId).FirstOrDefault();
item.ObjectName = cmodel?.CarrierName ?? "";
item.ObjectIcon = cmodel?.Logo ?? "";
}
}
}
model.EnrollList = enrollList;
}
}
return model;
}
/// <summary> /// <summary>
/// 新增修改榜单 /// 新增修改榜单
/// </summary> /// </summary>
...@@ -90,8 +220,9 @@ namespace Mall.Module.TradePavilion ...@@ -90,8 +220,9 @@ namespace Mall.Module.TradePavilion
{ nameof(RB_FirstShop_List_Extend.Sponsor),demodel.Sponsor }, { nameof(RB_FirstShop_List_Extend.Sponsor),demodel.Sponsor },
{ nameof(RB_FirstShop_List_Extend.ListName),demodel.ListName }, { nameof(RB_FirstShop_List_Extend.ListName),demodel.ListName },
{ nameof(RB_FirstShop_List_Extend.CoverImage),demodel.CoverImage }, { nameof(RB_FirstShop_List_Extend.CoverImage),demodel.CoverImage },
{ nameof(RB_FirstShop_List_Extend.DeadlineDate),demodel.DeadlineDate }, { nameof(RB_FirstShop_List_Extend.FinishDate),demodel.FinishDate },
{ nameof(RB_FirstShop_List_Extend.StartDate),demodel.StartDate }, { nameof(RB_FirstShop_List_Extend.StartDate),demodel.StartDate },
{ nameof(RB_FirstShop_List_Extend.EndDate),demodel.EndDate },
{ nameof(RB_FirstShop_List_Extend.Content),demodel.Content }, { nameof(RB_FirstShop_List_Extend.Content),demodel.Content },
{ nameof(RB_FirstShop_List_Extend.EnableRank),demodel.EnableRank }, { nameof(RB_FirstShop_List_Extend.EnableRank),demodel.EnableRank },
{ nameof(RB_FirstShop_List_Extend.PrizeNum),demodel.PrizeNum }, { nameof(RB_FirstShop_List_Extend.PrizeNum),demodel.PrizeNum },
...@@ -141,5 +272,145 @@ namespace Mall.Module.TradePavilion ...@@ -141,5 +272,145 @@ namespace Mall.Module.TradePavilion
bool flag = firstShop_ListRepository.Update(keyValues, wheres); bool flag = firstShop_ListRepository.Update(keyValues, wheres);
return flag ? "" : "取消失败"; return flag ? "" : "取消失败";
} }
/// <summary>
/// 获取用户可报表的品牌/载体列表
/// </summary>
/// <param name="userInfo"></param>
/// <returns></returns>
public object GetAppletMyBrandCarrierList(int listId, int enrollId, AppletUserInfo userInfo)
{
List<object> RList = new List<object>();
//查询该榜单
var listModel = firstShop_ListRepository.GetEntity(listId);
if (listModel == null) { return null; }
var enrollList = firstShop_ListEnrollRepository.GetList(new RB_FirstShop_ListEnroll_Extend() { MallBaseId = userInfo.MallBaseId, ListId = listId, UserId = userInfo.UserId });
if (enrollId > 0) { enrollList = enrollList.Where(x => x.Id != enrollId).ToList(); }//排除当前修改的
//查询用户下所有的品牌
if (listModel.ObjectTypeIds.Contains("1")) {
//品牌
var blist = brandRepository.GetBrandList(new RB_Brand_Extend() { MallBaseId = userInfo.MallBaseId, UserId = userInfo.UserId });
blist = blist.Where(x => !enrollList.Where(x => x.ObjectType == Common.Enum.TradePavilion.ListObjectTypeEnum.Brand).Select(y => y.ObjectId).Contains(x.ID)).ToList();
if (blist.Any())
{
foreach (var item in blist)
{
RList.Add(new
{
Id = item.ID,
Name = item.BrandName,
ObjectType = 1
});
}
}
}
//查询用户下所有的载体
if (listModel.ObjectTypeIds.Contains("2"))
{
var clist = carrierRepository.GetCarrierList(new RB_Carrier_Extend() { MallBaseId = userInfo.MallBaseId, UserId = userInfo.UserId });
clist = clist.Where(x => !enrollList.Where(x => x.ObjectType == Common.Enum.TradePavilion.ListObjectTypeEnum.Carrier).Select(y => y.ObjectId).Contains(x.ID)).ToList();
if (clist.Any())
{
foreach (var item in clist)
{
RList.Add(new
{
Id = item.ID,
Name = item.CarrierName,
ObjectType = 2
});
}
}
}
return RList;
}
/// <summary>
/// 新增修改报名
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public string SetAppletFirstShopListInfo(RB_FirstShop_ListEnroll_Extend demodel)
{
var listModel = firstShop_ListRepository.GetEntity(demodel.ListId);
if (listModel == null || listModel.Status == 1 || listModel.ListState == Common.Enum.TradePavilion.ListStateEnum.Cancel) {
return "榜单不存在,请核实后再试";
}
if (listModel.StartDate > DateTime.Now) { return "榜单还未开始报名,无法报名"; }
if (listModel.EndDate < DateTime.Now) { return "榜单已截止报名"; }
if (demodel.Id > 0)
{
#region 验证
var valistList = firstShop_ListEnrollRepository.GetList(new RB_FirstShop_ListEnroll_Extend() { MallBaseId = demodel.MallBaseId, UserId = demodel.UserId, ObjectType = demodel.ObjectType, ObjectId = demodel.ObjectId });
if (valistList.Where(x => x.Id != demodel.Id).Any())
{
return "该品牌/载体已报名,无法重复报名";
}
#endregion
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_FirstShop_ListEnroll_Extend.ObjectType),demodel.ObjectType},
{ nameof(RB_FirstShop_ListEnroll_Extend.ObjectId),demodel.ObjectId},
{ nameof(RB_FirstShop_ListEnroll_Extend.Content),demodel.Content},
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_FirstShop_ListEnroll_Extend.Id),
FiledValue= demodel.Id,
OperatorEnum=OperatorEnum.Equal
}
};
bool flag = firstShop_ListEnrollRepository.Update(keyValues, wheres);
return flag ? "" : "修改失败,请联系管理人员";
}
else {
#region 验证
var valistList = firstShop_ListEnrollRepository.GetList(new RB_FirstShop_ListEnroll_Extend() { MallBaseId = demodel.MallBaseId, UserId = demodel.UserId, ObjectType = demodel.ObjectType, ObjectId = demodel.ObjectId });
if (valistList.Any()) {
return "该品牌/载体已报名,无法重复报名";
}
#endregion
bool flag = firstShop_ListEnrollRepository.Insert(demodel) > 0;
return flag ? "" : "报名失败,请联系管理人员";
}
}
/// <summary>
/// 取消报名
/// </summary>
/// <param name="enrollId"></param>
/// <param name="userInfo"></param>
/// <returns></returns>
public string CancelAppletFirstShopListInfo(int enrollId, AppletUserInfo userInfo)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_FirstShop_ListEnroll_Extend.Status),1},
{ nameof(RB_FirstShop_ListEnroll_Extend.UpdateDate),DateTime.Now},
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_FirstShop_ListEnroll_Extend.Id),
FiledValue= enrollId,
OperatorEnum=OperatorEnum.Equal
}
};
bool flag = firstShop_ListEnrollRepository.Update(keyValues, wheres);
return flag ? "" : "取消失败,请联系管理员";
}
/// <summary>
/// 获取小程序 我的报名榜单列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_FirstShop_List_Extend> GetAppletMyEnrollFistShopListPageList(int pageIndex, int pageSize, out long count, RB_FirstShop_List_Extend demodel)
{
var list = firstShop_ListRepository.GetAppletMyEnrollFistShopListPageList(pageIndex, pageSize, out count, demodel);
return list;
}
} }
} }
...@@ -75,13 +75,17 @@ where {where} order by w.Id desc ...@@ -75,13 +75,17 @@ where {where} order by w.Id desc
{ {
where += $@" and w.{nameof(RB_FirstShop_ListEnroll_Extend.MallBaseId)}={dmodel.MallBaseId}"; where += $@" and w.{nameof(RB_FirstShop_ListEnroll_Extend.MallBaseId)}={dmodel.MallBaseId}";
} }
if (dmodel.ListId > 0)
{
where += $@" and w.{nameof(RB_FirstShop_ListEnroll_Extend.ListId)}={dmodel.ListId}";
}
if (dmodel.UserId > 0) if (dmodel.UserId > 0)
{ {
where += $@" and w.{nameof(RB_FirstShop_ListEnroll_Extend.UserId)}={dmodel.UserId}"; where += $@" and w.{nameof(RB_FirstShop_ListEnroll_Extend.UserId)}={dmodel.UserId}";
} }
if (dmodel.ObjectType > 0) if (dmodel.ObjectType > 0)
{ {
where += $@" and w.{nameof(RB_FirstShop_ListEnroll_Extend.ObjectType)}={dmodel.ObjectType}"; where += $@" and w.{nameof(RB_FirstShop_ListEnroll_Extend.ObjectType)}={(int)dmodel.ObjectType}";
} }
if (dmodel.CandidateState > 0) if (dmodel.CandidateState > 0)
{ {
......
...@@ -47,12 +47,13 @@ namespace Mall.Repository.TradePavilion ...@@ -47,12 +47,13 @@ namespace Mall.Repository.TradePavilion
if (dmodel.ListState == Common.Enum.TradePavilion.ListStateEnum.Enroll) if (dmodel.ListState == Common.Enum.TradePavilion.ListStateEnum.Enroll)
{ {
where += $@" and w.{nameof(RB_FirstShop_List_Extend.ListState)}={(int)Common.Enum.TradePavilion.ListStateEnum.Enroll}"; where += $@" and w.{nameof(RB_FirstShop_List_Extend.ListState)}={(int)Common.Enum.TradePavilion.ListStateEnum.Enroll}";
where += $@" and w.{nameof(RB_FirstShop_List_Extend.DeadlineDate)} >='{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}'"; where += $@" and w.{nameof(RB_FirstShop_List_Extend.StartDate)} <='{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}'";
where += $@" and w.{nameof(RB_FirstShop_List_Extend.EndDate)} >='{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}'";
} }
else if (dmodel.ListState == Common.Enum.TradePavilion.ListStateEnum.Rating) else if (dmodel.ListState == Common.Enum.TradePavilion.ListStateEnum.Rating)
{ {
where += $@" and w.{nameof(RB_FirstShop_List_Extend.ListState)}={(int)Common.Enum.TradePavilion.ListStateEnum.Enroll}"; where += $@" and w.{nameof(RB_FirstShop_List_Extend.ListState)}={(int)Common.Enum.TradePavilion.ListStateEnum.Enroll}";
where += $@" and w.{nameof(RB_FirstShop_List_Extend.DeadlineDate)} <'{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}'"; where += $@" and w.{nameof(RB_FirstShop_List_Extend.EndDate)} <'{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}'";
} }
else { else {
where += $@" and w.{nameof(RB_FirstShop_List_Extend.ListState)}={(int)dmodel.ListState}"; where += $@" and w.{nameof(RB_FirstShop_List_Extend.ListState)}={(int)dmodel.ListState}";
...@@ -68,10 +69,19 @@ namespace Mall.Repository.TradePavilion ...@@ -68,10 +69,19 @@ namespace Mall.Repository.TradePavilion
where += $@" and w.{nameof(RB_FirstShop_List_Extend.ListName)} @ListName"; where += $@" and w.{nameof(RB_FirstShop_List_Extend.ListName)} @ListName";
parameters.Add("ListName", "%" + dmodel.ListName + "%"); parameters.Add("ListName", "%" + dmodel.ListName + "%");
} }
if (dmodel.IsAppletSelectNor == 1) {
//小程序端查询
where += $@" and w.{nameof(RB_FirstShop_List_Extend.ListState)} <>{(int)Common.Enum.TradePavilion.ListStateEnum.Cancel}";
where += $@" and w.{nameof(RB_FirstShop_List_Extend.StartDate)} <='{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}'";
}
string orderBy = " order by w.Id desc";
if (dmodel.OrderBy == 1) {
orderBy = " order by w.EndDate desc";//根据报名截止日期
}
string sql = $@"select w.* from RB_FirstShop_List w string sql = $@"select w.* from RB_FirstShop_List w
where {where} order by w.Id desc where {where} {orderBy}
"; ";
return GetPage<RB_FirstShop_List_Extend>(pageIndex, pageSize, out count, sql, parameters).ToList(); return GetPage<RB_FirstShop_List_Extend>(pageIndex, pageSize, out count, sql, parameters).ToList();
} }
...@@ -106,12 +116,13 @@ where {where} order by w.Id desc ...@@ -106,12 +116,13 @@ where {where} order by w.Id desc
if (dmodel.ListState == Common.Enum.TradePavilion.ListStateEnum.Enroll) if (dmodel.ListState == Common.Enum.TradePavilion.ListStateEnum.Enroll)
{ {
where += $@" and w.{nameof(RB_FirstShop_List_Extend.ListState)}={(int)Common.Enum.TradePavilion.ListStateEnum.Enroll}"; where += $@" and w.{nameof(RB_FirstShop_List_Extend.ListState)}={(int)Common.Enum.TradePavilion.ListStateEnum.Enroll}";
where += $@" and w.{nameof(RB_FirstShop_List_Extend.DeadlineDate)} >='{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}'"; where += $@" and w.{nameof(RB_FirstShop_List_Extend.StartDate)} >='{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}'";
where += $@" and w.{nameof(RB_FirstShop_List_Extend.EndDate)} <='{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}'";
} }
else if (dmodel.ListState == Common.Enum.TradePavilion.ListStateEnum.Rating) else if (dmodel.ListState == Common.Enum.TradePavilion.ListStateEnum.Rating)
{ {
where += $@" and w.{nameof(RB_FirstShop_List_Extend.ListState)}={(int)Common.Enum.TradePavilion.ListStateEnum.Enroll}"; where += $@" and w.{nameof(RB_FirstShop_List_Extend.ListState)}={(int)Common.Enum.TradePavilion.ListStateEnum.Enroll}";
where += $@" and w.{nameof(RB_FirstShop_List_Extend.DeadlineDate)} <'{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}'"; where += $@" and w.{nameof(RB_FirstShop_List_Extend.EndDate)} <'{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}'";
} }
else else
{ {
...@@ -136,5 +147,36 @@ where {where} order by w.Id desc ...@@ -136,5 +147,36 @@ where {where} order by w.Id desc
return Get<RB_FirstShop_List_Extend>(sql, parameters).ToList(); return Get<RB_FirstShop_List_Extend>(sql, parameters).ToList();
} }
/// <summary>
/// 获取小程序 我的报名榜单分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_FirstShop_List_Extend> GetAppletMyEnrollFistShopListPageList(int pageIndex, int pageSize, out long count, RB_FirstShop_List_Extend dmodel)
{
var parameters = new DynamicParameters();
string where = $" 1=1 and w.Status =0 and e.Status =0 and w.ListState <>{(int)Common.Enum.TradePavilion.ListStateEnum.Cancel}";
if (dmodel.TenantId > 0)
{
where += $@" and w.{nameof(RB_FirstShop_List_Extend.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0)
{
where += $@" and w.{nameof(RB_FirstShop_List_Extend.MallBaseId)}={dmodel.MallBaseId}";
}
if (dmodel.CreateBy > 0)
{
where += $@" and w.{nameof(RB_FirstShop_ListEnroll_Extend.UserId)}={dmodel.CreateBy}";
}
string sql = $@"select w.* from RB_FirstShop_List w
left join rb_firstshop_listenroll e on w.Id = e.ListId
where {where} group by w.Id order by w.EndDate desc
";
return GetPage<RB_FirstShop_List_Extend>(pageIndex, pageSize, out count, sql, parameters).ToList();
}
} }
} }
\ No newline at end of file
...@@ -84,6 +84,10 @@ namespace Mall.WebApi.Controllers.TradePavilion ...@@ -84,6 +84,10 @@ namespace Mall.WebApi.Controllers.TradePavilion
/// </summary> /// </summary>
private readonly Module.User.MiniProgramModule programModule = new Module.User.MiniProgramModule(); private readonly Module.User.MiniProgramModule programModule = new Module.User.MiniProgramModule();
/// <summary> /// <summary>
/// 榜单
/// </summary>
private readonly FirstShopListModule firstShopListModule = new FirstShopListModule();
/// <summary>
/// 心愿单 /// 心愿单
/// </summary> /// </summary>
private readonly FirstShopWishModule firstShopWishModule = new FirstShopWishModule(); private readonly FirstShopWishModule firstShopWishModule = new FirstShopWishModule();
...@@ -1793,6 +1797,230 @@ namespace Mall.WebApi.Controllers.TradePavilion ...@@ -1793,6 +1797,230 @@ namespace Mall.WebApi.Controllers.TradePavilion
} }
#endregion #endregion
#region 榜单管理
/// <summary>
/// 获取榜单分页列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetAppletFirstShopListPageList()
{
var userInfo = base.AppletUserInfo;
var req = base.RequestParm;
ResultPageModel pageModel = JsonHelper.DeserializeObject<ResultPageModel>(req.msg.ToString());
RB_FirstShop_List_Extend demodel = JsonHelper.DeserializeObject<RB_FirstShop_List_Extend>(req.msg.ToString());
demodel.TenantId = userInfo.TenantId;
demodel.MallBaseId = userInfo.MallBaseId;
demodel.IsAppletSelectNor = 1;
demodel.OrderBy = 1;
var list = firstShopListModule.GetAppletFirstShopListPageList(pageModel.pageIndex, pageModel.pageSize, out long count, demodel);
return ApiResult.Success("", list.Select(x => new
{
x.Id,
x.ListType,
ListTypeName = x.ListType.GetEnumName(),
x.ObjectTypeList,
x.Sponsor,
x.ListName,
x.CoverImage,
EndDate = x.EndDate.ToString("yyyy-MM-dd"),
StartDate = x.StartDate.ToString("yyyy-MM-dd"),
FinishDate = x.FinishDate.ToString("yyyy-MM-dd HH:mm"),
x.PrizeNum,
x.State
}));
}
/// <summary>
/// 获取榜单详情
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetAppletFistShopListInfo()
{
var userInfo = base.AppletUserInfo;
var req = base.RequestParm;
JObject parms = JObject.Parse(req.msg.ToString());
int ListId = parms.GetInt("ListId", 0);//榜单id
if (ListId <= 0)
{
return ApiResult.ParamIsNull();
}
var model = firstShopListModule.GetAppletFirstShopListInfo(ListId, userInfo);
if (model == null) { return ApiResult.Failed("榜单不存在"); }
return ApiResult.Success("", new
{
model.Id,
model.ListType,
model.ObjectTypeIds,
model.Sponsor,
model.ListName,
model.CoverImage,
EndDate = model.EndDate.ToString("yyyy-MM-dd"),
StartDate = model.StartDate.ToString("yyyy-MM-dd"),
FinishDate = model.FinishDate.ToString("yyyy-MM-dd HH:mm"),
model.Content,
model.EnableRank,
model.PrizeNum,
model.ListState,
EnrollList = model.EnrollList?.Select(x=>new {
x.Id,
x.UserId,
x.UserName,
x.ObjectType,
ObjectTypeName = x.ObjectType.GetEnumName(),
x.ObjectId,
x.ObjectName,
x.ObjectIcon,
x.Content
}),
RankList = model.RankList?.Select(x=>new {
x.Id,
x.UserId,
x.UserName,
x.ObjectId,
x.ObjectType,
ObjectTypeName = x.ObjectType.GetEnumName(),
x.ObjectName,
x.ObjectIcon,
x.Reviews,
x.Rank,
x.MedalImage,
x.MedalImageBig
})
});
}
/// <summary>
/// 获取我的可报名的品牌载体
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetAppletMyBrandCarrierList() {
var userInfo = base.AppletUserInfo;
JObject parms = JObject.Parse(base.RequestParm.msg.ToString());
int ListId = parms.GetInt("ListId", 0);//榜单id
int EnrollId = parms.GetInt("EnrollId", 0);//报名Id
if (ListId <= 0) {
return ApiResult.ParamIsNull();
}
var list = firstShopListModule.GetAppletMyBrandCarrierList(ListId, EnrollId, userInfo);
return ApiResult.Success("", list);
}
/// <summary>
/// 榜单报名
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetAppletFirstShopListInfo() {
var userInfo = base.AppletUserInfo;
RB_FirstShop_ListEnroll_Extend demodel = JsonHelper.DeserializeObject<RB_FirstShop_ListEnroll_Extend>(base.RequestParm.msg.ToString());
if (demodel.ListId <= 0) {
return ApiResult.ParamIsNull("请传递榜单id");
}
if (demodel.ObjectType <= 0) {
return ApiResult.ParamIsNull("请传递类型");
}
if (demodel.ObjectId <= 0) {
return ApiResult.ParamIsNull("请传递品牌载体id");
}
if (string.IsNullOrEmpty(demodel.Content)) {
return ApiResult.ParamIsNull("请传递表单内容");
}
demodel.UserId = userInfo.UserId;
demodel.CandidateState = 1;
demodel.RankListState = 2;
demodel.Status = 0;
demodel.TenantId = userInfo.TenantId;
demodel.MallBaseId = userInfo.MallBaseId;
demodel.CreateDate = DateTime.Now;
demodel.UpdateDate = DateTime.Now;
string msg = firstShopListModule.SetAppletFirstShopListInfo(demodel);
if (msg == "")
{
return ApiResult.Success();
}
else {
return ApiResult.Failed(msg);
}
}
/// <summary>
/// 取消报名
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult CancelAppletFirstShopListInfo() {
var userInfo = base.AppletUserInfo;
JObject parms = JObject.Parse(base.RequestParm.msg.ToString());
int EnrollId = parms.GetInt("EnrollId", 0);//报名Id
if (EnrollId <= 0)
{
return ApiResult.ParamIsNull();
}
string msg = firstShopListModule.CancelAppletFirstShopListInfo(EnrollId, userInfo);
if (msg == "")
{
return ApiResult.Success();
}
else {
return ApiResult.Failed(msg);
}
}
/// <summary>
/// 获取榜单类型枚举列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetListTypeEnumList()
{
var list = EnumHelper.GetEnumList(typeof(Common.Enum.TradePavilion.ListTypeEnum));
return ApiResult.Success("", list.Select(x => new
{
Name = x.Key,
Id = Convert.ToInt32(x.Value)
}));
}
/// <summary>
/// 获取我报名的榜单分页列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetAppletMyEnrollFistShopListPageList() {
var userInfo = base.AppletUserInfo;
var req = base.RequestParm;
ResultPageModel pageModel = JsonHelper.DeserializeObject<ResultPageModel>(req.msg.ToString());
RB_FirstShop_List_Extend demodel = JsonHelper.DeserializeObject<RB_FirstShop_List_Extend>(req.msg.ToString());
demodel.TenantId = userInfo.TenantId;
demodel.MallBaseId = userInfo.MallBaseId;
var list = firstShopListModule.GetAppletMyEnrollFistShopListPageList(pageModel.pageIndex, pageModel.pageSize, out long count, demodel);
return ApiResult.Success("", list.Select(x => new
{
x.Id,
x.ListType,
ListTypeName = x.ListType.GetEnumName(),
x.Sponsor,
x.ListName,
x.CoverImage,
EndDate = x.EndDate.ToString("yyyy-MM-dd"),
StartDate = x.StartDate.ToString("yyyy-MM-dd"),
FinishDate = x.FinishDate.ToString("yyyy-MM-dd HH:mm"),
x.PrizeNum
}));
}
#endregion
#region 公司信息(管理端) #region 公司信息(管理端)
/// <summary> /// <summary>
......
...@@ -1817,8 +1817,9 @@ namespace Mall.WebApi.Controllers.TradePavilion ...@@ -1817,8 +1817,9 @@ namespace Mall.WebApi.Controllers.TradePavilion
x.Sponsor, x.Sponsor,
x.ListName, x.ListName,
x.CoverImage, x.CoverImage,
DeadlineDate = x.DeadlineDate.ToString("yyyy-MM-dd HH:mm"), EndDate = x.EndDate.ToString("yyyy-MM-dd"),
StartDate = x.StartDate.ToString("yyyy-MM-dd HH:mm"), StartDate = x.StartDate.ToString("yyyy-MM-dd"),
FinishDate = x.FinishDate.ToString("yyyy-MM-dd HH:mm"),
x.Content, x.Content,
x.EnableRank, x.EnableRank,
x.PrizeNum, x.PrizeNum,
...@@ -1851,8 +1852,9 @@ namespace Mall.WebApi.Controllers.TradePavilion ...@@ -1851,8 +1852,9 @@ namespace Mall.WebApi.Controllers.TradePavilion
model.Sponsor, model.Sponsor,
model.ListName, model.ListName,
model.CoverImage, model.CoverImage,
DeadlineDate = model.DeadlineDate.ToString("yyyy-MM-dd HH:mm"), EndDate = model.EndDate.ToString("yyyy-MM-dd"),
StartDate = model.StartDate.ToString("yyyy-MM-dd HH:mm"), StartDate = model.StartDate.ToString("yyyy-MM-dd"),
FinishDate = model.FinishDate.ToString("yyyy-MM-dd HH:mm"),
model.Content, model.Content,
model.EnableRank, model.EnableRank,
model.PrizeNum, model.PrizeNum,
...@@ -1887,6 +1889,7 @@ namespace Mall.WebApi.Controllers.TradePavilion ...@@ -1887,6 +1889,7 @@ namespace Mall.WebApi.Controllers.TradePavilion
return ApiResult.ParamIsNull("请输入入围名额"); return ApiResult.ParamIsNull("请输入入围名额");
} }
demodel.EndDate = Convert.ToDateTime(demodel.EndDate.ToString("yyyy-MM-dd") + " 23:59:59");
demodel.ListState = Common.Enum.TradePavilion.ListStateEnum.Enroll; demodel.ListState = Common.Enum.TradePavilion.ListStateEnum.Enroll;
demodel.TenantId = req.TenantId; demodel.TenantId = req.TenantId;
demodel.MallBaseId = req.MallBaseId; demodel.MallBaseId = req.MallBaseId;
......
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