From 44118c0312f656e200def2e59186237999a6908d Mon Sep 17 00:00:00 2001
From: 刘帅 <rr.iii@qq.com>
Date: 星期三, 23 九月 2026 11:07:11 +0800
Subject: [PATCH] bug:员工权限

---
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java |  453 +++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 335 insertions(+), 118 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 94b7e66..8ba320f 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
@@ -1,7 +1,7 @@
 package com.dsh.guns.modular.system.controller.code;
 
 import cn.hutool.crypto.SecureUtil;
-import cn.hutool.http.HttpRequest;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -9,32 +9,56 @@
 import com.dsh.course.feignClient.account.CityClient;
 import com.dsh.course.feignClient.account.model.CityListQuery;
 import com.dsh.course.feignClient.account.model.TCityManager;
+import com.dsh.course.feignClient.communityWorldCup.Model.WorldCupStore;
+import com.dsh.course.feignClient.communityWorldCup.Model.WorldCupStoreVO;
+import com.dsh.course.feignClient.communityWorldCup.WorldCupStoreClient;
 import com.dsh.course.feignClient.competition.CompetitionClient;
-import com.dsh.course.feignClient.other.model.Site;
 import com.dsh.course.mapper.UserMapper;
 import com.dsh.guns.config.UserExt;
 import com.dsh.guns.core.base.controller.BaseController;
 import com.dsh.guns.core.base.tips.SuccessTip;
 import com.dsh.guns.core.common.constant.factory.PageFactory;
 import com.dsh.guns.core.util.ToolUtil;
-import com.dsh.guns.modular.system.model.*;
-import com.dsh.guns.modular.system.service.*;
-import com.dsh.guns.modular.system.util.GaoDeMapUtil;
+import com.dsh.guns.modular.system.model.StoreConfig;
+import com.dsh.guns.modular.system.model.TCity;
+import com.dsh.guns.modular.system.model.TOperator;
+import com.dsh.guns.modular.system.model.TOperatorCity;
+import com.dsh.guns.modular.system.model.TStore;
+import com.dsh.guns.modular.system.model.TStoreListVo;
+import com.dsh.guns.modular.system.model.TStoreOther;
+import com.dsh.guns.modular.system.model.TStoreOtherConfig;
+import com.dsh.guns.modular.system.model.TStoreOtherConfigTrue;
+import com.dsh.guns.modular.system.model.TTurn;
+import com.dsh.guns.modular.system.model.User;
+import com.dsh.guns.modular.system.service.ICityService;
+import com.dsh.guns.modular.system.service.IStoreService;
+import com.dsh.guns.modular.system.service.ITSiteService;
+import com.dsh.guns.modular.system.service.IUserService;
+import com.dsh.guns.modular.system.service.StoreConfigService;
+import com.dsh.guns.modular.system.service.TOperatorCityService;
+import com.dsh.guns.modular.system.service.TOperatorService;
+import com.dsh.guns.modular.system.service.TStoreOtherConfigService;
+import com.dsh.guns.modular.system.service.TStoreOtherConfigTrueService;
+import com.dsh.guns.modular.system.service.TStoreOtherService;
+import com.dsh.guns.modular.system.service.TTurnService;
 import com.dsh.guns.modular.system.util.HttpRequestUtil;
-import io.swagger.models.auth.In;
-import org.apache.poi.ss.formula.functions.T;
-import org.bouncycastle.math.raw.Mod;
+import com.dsh.guns.modular.system.util.ImageUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 
 import javax.annotation.Resource;
-import java.util.*;
-import java.util.stream.Collectors;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * 车辆管理控制器
@@ -84,29 +108,52 @@
     private ITSiteService siteService;
     @Autowired
     private IUserService userService;
+    @Autowired
+    private WorldCupStoreClient worldCupStoreClient;
 
 
+    // 添加SUTU
     @RequestMapping("/tShop_addDevice/{id}")
     public String addDevice(@PathVariable("id") Integer id,Model model) {
-        // 查询门店下的所有场地
-        List<TSite> list = siteService.list(new QueryWrapper<TSite>().eq("storeId", id));
         // 门店id
         model.addAttribute("id",id);
-        model.addAttribute("list",list);
         return PREFIX + "TShop_add_device.html";
     }
+
     @RequestMapping("/addDevice")
-    public Object addDevice(Integer id,Integer siteId,String device) {
+    public Object addDevice(Integer id,String device) {
+        // 应该是不用他了
         HashMap<String, String> map = new HashMap<>();
         map.put("sign","0DB011836143EEE2C2E072967C9F4E4B");
         map.put("space_id",id.toString());
-        map.put("device_id",device);
-        map.put("region_id",siteId+"");
+        map.put("name",device);
+        map.put("city_code","");
         // 添加门禁
-        String s1 = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addDevice", map);
+        String s1 = HttpRequestUtil.postRequest
+                ("https://try.daowepark.c" +
+                        "om/v7/user_api/general/addSpaceSutu", map);
         return SUCCESS_TIP;
     }
 
+//    public static void main(String[] args) {
+////        HashMap<String, String> map = new HashMap<>();
+////        map.put("page","1");
+////        map.put("space_id","2010");
+////        // 获取门禁列表
+////        String s1 = HttpRequestUtil.getRequest
+////                ("https://port.daowepark.com/v7/user_api/general/getDevice", map);
+////        System.err.println(s1);
+//
+//        HashMap<String, String> map = new HashMap<>();
+//        map.put("sign","0DB011836143EEE2C2E072967C9F4E4B");
+//        map.put("space_id","1");
+//        map.put("device_id","1");
+//        map.put("region_id","2010");
+//        // 获取门禁列表
+//        String s1 = HttpRequestUtil.getRequest
+//                ("https://port.daowepark.com/v7/user_api/general/getDevice", map);
+//        System.err.println(s1);
+//    };
     /**
      * 跳转到车辆管理首页
      */
@@ -146,12 +193,12 @@
         }
 
 //        if (!roleid.equals("1")){
-            TOperator operator1 = tOperatorService.getOne(new QueryWrapper<TOperator>().eq("userId", UserExt.getUser().getId()));
-            if(operator1!=null){
-                model.addAttribute("operator",operator1.getId());
-            }else {
-                model.addAttribute("operator",0);
-            }
+        TOperator operator1 = tOperatorService.getOne(new QueryWrapper<TOperator>().eq("userId", UserExt.getUser().getId()));
+        if(operator1!=null){
+            model.addAttribute("operator",operator1.getId());
+        }else {
+            model.addAttribute("operator",0);
+        }
 //        }
 
         model.addAttribute("yysList",list1);
@@ -162,17 +209,28 @@
     @RequestMapping("/getProvinceYys")
     @ResponseBody
     public Object getProvinceYys(Integer operatorId) {
-        // 获取运营商管理的所有省
-        List<TOperatorCity> list = operatorCityService.list(new QueryWrapper<TOperatorCity>().eq("operatorId", operatorId)
-                .eq("pid", 0));
+        // 判断当前运营商是管理全国还是指定区域
+        TOperator byId = tOperatorService.getById(operatorId);
+        // 说明是管理全国
+        if (byId.getType()==1){
+            List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
+            return list;
+        }else{
+            // 获取运营商管理的所有省
+            List<TOperatorCity> list = operatorCityService.list(new QueryWrapper<TOperatorCity>().eq("operatorId", operatorId)
+                    .eq("pid", 0));
+            return list;
+        }
 
-        return list;
+
     }
     // 运营商根据省筛选市区
     @RequestMapping("/getCityYys")
     @ResponseBody
     public Object getCityYys(String province,Integer operatorId) {
-
+        if (UserExt.getUser().getObjectType() == 2){
+            operatorId = UserExt.getUser().getObjectId();
+        }
         // 通过选择的省 获取管理的市
         TOperatorCity byId = operatorCityService.getOne(new QueryWrapper<TOperatorCity>()
                 .eq("code",province).eq("operatorId",operatorId));
@@ -183,7 +241,7 @@
         }else{
             List<TOperatorCity> list = operatorCityService.list(new QueryWrapper<TOperatorCity>()
                     .eq("operatorId", operatorId)
-            .eq("pid",byId.getId()));
+                    .eq("pid",byId.getId()));
             if (list.size() == 0){
                 // 说明管理整个省
                 TCity code = cityService.getOne(new QueryWrapper<TCity>().eq("code", byId.getCode()));
@@ -273,10 +331,13 @@
 
         model.addAttribute("list2",list2.getRecords());
         String roleid = UserExt.getUser().getRoleid();
-            model.addAttribute("role",roleid);
+        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("managerPhone", resolveStoreManagerPhone(byId, byId1));
         model.addAttribute("type",1);
         // 如果当前登陆人是运营商
         if (UserExt.getUser().getObjectType()==2){
@@ -358,7 +419,10 @@
         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("managerPhone", resolveStoreManagerPhone(byId, byId1));
         model.addAttribute("type",0);
+
         return PREFIX + "TShop_edit.html";
     }
     @RequestMapping("/tShop_gift/{id}")
@@ -387,6 +451,21 @@
         StoreConfig c8 = storeConfigService.getOne(new LambdaQueryWrapper<StoreConfig>().eq(StoreConfig::getStoreId, id).eq(StoreConfig::getType,8));
         model.addAttribute("c8",c8);
         model.addAttribute("id",id);
+        List<WorldCupStoreVO> worldCupStores = worldCupStoreClient.getWorldCupStoreListByStoreId(id);
+        if (CollectionUtils.isEmpty(worldCupStores)){
+            model.addAttribute("worldCupStores",new ArrayList<>());
+        }else{
+            model.addAttribute("worldCupStores",worldCupStores);
+        }
+        //玩湃惠民卡
+        StoreConfig c10 = storeConfigService.getOne(new LambdaQueryWrapper<StoreConfig>().eq(StoreConfig::getStoreId, id).eq(StoreConfig::getType,10));
+        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";
     }
 
@@ -398,8 +477,12 @@
         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);
+            // 门店员工按员工-门店中间表的数据范围查询;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 {
             Integer objectId = UserExt.getUser().getObjectId();
             list = storeService.listAll(page,provinceCode,cityCode,name,phone,shopName,objectId);
@@ -427,17 +510,22 @@
     @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;
+            }
+            if (!userMapper.selectList(new LambdaQueryWrapper<User>().eq(User::getAccount, tStore.getPhone())).isEmpty()) {
+                return "5001";
+            }
             if(yyId==null || type==1){
                 yyId=0;
             }
@@ -446,7 +534,7 @@
                 if(list1.size()>0){
                     if (ToolUtil.isNotEmpty(tStore.getProvinceCode())) {
                         TOperatorCity byId = operatorCityService.getOne(new QueryWrapper<TOperatorCity>().eq("code",tStore.getProvinceCode())
-                        .eq("operatorId",yyId));
+                                .eq("operatorId",yyId));
                         TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, byId.getCode()));
                         tStore.setProvince(one.getName());
                         tStore.setProvinceCode(one.getCode());
@@ -465,10 +553,10 @@
                         }
                     }
                 }else {
-                    TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getId, tStore.getProvinceCode()));
+                    TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, tStore.getProvinceCode()));
                     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()));
                     tStore.setCity(one1.getName());
                     tStore.setCityCode(one1.getCode());
                 }
@@ -497,35 +585,43 @@
             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";
+            tStore.setLon(lon);
+            tStore.setLat(lat);
+            if (yyId == null || yyId == 0){
+                tStore.setOperatorId(0);
+            }else{
+                tStore.setOperatorId(yyId);
             }
-            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){
-                    tStore.setOperatorId(0);
-                }else{
-                    tStore.setOperatorId(yyId);
-                }
+            if (UserExt.getUser().getObjectType()==2){
+                tStore.setOperatorId(UserExt.getUser().getObjectId());
+            }
+
+            // 添加门店
+            HashMap<String, String> map1 = new HashMap<>();
+            map1.put("sign","0DB011836143EEE2C2E072967C9F4E4B");
+            map1.put("name",tStore.getName());
+            map1.put("short_name",tStore.getName());
+            map1.put("location",tStore.getCity());
+            map1.put("address",tStore.getAddress());
+            map1.put("telephone",tStore.getPhone());
+            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);
+            JSONObject data = jsonObject.getJSONObject("data");
+            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);
-            user.setObjectId(tStore.getId());
-            userService.updateById(user);
-
-
-
-
-
             ArrayList<StoreConfig> storeConfigs = new ArrayList<>();
             for (int i = 1; i < 9; i++) {
                 StoreConfig storeConfig = new StoreConfig();
@@ -536,27 +632,23 @@
                 storeConfigs.add(storeConfig);
             }
             storeConfigService.saveBatch(storeConfigs);
-
-
-            // 添加门店
-            HashMap<String, String> map1 = new HashMap<>();
-            map1.put("sign","0DB011836143EEE2C2E072967C9F4E4B");
-            map1.put("name",tStore.getName());
-            map1.put("short_name",tStore.getName());
-            map1.put("location",tStore.getCity());
-            map1.put("address",tStore.getAddress());
-            map1.put("telephone",tStore.getPhone());
-            map1.put("linkman",userName);
-            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());
-            map1.put("space_id",tStore.getId().toString());
-            String result = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addSpace", map1);
-            System.out.println(result);
-
-
+            // 废弃添加门店时 添加闸机
+//            HashMap<String, String> mapSite = new HashMap<>();
+//            mapSite.put("sign","0DB011836143EEE2C2E072967C9F4E4B");
+//            mapSite.put("name",tStore.getName());
+//            mapSite.put("space_id",tStore.getId().toString());
+//            mapSite.put("area_id",tSite.getId().toString());
+//            HttpRequestUtil.postRequest("https://port.daowepark.com/v7/user_api/general/addSpaceArea", mapSite);
+//            for (String s : tStore.getIds().split(",")) {
+//                HashMap<String, String> map = new HashMap<>();
+//                map.put("sign","0DB011836143EEE2C2E072967C9F4E4B");
+//                map.put("space_id",tStore.getId()+"");
+//                map.put("device_id",s);
+//                map.put("region_id",tSite.getId().toString());
+//                // 添加门禁
+//                String s1 = HttpRequestUtil.postRequest("https://port.daowepark.com/v7/user_api/general/addDevice", map);
+//                System.out.println(s1);
+//            }
             return new SuccessTip<>();
         }catch (Exception e){
             e.printStackTrace();
@@ -566,9 +658,21 @@
 
     @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;
+            }
+            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";
+            }
 
             if(yyId==null){
                 yyId=0;
@@ -601,10 +705,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());
                 }
@@ -625,20 +736,22 @@
             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);
             // 运营商编辑
             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);
 
@@ -647,6 +760,27 @@
             e.printStackTrace();
             return ERROR;
         }
+    }
+
+    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;
+    }
+
+    private String resolveStoreManagerPhone(TStore store, User storeManager) {
+        if (ToolUtil.isNotEmpty(store.getPhone())) {
+            return store.getPhone();
+        }
+        return storeManager == null ? "" : storeManager.getPhone();
     }
     @RequestMapping(value = "/onChange")
     @ResponseBody
@@ -661,9 +795,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,
-                             String c1,String c2,String c3,String c4,String c5,String c6,String c7,String c8,
-                             Integer r1,Integer r2,Integer r3,Integer r4,Integer r5,Integer r6,Integer r7,Integer r8) {
+    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);
@@ -674,6 +808,9 @@
             StoreConfig collect6 = collect(id, px6, r6, c6, 6);
             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);
@@ -682,7 +819,33 @@
             storeConfigs.add(collect6);
             storeConfigs.add(collect7);
             storeConfigs.add(collect8);
-            storeConfigService.updateBatchById(storeConfigs);
+            storeConfigs.add(collect10);
+            storeConfigs.add(collect11);
+            storeConfigs.add(collect12);
+            storeConfigService.saveOrUpdateBatch(storeConfigs);
+
+            // 修改世界杯
+            JSONArray jsonArray = JSONObject.parseArray(str);
+            List<WorldCupStore> worldCupStores = new ArrayList<>();
+            for (Object o : jsonArray) {
+                String s = JSONObject.toJSONString(o);
+                JSONObject jsonObject = JSONObject.parseObject(s);
+                Integer id1 = jsonObject.getInteger("id");
+                String backgroundImage = jsonObject.getString("backgroundImage");
+                Integer isOpen = jsonObject.getInteger("isOpen");
+                Integer sort = jsonObject.getInteger("sort");
+                WorldCupStore worldCupStore = new WorldCupStore();
+                worldCupStore.setSort(sort);
+                worldCupStore.setId(id1);
+                worldCupStore.setBackgroundImage(backgroundImage);
+                if (ToolUtil.isNotEmpty(backgroundImage)) {
+                    worldCupStore.setDisplayType(ImageUtils.getImageDimensions(backgroundImage).getDisplayType());
+                }
+                worldCupStore.setIsOpen(isOpen);
+                worldCupStores.add(worldCupStore);
+            }
+            worldCupStoreClient.updateWorldCupStoreListById(worldCupStores);
+
             return new SuccessTip<>();
         }catch (Exception e){
             e.printStackTrace();
@@ -691,11 +854,33 @@
     }
 
     private StoreConfig collect(Integer id,Integer sort,Integer isOpen,String img,int type){
-        StoreConfig one = storeConfigService.getOne(new LambdaQueryWrapper<StoreConfig>().eq(StoreConfig::getStoreId, id).eq(StoreConfig::getType, type));
-        one.setSort(sort);
-        one.setIsOpen(isOpen);
-        if(ToolUtil.isNotEmpty(img)){
-            one.setBackgroundImage(img);
+        StoreConfig one = storeConfigService.getOne(new QueryWrapper<StoreConfig>()
+                .eq("storeId", id)
+                .eq("type", type));
+        try {
+            if (one != null) {
+                one.setSort(sort);
+                one.setIsOpen(isOpen);
+                if (ToolUtil.isNotEmpty(img)) {
+                    one.setBackgroundImage(img);
+                    one.setDisplayType(ImageUtils.getImageDimensions(img).getDisplayType());
+                }
+            }
+            if (one == null) {
+                StoreConfig storeConfig = new StoreConfig();
+                storeConfig.setStoreId(id);
+                storeConfig.setType(type);
+                storeConfig.setIsOpen(isOpen);
+                storeConfig.setSort(sort);
+                storeConfig.setBackgroundImage(img);
+                if (ToolUtil.isNotEmpty(img)) {
+                    storeConfig.setDisplayType(ImageUtils.getImageDimensions(img).getDisplayType());
+                }
+                storeConfigService.save(storeConfig);
+                return storeConfig;
+            }
+        } catch (IOException e) {
+            throw new RuntimeException(e);
         }
         return one;
     }
@@ -795,8 +980,7 @@
     @RequestMapping(value = "/deleteTwo")
     public Object delete2(Integer id) {
         try {
-            storeOtherConfigService.removeById(id);
-
+            tStoreOtherConfigTrueService.removeById(id);
             return SUCCESS_TIP;
         }catch (Exception e){
             e.printStackTrace();
@@ -934,7 +1118,7 @@
     @ResponseBody
     public Object addConfigOne(String url,String name,Integer page,Integer type,String  turnId,Integer sort) {
         try {
-             storeService.addConfigOne(url,name,page,type,turnId,sort);
+            storeService.addConfigOne(url,name,page,type,turnId,sort);
             return SUCCESS_TIP;
         }catch (Exception e){
             e.printStackTrace();
@@ -967,7 +1151,7 @@
             }
 
 
-        return SUCCESS_TIP;
+            return SUCCESS_TIP;
         }catch (Exception e){
             e.printStackTrace();
             return ERROR;
@@ -983,7 +1167,7 @@
             storeOtherService.updateById(byId);
 
 
-        return SUCCESS_TIP;
+            return SUCCESS_TIP;
         }catch (Exception e){
             e.printStackTrace();
             return ERROR;
@@ -1022,10 +1206,14 @@
                 byId.setUrl(url);
             }
             byId.setName(name);
-            TTurn byId1 = tTurnService.getById(page);
-            TTurn byId2 = tTurnService.getById(type);
-            byId.setPage(byId1.getName());
-            byId.setType(byId2.getName());
+            if(page!=null){
+                TTurn byId1 = tTurnService.getById(page);
+                byId.setPage(byId1.getName());
+            }
+            if(page!=null){
+                TTurn byId2 = tTurnService.getById(type);
+                byId.setType(byId2.getName());
+            }
             byId.setTurnId(turnId);
             byId.setSort(sort);
             byId.setPageId(page);
@@ -1038,7 +1226,36 @@
         }
     }
 
-
+    @RequestMapping(value = "/addConfigOne9")
+    @ResponseBody
+    public Object addConfigOne9(String url,String name,Integer page,Integer type,String  turnId,Integer sort,Integer id) {
+        try {
+            TStoreOtherConfigTrue byId = new TStoreOtherConfigTrue();
+            byId.setPid(id);
+            if(ToolUtil.isNotEmpty(url)){
+                byId.setUrl(url);
+            }
+            byId.setName(name);
+            if(page!=null){
+                TTurn byId1 = tTurnService.getById(page);
+                byId.setPage(byId1.getName());
+            }
+            if(page!=null){
+                TTurn byId2 = tTurnService.getById(type);
+                byId.setType(byId2.getName());
+            }
+            byId.setTurnId(turnId);
+            byId.setSort(sort);
+            byId.setPageId(page);
+            byId.setTypeId(type);
+            byId.setState(1);
+            tStoreOtherConfigTrueService.save(byId);
+            return SUCCESS_TIP;
+        }catch (Exception e){
+            e.printStackTrace();
+            return ERROR;
+        }
+    }
 
 
 }

--
Gitblit v1.7.1