Commit 4bc8cf54 authored by 黄奎's avatar 黄奎

新增营销中心插件配置

parent 91cd8d16
......@@ -16,6 +16,11 @@ namespace Mall.Model.Entity.BaseSetUp
/// </summary>
public int PId { get; set; }
/// <summary>
/// 插件类型(1-默认,2-营销工具)
/// </summary>
public int PlugType { get; set; }
/// <summary>
/// 插件名称
/// </summary>
......
......@@ -9,8 +9,28 @@ namespace Mall.Model.Extend.BaseSetUp
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Marketing_Plug_Extend: RB_Marketing_Plug
public class RB_Marketing_Plug_Extend : RB_Marketing_Plug
{
/// <summary>
/// 插件类型名称
/// </summary>
public string PlugTypeName
{
get
{
string str = "默认";
switch (this.PlugType)
{
case 1: str = "默认"; break;
case 2: str = "营销工具"; break;
}
return str;
}
}
/// <summary>
/// 商户编号
/// </summary>
public int TenantId { get; set; }
}
}
\ No newline at end of file
using Mall.Model.Extend.BaseSetUp;
using Mall.Repository.BaseSetUp;
using System;
using System.Collections.Generic;
using System.Text;
using VT.FW.DB;
namespace Mall.Module.BaseSetUp
......@@ -58,6 +56,7 @@ namespace Mall.Module.BaseSetUp
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Marketing_Plug_Extend.PlugType),extModel.PlugType },
{nameof(RB_Marketing_Plug_Extend.PlugName),extModel.PlugName },
{nameof(RB_Marketing_Plug_Extend.PlugSubName),extModel.PlugSubName },
{nameof(RB_Marketing_Plug_Extend.PlugUrl),extModel.PlugUrl },
......@@ -110,5 +109,24 @@ namespace Mall.Module.BaseSetUp
{
return marketing_ConfigRepository.GetMarketingConfigListRepository(query);
}
/// <summary>
/// 新增修改营销中心插件配置
/// </summary>
/// <param name="list"></param>
/// <returns></returns>
public bool SetMarketingConfigModule(List<RB_Marketing_Config_Extend> list)
{
bool flag = false;
if (list != null && list.Count > 0)
{
marketing_ConfigRepository.DeleteOne(new WhereHelper(nameof(RB_Marketing_Config_Extend.TenantId), list[0].TenantId));
foreach (var item in list)
{
flag = marketing_ConfigRepository.Insert(item) > 0;
}
}
return flag;
}
}
}
\ No newline at end of file
......@@ -75,6 +75,14 @@ namespace Mall.Repository.BaseSetUp
{
builder.Append($" AND {nameof(RB_Marketing_Plug_Extend.PId)} ={query.PId} ");
}
if (query.PlugType > 0)
{
builder.Append($" AND {nameof(RB_Marketing_Plug_Extend.PlugType)} ={query.PlugType} ");
}
if (query.TenantId > 0)
{
builder.AppendFormat(@" AND PId IN(SELECT PlugId FROM rb_marketing_config WHERE TenantId ={0}) ", query.TenantId);
}
}
return Get<RB_Marketing_Plug_Extend>(builder.ToString(),parameters).ToList();
}
......
......@@ -17,6 +17,8 @@ using Mall.Common;
using Microsoft.AspNetCore.Authorization;
using Mall.Model.Entity.User;
using Mall.AOP;
using Mall.Module.BaseSetUp;
using Mall.Model.Extend.BaseSetUp;
namespace Mall.WebApi.Controllers.User
{
......@@ -41,6 +43,11 @@ namespace Mall.WebApi.Controllers.User
/// </summary>
private Module.User.TenantMenuModule tenantMenuModule = AOPHelper.CreateAOPObject<TenantMenuModule>();
/// <summary>
/// 营销中心插件配置处理类
/// </summary>
private MarketingPlugModule marketingPlugModule = new MarketingPlugModule();
#region 专题分类
/// <summary>
......@@ -68,7 +75,7 @@ namespace Mall.WebApi.Controllers.User
var query = JsonConvert.DeserializeObject<RB_Topic_Type_Extend>(RequestParm.msg.ToString());
query.MallBaseId = RequestParm.MallBaseId;
query.TenantId = RequestParm.TenantId;
var list = contentModule.GetTopicTypeListModule( query);
var list = contentModule.GetTopicTypeListModule(query);
return ApiResult.Success(data: list);
}
......@@ -477,7 +484,7 @@ namespace Mall.WebApi.Controllers.User
thirdItem.MenuName,
thirdItem.ParentId,
IsChecked = tenantMenuList?.Where(qitem => qitem.MenuId == thirdItem.MenuId)?.Count() > 0,
SubMenuList =new List<string>()
SubMenuList = new List<string>()
});
}
secondList.Add(new
......@@ -502,7 +509,143 @@ namespace Mall.WebApi.Controllers.User
}
return ApiResult.Success(data: result);
}
#endregion
#region 营销中心插件配置
/// <summary>
/// 获取营销中心插件分页列表
/// </summary>
/// <returns></returns>
public ApiResult GetMarketingPlugPageList()
{
ResultPageModel pageModel = JsonConvert.DeserializeObject<ResultPageModel>(RequestParm.msg.ToString());
var query = JsonConvert.DeserializeObject<RB_Marketing_Plug_Extend>(RequestParm.msg.ToString());
var list = marketingPlugModule.GetMarketingPlugPageModule(pageModel.pageIndex, pageModel.pageSize, out long rowsCount, query);
pageModel.count = Convert.ToInt32(rowsCount);
pageModel.pageData = list;
return ApiResult.Success(data: pageModel);
}
/// <summary>
/// 获取营销中心插件列表
/// </summary>
/// <returns></returns>
public ApiResult GetMarketingPlugList()
{
var query = JsonConvert.DeserializeObject<RB_Marketing_Plug_Extend>(RequestParm.msg.ToString());
query.TenantId = RequestParm.TenantId;
var plugList = marketingPlugModule.GetMarketingPlugListModule(query);
List<object> result = new List<object>();
if (plugList != null && plugList.Count > 0)
{
var typeList = plugList.GroupBy(qitem => new { qitem.PlugType, qitem.PlugTypeName }).Select(qitem => new { qitem.Key.PlugType, qitem.Key.PlugTypeName });
foreach (var item in typeList)
{
var obj = new
{
item.PlugType,
item.PlugTypeName,
SubList = plugList.Where(qitem => qitem.PlugType == item.PlugType).ToList()
};
result.Add(obj);
}
}
return ApiResult.Success(data: result);
}
/// <summary>
/// 新增修改营销中心插件
/// </summary>
/// <returns></returns>
public ApiResult SetMarketingPlug()
{
var extModel = JsonConvert.DeserializeObject<RB_Marketing_Plug_Extend>(RequestParm.msg.ToString());
extModel.Status = 0;
var flag = marketingPlugModule.SetMarketingPlugModule(extModel);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
/// 获取营销中心插件实体
/// </summary>
/// <returns></returns>
public ApiResult GetMarketingPlug()
{
JObject parms = JObject.Parse(RequestParm.msg.ToString());
var PId = parms.GetInt("PId", 0);
var extModel = marketingPlugModule.GetMarketingPlugModule(PId);
return ApiResult.Success(data: extModel);
}
/// <summary>
/// 修改营销中心插件状态
/// </summary>
/// <returns></returns>
public ApiResult RemoveMarketingPlug()
{
JObject parms = JObject.Parse(RequestParm.msg.ToString());
var PId = parms.GetInt("PId", 0);
var Status = parms.GetInt("Status");
var flag = marketingPlugModule.RemoveMarketingPlugModule(PId, Status);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
/// 新增修改营销中心插件配置
/// </summary>
/// <returns></returns>
public ApiResult GetMarketingConfigList()
{
var query = JsonConvert.DeserializeObject<RB_Marketing_Config_Extend>(RequestParm.msg.ToString());
query.TenantId = RequestParm.TenantId;
var plugList = marketingPlugModule.GetMarketingPlugListModule(new RB_Marketing_Plug_Extend());
var configList = marketingPlugModule.GetMarketingConfigListModule(query);
List<object> result = new List<object>();
if (plugList != null && plugList.Count > 0)
{
var typeList = plugList.GroupBy(qitem => new { qitem.PlugType, qitem.PlugTypeName }).Select(qitem => new { qitem.Key.PlugType, qitem.Key.PlugTypeName });
foreach (var item in typeList)
{
List<object> childList = new List<object>();
var childDataList = plugList.Where(qitem => qitem.PlugType == item.PlugType).ToList();
foreach (var subItem in childDataList)
{
var subObj = new
{
subItem.PId,
subItem.PlugName,
IsChecked = configList?.Where(qitem => qitem.PlugId == subItem.PId).Count() > 0
};
childList.Add(subObj);
}
var obj = new
{
item.PlugType,
item.PlugTypeName,
IsChecked=false,
SubList = childList
};
result.Add(obj);
}
}
return ApiResult.Success(data: result);
}
/// <summary>
/// 新增修改营销中心插件配置
/// </summary>
/// <returns></returns>
public ApiResult SetMarketingConfig()
{
var list = JsonConvert.DeserializeObject<List<RB_Marketing_Config_Extend>>(RequestParm.msg.ToString());
foreach (var item in list)
{
item.TenantId = RequestParm.TenantId;
}
var flag = marketingPlugModule.SetMarketingConfigModule(list);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
#endregion
}
}
\ 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