刘帅
2026-09-21 7a8af8c19b40b8028e25ee0b669463d06f723a30
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java
@@ -1,7 +1,6 @@
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;
@@ -14,33 +13,52 @@
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.PostMapping;
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;
/**
 * 车辆管理控制器
@@ -317,6 +335,7 @@
        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("type",1);
        // 如果当前登陆人是运营商
        if (UserExt.getUser().getObjectType()==2){
@@ -398,6 +417,7 @@
        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("type",0);
        return PREFIX + "TShop_edit.html";
@@ -434,6 +454,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!=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";
    }
@@ -474,15 +503,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;
            }
@@ -510,10 +546,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());
                }
@@ -542,20 +578,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){
@@ -575,12 +597,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);
@@ -588,9 +611,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();
@@ -627,9 +651,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;
@@ -686,20 +722,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);
@@ -708,6 +746,20 @@
            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;
    }
    @RequestMapping(value = "/onChange")
    @ResponseBody
@@ -722,9 +774,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,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);
@@ -735,6 +787,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);
@@ -743,7 +798,10 @@
            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);
@@ -759,6 +817,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);
            }
@@ -775,24 +836,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")