【调整】移除后台设置是否会员绑定手机号码的设置。

【新增】新增商城小程序前端商家管理员功能,商家管理员可以通过商家中心查看所有信息。
【调整】商家中心按门店进行过滤,提货单,服务券,订单等,本门店只能处理本门店业务及查看相应数据。
【调整】后台商城配置移除【会员设置】tab,增加【商家设置】tab,将商家相关设置归集到一起。
This commit is contained in:
大灰灰
2022-12-03 01:44:19 +08:00
parent 201586ab4f
commit 0422df5552
24 changed files with 471 additions and 184 deletions

View File

@@ -18,9 +18,12 @@ using CoreCms.Net.IRepository.UnitOfWork;
using CoreCms.Net.IServices;
using CoreCms.Net.Loging;
using CoreCms.Net.Model.Entities;
using CoreCms.Net.Model.Entities.Expression;
using CoreCms.Net.Model.ViewModels.UI;
using CoreCms.Net.Utility.Helper;
using Microsoft.Extensions.DependencyInjection;
using SqlSugar;
using static SKIT.FlurlHttpClient.Wechat.Api.Models.CgibinUserInfoBatchGetResponse.Types;
namespace CoreCms.Net.Services
@@ -36,13 +39,20 @@ namespace CoreCms.Net.Services
private readonly ICoreCmsOrderItemRepository _orderItemRepository;
private readonly ICoreCmsUserRepository _userRepository;
private readonly IUnitOfWork _unitOfWork;
public CoreCmsBillLadingServices(IUnitOfWork unitOfWork, ICoreCmsBillLadingRepository dal, ICoreCmsClerkRepository clerkRepository, ICoreCmsStoreRepository storeRepository, ICoreCmsOrderItemRepository orderItemRepository, ICoreCmsUserRepository userRepository)
private readonly ICoreCmsSettingServices _settingServices;
private readonly IServiceProvider _serviceProvider;
public CoreCmsBillLadingServices(IUnitOfWork unitOfWork, ICoreCmsBillLadingRepository dal, ICoreCmsClerkRepository clerkRepository, ICoreCmsStoreRepository storeRepository, ICoreCmsOrderItemRepository orderItemRepository, ICoreCmsUserRepository userRepository, IServiceProvider serviceProvider, ICoreCmsSettingServices settingServices)
{
this._dal = dal;
_clerkRepository = clerkRepository;
_storeRepository = storeRepository;
_orderItemRepository = orderItemRepository;
_userRepository = userRepository;
_serviceProvider = serviceProvider;
_settingServices = settingServices;
base.BaseDal = dal;
_unitOfWork = unitOfWork;
}
@@ -95,13 +105,39 @@ namespace CoreCms.Net.Services
/// 获取店铺提货单列表
/// </summary>
/// <returns></returns>
public async Task<WebApiCallBack> GetStoreLadingList(int userId, int page, int limit)
public async Task<WebApiCallBack> GetStoreLadingList(int userId, int storeId, int page, int limit)
{
var jm = new WebApiCallBack();
var clerks = await _clerkRepository.QueryListByClauseAsync(p => p.userId == userId);
var storeIds = clerks.Select(p => p.storeId).ToList();
var ladingList = await _dal.QueryPageAsync(p => storeIds.Contains(p.storeId) && p.isDel == false, p => p.createTime, OrderByType.Desc, page, limit);
var where = PredicateBuilder.True<CoreCmsBillLading>();
using var container = _serviceProvider.CreateScope();
var _userServices = container.ServiceProvider.GetService<ICoreCmsUserServices>();
var allConfigs = await _settingServices.GetConfigDictionaries();
var shopManagerMobile = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.ShopManagerMobile);
var user = await _userServices.QueryByClauseAsync(p => p.id == userId);
if (user == null)
{
jm.status = false;
jm.msg = "用户获取失败";
return jm;
}
var isManager = !string.IsNullOrEmpty(shopManagerMobile) && shopManagerMobile.Contains(user.mobile);
if (isManager)
{
where = storeId == 0 ? where.And(p => p.isDel == false) : where.And(p => p.isDel == false && p.storeId == storeId);
}
else
{
where = where.And(p => p.isDel == false && p.storeId == storeId);
//var clerks = await _clerkRepository.QueryListByClauseAsync(p => p.userId == userId);
//var storeIds = clerks.Select(p => p.storeId).ToList();
//where = where.And(p => storeIds.Contains(p.storeId) && p.isDel == false);
}
var ladingList = await _dal.QueryPageAsync(where, p => p.createTime, OrderByType.Desc, page, limit);
jm.status = true;
@@ -186,17 +222,29 @@ namespace CoreCms.Net.Services
var data = new List<CoreCmsBillLading>();
if (list != null)
{
if (userId > 0)
var userInfo = await _userRepository.QueryByClauseAsync(p => p.id == userId);
if (userInfo != null)
{
var clerks = await _clerkRepository.QueryListByClauseAsync(p => p.userId == userId);
if (clerks != null && clerks.Any())
var allConfigs = await _settingServices.GetConfigDictionaries();
var shopManagerMobile = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.ShopManagerMobile);
var isManager = !string.IsNullOrEmpty(shopManagerMobile) && shopManagerMobile.Contains(userInfo.mobile);
if (isManager)
{
var storeIds = clerks.Select(p => p.storeId).ToList();
foreach (var item in list)
data = list;
}
else
{
var clerks = await _clerkRepository.QueryListByClauseAsync(p => p.userId == userId);
if (clerks != null && clerks.Any())
{
if (storeIds.Contains(item.storeId))
var storeIds = clerks.Select(p => p.storeId).ToList();
foreach (var item in list)
{
data.Add(item);
if (storeIds.Contains(item.storeId))
{
data.Add(item);
}
}
}
}
@@ -209,7 +257,7 @@ namespace CoreCms.Net.Services
item.statusName = EnumHelper.GetEnumDescriptionByValue<GlobalEnumVars.BillLadingStatus>(statusInt);
if (item.clerkId > 0)
{
var userInfo = await _userRepository.QueryByClauseAsync(p => p.id == userId);
if (userInfo != null)
{
item.clerkIdName = !string.IsNullOrEmpty(userInfo.nickName)