/*********************************************************************** * Project: baifenBinfa * ProjectName: 百分兵法管理系统 * Web: http://chuanyin.com * Author: * Email: * CreateTime: 202403/02 * Description: 暂无 ***********************************************************************/ using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Threading.Tasks; using CoreCms.Net.Configuration; using CoreCms.Net.IRepository; using CoreCms.Net.IRepository.UnitOfWork; using CoreCms.Net.IServices; using CoreCms.Net.Loging; using CoreCms.Net.Model.Entities; using CoreCms.Net.Model.ViewModels.Basics; using CoreCms.Net.Model.ViewModels.UI; using CoreCms.Net.Utility.Extensions; using CoreCms.Net.Utility.Helper; using Microsoft.IdentityModel.Tokens; using SqlSugar; namespace CoreCms.Net.Services { /// /// 店铺店员关联表 接口实现 /// public class CoreCmsClerkServices : BaseServices, ICoreCmsClerkServices { private readonly ICoreCmsClerkRepository _dal; private readonly ICoreCmsUserServices _userServices; private readonly ICoreCmsSettingServices _settingServices; private readonly IUnitOfWork _unitOfWork; public CoreCmsClerkServices(IUnitOfWork unitOfWork, ICoreCmsClerkRepository dal , ICoreCmsUserServices userServices , ICoreCmsSettingServices settingServices) { this._dal = dal; base.BaseDal = dal; _unitOfWork = unitOfWork; _userServices = userServices; _settingServices = settingServices; } /// /// 判断是否是商家,店员,开启商家中心 /// /// /// public async Task IsClerk(int userId) { var jm = new WebApiCallBack(); 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 = "用户获取失败"; jm.data = new { storeId = 0, isShopManager = false, isClerk = false, }; return jm; } var store = await _dal.QueryByClauseAsync(p => p.userId == userId); jm.status = true; jm.data = new { storeId = store?.storeId ?? 0, isShopManager = !string.IsNullOrEmpty(shopManagerMobile) && shopManagerMobile.Contains(user.mobile), isClerk = store != null || (!string.IsNullOrEmpty(shopManagerMobile) && shopManagerMobile.Contains(user.mobile)), }; jm.otherData = store != null || (!string.IsNullOrEmpty(shopManagerMobile) && shopManagerMobile.Contains(user.mobile)); return jm; } /// /// 获取门店关联用户分页数据 /// /// 判断集合 /// 排序方式 /// 当前页面索引 /// 分布大小 /// /// 是否使用WITH(NOLOCK) /// public async Task> QueryStoreClerkDtoPageAsync(Expression> predicate, Expression> orderByExpression, OrderByType orderByType, int pageIndex = 1, int pageSize = 20, bool blUseNoLock = false) { return await _dal.QueryStoreClerkDtoPageAsync(predicate, orderByExpression, orderByType, pageIndex, pageSize, blUseNoLock); } /// /// 获取单个门店用户数据 /// /// 判断集合 /// 是否使用WITH(NOLOCK) /// public async Task QueryStoreClerkDtoByClauseAsync(Expression> predicate, bool blUseNoLock = false) { return await _dal.QueryStoreClerkDtoByClauseAsync(predicate, blUseNoLock); } } }