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 |  119 +++++++++++++++++++++++++++++++----------------------------
 1 files changed, 63 insertions(+), 56 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 06fc408..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,8 +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", byId.getManagerName());
+        model.addAttribute("managerPhone", byId.getPhone());
         model.addAttribute("type",1);
         // 如果当前登陆人是运营商
         if (UserExt.getUser().getObjectType()==2){
@@ -414,8 +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", byId.getManagerName());
+        model.addAttribute("managerPhone", byId.getPhone());
         model.addAttribute("type",0);
 
         return PREFIX + "TShop_edit.html";
@@ -454,7 +454,13 @@
         }
         //玩湃惠民卡
         StoreConfig c10 = storeConfigService.getOne(new LambdaQueryWrapper<StoreConfig>().eq(StoreConfig::getStoreId, id).eq(StoreConfig::getType,10));
-        model.addAttribute("c10",c10);
+        model.addAttribute("c10",c10!=null?c10:new StoreConfig());
+        //会员卡板块
+        StoreConfig c11 = storeConfigService.getOne(new LambdaQueryWrapper<StoreConfig>().eq(StoreConfig::getStoreId, id).eq(StoreConfig::getType,11));
+        model.addAttribute("c11",c11!=null?c11:new StoreConfig());
+        //散客入场
+        StoreConfig c12 = storeConfigService.getOne(new LambdaQueryWrapper<StoreConfig>().eq(StoreConfig::getStoreId, id).eq(StoreConfig::getType,12));
+        model.addAttribute("c12",c12!=null?c12:new StoreConfig());
         return PREFIX + "TShop_imgAll.html";
     }
 
@@ -463,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) {
@@ -495,15 +510,20 @@
     @ResponseBody
     public Object listTwo1(Integer id) {
         Page<TStoreOtherConfigTrue> page = new PageFactory<TStoreOtherConfigTrue>().defaultPage();
-        List<TStoreOtherConfigTrue> list = tStoreOtherConfigTrueService.page(page,new LambdaQueryWrapper<TStoreOtherConfigTrue>().eq(TStoreOtherConfigTrue::getPid, id).eq(TStoreOtherConfigTrue::getState,1)).getRecords();
+        List<TStoreOtherConfigTrue> list = tStoreOtherConfigTrueService.page(page,new LambdaQueryWrapper<TStoreOtherConfigTrue>().eq(TStoreOtherConfigTrue::getPid, id).eq(TStoreOtherConfigTrue::getState,1).orderByDesc(TStoreOtherConfigTrue::getId)).getRecords();
         page.setRecords(list);
         return  super.packForBT(page);
     }
 
     @RequestMapping(value = "/add")
     @ResponseBody
-    public Object list(TStore tStore,String time,String userName,String userPhone,String ids,Integer type,Integer yyId,String lat,String lon,String pCode1,String cCode1) {
+    public Object list(TStore tStore, String time, String ids, Integer type, Integer yyId, String lat, String lon,
+                       String pCode1, String cCode1, String userName) {
         try {
+            if (ToolUtil.isEmpty(userName) || ToolUtil.isEmpty(tStore.getPhone())) {
+                return ERROR;
+            }
+            tStore.setManagerName(userName);
             if(yyId==null || type==1){
                 yyId=0;
             }
@@ -563,20 +583,6 @@
             tStore.setOperatorId(yyId);
             tStore.setState(1);
             tStore.setCreateTime(new Date());
-            User user = new User();
-            List<User> users = userMapper.selectList(new LambdaQueryWrapper<User>().eq(User::getAccount, userPhone));
-            if(users.size()>0){
-                return "5001";
-            }
-            user.setAccount(userPhone);
-            user.setName(userName);
-            user.setRoleid("3");
-            user.setPhone(userPhone);
-            user.setPassword(SecureUtil.md5("a123456"));
-            user.setObjectType(3);
-            user.setStatus(1);
-            userMapper.insert(user);
-            tStore.setStoreStaffId(user.getId());
             tStore.setLon(lon);
             tStore.setLat(lat);
             if (yyId == null || yyId == 0){
@@ -596,12 +602,13 @@
             map1.put("location",tStore.getCity());
             map1.put("address",tStore.getAddress());
             map1.put("telephone",tStore.getPhone());
-            map1.put("linkman",userName);
+            map1.put("linkman",tStore.getName());
             map1.put("business_time","[{\"start_time\":\""+tStore.getStartTime()+"\",\"close_time\":\""+tStore.getEndTime()+"\"}]");
             map1.put("logo",tStore.getCoverDrawing());
             map1.put("remark",tStore.getIntroduce());
             map1.put("lat",tStore.getLat());
             map1.put("lng",tStore.getLon());
+//            String result = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addSpace", map1);
             String result = HttpRequestUtil.postRequest("https://port.daowepark.com/v7/user_api/general/addSpace", map1);
             System.out.println(result);
             JSONObject jsonObject = JSONObject.parseObject(result);
@@ -610,8 +617,6 @@
             Integer integer = Integer.valueOf(space_id);
             tStore.setId(integer);
             storeService.save(tStore);
-            user.setObjectId(tStore.getId());
-            userService.updateById(user);
             ArrayList<StoreConfig> storeConfigs = new ArrayList<>();
             for (int i = 1; i < 9; i++) {
                 StoreConfig storeConfig = new StoreConfig();
@@ -648,9 +653,14 @@
 
     @RequestMapping(value = "/update")
     @ResponseBody
-    public Object update(TStore tStore,String time,String userName,String userPhone,String ids,Integer type,Integer yyId,String lat,String lon,String pCode1,String cCode1) {
+    public Object update(TStore tStore, String time, String ids, Integer type, Integer yyId, String lat, String lon,
+                         String pCode1, String cCode1, String userName) {
         try {
             TStore byIdc = storeService.getById(tStore.getId());
+            if (ToolUtil.isEmpty(userName) || ToolUtil.isEmpty(tStore.getPhone())) {
+                return ERROR;
+            }
+            tStore.setManagerName(userName);
 
             if(yyId==null){
                 yyId=0;
@@ -683,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());
                 }
@@ -707,15 +724,6 @@
             if(ToolUtil.isEmpty(tStore.getCoverDrawing())){
                 tStore.setCoverDrawing(byIdc.getCoverDrawing());
             }
-            User user = userMapper.selectById(byIdc.getStoreStaffId());
-            List<User> users = userMapper.selectList(new LambdaQueryWrapper<User>().eq(User::getAccount, userPhone).ne(User::getId,tStore.getStoreStaffId()));
-            if(users.size()>0){
-                return "5001";
-            }
-            user.setAccount(userPhone);
-            user.setName(userName);
-            user.setPhone(userPhone);
-            userMapper.updateById(user);
             tStore.setLon(lon);
             tStore.setLat(lat);
             // 运营商编辑
@@ -730,6 +738,7 @@
             return ERROR;
         }
     }
+
     @RequestMapping(value = "/onChange")
     @ResponseBody
     public Object onChange(Integer oneId) {
@@ -743,9 +752,9 @@
     }
     @RequestMapping(value = "/saveImgAll")
     @ResponseBody
-    public Object saveImgAll(Integer id,Integer px1,Integer px2,Integer px3,Integer px4,Integer px5,Integer px6,Integer px7,Integer px8,Integer px10,
-                             String c1,String c2,String c3,String c4,String c5,String c6,String c7,String c8,String c10,
-                             Integer r1,Integer r2,Integer r3,Integer r4,Integer r5,Integer r6,Integer r7,Integer r8,Integer r10,String str) {
+    public Object saveImgAll(Integer id,Integer px1,Integer px2,Integer px3,Integer px4,Integer px5,Integer px6,Integer px7,Integer px8,Integer px10,Integer px11,Integer px12,
+                             String c1,String c2,String c3,String c4,String c5,String c6,String c7,String c8,String c10,String c111,String c12,
+                             Integer r1,Integer r2,Integer r3,Integer r4,Integer r5,Integer r6,Integer r7,Integer r8,Integer r10,Integer r11,Integer r12,String str) {
         try {
             ArrayList<StoreConfig> storeConfigs = new ArrayList<>();
             StoreConfig collect1 = collect(id, px1, r1, c1, 1);
@@ -757,6 +766,8 @@
             StoreConfig collect7 = collect(id, px7, r7, c7, 7);
             StoreConfig collect8 = collect(id, px8, r8, c8, 8);
             StoreConfig collect10 = collect(id, px10, r10, c10, 10);
+            StoreConfig collect11 = collect(id, px11, r11, c111, 11);
+            StoreConfig collect12 = collect(id, px12, r12, c12, 12);
             storeConfigs.add(collect1);
             storeConfigs.add(collect2);
             storeConfigs.add(collect3);
@@ -766,6 +777,8 @@
             storeConfigs.add(collect7);
             storeConfigs.add(collect8);
             storeConfigs.add(collect10);
+            storeConfigs.add(collect11);
+            storeConfigs.add(collect12);
             storeConfigService.saveOrUpdateBatch(storeConfigs);
 
             // 修改世界杯
@@ -963,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();
@@ -982,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();
@@ -1017,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