刘帅
2026-09-22 652951bd0ce1eebcae43221e50d4cfda99c10aba
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java
@@ -42,6 +42,7 @@
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 com.dsh.guns.modular.system.util.ImageUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
@@ -52,6 +53,7 @@
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
@@ -333,6 +335,9 @@
        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){
@@ -414,6 +419,8 @@
        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";
@@ -450,9 +457,15 @@
        }else{
            model.addAttribute("worldCupStores",worldCupStores);
        }
        //惠民卡
        //玩湃惠民卡
        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";
    }
@@ -493,15 +506,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;
            }
@@ -529,10 +549,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());
                }
@@ -561,20 +581,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){
@@ -594,12 +600,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);
@@ -607,9 +614,10 @@
            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();
@@ -646,9 +654,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;
@@ -681,10 +701,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());
                }
@@ -705,20 +732,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);
@@ -727,6 +756,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
@@ -741,9 +791,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);
@@ -755,6 +805,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);
@@ -764,6 +816,8 @@
            storeConfigs.add(collect7);
            storeConfigs.add(collect8);
            storeConfigs.add(collect10);
            storeConfigs.add(collect11);
            storeConfigs.add(collect12);
            storeConfigService.saveOrUpdateBatch(storeConfigs);
            // 修改世界杯
@@ -780,6 +834,9 @@
                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);
            }
@@ -796,24 +853,31 @@
        StoreConfig one = storeConfigService.getOne(new QueryWrapper<StoreConfig>()
                .eq("storeId", id)
                .eq("type", type));
        if (one!=null){
            one.setSort(sort);
            one.setIsOpen(isOpen);
            if(ToolUtil.isNotEmpty(img)){
                one.setBackgroundImage(img);
        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);
        }
        if (one == null){
            StoreConfig storeConfig = new StoreConfig();
            storeConfig.setStoreId(id);
            storeConfig.setType(type);
            storeConfig.setIsOpen(isOpen);
            storeConfig.setSort(sort);
            storeConfig.setBackgroundImage(img);
            storeConfigService.save(storeConfig);
            return storeConfig;
        }
        return one;
    }
    @RequestMapping(value = "/oneChangeNext")