mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2026-02-05 10:19:48 +08:00
【调整】移除后台设置是否会员绑定手机号码的设置。
【新增】新增商城小程序前端商家管理员功能,商家管理员可以通过商家中心查看所有信息。 【调整】商家中心按门店进行过滤,提货单,服务券,订单等,本门店只能处理本门店业务及查看相应数据。 【调整】后台商城配置移除【会员设置】tab,增加【商家设置】tab,将商家相关设置归集到一起。
This commit is contained in:
@@ -52,6 +52,8 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
||||
private readonly ICoreCmsOrderDistributionModelServices _orderDistributionModelServices;
|
||||
private readonly ICoreCmsBillPaymentsServices _billPaymentsServices;
|
||||
private readonly IRedisOperationRepository _redisOperationRepository;
|
||||
private readonly ICoreCmsUserServices _userServices;
|
||||
private readonly ICoreCmsClerkServices _clerkServices;
|
||||
|
||||
|
||||
|
||||
@@ -64,7 +66,7 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
||||
, ICoreCmsSettingServices settingServices
|
||||
, ICoreCmsAreaServices areaServices
|
||||
, ICoreCmsBillReshipServices reshipServices, ICoreCmsShipServices shipServices
|
||||
, ICoreCmsBillDeliveryServices billDeliveryServices, ICoreCmsLogisticsServices logisticsServices, ICoreCmsGoodsServices goodsServices, ICoreCmsStoreServices storeServices, ICoreCmsOrderDistributionModelServices orderDistributionModelServices, IRedisOperationRepository redisOperationRepository, ICoreCmsBillPaymentsServices billPaymentsServices)
|
||||
, ICoreCmsBillDeliveryServices billDeliveryServices, ICoreCmsLogisticsServices logisticsServices, ICoreCmsGoodsServices goodsServices, ICoreCmsStoreServices storeServices, ICoreCmsOrderDistributionModelServices orderDistributionModelServices, IRedisOperationRepository redisOperationRepository, ICoreCmsBillPaymentsServices billPaymentsServices, ICoreCmsUserServices userServices, ICoreCmsClerkServices clerkServices)
|
||||
{
|
||||
_user = user;
|
||||
_orderServices = orderServices;
|
||||
@@ -80,6 +82,8 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
||||
_orderDistributionModelServices = orderDistributionModelServices;
|
||||
_redisOperationRepository = redisOperationRepository;
|
||||
_billPaymentsServices = billPaymentsServices;
|
||||
_userServices = userServices;
|
||||
_clerkServices = clerkServices;
|
||||
}
|
||||
|
||||
|
||||
@@ -256,11 +260,23 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
||||
var userId = _user.ID;
|
||||
if ((string)entity.data == "merchant")
|
||||
{
|
||||
var store = await _storeServices.GetStoreByUserId(_user.ID);
|
||||
if (store == null)
|
||||
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.msg = "用户获取失败";
|
||||
return jm;
|
||||
}
|
||||
var isShopManager = !string.IsNullOrEmpty(shopManagerMobile) && shopManagerMobile.Contains(user.mobile);
|
||||
|
||||
var store = await _clerkServices.QueryByClauseAsync(p => p.userId == userId);
|
||||
if (store == null && isShopManager == false)
|
||||
{
|
||||
jm.status = false;
|
||||
jm.msg = "你不是店员或管理员";
|
||||
return jm;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -46,6 +46,7 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
||||
private readonly ICoreCmsClerkServices _clerkServices;
|
||||
private readonly ICoreCmsStoreServices _storeServices;
|
||||
private readonly ICoreCmsUserGradeServices _userGradeServices;
|
||||
private readonly ICoreCmsSettingServices _settingServices;
|
||||
|
||||
|
||||
private readonly IHttpContextUser _user;
|
||||
@@ -53,16 +54,7 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="servicesServices"></param>
|
||||
/// <param name="user"></param>
|
||||
/// <param name="userServicesOrderServices"></param>
|
||||
/// <param name="userServicesTicketServices"></param>
|
||||
/// <param name="userServices"></param>
|
||||
/// <param name="clerkServices"></param>
|
||||
/// <param name="ticketVerificationLogServices"></param>
|
||||
/// <param name="storeServices"></param>
|
||||
/// <param name="userGradeServices"></param>
|
||||
public ServiceController(ICoreCmsServicesServices servicesServices, IHttpContextUser user, ICoreCmsUserServicesOrderServices userServicesOrderServices, ICoreCmsUserServicesTicketServices userServicesTicketServices, ICoreCmsUserServices userServices, ICoreCmsClerkServices clerkServices, ICoreCmsUserServicesTicketVerificationLogServices ticketVerificationLogServices, ICoreCmsStoreServices storeServices, ICoreCmsUserGradeServices userGradeServices)
|
||||
public ServiceController(ICoreCmsServicesServices servicesServices, IHttpContextUser user, ICoreCmsUserServicesOrderServices userServicesOrderServices, ICoreCmsUserServicesTicketServices userServicesTicketServices, ICoreCmsUserServices userServices, ICoreCmsClerkServices clerkServices, ICoreCmsUserServicesTicketVerificationLogServices ticketVerificationLogServices, ICoreCmsStoreServices storeServices, ICoreCmsUserGradeServices userGradeServices, ICoreCmsSettingServices settingServices)
|
||||
{
|
||||
_servicesServices = servicesServices;
|
||||
_user = user;
|
||||
@@ -73,6 +65,7 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
||||
_ticketVerificationLogServices = ticketVerificationLogServices;
|
||||
_storeServices = storeServices;
|
||||
_userGradeServices = userGradeServices;
|
||||
_settingServices = settingServices;
|
||||
}
|
||||
|
||||
|
||||
@@ -287,7 +280,7 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
||||
[Authorize]
|
||||
public async Task<WebApiCallBack> VerificationPageList([FromBody] FMPageByIntId entity)
|
||||
{
|
||||
var jm = await _ticketVerificationLogServices.GetVerificationLogs(_user.ID, entity.page, entity.limit);
|
||||
var jm = await _ticketVerificationLogServices.GetVerificationLogs(_user.ID, entity.id, entity.page, entity.limit);
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
@@ -406,23 +399,30 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
||||
return jm;
|
||||
}
|
||||
|
||||
var clerk = await _clerkServices.QueryByClauseAsync(p => p.userId == user.id);
|
||||
if (clerk == null)
|
||||
{
|
||||
jm.msg = "非门店店员无权限核验";
|
||||
return jm;
|
||||
}
|
||||
var allConfigs = await _settingServices.GetConfigDictionaries();
|
||||
var shopManagerMobile = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.ShopManagerMobile);
|
||||
|
||||
if (!service.consumableStore.Contains("," + clerk.storeId + ","))
|
||||
var isManager = !string.IsNullOrEmpty(shopManagerMobile) && shopManagerMobile.Contains(user.mobile);
|
||||
var clerk = await _clerkServices.QueryByClauseAsync(p => p.userId == user.id);
|
||||
if (!isManager)
|
||||
{
|
||||
jm.msg = "您所在的门店无权核销此券";
|
||||
return jm;
|
||||
if (clerk == null)
|
||||
{
|
||||
jm.msg = "非门店店员无权限核验";
|
||||
return jm;
|
||||
}
|
||||
|
||||
if (!service.consumableStore.Contains("," + clerk.storeId + ","))
|
||||
{
|
||||
jm.msg = "您所在的门店无权核销此券";
|
||||
return jm;
|
||||
}
|
||||
}
|
||||
|
||||
//开始更新数据
|
||||
var log = new CoreCmsUserServicesTicketVerificationLog
|
||||
{
|
||||
storeId = clerk.storeId,
|
||||
storeId = clerk?.storeId ?? 0,
|
||||
verificationUserId = _user.ID,
|
||||
ticketId = ticket.id,
|
||||
ticketRedeemCode = ticket.redeemCode,
|
||||
|
||||
@@ -43,6 +43,7 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
||||
private readonly ICoreCmsSettingServices _settingServices;
|
||||
private readonly ICoreCmsBillLadingServices _billLadingServices;
|
||||
private readonly ICoreCmsOrderServices _orderServices;
|
||||
private readonly ICoreCmsUserServices _userServices;
|
||||
|
||||
|
||||
/// <summary>
|
||||
@@ -52,7 +53,7 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
||||
, ICoreCmsStoreServices storeServices
|
||||
, ICoreCmsClerkServices clerkServices
|
||||
, ICoreCmsSettingServices settingServices
|
||||
, ICoreCmsBillLadingServices billLadingServices, ICoreCmsOrderServices orderServices)
|
||||
, ICoreCmsBillLadingServices billLadingServices, ICoreCmsOrderServices orderServices, ICoreCmsUserServices userServices)
|
||||
{
|
||||
_user = user;
|
||||
_storeServices = storeServices;
|
||||
@@ -60,6 +61,7 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
||||
_settingServices = settingServices;
|
||||
_billLadingServices = billLadingServices;
|
||||
_orderServices = orderServices;
|
||||
_userServices = userServices;
|
||||
}
|
||||
|
||||
//公共接口======================================================================================================
|
||||
@@ -195,9 +197,9 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
||||
|
||||
//验证接口======================================================================================================
|
||||
|
||||
#region 判断访问用户是否是店员
|
||||
#region 判断是否是商家,店员,开启商家中心
|
||||
/// <summary>
|
||||
/// 判断访问用户是否是店员
|
||||
/// 判断是否是商家,店员,开启商家中心
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
@@ -216,14 +218,129 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Authorize]
|
||||
public async Task<WebApiCallBack> GetStoreByUserId()
|
||||
public async Task<WebApiCallBack> GetStoreByUserId([FromBody] FMIntId entity)
|
||||
{
|
||||
var jm = new WebApiCallBack
|
||||
var jm = new WebApiCallBack();
|
||||
|
||||
var allConfigs = await _settingServices.GetConfigDictionaries();
|
||||
var shopManagerMobile = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.ShopManagerMobile);
|
||||
|
||||
var user = await _userServices.QueryByClauseAsync(p => p.id == _user.ID);
|
||||
if (user == null)
|
||||
{
|
||||
status = true,
|
||||
msg = "获取成功",
|
||||
data = await _storeServices.GetStoreByUserId(_user.ID)
|
||||
};
|
||||
jm.status = false;
|
||||
jm.msg = "用户获取失败";
|
||||
return jm;
|
||||
}
|
||||
|
||||
var isManager = !string.IsNullOrEmpty(shopManagerMobile) && shopManagerMobile.Contains(user.mobile);
|
||||
|
||||
if (entity.id == 0 && isManager)
|
||||
{
|
||||
var latlong = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.ReshipCoordinate);
|
||||
var latLongArray = !string.IsNullOrEmpty(latlong) ? latlong.Split(",") : new string[2];
|
||||
jm.status = true;
|
||||
jm.data = new CoreCmsStore
|
||||
{
|
||||
id = 0,
|
||||
storeName = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.ShopName),
|
||||
//mobile = p.mobile,
|
||||
//linkMan = p.linkMan,
|
||||
//logoImage = p.logoImage,
|
||||
//areaId = p.areaId,
|
||||
address = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.ReshipAddress),
|
||||
//coordinate = p.coordinate,
|
||||
latitude = latLongArray[0],
|
||||
longitude = latLongArray[1],
|
||||
//isDefault = p.isDefault,
|
||||
//createTime = p.createTime,
|
||||
//updateTime = p.updateTime,
|
||||
|
||||
};
|
||||
}
|
||||
else if (entity.id > 0 && isManager)
|
||||
{
|
||||
jm.status = true;
|
||||
jm.data = await _storeServices.QueryByClauseAsync(p => p.id == entity.id);
|
||||
}
|
||||
else
|
||||
{
|
||||
jm.status = true;
|
||||
jm.data = await _storeServices.GetStoreByUserId(_user.ID, entity.id);
|
||||
}
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 获取单个用户能管理的门店列表
|
||||
/// <summary>
|
||||
/// 获取单个用户能管理的门店列表
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Authorize]
|
||||
public async Task<WebApiCallBack> GetStoreListForUser([FromBody] FMGetStoreQueryPageByCoordinate entity)
|
||||
{
|
||||
var jm = new WebApiCallBack();
|
||||
try
|
||||
{
|
||||
var where = PredicateBuilder.True<CoreCmsStore>();
|
||||
|
||||
var allConfigs = await _settingServices.GetConfigDictionaries();
|
||||
var shopManagerMobile = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.ShopManagerMobile);
|
||||
|
||||
var user = await _userServices.QueryByClauseAsync(p => p.id == _user.ID);
|
||||
if (user == null)
|
||||
{
|
||||
jm.status = false;
|
||||
jm.msg = "用户获取失败";
|
||||
return jm;
|
||||
}
|
||||
|
||||
var isManager = !string.IsNullOrEmpty(shopManagerMobile) && shopManagerMobile.Contains(user.mobile);
|
||||
if (!isManager)
|
||||
{
|
||||
var stroes = await _clerkServices.QueryListByClauseAsync(p => p.userId == _user.ID);
|
||||
var stroeIds = stroes.Select(p => p.storeId).ToList();
|
||||
where = where.And(p => stroeIds.Contains(p.id));
|
||||
}
|
||||
|
||||
jm.status = true;
|
||||
|
||||
var data = await _storeServices.QueryPageAsyncByCoordinate(where, p => p.distance, OrderByType.Asc, entity.page, entity.limit, entity.latitude, entity.longitude);
|
||||
|
||||
foreach (var item in data)
|
||||
{
|
||||
if (item.distance > 0)
|
||||
{
|
||||
if (item.distance > 1000)
|
||||
{
|
||||
item.distanceStr = Math.Round(item.distance / 1000, 2) + "km";
|
||||
}
|
||||
else
|
||||
{
|
||||
item.distanceStr = Math.Round(item.distance, 2) + "m";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
item.distanceStr = "";
|
||||
}
|
||||
}
|
||||
|
||||
jm.data = data;
|
||||
jm.otherData = new
|
||||
{
|
||||
totalCount = data.TotalCount,
|
||||
totalPages = data.TotalPages,
|
||||
};
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
||||
jm.msg = GlobalConstVars.DataHandleEx;
|
||||
jm.data = e.ToString();
|
||||
}
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
@@ -240,8 +357,8 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
||||
{
|
||||
var jm = new WebApiCallBack();
|
||||
|
||||
var store = await _storeServices.GetStoreByUserId(_user.ID);
|
||||
if (store != null)
|
||||
var store = await _clerkServices.IsClerk(_user.ID);
|
||||
if (store != null && store.otherData.ObjectToBool())
|
||||
{
|
||||
jm = await _orderServices.GetOrderPageByMerchant(entity.dateType, entity.date, entity.status, entity.receiptType, entity.storeId, entity.page, entity.limit);
|
||||
}
|
||||
@@ -268,8 +385,8 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
||||
{
|
||||
var jm = new WebApiCallBack();
|
||||
|
||||
var store = await _storeServices.GetStoreByUserId(_user.ID);
|
||||
if (store != null)
|
||||
var store = await _clerkServices.IsClerk(_user.ID);
|
||||
if (store != null && store.otherData.ObjectToBool())
|
||||
{
|
||||
jm = await _orderServices.GetOrderPageByMerchantSearch(entity.keyword, entity.status, entity.receiptType, entity.storeId, entity.page, entity.limit);
|
||||
}
|
||||
@@ -294,7 +411,7 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
||||
[Authorize]
|
||||
public async Task<WebApiCallBack> StoreLadingList([FromBody] FMPageByIntId entity)
|
||||
{
|
||||
var jm = await _billLadingServices.GetStoreLadingList(_user.ID, entity.page, entity.limit);
|
||||
var jm = await _billLadingServices.GetStoreLadingList(_user.ID, entity.id, entity.page, entity.limit);
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
Reference in New Issue
Block a user