Commit a8d4dc83 authored by 黄奎's avatar 黄奎

新增商城菜单相关

parent 8eb0e9f5
using VT.FW.DB; using VT.FW.DB;
using System; using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Entity.User namespace Mall.Model.Entity.User
{ {
......
using System;
using VT.FW.DB;
namespace Mall.Model.Entity.User
{
/// <summary>
/// 商户菜单实体表
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Tenant_Menu
{
/// <summary>
/// 商户菜单编号【主键】
/// </summary>
public int TMenuId { get; set; }
/// <summary>
/// 商户编号
/// </summary>
public int TenantId { get; set; }
/// <summary>
/// 菜单编号
/// </summary>
public int MenuId { get; set; }
}
}
...@@ -32,5 +32,10 @@ namespace Mall.Model.Extend.User ...@@ -32,5 +32,10 @@ namespace Mall.Model.Extend.User
/// 查询菜单编号 /// 查询菜单编号
/// </summary> /// </summary>
public string QMenuIds { get; set; } public string QMenuIds { get; set; }
/// <summary>
/// 商户号
/// </summary>
public int TenantId { get; set; }
} }
} }
using Mall.Model.Entity.User;
using System;
using VT.FW.DB;
namespace Mall.Model.Extend.User
{
/// <summary>
/// 商户菜单扩展实体表
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Tenant_Menu_Extend : RB_Tenant_Menu
{
}
}
\ No newline at end of file
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Mall.AOP\Mall.AOP.csproj" />
<ProjectReference Include="..\Mall.CacheManager\Mall.CacheManager.csproj" /> <ProjectReference Include="..\Mall.CacheManager\Mall.CacheManager.csproj" />
<ProjectReference Include="..\Mall.Model\Mall.Model.csproj" /> <ProjectReference Include="..\Mall.Model\Mall.Model.csproj" />
<ProjectReference Include="..\Mall.Repository\Mall.Repository.csproj" /> <ProjectReference Include="..\Mall.Repository\Mall.Repository.csproj" />
......
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text;
using Mall.Model.Extend.User; using Mall.Model.Extend.User;
using Mall.Repository;
using Mall.Repository.User; using Mall.Repository.User;
using VT.FW.DB; using VT.FW.DB;
......
using Mall.AOP.CustomerAttribute;
using Mall.Model.Extend.User;
using Mall.Repository.User;
using NPOI.POIFS.Storage;
using System;
using System.Collections.Generic;
using System.Text;
using VT.FW.DB;
namespace Mall.Module.User
{
/// <summary>
/// 商户菜单处理类
/// </summary>
public class TenantMenuModule
{
/// <summary>
/// 商户菜单仓储层对象
/// </summary>
private readonly RB_Tenant_MenuRepository tenant_MenuRepository = new RB_Tenant_MenuRepository();
/// <summary>
/// 获取商户菜单列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Tenant_Menu_Extend> GetTenantMenuListModule(RB_Tenant_Menu_Extend query)
{
return tenant_MenuRepository.GetTenantMenuListRepository(query);
}
/// <summary>
/// 新增修改商户菜单
/// </summary>
/// <param name="list"></param>
/// <returns></returns>
[TransactionCallHandler]
public bool SetTenantMenuModule(List<RB_Tenant_Menu_Extend> list)
{
bool flag = false;
if (list != null && list.Count > 0)
{
tenant_MenuRepository.DeleteOne(new WhereHelper(nameof(RB_Tenant_Menu_Extend.TenantId), list[0].TenantId));
foreach (var item in list)
{
flag = tenant_MenuRepository.Insert(item) > 0;
}
}
return flag;
}
}
}
...@@ -25,7 +25,7 @@ namespace Mall.Repository.MarketingCenter ...@@ -25,7 +25,7 @@ namespace Mall.Repository.MarketingCenter
public List<RB_Share_Friend_Extend> GetShareFriendPageListRepository(int pageIndex, int pageSize, out long rowsCount, RB_Share_Friend_Extend query, bool IsUse = false) public List<RB_Share_Friend_Extend> GetShareFriendPageListRepository(int pageIndex, int pageSize, out long rowsCount, RB_Share_Friend_Extend query, bool IsUse = false)
{ {
string orderBy = ""; string orderBy = "";
DynamicParameters parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" builder.AppendFormat(@"
SELECT A.*,B.Name AS GoodsName SELECT A.*,B.Name AS GoodsName
...@@ -61,7 +61,8 @@ WHERE 1=1 AND A.Status=0 ...@@ -61,7 +61,8 @@ WHERE 1=1 AND A.Status=0
} }
if (!string.IsNullOrWhiteSpace(query.KeyWords)) if (!string.IsNullOrWhiteSpace(query.KeyWords))
{ {
builder.AppendFormat(" AND A.{0} LIKE '%{1}%' ", nameof(RB_Share_Friend_Extend.MaterialInfo), query.KeyWords); builder.AppendFormat(" AND A.{0} LIKE @Name ", nameof(RB_Share_Friend_Extend.MaterialInfo));
parameters.Add("Name", "%" + query.KeyWords + "%");
} }
if (!string.IsNullOrWhiteSpace(query.QStartDate)) if (!string.IsNullOrWhiteSpace(query.QStartDate))
{ {
...@@ -77,7 +78,7 @@ WHERE 1=1 AND A.Status=0 ...@@ -77,7 +78,7 @@ WHERE 1=1 AND A.Status=0
} }
} }
builder.AppendFormat(orderBy); builder.AppendFormat(orderBy);
return GetPage<RB_Share_Friend_Extend>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList(); return GetPage<RB_Share_Friend_Extend>(pageIndex, pageSize, out rowsCount, builder.ToString(),parameters).ToList();
} }
......
using Mall.Model.Entity.User;
using Mall.Model.Extend.User;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Mall.Repository.User
{
/// <summary>
/// 商户菜单表仓储层
/// </summary>
public class RB_Tenant_MenuRepository : BaseRepository<RB_Tenant_Menu>
{
/// <summary>
/// 获取商户菜单列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Tenant_Menu_Extend> GetTenantMenuListRepository(RB_Tenant_Menu_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append(@" SELECT * FROM rb_tenant_menu WHERE 1=1 ");
if (query != null)
{
if (query.TenantId > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Tenant_Menu_Extend.TenantId), query.TenantId);
}
return Get<RB_Tenant_Menu_Extend>(builder.ToString()).ToList();
}
else
{
return new List<RB_Tenant_Menu_Extend>();
}
}
}
}
...@@ -16,6 +16,7 @@ using Newtonsoft.Json.Linq; ...@@ -16,6 +16,7 @@ using Newtonsoft.Json.Linq;
using Mall.Common; using Mall.Common;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Mall.Model.Entity.User; using Mall.Model.Entity.User;
using Mall.AOP;
namespace Mall.WebApi.Controllers.User namespace Mall.WebApi.Controllers.User
{ {
...@@ -30,6 +31,16 @@ namespace Mall.WebApi.Controllers.User ...@@ -30,6 +31,16 @@ namespace Mall.WebApi.Controllers.User
/// </summary> /// </summary>
private Module.User.ContentModule contentModule = new ContentModule(); private Module.User.ContentModule contentModule = new ContentModule();
/// <summary>
/// 菜单处理类
/// </summary>
private Module.User.MenuModule menuModule = new Module.User.MenuModule();
/// <summary>
/// 商户菜单处理类
/// </summary>
private Module.User.TenantMenuModule tenantMenuModule = AOPHelper.CreateAOPObject<TenantMenuModule>();
#region 专题分类 #region 专题分类
/// <summary> /// <summary>
...@@ -418,5 +429,80 @@ namespace Mall.WebApi.Controllers.User ...@@ -418,5 +429,80 @@ namespace Mall.WebApi.Controllers.User
} }
#endregion #endregion
#region 商城菜单
/// <summary>
/// 获取小程序分页列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetTenantMenu()
{
var list = JsonConvert.DeserializeObject<List<RB_Tenant_Menu_Extend>>(RequestParm.msg.ToString());
if (list != null && list.Count > 0)
{
foreach (var item in list)
{
item.TenantId = RequestParm.TenantId;
}
}
var flag = tenantMenuModule.SetTenantMenuModule(list);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
/// 获取商户菜单列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetTenantMenuList()
{
List<object> result = new List<object>();
var menuList = menuModule.GetMenuListModule(new RB_Menu_Extend());
if (menuList != null && menuList.Count > 0)
{
var tenantMenuList = tenantMenuModule.GetTenantMenuListModule(new RB_Tenant_Menu_Extend() { TenantId = RequestParm.TenantId });
foreach (var item in menuList.Where(qitem => qitem.MenuLevel == 1))
{
List<object> secondList = new List<object>();
foreach (var subItem in menuList.Where(qitem => qitem.MenuLevel == 2 && qitem.ParentId == item.MenuId))
{
List<object> childList = new List<object>();
foreach (var thirdItem in menuList.Where(qitem => qitem.MenuLevel == 3 && qitem.ParentId == subItem.MenuId))
{
childList.Add(new
{
thirdItem.MenuId,
thirdItem.MenuName,
thirdItem.ParentId,
IsChecked = tenantMenuList?.Where(qitem => qitem.MenuId == thirdItem.MenuId)?.Count() > 0,
SubMenuList =new List<string>()
});
}
secondList.Add(new
{
subItem.MenuId,
subItem.MenuName,
subItem.ParentId,
IsChecked = tenantMenuList?.Where(qitem => qitem.MenuId == subItem.MenuId)?.Count() > 0,
SubMenuList = childList
});
}
var obj = new
{
item.MenuId,
item.MenuName,
item.ParentId,
IsChecked = tenantMenuList?.Where(qitem => qitem.MenuId == item.MenuId)?.Count() > 0,
SubMenuList = secondList
};
result.Add(obj);
}
}
return ApiResult.Success(data: result);
}
#endregion
} }
} }
\ No newline at end of file
...@@ -23,6 +23,8 @@ using Mall.Module.Product; ...@@ -23,6 +23,8 @@ using Mall.Module.Product;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Mall.Model.Query; using Mall.Model.Query;
using Mall.Model.Extend.AppletWeChat; using Mall.Model.Extend.AppletWeChat;
using Mall.AOP;
using Mall.Module.User;
namespace Mall.WebApi.Controllers.User namespace Mall.WebApi.Controllers.User
{ {
...@@ -47,6 +49,8 @@ namespace Mall.WebApi.Controllers.User ...@@ -47,6 +49,8 @@ namespace Mall.WebApi.Controllers.User
/// </summary> /// </summary>
private Module.User.MenuModule menuModule = new Module.User.MenuModule(); private Module.User.MenuModule menuModule = new Module.User.MenuModule();
/// <summary> /// <summary>
/// 小程序图标处理类对象 /// 小程序图标处理类对象
/// </summary> /// </summary>
...@@ -438,10 +442,10 @@ namespace Mall.WebApi.Controllers.User ...@@ -438,10 +442,10 @@ namespace Mall.WebApi.Controllers.User
return flag ? ApiResult.Success() : ApiResult.Failed(); return flag ? ApiResult.Success() : ApiResult.Failed();
} }
/// <summary>
/// 向微信服务端 使用登录凭证 code 获取 session_key 和 openid
/// </summary>
/// <returns></returns>
public ApiResult GetMiniAllTemplent() public ApiResult GetMiniAllTemplent()
{ {
//向微信服务端 使用登录凭证 code 获取 session_key 和 openid //向微信服务端 使用登录凭证 code 获取 session_key 和 openid
...@@ -517,8 +521,8 @@ namespace Mall.WebApi.Controllers.User ...@@ -517,8 +521,8 @@ namespace Mall.WebApi.Controllers.User
wenXinResulttemplate = GetUsersHelper.GetUrltoHtml(urltemplate, type);//获取微信服务器返回字符串 wenXinResulttemplate = GetUsersHelper.GetUrltoHtml(urltemplate, type);//获取微信服务器返回字符串
jotemplate = (JObject)JsonConvert.DeserializeObject(wenXinResulttemplate);//将字符串转换为json格式 jotemplate = (JObject)JsonConvert.DeserializeObject(wenXinResulttemplate);//将字符串转换为json格式
//微信服务器验证成功 //微信服务器验证成功
res.data = JsonConvert.DeserializeObject<List<templateresultModel>>(jotemplate ["data"].ToString()); res.data = JsonConvert.DeserializeObject<List<templateresultModel>>(jotemplate["data"].ToString());
if (res.data!=null&&res.data.Any()) if (res.data != null && res.data.Any())
{ {
foreach (var item in res.data) foreach (var item in res.data)
{ {
...@@ -784,7 +788,7 @@ namespace Mall.WebApi.Controllers.User ...@@ -784,7 +788,7 @@ namespace Mall.WebApi.Controllers.User
{ {
try try
{ {
var kidList = new List<int> {2,1 }; var kidList = new List<int> { 2, 1 };
var resultInfo = new var resultInfo = new
{ {
tid = "3173", tid = "3173",
...@@ -842,10 +846,6 @@ namespace Mall.WebApi.Controllers.User ...@@ -842,10 +846,6 @@ namespace Mall.WebApi.Controllers.User
} }
/// <summary> /// <summary>
/// 删除底部导航 /// 删除底部导航
/// </summary> /// </summary>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment