From 4e8cadb13ebd6f01b8cf6d5cc89757cf8e960792 Mon Sep 17 00:00:00 2001
From: 刘帅 <rr.iii@qq.com>
Date: 星期三, 30 九月 2026 12:22:24 +0800
Subject: [PATCH] 门店管理修改
---
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java | 98 +++++++++++++++++-------------------------------
1 files changed, 35 insertions(+), 63 deletions(-)
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java
index 9b6da05..521328d 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java
@@ -333,9 +333,8 @@
String roleid = UserExt.getUser().getRoleid();
model.addAttribute("role",roleid);
model.addAttribute("time",byId.getStartTime()+" - "+byId.getEndTime());
- User byId1 = userMapper.selectById(byId.getStoreStaffId());
- model.addAttribute("city",byId1);
- model.addAttribute("managerName", byId1 == null ? "" : byId1.getName());
+ model.addAttribute("managerName", byId.getManagerName());
+ model.addAttribute("managerPhone", byId.getPhone());
model.addAttribute("type",1);
// 如果当前登陆人是运营商
if (UserExt.getUser().getObjectType()==2){
@@ -415,9 +414,8 @@
String roleid = UserExt.getUser().getRoleid();
model.addAttribute("role",roleid);
model.addAttribute("time",byId.getStartTime()+" - "+byId.getEndTime());
- User byId1 = userMapper.selectById(byId.getStoreStaffId());
- model.addAttribute("city",byId1);
- model.addAttribute("managerName", byId1 == null ? "" : byId1.getName());
+ model.addAttribute("managerName", byId.getManagerName());
+ model.addAttribute("managerPhone", byId.getPhone());
model.addAttribute("type",0);
return PREFIX + "TShop_edit.html";
@@ -471,18 +469,27 @@
@ResponseBody
public Object list(String provinceCode, String cityCode , String name, String phone,String shopName) {
Page<TStoreListVo> page = new PageFactory<TStoreListVo>().defaultPage();
- String roleid = UserExt.getUser().getRoleid();
List<TStoreListVo> list =new ArrayList<>();
- if("3".equals(roleid)){
- Integer objectId = UserExt.getUser().getObjectId();
- list = storeService.listAllStore(page,provinceCode,cityCode,name,phone,shopName,objectId);
- }else {
+ Integer objectType = UserExt.getUser().getObjectType();
+ if (Integer.valueOf(3).equals(objectType)) {
+ // 门店员工按员工-门店中间表的数据范围查询;getStoreIdsByUserId 同时兼容
+ // sys_user.objectId 和 t_store.storeStaffId 两种历史归属数据。
+ List<Integer> storeIds = userMapper.getStoreIdsByUserId(UserExt.getUser().getId());
+ if (!CollectionUtils.isEmpty(storeIds)) {
+ list = storeService.listAllStoresByIds(page, provinceCode, cityCode, name, phone, shopName, storeIds);
+ }
+ } else if (Integer.valueOf(2).equals(objectType)) {
Integer objectId = UserExt.getUser().getObjectId();
list = storeService.listAll(page,provinceCode,cityCode,name,phone,shopName,objectId);
+ } else {
+ // 平台账号不带运营商条件,查询全部门店;数据范围由 objectType 决定,
+ // 不能用 roleid(菜单权限)判断,避免员工被授予角色 1 后被误当成运营商。
+ list = storeService.listAll(page, provinceCode, cityCode, name, phone, shopName, null);
}
page.setRecords(list);
return super.packForBT(page);
}
+
@RequestMapping(value = "/listOne")
@ResponseBody
public Object listOne(Integer id) {
@@ -516,9 +523,7 @@
if (ToolUtil.isEmpty(userName) || ToolUtil.isEmpty(tStore.getPhone())) {
return ERROR;
}
- if (!userMapper.selectList(new LambdaQueryWrapper<User>().eq(User::getAccount, tStore.getPhone())).isEmpty()) {
- return "5001";
- }
+ tStore.setManagerName(userName);
if(yyId==null || type==1){
yyId=0;
}
@@ -611,9 +616,6 @@
String space_id = data.getString("space_id");
Integer integer = Integer.valueOf(space_id);
tStore.setId(integer);
- User storeManager = createStoreManager(userName, tStore.getPhone(), tStore.getId());
- userMapper.insert(storeManager);
- tStore.setStoreStaffId(storeManager.getId());
storeService.save(tStore);
ArrayList<StoreConfig> storeConfigs = new ArrayList<>();
for (int i = 1; i < 9; i++) {
@@ -658,14 +660,7 @@
if (ToolUtil.isEmpty(userName) || ToolUtil.isEmpty(tStore.getPhone())) {
return ERROR;
}
- LambdaQueryWrapper<User> managerAccountQuery = new LambdaQueryWrapper<User>()
- .eq(User::getAccount, tStore.getPhone());
- if (byIdc.getStoreStaffId() != null) {
- managerAccountQuery.ne(User::getId, byIdc.getStoreStaffId());
- }
- if (!userMapper.selectList(managerAccountQuery).isEmpty()) {
- return "5001";
- }
+ tStore.setManagerName(userName);
if(yyId==null){
yyId=0;
@@ -698,10 +693,17 @@
}
}
}else {
- TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getId, tStore.getProvinceCode()));
+ // 编辑页提交的是行政区划编码;按 id 查询会导致查不到省、市,随后访问名称时抛出 NPE。
+ TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, tStore.getProvinceCode()));
+ if (one == null) {
+ return ERROR;
+ }
tStore.setProvince(one.getName());
tStore.setProvinceCode(one.getCode());
- TCity one1 = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getId, tStore.getCityCode()));
+ TCity one1 = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, tStore.getCityCode()));
+ if (one1 == null) {
+ return ERROR;
+ }
tStore.setCity(one1.getName());
tStore.setCityCode(one1.getCode());
}
@@ -728,17 +730,6 @@
if (UserExt.getUser().getObjectType()==2){
tStore.setOperatorId(null);
}
- User storeManager = byIdc.getStoreStaffId() == null ? null : userMapper.selectById(byIdc.getStoreStaffId());
- if (storeManager == null) {
- storeManager = createStoreManager(userName, tStore.getPhone(), tStore.getId());
- userMapper.insert(storeManager);
- tStore.setStoreStaffId(storeManager.getId());
- } else {
- storeManager.setName(userName);
- storeManager.setPhone(tStore.getPhone());
- storeManager.setAccount(tStore.getPhone());
- userMapper.updateById(storeManager);
- }
storeService.updateById(tStore);
return new SuccessTip<>();
@@ -748,19 +739,6 @@
}
}
- private User createStoreManager(String name, String phone, Integer storeId) {
- User user = new User();
- user.setName(name);
- user.setPhone(phone);
- user.setAccount(phone);
- user.setPassword(SecureUtil.md5("a123456"));
- user.setRoleid("3");
- user.setObjectType(3);
- user.setObjectId(storeId);
- user.setStatus(1);
- user.setCreatetime(new Date());
- return user;
- }
@RequestMapping(value = "/onChange")
@ResponseBody
public Object onChange(Integer oneId) {
@@ -998,15 +976,9 @@
@ResponseBody
public Object freeze(Integer id) {
try {
- // 查询门店 获取门店店长id
TStore store = storeService.getById(id);
- // 冻结
store.setState(2);
storeService.updateById(store);
- Integer storeStaffId = store.getStoreStaffId();
- User user = userService.getById(storeStaffId);
- user.setStatus(2);
- userService.updateById(user);
return SUCCESS_TIP;
}catch (Exception e){
e.printStackTrace();
@@ -1017,15 +989,9 @@
@ResponseBody
public Object unfreeze(Integer id) {
try {
- // 查询门店 获取门店店长id
TStore store = storeService.getById(id);
- // 解冻
store.setState(1);
storeService.updateById(store);
- Integer storeStaffId = store.getStoreStaffId();
- User user = userService.getById(storeStaffId);
- user.setStatus(1);
- userService.updateById(user);
return SUCCESS_TIP;
}catch (Exception e){
e.printStackTrace();
@@ -1052,7 +1018,13 @@
public Object pwd(Integer id) {
try {
TStore byId = storeService.getById(id);
+ if (byId == null || byId.getStoreStaffId() == null) {
+ return ERROR;
+ }
User user = userMapper.selectById(byId.getStoreStaffId());
+ if (user == null) {
+ return ERROR;
+ }
user.setPassword(SecureUtil.md5("a123456"));
userMapper.updateById(user);
return SUCCESS_TIP;
--
Gitblit v1.7.1