Commit 1a6d7471 authored by 吴春's avatar 吴春

解决冲突

parents 80bbcca5 de76161c
using Mall.Common.Plugin;
namespace Mall.Common.Enum.TradePavilion
{
/// <summary>
///自定义表单枚举
/// </summary>
public enum CustomFormTypeEnum
{
/// <summary>
/// 招引贡献
/// </summary>
[EnumField("招引贡献")]
ZYGX = 1,
/// <summary>
/// 首展
/// </summary>
[EnumField("首展")]
SZ = 2,
/// <summary>
/// 首秀
/// </summary>
[EnumField("首秀")]
SX = 3,
/// <summary>
/// 首发
/// </summary>
[EnumField("首发")]
SF = 4,
}
}
using Mall.Common.Enum;
using Mall.Common.Enum.TradePavilion;
using System;
using System.Collections.Generic;
using System.Text;
using VT.FW.DB;
namespace Mall.Model.Entity.TradePavilion
{
/// <summary>
/// 自定义表单实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Custom_Form
{
/// <summary>
/// 主键
/// </summary>
public int Id { get; set; }
/// <summary>
/// 表单名称
/// </summary>
public string FormName { get; set; }
/// <summary>
/// 表单类型(见枚举)
/// </summary>
public CustomFormTypeEnum FormType { get; set; }
/// <summary>
/// 表单内容
/// </summary>
public string FormData { get; set; }
/// <summary>
/// 商户号id
/// </summary>
public int TenantId { get; set; }
/// <summary>
/// 小程序id
/// </summary>
public int MallBaseId { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateDate { get; set; }
/// <summary>
/// 修改人
/// </summary>
public int UpdateBy { get; set; }
/// <summary>
/// 修改时间
/// </summary>
public DateTime UpdateDate { get; set; }
/// <summary>
/// 删除状态
/// </summary>
public DateStateEnum Status { get; set; }
}
}
......@@ -25,7 +25,7 @@ namespace Mall.Model.Entity.TradePavilion
public ListTypeEnum ListType { get; set; }
/// <summary>
/// 面向群体 枚举
/// 面向群体 多选,英文逗号分隔 枚举
/// </summary>
public string ObjectTypeIds { get; set; }
......@@ -47,13 +47,18 @@ namespace Mall.Model.Entity.TradePavilion
/// <summary>
/// 报名截止日期
/// </summary>
public DateTime DeadlineDate { get; set; }
public DateTime EndDate { get; set; }
/// <summary>
/// 公示日期
/// 报名开始日期
/// </summary>
public DateTime StartDate { get; set; }
/// <summary>
/// 放榜日期
/// </summary>
public DateTime FinishDate { get; set; }
/// <summary>
/// 详细内容
/// </summary>
......
......@@ -19,6 +19,11 @@ namespace Mall.Model.Entity.TradePavilion
/// </summary>
public int Id { get; set; }
/// <summary>
/// 榜单Id
/// </summary>
public int ListId { get; set; }
/// <summary>
/// 用户id
/// </summary>
......@@ -29,6 +34,11 @@ namespace Mall.Model.Entity.TradePavilion
/// </summary>
public ListObjectTypeEnum ObjectType { get; set; }
/// <summary>
/// 品牌/载体id
/// </summary>
public int ObjectId { get; set; }
/// <summary>
/// 表单内容
/// </summary>
......@@ -79,18 +89,13 @@ namespace Mall.Model.Entity.TradePavilion
/// </summary>
public int MallBaseId { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateDate { get; set; }
/// <summary>
/// 修改人
/// 操作人 - 后台empId
/// </summary>
public int UpdateBy { get; set; }
......
......@@ -23,7 +23,7 @@ namespace Mall.Model.Entity.User
}
/// <summary>
/// 插件类型(1-基础组件,2-营销组件,3-其他组件)
/// 插件类型(1-基础组件,2-营销组件,3-其他组件,4-表单组件)
/// </summary>
public int PlugType
{
......@@ -61,7 +61,7 @@ namespace Mall.Model.Entity.User
/// <summary>
/// 状态
/// </summary>
public int? Status
public int Status
{
get;
set;
......
......@@ -12,6 +12,11 @@ namespace Mall.Model.Extend.TradePavilion
/// </summary>
public string ClassName { get; set; }
/// <summary>
/// 品牌ids查询
/// </summary>
public string BrandIds { get; set; }
/// <summary>
......
......@@ -13,6 +13,11 @@ namespace Mall.Model.Extend.TradePavilion
/// </summary>
public List<RB_CarrierMetro_Extend> CarrierMetroList { get; set; }
/// <summary>
/// 载体ids查询
/// </summary>
public string CarrierIds { get; set; }
/// <summary>
/// 介绍图
/// </summary>
......
using Mall.Model.Entity.TradePavilion;
using System;
using System.Collections.Generic;
using System.Text;
using Mall.Common.Plugin;
namespace Mall.Model.Extend.TradePavilion
{
/// <summary>
/// 自定义表单扩展实体类
/// </summary>
public class RB_Custom_Form_Extend : RB_Custom_Form
{
public string FormTypeStr { get { return this.FormType.GetEnumName(); } }
/// <summary>
/// 表单内容
/// </summary>
public List<FormDataItem> FormDataList { get; set; }
}
/// <summary>
/// 组件对象
/// </summary>
public class FormDataItem
{
/// <summary>
///组件Key
/// </summary>
public string CompKey { get; set; }
/// <summary>
/// 是否选中
/// </summary>
public bool isCked { get; set; }
/// <summary>
/// 组件对象
/// </summary>
public object CompData { get; set; }
}
/// <summary>
/// 文本对象
/// </summary>
public class TextItem
{
/// <summary>
/// 名字
/// </summary>
public string Name { get; set; }
/// <summary>
/// 字数(0-不限)
/// </summary>
public int WordsLength { get; set; }
/// <summary>
/// 是否必填
/// </summary>
public bool IsRequire { get; set; }
}
/// <summary>
/// 下拉框对象
/// </summary>
public class SelectItem
{
/// <summary>
/// 名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 是否多选
/// </summary>
public bool IsMultiple { get; set; }
/// <summary>
/// 选项值(以英文逗号相隔)
/// </summary>
public string OptionValue { get; set; }
/// <summary>
/// 是否必填
/// </summary>
public bool IsRequire { get; set; }
}
/// <summary>
/// 上传组件
/// </summary>
public class UploadItem
{
/// <summary>
/// 名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 上传文件数量
/// </summary>
public int FileCount { get; set; }
/// <summary>
/// 上传文件大小M
/// </summary>
public int FileSizeLimit { get; set; }
}
}
......@@ -17,5 +17,15 @@ namespace Mall.Model.Extend.TradePavilion
/// 用户名称
/// </summary>
public string UserName { get; set; }
/// <summary>
/// 品牌/载体名称
/// </summary>
public string ObjectName { get; set; }
/// <summary>
/// 品牌/载体图标
/// </summary>
public string ObjectIcon { get; set; }
}
}
......@@ -13,10 +13,39 @@ namespace Mall.Model.Extend.TradePavilion
[DB(ConnectionName = "DefaultConnection")]
public class RB_FirstShop_List_Extend : RB_FirstShop_List
{
/// <summary>
/// 面向群体
/// </summary>
public List<string> ObjectTypeList { get; set; }
/// <summary>
/// 面向群里id
/// </summary>
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; }
}
}
......@@ -10,7 +10,7 @@ namespace Mall.Model.Extend.User
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_PlugIn_Extend : Model.Entity.User.RB_PlugIn
public class RB_PlugIn_Extend : Entity.User.RB_PlugIn
{
/// <summary>
/// 组件分类名称
......@@ -22,11 +22,12 @@ namespace Mall.Model.Extend.User
string str = "";
switch (this.PlugType)
{
case 1: str = "基础组件";break;
case 1: str = "基础组件"; break;
case 2: str = "营销组件"; break;
case 3: str = "其他组件"; break;
case 3: str = "其它组件"; break;
case 4: str = "表单组件"; break;
}
return str;
return str;
}
}
......@@ -34,5 +35,10 @@ namespace Mall.Model.Extend.User
/// 商城编号
/// </summary>
public int TenantId { get; set; }
/// <summary>
/// 查询插件类型【查询使用】
/// </summary>
public string QPlugTypeStr { get; set; }
}
}
......@@ -10,5 +10,9 @@ namespace Mall.Model.Extend.User
/// </summary>
public class RB_Tenant_Plug_Extend: RB_Tenant_Plug
{
/// <summary>
/// 插件类型
/// </summary>
public string QPlugTypeStr { get; set; }
}
}
using Mall.Model.Extend.TradePavilion;
using Mall.Repository.TradePavilion;
using System;
using System.Collections.Generic;
using System.Text;
using VT.FW.AOP.CustomerAttribute;
using Mall.Common.Enum;
using VT.FW.DB;
using Newtonsoft.Json.Linq;
using Mall.Common.Plugin;
namespace Mall.Module.TradePavilion
{
/// <summary>
/// 自定义表单处理类
/// </summary>
public class CustomFormModule
{
/// <summary>
/// 自定义表单仓储层对象
/// </summary>
private readonly RB_Custom_FormRepository custom_FormRepository = new RB_Custom_FormRepository();
/// <summary>
/// 获取自定义表单分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Custom_Form_Extend> GetCustomFormPageModule(int pageIndex, int pageSize, out long rowsCount, RB_Custom_Form_Extend query)
{
return custom_FormRepository.GetCustomFormPageRepository(pageIndex, pageSize, out rowsCount, query);
}
/// <summary>
/// 获取自定义表单列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Custom_Form_Extend> GetCustomFormListModule(RB_Custom_Form_Extend query)
{
return custom_FormRepository.GetCustomFormListRepository(query);
}
/// <summary>
/// 检查表单是否存在
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool CheckExistsCustomFormModule(RB_Custom_Form_Extend model)
{
IList<WhereHelper> list = new List<WhereHelper>
{
new WhereHelper(nameof(RB_Custom_Form_Extend.FormType), model.FormType),
new WhereHelper(nameof(RB_Custom_Form_Extend.Status), (int)DateStateEnum.Normal),
new WhereHelper(nameof(RB_Custom_Form_Extend.TenantId), model.TenantId)
};
if (model.Id > 0)
{
list.Add(new WhereHelper(nameof(RB_Custom_Form_Extend.Id), model.Id, OperatorEnum.NotEqual));
}
return custom_FormRepository.Exists(list);
}
/// <summary>
/// 新增修改自定义表单
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
[TransactionCallHandler]
public virtual bool SetCustomFormModule(RB_Custom_Form_Extend model)
{
bool flag = false;
if (model.Id > 0)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{ nameof(RB_Custom_Form_Extend.FormName),model.FormName.Trim()},
{ nameof(RB_Custom_Form_Extend.FormType),model.FormType},
{ nameof(RB_Custom_Form_Extend.FormData),model.FormData},
{ nameof(RB_Custom_Form_Extend.UpdateBy),model.UpdateBy},
{ nameof(RB_Custom_Form_Extend.UpdateDate),model.UpdateDate},
};
flag= custom_FormRepository.Update(fileds, new WhereHelper(nameof(RB_Custom_Form_Extend.Id), model.Id));
}
else
{
var newId = custom_FormRepository.Insert(model);
model.Id = newId;
flag = newId > 0;
}
return flag;
}
/// <summary>
/// 根据编号获取自定义表单
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public RB_Custom_Form_Extend GetCustomFormModule(object Id)
{
var extModel = custom_FormRepository.GetEntity<RB_Custom_Form_Extend>(Id);
if (extModel != null)
{
extModel.FormDataList = AnalyzeFormComponent(extModel.FormData);
}
return extModel;
}
/// <summary>
/// 解析表单组件
/// </summary>
/// <param name="formData"></param>
/// <returns></returns>
public List<FormDataItem> AnalyzeFormComponent(string formData)
{
List<FormDataItem> dataList = new List<FormDataItem>();
if (!string.IsNullOrEmpty(formData))
{
JArray jArray = JArray.Parse(formData);
if (jArray != null && jArray.Count > 0)
{
foreach (var jItem in jArray)
{
JObject jObj = JObject.Parse(jItem.ToString());
FormDataItem dataItem = new FormDataItem()
{
CompKey = jObj.GetStringValue("CompKey"),
CompData = new object(),
isCked=false,
};
if (!string.IsNullOrEmpty(dataItem.CompKey))
{
switch (dataItem.CompKey)
{
//单行文本
case "SingleLineText":
JObject singleObj = JObject.Parse(jObj.GetStringValue("CompData"));
TextItem txtItem = new TextItem()
{
Name = singleObj.GetStringValue("Name"),
WordsLength = singleObj.GetInt("WordsLength"),
IsRequire = singleObj.GetBoolValue("IsRequire"),
};
dataItem.CompData = txtItem;
break;
//多行文本
case "MultiLineText":
JObject multiObj = JObject.Parse(jObj.GetStringValue("CompData"));
TextItem multiItem = new TextItem()
{
Name = multiObj.GetStringValue("Name"),
WordsLength = multiObj.GetInt("WordsLength"),
IsRequire = multiObj.GetBoolValue("IsRequire"),
};
dataItem.CompData = multiItem;
break;
//下拉框
case "DorpDownList":
JObject dropdownObj = JObject.Parse(jObj.GetStringValue("CompData"));
SelectItem selectItem = new SelectItem()
{
Name = dropdownObj.GetStringValue("Name"),
IsMultiple = dropdownObj.GetBoolValue("IsMultiple"),
IsRequire = dropdownObj.GetBoolValue("IsRequire"),
OptionValue = "",
};
dataItem.CompData = selectItem;
break;
//图片上传组件
case "ImageUploadComp":
JObject imgObj = JObject.Parse(jObj.GetStringValue("CompData"));
UploadItem imgItem = new UploadItem()
{
Name = imgObj.GetStringValue("Name"),
FileCount = imgObj.GetInt("FileCount"),
FileSizeLimit = imgObj.GetInt("FileSizeLimit"),
};
dataItem.CompData = imgItem;
break;
//视频上传组件
case "VideoUploadComp":
JObject videoObj = JObject.Parse(jObj.GetStringValue("CompData"));
UploadItem videoItem = new UploadItem()
{
Name = videoObj.GetStringValue("Name"),
FileCount = videoObj.GetInt("FileCount"),
FileSizeLimit = videoObj.GetInt("FileSizeLimit"),
};
dataItem.CompData = videoItem;
break;
}
dataList.Add(dataItem);
}
}
}
}
return dataList;
}
/// <summary>
/// 根据编号删除自定义表单
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public bool RemoveCustomFormModule(int Id)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{ nameof(RB_Custom_Form_Extend.Status),(int)DateStateEnum.Delete}
};
return custom_FormRepository.Update(fileds, new WhereHelper(nameof(RB_Custom_Form_Extend.Id),Id));
}
}
}
using Mall.Common;
using Mall.Common.Plugin;
using Mall.Model.Extend.TradePavilion;
using Mall.Repository.TradePavilion;
using Mall.Repository.User;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VT.FW.DB;
namespace Mall.Module.TradePavilion
{
/// <summary>
/// 榜单处理类
/// </summary>
public class FirstShopListModule
{
/// <summary>
/// 榜单
/// </summary>
private readonly RB_FirstShop_ListRepository firstShop_ListRepository = new RB_FirstShop_ListRepository();
/// <summary>
/// 报名
/// </summary>
private readonly RB_FirstShop_ListEnrollRepository firstShop_ListEnrollRepository = new RB_FirstShop_ListEnrollRepository();
/// <summary>
/// 品牌
/// </summary>
private readonly RB_BrandRepository brandRepository = new RB_BrandRepository();
/// <summary>
/// 载体
/// </summary>
private readonly RB_CarrierRepository carrierRepository = new RB_CarrierRepository();
/// <summary>
/// 用户
/// </summary>
private readonly RB_Member_UserRepository member_UserRepository = new RB_Member_UserRepository();
/// <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> GetFirstShopListPageList(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.EndDate <= DateTime.Now)
{
item.ListState = Common.Enum.TradePavilion.ListStateEnum.Rating;
}
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>
/// <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>
/// <param name="wishId"></param>
/// <returns></returns>
public RB_FirstShop_List_Extend GetFirstShopListInfo(int 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>
/// <param name="demodel"></param>
/// <returns></returns>
public string SetFirstShopListInfo(RB_FirstShop_List_Extend demodel)
{
if (demodel.Id > 0)
{
var oldModel = firstShop_ListRepository.GetEntity(demodel.Id);
if (oldModel == null || oldModel.Status == 1 || oldModel.ListState == Common.Enum.TradePavilion.ListStateEnum.Cancel || oldModel.ListState == Common.Enum.TradePavilion.ListStateEnum.Confirmed) {
return "绑单状态不正确";
}
//修改
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_FirstShop_List_Extend.ListType),demodel.ListType },
{ nameof(RB_FirstShop_List_Extend.ObjectTypeIds),demodel.ObjectTypeIds },
{ nameof(RB_FirstShop_List_Extend.Sponsor),demodel.Sponsor },
{ nameof(RB_FirstShop_List_Extend.ListName),demodel.ListName },
{ nameof(RB_FirstShop_List_Extend.CoverImage),demodel.CoverImage },
{ nameof(RB_FirstShop_List_Extend.FinishDate),demodel.FinishDate },
{ 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.EnableRank),demodel.EnableRank },
{ nameof(RB_FirstShop_List_Extend.PrizeNum),demodel.PrizeNum },
{ nameof(RB_FirstShop_List_Extend.UpdateBy),demodel.UpdateBy },
{ nameof(RB_FirstShop_List_Extend.UpdateDate),demodel.UpdateDate }
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_FirstShop_List_Extend.Id),
FiledValue=demodel.Id,
OperatorEnum=OperatorEnum.Equal
}
};
bool flag = firstShop_ListRepository.Update(keyValues, wheres);
return flag ? "" : "修改失败,请联系管理员";
}
else {
//新增
bool flag = firstShop_ListRepository.Insert(demodel) > 0;
return flag ? "" : "新增失败,请联系管理员";
}
}
/// <summary>
/// 取消榜单
/// </summary>
/// <param name="listId"></param>
/// <param name="mallBaseId"></param>
/// <returns></returns>
public string DelFirstShopListInfo(int listId, int mallBaseId)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_FirstShop_List_Extend.ListState), Common.Enum.TradePavilion.ListStateEnum.Cancel}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_FirstShop_List_Extend.Id),
FiledValue=listId,
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName= nameof(RB_FirstShop_List_Extend.MallBaseId),
FiledValue= mallBaseId,
OperatorEnum=OperatorEnum.Equal
}
};
bool flag = firstShop_ListRepository.Update(keyValues, wheres);
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;
}
}
}
......@@ -39,7 +39,7 @@ namespace Mall.Module.User
bool flag = false;
if (list != null && list.Count > 0)
{
tenant_PlugRepository.DeleteOne(new WhereHelper(nameof(RB_Tenant_Menu_Extend.TenantId), list[0].TenantId));
tenant_PlugRepository.DeleteTenantPlugRepository(list[0].TenantId, list[0].QPlugTypeStr);
foreach (var item in list)
{
flag = tenant_PlugRepository.Insert(item) > 0;
......
using Mall.Common.Enum;
using Mall.Model.Entity.TradePavilion;
using Mall.Model.Extend.TradePavilion;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VT.FW.DB.Dapper;
namespace Mall.Repository.TradePavilion
{
/// <summary>
/// 自定义表单仓储层
/// </summary>
public class RB_Custom_FormRepository : BaseRepository<RB_Custom_Form>
{
/// <summary>
/// 获取自定义表单分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Custom_Form_Extend> GetCustomFormPageRepository(int pageIndex, int pageSize, out long rowsCount, RB_Custom_Form_Extend query)
{
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Custom_Form AS A
WHERE 1=1
");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Custom_Form_Extend.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.TenantId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Custom_Form_Extend.TenantId), query.TenantId);
}
if (query.MallBaseId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Custom_Form_Extend.MallBaseId), query.MallBaseId);
}
if (!string.IsNullOrEmpty(query.FormName))
{
builder.AppendFormat(" AND A.{0} LIKE @FormName ", nameof(RB_Custom_Form_Extend.FormName));
parameters.Add("FormName", "%" + query.FormName.Trim() + "%");
}
if (query.Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Custom_Form_Extend.Id), query.Id);
}
}
return GetPage<RB_Custom_Form_Extend>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList();
}
/// <summary>
/// 获取自定义表单列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Custom_Form_Extend> GetCustomFormListRepository(RB_Custom_Form_Extend query)
{
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Custom_Form AS A
WHERE 1=1
");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Custom_Form_Extend.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.TenantId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Custom_Form_Extend.TenantId), query.TenantId);
}
if (query.MallBaseId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Custom_Form_Extend.MallBaseId), query.MallBaseId);
}
if (!string.IsNullOrEmpty(query.FormName))
{
builder.AppendFormat(" AND A.{0} LIKE @FormName ", nameof(RB_Custom_Form_Extend.FormName));
parameters.Add("FormName", "%" + query.FormName.Trim() + "%");
}
if (query.Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Custom_Form_Extend.Id), query.Id);
}
if (query.FormType > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Custom_Form_Extend.FormType), (int)query.FormType);
}
}
return Get<RB_Custom_Form_Extend>(builder.ToString(), parameters).ToList();
}
}
}
......@@ -75,13 +75,17 @@ where {where} order by w.Id desc
{
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)
{
where += $@" and w.{nameof(RB_FirstShop_ListEnroll_Extend.UserId)}={dmodel.UserId}";
}
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)
{
......
......@@ -47,12 +47,13 @@ namespace Mall.Repository.TradePavilion
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.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)
{
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 {
where += $@" and w.{nameof(RB_FirstShop_List_Extend.ListState)}={(int)dmodel.ListState}";
......@@ -68,10 +69,19 @@ namespace Mall.Repository.TradePavilion
where += $@" and w.{nameof(RB_FirstShop_List_Extend.ListName)} @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
where {where} order by w.Id desc
where {where} {orderBy}
";
return GetPage<RB_FirstShop_List_Extend>(pageIndex, pageSize, out count, sql, parameters).ToList();
}
......@@ -106,12 +116,13 @@ where {where} order by w.Id desc
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.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)
{
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
{
......@@ -136,5 +147,36 @@ where {where} order by w.Id desc
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
......@@ -31,6 +31,10 @@ WHERE 1=1 AND A.Status=0 ");
{
builder.AppendFormat(@" AND A.PlugId IN(SELECT PlugId FROM rb_tenant_plug WHERE TenantId={0}) ", query.TenantId);
}
if (!string.IsNullOrEmpty(query.QPlugTypeStr))
{
builder.AppendFormat(@" AND A.{0} IN({1}) ", nameof(RB_PlugIn_Extend.PlugType), query.QPlugTypeStr);
}
}
return Get<RB_PlugIn_Extend>(builder.ToString()).ToList();
}
......@@ -67,6 +71,10 @@ WHERE 1=1 AND A.Status=0 ");
{
builder.AppendFormat(@" AND {0}={1} ", nameof(RB_PlugIn_Extend.PlugId), query.PlugId);
}
if (!string.IsNullOrEmpty(query.QPlugTypeStr))
{
builder.AppendFormat(@" AND {0} IN({1}) ", nameof(RB_PlugIn_Extend.PlugType), query.QPlugTypeStr);
}
}
return GetPage<RB_PlugIn_Extend>(pageIndex,pageSize,out rowsCount,builder.ToString(),parameters).ToList();
}
......
......@@ -49,5 +49,18 @@ WHERE 1=1
}
return Get<RB_Tenant_Plug_Extend>(builder.ToString(), parameters).ToList();
}
/// <summary>
/// 根据类型和商户号删除插件
/// </summary>
/// <param name="TenantId"></param>
/// <param name="QPlugTypeStr"></param>
/// <returns></returns>
public bool DeleteTenantPlugRepository(int TenantId, string QPlugTypeStr)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(" DELETE FROM RB_Tenant_Plug WHERE TenantId={0} AND PlugId IN (SELECT PlugId FROM rb_plugin WHERE PlugType IN({1})) ", TenantId, QPlugTypeStr);
return base.Execute(builder.ToString()) > 0;
}
}
}
using Mall.Common.API;
using Mall.Common.Plugin;
using Mall.Model.Extend.TradePavilion;
using Mall.Module.TradePavilion;
using Mall.WebApi.Filter;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Mall.WebApi.Controllers.MallBase
{
[Route("api/[controller]/[action]")]
[ApiExceptionFilter]
[ApiController]
[EnableCors("AllowCors")]
public class CustomFormController : BaseController
{
/// <summary>
/// 自定义表单处理类对象
/// </summary>
private readonly CustomFormModule customFormModule = new CustomFormModule();
/// <summary>
/// 获取自定义表单分页列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetCustomFormPage()
{
ResultPageModel pageModel = JsonConvert.DeserializeObject<ResultPageModel>(RequestParm.msg.ToString());
JObject parms = JObject.Parse(RequestParm.msg.ToString());
var query = new RB_Custom_Form_Extend()
{
FormName = parms.GetStringValue("FormName"),
FormType = (Common.Enum.TradePavilion.CustomFormTypeEnum)parms.GetInt("FormType")
};
query.MallBaseId = RequestParm.MallBaseId;
query.TenantId = RequestParm.TenantId;
var list = customFormModule.GetCustomFormPageModule(pageModel.pageIndex, pageModel.pageSize, out long rowsCount, query);
pageModel.count = Convert.ToInt32(rowsCount);
pageModel.pageData = list.Select(qitem => new
{
qitem.Id,
qitem.FormType,
qitem.FormTypeStr,
qitem.FormName,
qitem.FormDataList,
CreateDate = Common.ConvertHelper.FormatTime(qitem.CreateDate),
});
return ApiResult.Success(data: pageModel);
}
/// <summary>
/// 获取自定义表单列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetCustomFormList()
{
JObject parms = JObject.Parse(RequestParm.msg.ToString());
var query = new RB_Custom_Form_Extend()
{
FormName = parms.GetStringValue("FormName"),
FormType = (Common.Enum.TradePavilion.CustomFormTypeEnum)parms.GetInt("FormType")
};
query.MallBaseId = RequestParm.MallBaseId;
query.TenantId = RequestParm.TenantId;
var list = customFormModule.GetCustomFormListModule( query);
return ApiResult.Success(data: list);
}
/// <summary>
/// 新增修改自定义表单
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetCustomForm()
{
JObject parms = JObject.Parse(RequestParm.msg.ToString());
var model = new RB_Custom_Form_Extend()
{
Id=parms.GetInt("Id"),
FormName = parms.GetStringValue("FormName"),
FormType = (Common.Enum.TradePavilion.CustomFormTypeEnum)parms.GetInt("FormType")
};
var formData = parms.GetStringValue("FormData");
List<FormDataItem> dataList = customFormModule.AnalyzeFormComponent(formData);
if (dataList != null && dataList.Count > 0)
{
model.FormData = Common.Plugin.JsonHelper.Serialize(dataList);
}
else
{
model.FormData = "";
}
model.MallBaseId = RequestParm.MallBaseId;
model.TenantId = RequestParm.TenantId;
model.CreateBy = base.UserInfo.TenantId;
model.UpdateBy = base.UserInfo.TenantId;
model.CreateDate = DateTime.Now;
model.UpdateDate = DateTime.Now;
model.Status = Common.Enum.DateStateEnum.Normal;
if (customFormModule.CheckExistsCustomFormModule(model))
{
return ApiResult.Failed(message: "已存在此类型的表单!");
};
var flag = customFormModule.SetCustomFormModule(model);
return flag ? ApiResult.Success(data:model) : ApiResult.Failed();
}
/// <summary>
/// 根据编号编号获取自定义表单
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetCustomForm()
{
JObject parms = JObject.Parse(RequestParm.msg.ToString());
var Id = parms.GetInt("Id");
var extModel = customFormModule.GetCustomFormModule(Id);
return ApiResult.Success(data: extModel);
}
/// <summary>
/// 根据编号删除自定义表单
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult RemoveCustomeForm()
{
JObject parms = JObject.Parse(RequestParm.msg.ToString());
var Id = parms.GetInt("Id");
var flag = customFormModule.RemoveCustomFormModule(Id);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
/// 获取自定义表单类型
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetCustomType()
{
var list = EnumHelper.EnumToList(typeof(Common.Enum.TradePavilion.CustomFormTypeEnum));
return ApiResult.Success(data:list);
}
}
}
......@@ -84,6 +84,10 @@ namespace Mall.WebApi.Controllers.TradePavilion
/// </summary>
private readonly Module.User.MiniProgramModule programModule = new Module.User.MiniProgramModule();
/// <summary>
/// 榜单
/// </summary>
private readonly FirstShopListModule firstShopListModule = new FirstShopListModule();
/// <summary>
/// 心愿单
/// </summary>
private readonly FirstShopWishModule firstShopWishModule = new FirstShopWishModule();
......@@ -1847,6 +1851,230 @@ namespace Mall.WebApi.Controllers.TradePavilion
}
#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 公司信息(管理端)
/// <summary>
......
......@@ -69,7 +69,10 @@ namespace Mall.WebApi.Controllers.TradePavilion
/// 会员信息
/// </summary>
private readonly Module.User.UserModule userModule = new Module.User.UserModule();
/// <summary>
/// 榜单
/// </summary>
private readonly FirstShopListModule firstShopListModule = new FirstShopListModule();
/// <summary>
/// 心愿单
/// </summary>
......@@ -1831,6 +1834,193 @@ namespace Mall.WebApi.Controllers.TradePavilion
#endregion
#region 榜单管理
/// <summary>
/// 获取榜单分页列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetFirstShopPrizeListPageList()
{
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 = req.TenantId;
demodel.MallBaseId = req.MallBaseId;
var list = firstShopListModule.GetFirstShopListPageList(pageModel.pageIndex, pageModel.pageSize, out long count, demodel);
return ApiResult.Success("", list.Select(x => new
{
x.Id,
x.ListType,
ListTypeName = x.ListType.GetEnumName(),
x.ObjectTypeIds,
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.Content,
x.EnableRank,
x.PrizeNum,
x.ListState,
ListStateName = x.ListState.GetEnumName(),
UpdateDate = x.UpdateDate.ToString("yyyy-MM-dd HH:mm:ss")
}));
}
/// <summary>
/// 获取榜单详情
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetFistShopPrizeListInfo() {
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.GetFirstShopListInfo(ListId);
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
});
}
/// <summary>
/// 设置榜单
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetFistShopPrizeListInfo() {
var req = base.RequestParm;
RB_FirstShop_List_Extend demodel = JsonHelper.DeserializeObject<RB_FirstShop_List_Extend>(req.msg.ToString());
if (string.IsNullOrEmpty(demodel.Sponsor)) {
return ApiResult.ParamIsNull("请输入主办方名称");
}
if (string.IsNullOrEmpty(demodel.ListName)) {
return ApiResult.ParamIsNull("请输入榜单名称");
}
if (string.IsNullOrEmpty(demodel.ObjectTypeIds)) {
return ApiResult.ParamIsNull("请选择面向群体");
}
if (string.IsNullOrEmpty(demodel.CoverImage)) {
return ApiResult.ParamIsNull("请上传封面图");
}
if (string.IsNullOrEmpty(demodel.Content)) {
return ApiResult.ParamIsNull("请输入详情内容");
}
if (demodel.PrizeNum <= 0) {
return ApiResult.ParamIsNull("请输入入围名额");
}
demodel.EndDate = Convert.ToDateTime(demodel.EndDate.ToString("yyyy-MM-dd") + " 23:59:59");
demodel.ListState = Common.Enum.TradePavilion.ListStateEnum.Enroll;
demodel.TenantId = req.TenantId;
demodel.MallBaseId = req.MallBaseId;
demodel.Status = 0;
demodel.CreateBy = req.EmpId;
demodel.CreateDate = DateTime.Now;
demodel.UpdateBy = req.EmpId;
demodel.UpdateDate = DateTime.Now;
string msg = firstShopListModule.SetFirstShopListInfo(demodel);
if (msg == "")
{
return ApiResult.Success();
}
else {
return ApiResult.Failed(msg);
}
}
/// <summary>
/// 取消榜单
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult DelFistShopPrizeListInfo() {
var req = base.RequestParm;
JObject parms = JObject.Parse(req.msg.ToString());
int ListId = parms.GetInt("ListId", 0);//榜单id
if (ListId <= 0)
{
return ApiResult.ParamIsNull();
}
string msg = firstShopListModule.DelFirstShopListInfo(ListId, req.MallBaseId);
if (msg == "")
{
return ApiResult.Success();
}
else {
return ApiResult.Failed(msg);
}
}
/// <summary>
/// 获取榜单面向群体枚举列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetListObjectTypeEnumList()
{
var list = EnumHelper.GetEnumList(typeof(Common.Enum.TradePavilion.ListObjectTypeEnum));
return ApiResult.Success("", list.Select(x => new
{
Name = x.Key,
Id = Convert.ToInt32(x.Value)
}));
}
/// <summary>
/// 获取榜单状态枚举列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetListStateEnumList()
{
var list = EnumHelper.GetEnumList(typeof(Common.Enum.TradePavilion.ListStateEnum));
return ApiResult.Success("", list.Select(x => new
{
Name = x.Key,
Id = Convert.ToInt32(x.Value)
}));
}
/// <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)
}));
}
#endregion
#region 心愿单列表
......
......@@ -682,7 +682,9 @@ namespace Mall.WebApi.Controllers.User
public ApiResult GetTenantPlugList()
{
List<object> result = new List<object>();
var plugList = plugInModule.GetPlugInListModule(new RB_PlugIn_Extend());
JObject parms = JObject.Parse(RequestParm.msg.ToString());
var QPlugTypeStr = parms.GetStringValue("QPlugTypeStr");
var plugList = plugInModule.GetPlugInListModule(new RB_PlugIn_Extend() { QPlugTypeStr= QPlugTypeStr });
if (plugList != null && plugList.Count > 0)
{
var tenantPlugList = tenantPlugModule.GetTenantPlugListModule( new RB_Tenant_Plug_Extend { TenantId = RequestParm.TenantId });
......@@ -716,6 +718,10 @@ namespace Mall.WebApi.Controllers.User
{
PlugTypeName = "其他组件";
}
else if (item.Key == 4)
{
PlugTypeName = "表单组件";
}
result.Add(new
{
Id="",
......@@ -751,7 +757,16 @@ namespace Mall.WebApi.Controllers.User
/// <returns></returns>
public ApiResult SetPlugIn()
{
var extModel = JsonConvert.DeserializeObject<RB_PlugIn_Extend>(RequestParm.msg.ToString());
JObject jobj = JObject.Parse(RequestParm.msg.ToString());
var extModel = new RB_PlugIn_Extend()
{
PlugId = jobj.GetInt("PlugId"),
PlugType = jobj.GetInt("PlugType"),
Id = jobj.GetStringValue("Id"),
Name = jobj.GetStringValue("Name"),
Icon = jobj.GetStringValue("Icon"),
QPlugTypeStr = "",
};
extModel.Status = 0;
extModel.TenantId = RequestParm.TenantId;
var flag = plugInModule.SetPlugInModule(extModel);
......
......@@ -1825,9 +1825,11 @@ namespace Mall.WebApi.Controllers.User
/// <returns></returns>
public ApiResult GetPlugInList()
{
JObject parms = JObject.Parse(RequestParm.msg.ToString());
var extModel = new RB_PlugIn_Extend()
{
TenantId = RequestParm.TenantId
TenantId = RequestParm.TenantId,
QPlugTypeStr= parms.GetStringValue("QPlugTypeStr"),
};
var list = plugInModule.GetPlugInListModule(extModel);
var distinctList = list.GroupBy(qitem => new { qitem.PlugType, qitem.GroupName }).Select(qitem => new { qitem.Key.PlugType, qitem.Key.GroupName });
......
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Controller_SelectedScaffolderID>ApiControllerEmptyScaffolder</Controller_SelectedScaffolderID>
<Controller_SelectedScaffolderCategoryPath>root/Controller</Controller_SelectedScaffolderCategoryPath>
<Controller_SelectedScaffolderID>MvcControllerEmptyScaffolder</Controller_SelectedScaffolderID>
<Controller_SelectedScaffolderCategoryPath>root/Common/MVC/Controller</Controller_SelectedScaffolderCategoryPath>
<WebStackScaffolding_ControllerDialogWidth>600</WebStackScaffolding_ControllerDialogWidth>
<WebStackScaffolding_IsLayoutPageSelected>True</WebStackScaffolding_IsLayoutPageSelected>
<WebStackScaffolding_IsPartialViewSelected>False</WebStackScaffolding_IsPartialViewSelected>
<WebStackScaffolding_IsReferencingScriptLibrariesSelected>True</WebStackScaffolding_IsReferencingScriptLibrariesSelected>
<WebStackScaffolding_LayoutPageFile />
<WebStackScaffolding_IsAsyncSelected>False</WebStackScaffolding_IsAsyncSelected>
<NameOfLastUsedPublishProfile>FolderProfile</NameOfLastUsedPublishProfile>
<ShowAllFiles>true</ShowAllFiles>
<NameOfLastUsedPublishProfile>E:\Work\Git_Project\Mall_Api\Mall.WebApi\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
<ShowAllFiles>false</ShowAllFiles>
</PropertyGroup>
</Project>
\ No newline at end of file
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