From 1592fb4cc6b6387149f9729f5bd2f19a28057d0a Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期五, 12 九月 2025 11:26:51 +0800
Subject: [PATCH] bug修改

---
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java |  886 +++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 507 insertions(+), 379 deletions(-)

diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java
index 8af7298..d31e0c6 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java
@@ -1,11 +1,10 @@
 package com.dsh.guns.modular.system.controller.system;
 
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.nacos.common.utils.Md5Utils;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.dsh.course.dto.JsDto;
 import com.dsh.course.dto.StudentQeryDto;
+import com.dsh.course.entity.SiteLock;
 import com.dsh.course.feignClient.account.AppUserClient;
 import com.dsh.course.feignClient.account.CityManagerClient;
 import com.dsh.course.feignClient.account.CoachClient;
@@ -20,26 +19,31 @@
 import com.dsh.course.feignClient.other.SiteClient;
 import com.dsh.course.feignClient.other.model.Site;
 import com.dsh.course.service.TGameConfigService;
+import com.dsh.course.util.UUIDUtil;
 import com.dsh.guns.config.UserExt;
 import com.dsh.guns.core.base.controller.BaseController;
+import com.dsh.guns.core.util.ToolUtil;
 import com.dsh.guns.modular.system.controller.util.MD5;
 import com.dsh.guns.modular.system.model.*;
 import com.dsh.guns.modular.system.model.dto.*;
 import com.dsh.guns.modular.system.service.*;
-import com.dsh.guns.modular.system.util.DateComparisonExample;
-import com.dsh.guns.modular.system.util.HttpRequestUtil;
-import com.dsh.guns.modular.system.util.ResultUtil;
-import com.dsh.course.entity.SiteLock;
+import com.dsh.guns.modular.system.util.*;
+import org.apache.tomcat.util.http.fileupload.ByteArrayOutputStream;
+import org.json.JSONArray;
 import org.json.JSONObject;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.io.ByteArrayResource;
+import org.springframework.mock.web.MockMultipartFile;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
-
+import javax.imageio.ImageIO;
+import java.awt.image.BufferedImage;
+import java.io.IOException;
 import java.math.BigDecimal;
-
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
@@ -52,8 +56,8 @@
 @RequestMapping("/ball")
 public class BallController extends BaseController {
     private String PREFIX = "/system/ball/";
-@Resource
-private BallClient ballClient;
+    @Resource
+    private BallClient ballClient;
     @Autowired
     private ICityService cityService;
 
@@ -86,26 +90,24 @@
     @Autowired
     private AppUserClient appUserClient;
 
-
     @RequestMapping("/tolist")
     public String tolist(Model model) {
-
         List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
-        model.addAttribute("list",list);
+        model.addAttribute("list", list);
         String roleid = UserExt.getUser().getRoleid();
-        model.addAttribute("role",roleid);
+        model.addAttribute("role", roleid);
 
-        return PREFIX+"ball.html";
+        return PREFIX + "ball.html";
     }
 
     //入园方式
     @RequestMapping("/joinmethod/{id}")
-    public String joinmethod(Model model,@PathVariable("id") Integer id) {
+    public String joinmethod(Model model, @PathVariable("id") Integer id) {
 
 
-        model.addAttribute("id",id);
+        model.addAttribute("id", id);
 
-        return PREFIX+"join.html";
+        return PREFIX + "join.html";
     }
 
 
@@ -113,16 +115,15 @@
     @ResponseBody
     public ResultUtil join(@RequestBody MethodDto method) {
 
-        System.out.println("============"+method);
+        System.out.println("============" + method);
         SiteBooking siteBooking = new SiteBooking();
         siteBooking.setStatus(2);
         siteBooking.setId(method.getId());
         siteBooking.setGoType(method.getMethod());
         iSiteBookingService.updateById(siteBooking);
 
-        return new ResultUtil<>(0,0,"到店成功",null,null);
+        return new ResultUtil<>(0, 0, "到店成功", null, null);
     }
-
 
 
     @RequestMapping(value = "/yunying")
@@ -130,30 +131,29 @@
     public ResultUtil getUserSlect() {
 
 
+        List<SelectDto> selectDtos = storeService.getSelect();
+        Map<String, List<SelectDto>> map = new HashMap<>();
+        map.put("options", selectDtos);
 
-        List<SelectDto>  selectDtos =  storeService.getSelect();
-        Map<String,List<SelectDto>> map = new HashMap<>();
-        map.put("options",selectDtos);
-
-        System.out.println("=======selectDtos====="+selectDtos);
-        return new ResultUtil(0,0,"编辑成功",map,"");
+        System.out.println("=======selectDtos=====" + selectDtos);
+        return new ResultUtil(0, 0, "编辑成功", map, "");
     }
 
     //取消凭证页面
     @RequestMapping("/tocancel/{id}")
-    public String tocancel(Model model,@PathVariable("id") Integer id) {
+    public String tocancel(Model model, @PathVariable("id") Integer id) {
 
-        model.addAttribute("id",id);
+        model.addAttribute("id", id);
 
-        return PREFIX+"cancel.html";
+        return PREFIX + "cancel.html";
     }
 
 
     @RequestMapping("/cancel")
     @ResponseBody
-    public ResultUtil cancel(Integer id,String voucher,String textarea) {
+    public ResultUtil cancel(Integer id, String voucher, String textarea) {
 
-        System.out.println("============"+id);
+        System.out.println("============" + id);
         SiteBooking siteBooking = new SiteBooking();
         siteBooking.setId(id);
         siteBooking.setStatus(5);
@@ -162,7 +162,7 @@
         siteBooking.setCancelUserId(UserExt.getUser().getId());
         iSiteBookingService.updateById(siteBooking);
 
-        return new ResultUtil<>(0,0,"到店成功",null,null);
+        return new ResultUtil<>(0, 0, "到店成功", null, null);
     }
 
     @RequestMapping("/confirm/{id}")
@@ -171,10 +171,9 @@
 
         SiteBooking byId = iSiteBookingService.getById(id);
         String money = byId.getMoney();
-        // todo 这里手动支付 默认按照现金当作支付金额 后续可能要问下产品
         String[] split = money.split(",");
         Double aDouble = Double.valueOf(split[0]);
-        System.out.println("============"+id);
+        System.out.println("============" + id);
         SiteBooking siteBooking = new SiteBooking();
         siteBooking.setPayMoney(aDouble);
         siteBooking.setId(id);
@@ -183,7 +182,7 @@
         siteBooking.setPayUserId(UserExt.getUser().getId());
         iSiteBookingService.updateById(siteBooking);
 
-        return new ResultUtil<>(0,0,"手动支付成功",null,null);
+        return new ResultUtil<>(0, 0, "手动支付成功", null, null);
     }
 
 
@@ -196,7 +195,7 @@
     @RequestMapping("/list")
     @ResponseBody
     public List<Game> changelist(BallQueryDto ballQueryDto) {
-System.out.println("=======ballQueryDto=========="+ballQueryDto);
+        System.out.println("=======ballQueryDto==========" + ballQueryDto);
         User user = UserExt.getUser();
         ballQueryDto.setType(user.getObjectType());
         ballQueryDto.setId(user.getObjectId());
@@ -205,7 +204,7 @@
 
     @ResponseBody
     @PostMapping("/editCoursePackageState")
-    public ResultUtil editCoursePackageState(Integer id, Integer state){
+    public ResultUtil editCoursePackageState(Integer id, Integer state) {
         Game game = new Game();
         game.setId(id);
         game.setState(state);
@@ -214,44 +213,64 @@
         return ResultUtil.success();
     }
 
+    public static MultipartFile convert(BufferedImage bufferedImage, String fileName) throws IOException {
+        // 将 BufferedImage 转换为字节数组
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        ImageIO.write(bufferedImage, "png", baos);
+        byte[] bytes = baos.toByteArray();
+
+        // 创建 ByteArrayResource
+        ByteArrayResource resource = new ByteArrayResource(bytes);
+
+        // 创建 MockMultipartFile
+        MockMultipartFile multipartFile = new MockMultipartFile(
+                "file",
+                fileName,
+                "image/png",
+                resource.getInputStream()
+        );
+
+        return multipartFile;
+    }
 
     @RequestMapping("/save")
     @ResponseBody
     public ResultUtil save(Integer id, String operationId, String red, String blue, String province, String city, Integer site, Integer store
-    , String kuacheng, BigDecimal kuachengCoin, BigDecimal kuachengCash, String kuachengImage, BigDecimal kuachengInt, Integer kuachengId,Integer kcId
-            , String shequ, BigDecimal shequCoin, BigDecimal shequCash, String shequImage, BigDecimal shequInt, Integer shequId,Integer shequIId
-            , String shemen, BigDecimal shemenCoin, BigDecimal shemenCash, String shemenImage, BigDecimal shemenInt, Integer shemenId,Integer smId
-            , String sudu, BigDecimal suduCoin, BigDecimal suduCash, String suduImage, BigDecimal suduInt, Integer suduId,Integer sdId
-            , String fangkuai, BigDecimal fangkuaiCoin, BigDecimal fangkuaiCash, String fangkuaiImage, BigDecimal fangkuaiInt, Integer fangkuaiId,Integer fkId
-            , String jx, BigDecimal jxCoin, BigDecimal jxCash, String jxImage, BigDecimal jxInt, Integer jxId,Integer jxIId
-            , String sq, BigDecimal sqCoin, BigDecimal sqCash, String sqImage, BigDecimal sqInt, Integer sqId,Integer qwId
-            , String zs, BigDecimal zsCoin, BigDecimal zsCash, String zsImage, BigDecimal zsInt, Integer zsId,Integer zsIId
-            , String zs2, BigDecimal zs2Coin, BigDecimal zs2Cash, String zs2Image, BigDecimal zs2Int, Integer zs2Id,Integer zs2IId
-            , String ly, BigDecimal lyCoin, BigDecimal lyCash, String lyImage, BigDecimal lyInt, Integer lyId,Integer lyIId
-                           ,String sutuName
+            , String kuacheng, BigDecimal kuachengCoin, BigDecimal kuachengCash, String kuachengImage, BigDecimal kuachengInt, Integer kuachengId, Integer kcId
+            , String shequ, BigDecimal shequCoin, BigDecimal shequCash, String shequImage, BigDecimal shequInt, Integer shequId, Integer shequIId
+            , String shemen, BigDecimal shemenCoin, BigDecimal shemenCash, String shemenImage, BigDecimal shemenInt, Integer shemenId, Integer smId
+            , String sudu, BigDecimal suduCoin, BigDecimal suduCash, String suduImage, BigDecimal suduInt, Integer suduId, Integer sdId
+            , String fangkuai, BigDecimal fangkuaiCoin, BigDecimal fangkuaiCash, String fangkuaiImage, BigDecimal fangkuaiInt, Integer fangkuaiId, Integer fkId
+            , String jx, BigDecimal jxCoin, BigDecimal jxCash, String jxImage, BigDecimal jxInt, Integer jxId, Integer jxIId
+            , String sq, BigDecimal sqCoin, BigDecimal sqCash, String sqImage, BigDecimal sqInt, Integer sqId, Integer qwId
+            , String zs, BigDecimal zsCoin, BigDecimal zsCash, String zsImage, BigDecimal zsInt, Integer zsId, Integer zsIId
+            , String zs2, BigDecimal zs2Coin, BigDecimal zs2Cash, String zs2Image, BigDecimal zs2Int, Integer zs2Id, Integer zs2IId
+            , String ly, BigDecimal lyCoin, BigDecimal lyCash, String lyImage, BigDecimal lyInt, Integer lyId, Integer lyIId
+            , String v3, BigDecimal v3Coin, BigDecimal v3Cash, String v3Image, BigDecimal v3Int, Integer v3Id, Integer v3IId
+            , String sutuName
 
-    ) {
+    ) throws Exception {
 
         Game game = new Game();
-        game.setRed(red);
+        game.setRedName(red);
         game.setState(0);
-        game.setBlue(blue);
+        game.setBlueName(blue);
 
 
         Integer objectType = UserExt.getUser().getObjectType();
 
-        if (objectType ==3){
+        if (objectType == 3) {
 
 
             TStore byId = storeService.getById(UserExt.getUser().getObjectId());
-            System.out.println("=====byId======="+byId);
+            System.out.println("=====byId=======" + byId);
             game.setProvinceCode(byId.getProvinceCode());
             game.setCityCode(byId.getCityCode());
 
 
-        }else {
-        game.setProvinceCode(province);
-        game.setCityCode(city);
+        } else {
+            game.setProvinceCode(province);
+            game.setCityCode(city);
 
         }
         game.setSiteId(site);
@@ -259,39 +278,121 @@
         game.setId(id);
 
 
-        if (!operationId.equals("平台")){
-        game.setOperationId(Integer.valueOf(operationId));}
-        else {
+        if (!operationId.equals("平台")) {
+            game.setOperationId(Integer.valueOf(operationId));
+        } else {
             game.setOperationId(0);
         }
-        System.out.println("============"+game);
+        System.out.println("============" + game);
+        TStore tStore = storeService.getById(store);
+        game.setOperationId(tStore.getOperatorId());
+        // 判断是新增还是修改 修改不会重新生成sutuId
+        if (game.getId() == null) {
+            HashMap<String, String> map5 = new HashMap<>();
+            map5.put("space_id", store + "");
+            map5.put("area_id", site + "");
+            String s5 = HttpRequestUtil.getRequest("https://port.daowepark.com/v7/user_api/general/get_space_sutu", map5);
+            System.err.println(s5);
+            JSONObject jsonObject5 = new JSONObject(s5);
+            JSONArray data = jsonObject5.getJSONArray("data");
+            Integer temp = null;  // 临时sutuid
+            Integer temp1 = null; // 临时sutuid
+            TSite si = siteService.getById(site);
+            if (data.length() == 0) {
+                // 这个场地没有添加过sutu
+                HashMap<String, String> map3 = new HashMap<>();
+                HashMap<String, String> map4 = new HashMap<>();
+                // 添加sutu编号
+                // 调用两次 创建sutu
+                map3.put("sign", "0DB011836143EEE2C2E072967C9F4E4B");
+                map4.put("sign", "0DB011836143EEE2C2E072967C9F4E4B");
+                map3.put("space_id", store + "");
+                map3.put("area_id", si.getId() + "");
+                map4.put("space_id", store + "");
+                map4.put("area_id", si.getId() + "");
+                map3.put("name", blue);
+                map4.put("name", red);
+                map3.put("city_code", city);
+                map4.put("city_code", city);
+                String s3 = HttpRequestUtil.postRequest("https://port.daowepark.com/v7/user_api/general/addSpaceSutu", map3);
+                String s4 = HttpRequestUtil.postRequest("https://port.daowepark.com/v7/user_api/general/addSpaceSutu", map4);
+                JSONObject jsonObject = new JSONObject(s3);
+                JSONObject jsonObject1 = new JSONObject(s4);
+                // 获取 data 字段的值
+                JSONObject dataObject = jsonObject.getJSONObject("data");
+                JSONObject dataObject1 = jsonObject1.getJSONObject("data");
+                // 获取 sutu_id 字段的值
+                String sutuIdValue = dataObject.getString("sutu_id");
+                String sutuIdValue1 = dataObject1.getString("sutu_id");
+                Integer sutuId = Integer.valueOf(sutuIdValue);
+                Integer sutuId1 = Integer.valueOf(sutuIdValue1);
+                game.setBlue("" + sutuId);
+                game.setRed("" + sutuId1);
+                // 生成红蓝sutu二维码
+                HashMap<String, String> blueCode = new HashMap<>();
+                blueCode.put("scan_type", "1000");
+                blueCode.put("sutu_id", "" + sutuId);
+                blueCode.put("space_id", si.getId() + "");
+                HashMap<String, String> redCode = new HashMap<>();
+                redCode.put("scan_type", "1000");
+                redCode.put("sutu_id", sutuId1 + "");
+                redCode.put("space_id", si.getId() + "");
+                String blueS = "{\"scan_type\": 1000, \"space_id\": " + si.getId() + ", \"sutu_id\": " + sutuId + "}";
+                String redS = "{\"scan_type\": 1000, \"space_id\": " + si.getId() + ", \"sutu_id\": " + sutuId1 + "}";
+                MyQrCodeUtil.createCodeToFile(blueS);
+                MyQrCodeUtil.createCodeToFile(redS);
+                BufferedImage blueImage = QRCodeUtil.createImage(blueS);
+                BufferedImage redImage = QRCodeUtil.createImage(redS);
+                MultipartFile blueFile = convert(blueImage, new Date().getTime() + UUIDUtil.getRandomCode(3) + ".PNG");
+                MultipartFile redFile = convert(redImage, new Date().getTime() + UUIDUtil.getRandomCode(3) + ".PNG");
+                String s = OssUploadUtil.ossUpload("img/", blueFile);
+                String s1 = OssUploadUtil.ossUpload("img/", redFile);
+                game.setBlueCode(s);
+                game.setRedCode(s1);
+            } else {
+                Integer sutuid = 0;
+                Integer sutuid1 = 0;
+                JSONObject element = data.getJSONObject(0);
+                if (site == 27) {
+                    sutuid = 1036;
+                    sutuid1 = 1037;
+                    game.setBlue(sutuid.toString());
+                    game.setRed(sutuid1.toString());
+                } else {
+                    sutuid = element.getInt("id");
+                    game.setBlue(sutuid.toString());
+                    JSONObject element1 = data.getJSONObject(1);
+                    sutuid1 = element1.getInt("id");
+                    game.setRed(sutuid1.toString());
+                }
+                // 生成红蓝sutu二维码
+                HashMap<String, String> blueCode = new HashMap<>();
+                blueCode.put("scan_type", "1000");
+                blueCode.put("sutu_id", "" + sutuid);
+                blueCode.put("space_id", si.getId() + "");
+                HashMap<String, String> redCode = new HashMap<>();
+                redCode.put("scan_type", "1000");
+                redCode.put("sutu_id", sutuid1 + "");
+                redCode.put("space_id", si.getId() + "");
+                String blueS = "{\"scan_type\": 1000, \"space_id\": " + si.getId() + ", \"sutu_id\": " + sutuid + "}";
+                String redS = "{\"scan_type\": 1000, \"space_id\": " + si.getId() + ", \"sutu_id\": " + sutuid1 + "}";
+                MyQrCodeUtil.createCodeToFile(blueS);
+                MyQrCodeUtil.createCodeToFile(redS);
+                BufferedImage blueImage = QRCodeUtil.createImage(blueS);
+                BufferedImage redImage = QRCodeUtil.createImage(redS);
+                MultipartFile blueFile = convert(blueImage, new Date().getTime() + UUIDUtil.getRandomCode(3) + ".PNG");
+                MultipartFile redFile = convert(redImage, new Date().getTime() + UUIDUtil.getRandomCode(3) + ".PNG");
+                String s = OssUploadUtil.ossUpload("img/", blueFile);
+                String s1 = OssUploadUtil.ossUpload("img/", redFile);
+                game.setBlueCode(s);
+                game.setRedCode(s1);
+            }
 
-        // 添加sutu编号
-        HashMap<String, String> map3 = new HashMap<>();
-        // 添加sutu编号
-        // 添加门禁 红蓝方
-        TSite si = siteService.getById(site);
-        TStore st = storeService.getById(store);
-        map3.put("sign", "0DB011836143EEE2C2E072967C9F4E4B");
-        map3.put("space_id", si.getId() + "");
-        map3.put("name", sutuName);
-        map3.put("city_code", "");
-        String s3 = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addDevice", map3);
-        System.out.println("---------------------------"+s3);
-        JSONObject jsonObject = new JSONObject(s3);
-        // 获取 data 字段的值
-        JSONObject dataObject = jsonObject.getJSONObject("data");
-        // 获取 sutu_id 字段的值
-        String sutuIdValue = dataObject.getString("sutu_id");
-        Integer sutuId = Integer.valueOf(sutuIdValue);
-        game.setSutuId(sutuId);
+        }
+
         Integer gameId = ballClient.save(game);
-List<TGameConfig> gameConfigList = new ArrayList<>();
-
-
-
-//玩湃跨城赛
-
+        List<TGameConfig> gameConfigList = new ArrayList<>();
+        //玩湃跨城赛
         TGameConfig gameConfigkuacheng = new TGameConfig();
         gameConfigkuacheng.setId(kcId);
         gameConfigkuacheng.setGameId(kuachengId);
@@ -301,12 +402,10 @@
         gameConfigkuacheng.setPlayCoin(kuachengCoin);
         gameConfigkuacheng.setIntegral(kuachengInt);
         gameConfigkuacheng.setOtherId(gameId);
-        System.out.println("========gameConfig======"+gameConfigkuacheng);
+        System.out.println("========gameConfig======" + gameConfigkuacheng);
         gameConfigList.add(gameConfigkuacheng);
-System.out.println("======gameConfigList======="+gameConfigList);
-
+        System.out.println("======gameConfigList=======" + gameConfigList);
         //社区冠军赛
-
         TGameConfig gameConfigshequ = new TGameConfig();
         gameConfigshequ.setId(shequIId);
         gameConfigshequ.setGameId(shequId);
@@ -333,7 +432,8 @@
 
         //玩湃熊之力-速度
         TGameConfig gameConfigsudu = new TGameConfig();
-        gameConfigsudu.setGameId(suduId);gameConfigsudu.setId(sdId);
+        gameConfigsudu.setGameId(suduId);
+        gameConfigsudu.setId(sdId);
         gameConfigsudu.setCash(suduCash);
         gameConfigsudu.setImg(suduImage);
         gameConfigsudu.setName(sudu);
@@ -382,7 +482,6 @@
         gameConfigList.add(gameConfigsq);
 
 
-
         //涨姿势
         TGameConfig gameConfigzs = new TGameConfig();
         gameConfigzs.setGameId(zsId);
@@ -397,7 +496,8 @@
 
         //涨姿势2
         TGameConfig gameConfigzs2 = new TGameConfig();
-        gameConfigzs2.setGameId(zs2Id);gameConfigzs2.setId(zs2IId);
+        gameConfigzs2.setGameId(zs2Id);
+        gameConfigzs2.setId(zs2IId);
         gameConfigzs2.setCash(zs2Cash);
         gameConfigzs2.setImg(zs2Image);
         gameConfigzs2.setName(zs2);
@@ -409,7 +509,7 @@
         //绿茵密码
         TGameConfig gameConfigly = new TGameConfig();
         gameConfigly.setGameId(lyId);
-        gameConfigly.setId(lyIId);  
+        gameConfigly.setId(lyIId);
         gameConfigly.setCash(lyCash);
         gameConfigly.setImg(lyImage);
         gameConfigly.setName(ly);
@@ -417,27 +517,47 @@
         gameConfigly.setIntegral(lyInt);
         gameConfigly.setOtherId(gameId);
         gameConfigList.add(gameConfigly);
+
+        //激战3V3
+        TGameConfig gameConfigv3 = new TGameConfig();
+        gameConfigv3.setGameId(v3Id);
+        gameConfigv3.setId(v3IId);
+        gameConfigv3.setCash(v3Cash);
+        gameConfigv3.setImg(v3Image);
+        gameConfigv3.setName(v3);
+        gameConfigv3.setPlayCoin(v3Coin);
+        gameConfigv3.setIntegral(v3Int);
+        gameConfigv3.setOtherId(gameId);
+        gameConfigList.add(gameConfigv3);
         HashMap<String, String> map1 = new HashMap<>();
         HashMap<String, String> map2 = new HashMap<>();
 
 
-        map1.put("sign", "0DB011836143EEE2C2E072967C9F4E4B");
-        map1.put("space_id", si.getId() + "");
-        map1.put("device_id", red);
-        map1.put("region_id", st.getId() + "");
-        // 添加门禁
-        String s1 = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addDevice", map1);
-        map2.put("sign", "0DB011836143EEE2C2E072967C9F4E4B");
-        map2.put("space_id", si.getId() + "");
-        map2.put("device_id", blue);
-        map2.put("region_id", st.getId() + "");
-        // 添加门禁
-        String s2 = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addDevice", map2);
+//        map1.put("sign", "0DB011836143EEE2C2E072967C9F4E4B");
+//        map1.put("space_id", si.getId() + "");
+//        map1.put("device_id", red);
+//        map1.put("region_id", st.getId() + "");
+//        // 添加门禁
+//        String s1 = HttpRequestUtil.postRequest("https://port.daowepark.com/v7/user_api/general/addDevice", map1);
+//        map2.put("sign", "0DB011836143EEE2C2E072967C9F4E4B");
+//        map2.put("space_id", si.getId() + "");
+//        map2.put("device_id", blue);
+//        map2.put("region_id", st.getId() + "");
+//        // 添加门禁
+//        String s2 = HttpRequestUtil.postRequest("https://port.daowepark.com/v7/user_api/general/addDevice", map2);
 
 
-
-        ballClient.saveConfig( gameConfigList);
+        ballClient.saveConfig(gameConfigList);
         return null;
+    }
+
+    public static void main(String[] args) throws Exception {
+        String blueS = "{\"vipDetail\":1,role\":1,\"time\":[{\"start_time\":\"2025-08-25 09:00:00\",\"end_time\":\"2025-08-30 23:00:00\"}]}";
+        MyQrCodeUtil.createCodeToFile(blueS);
+        BufferedImage blueImage = QRCodeUtil.createImage(blueS);
+        MultipartFile blueFile = convert(blueImage, new Date().getTime() + UUIDUtil.getRandomCode(3) + ".PNG");
+        String s = OssUploadUtil.ossUpload("img/", blueFile);
+        System.err.println(s);
     }
 
     @RequestMapping("/pre_add")
@@ -445,170 +565,174 @@
 
         Integer objectType = UserExt.getUser().getObjectType();
 
-        if (objectType ==3){
+        if (objectType == 3) {
 
-            model.addAttribute("is3","true");
-            model.addAttribute("storeId",UserExt.getUser().getObjectId());
+            model.addAttribute("is3", "true");
+            model.addAttribute("storeId", UserExt.getUser().getObjectId());
             TStore byId = storeService.getById(UserExt.getUser().getObjectId());
-            System.out.println("=====byId======="+byId);
-            model.addAttribute("cityCode",byId.getCityCode());
-            model.addAttribute("provinceCode",byId.getProvinceCode());
-            model.addAttribute("oId",byId.getOperatorId());
-            return PREFIX+"ball_pre_add1.html";
+            System.out.println("=====byId=======" + byId);
+            model.addAttribute("cityCode", byId.getCityCode());
+            model.addAttribute("provinceCode", byId.getProvinceCode());
+            model.addAttribute("oId", byId.getOperatorId());
+            return PREFIX + "ball_pre_add1.html";
 
         }
 
-        if (objectType == 2){
-            model.addAttribute("is3","true");
-            model.addAttribute("oId",UserExt.getUser().getObjectId());
-            return PREFIX+"ball_pre_add2.html";
+        if (objectType == 2) {
+            model.addAttribute("is2", "true");
+            model.addAttribute("oId", UserExt.getUser().getObjectId());
+            return PREFIX + "ball_pre_add2.html";
         }
 
 
-
-        model.addAttribute("is","${is}");
+        model.addAttribute("is", "${is}");
 
 
-
-        return PREFIX+"ball_pre_add.html";
+        return PREFIX + "ball_pre_add.html";
     }
-
 
 
     @Autowired
     private TGameConfigService gameConfigService;
+
     @RequestMapping("/pre_edit/{id}")
-    public String pre_edit(@PathVariable("id") Integer id,Model model) {
+    public String pre_edit(@PathVariable("id") Integer id, Model model) {
         Game game = ballClient.queryGame(id);
-        System.out.println("---------game------"+game);
-        model.addAttribute("game",game);
-        if (game.getOperationId() ==0){
-            model.addAttribute("opId","平台");
-            model.addAttribute("is","平台");
-        }else {
-            model.addAttribute("opId",game.getOperationId());
+        System.out.println("---------game------" + game);
+        model.addAttribute("game", game);
+        if (game.getOperationId() == 0) {
+            model.addAttribute("opId", "平台");
+            model.addAttribute("is", "平台");
+        } else {
+            model.addAttribute("opId", game.getOperationId());
         }
 
         TGameConfig kc = gameConfigService.getOne(new QueryWrapper<TGameConfig>().eq("otherId", id).eq("gameId", 14));
-        model.addAttribute("kc",kc);
+        model.addAttribute("kc", kc);
 
 
         TGameConfig sq = gameConfigService.getOne(new QueryWrapper<TGameConfig>().eq("otherId", id).eq("gameId", 16));
-        model.addAttribute("sq",sq);
+        model.addAttribute("sq", sq);
 
 
         TGameConfig sm = gameConfigService.getOne(new QueryWrapper<TGameConfig>().eq("otherId", id).eq("gameId", 13));
-        model.addAttribute("sm",sm);
+        model.addAttribute("sm", sm);
 
         TGameConfig sd = gameConfigService.getOne(new QueryWrapper<TGameConfig>().eq("otherId", id).eq("gameId", 15));
-        model.addAttribute("sd",sd);
+        model.addAttribute("sd", sd);
 
         TGameConfig fk = gameConfigService.getOne(new QueryWrapper<TGameConfig>().eq("otherId", id).eq("gameId", 1));
-        model.addAttribute("fk",fk);
+        model.addAttribute("fk", fk);
 
         TGameConfig jx = gameConfigService.getOne(new QueryWrapper<TGameConfig>().eq("otherId", id).eq("gameId", 7));
-        model.addAttribute("jx",jx);
+        model.addAttribute("jx", jx);
 
         TGameConfig qw = gameConfigService.getOne(new QueryWrapper<TGameConfig>().eq("otherId", id).eq("gameId", 8));
-        model.addAttribute("qw",qw);
+        model.addAttribute("qw", qw);
 
         TGameConfig zs = gameConfigService.getOne(new QueryWrapper<TGameConfig>().eq("otherId", id).eq("gameId", 10));
-        model.addAttribute("zs",zs);
+        model.addAttribute("zs", zs);
 
         TGameConfig zs2 = gameConfigService.getOne(new QueryWrapper<TGameConfig>().eq("otherId", id).eq("gameId", 11));
-        model.addAttribute("zs2",zs2);
+        model.addAttribute("zs2", zs2);
 
         TGameConfig ly = gameConfigService.getOne(new QueryWrapper<TGameConfig>().eq("otherId", id).eq("gameId", 5));
-        model.addAttribute("ly",ly);
+        model.addAttribute("ly", ly);
+
+        TGameConfig v3 = gameConfigService.getOne(new QueryWrapper<TGameConfig>().eq("otherId", id).eq("gameId", 0));
+        model.addAttribute("v3", v3);
 
 
         Integer objectType = UserExt.getUser().getObjectType();
 
-        if (objectType ==3){
-            model.addAttribute("is3","true");
-            model.addAttribute("storeId",UserExt.getUser().getObjectId());
+        if (objectType == 3) {
+            model.addAttribute("is3", "true");
+            model.addAttribute("storeId", UserExt.getUser().getObjectId());
             TStore byId = storeService.getById(UserExt.getUser().getObjectId());
-            model.addAttribute("cityCode",byId.getCityCode());
-            model.addAttribute("provinceCode",byId.getProvinceCode());
-            model.addAttribute("oId",byId.getOperatorId());
-            return PREFIX+"ball_pre_edit1.html";
+            model.addAttribute("cityCode", byId.getCityCode());
+            model.addAttribute("provinceCode", byId.getProvinceCode());
+            model.addAttribute("oId", byId.getOperatorId());
+            return PREFIX + "ball_pre_edit1.html";
 
         }
-        if (objectType == 2){
-            return PREFIX+"ball_pre_edit2.html";
+        if (objectType == 2) {
+            return PREFIX + "ball_pre_edit2.html";
 
         }
 
-        return PREFIX+"ball_pre_edit.html";
+        return PREFIX + "ball_pre_edit.html";
     }
 
 
     @RequestMapping("/pre_info/{id}")
-    public String pre_info(@PathVariable("id") Integer id,Model model) {
+    public String pre_info(@PathVariable("id") Integer id, Model model) {
 
         Game game = ballClient.queryGame(id);
-        System.out.println("---------game------"+game);
-        model.addAttribute("game",game);
+        System.out.println("---------game------" + game);
+        model.addAttribute("game", game);
 
 
-        if (game.getOperationId() ==0){
-            model.addAttribute("opId","平台");
-            model.addAttribute("is","平台");
-        }else {
-            model.addAttribute("opId",game.getOperationId());
+        if (game.getOperationId() == 0) {
+            model.addAttribute("opId", "平台");
+            model.addAttribute("is", "平台");
+        } else {
+            model.addAttribute("opId", game.getOperationId());
         }
 
         TGameConfig kc = gameConfigService.getOne(new QueryWrapper<TGameConfig>().eq("otherId", id).eq("gameId", 14));
-        model.addAttribute("kc",kc);
+        model.addAttribute("kc", kc);
 
 
         TGameConfig sq = gameConfigService.getOne(new QueryWrapper<TGameConfig>().eq("otherId", id).eq("gameId", 16));
-        model.addAttribute("sq",sq);
+        model.addAttribute("sq", sq);
 
 
         TGameConfig sm = gameConfigService.getOne(new QueryWrapper<TGameConfig>().eq("otherId", id).eq("gameId", 13));
-        model.addAttribute("sm",sm);
+        model.addAttribute("sm", sm);
 
         TGameConfig sd = gameConfigService.getOne(new QueryWrapper<TGameConfig>().eq("otherId", id).eq("gameId", 15));
-        model.addAttribute("sd",sd);
+        model.addAttribute("sd", sd);
 
         TGameConfig fk = gameConfigService.getOne(new QueryWrapper<TGameConfig>().eq("otherId", id).eq("gameId", 1));
-        model.addAttribute("fk",fk);
+        model.addAttribute("fk", fk);
 
         TGameConfig jx = gameConfigService.getOne(new QueryWrapper<TGameConfig>().eq("otherId", id).eq("gameId", 7));
-        model.addAttribute("jx",jx);
+        model.addAttribute("jx", jx);
 
         TGameConfig qw = gameConfigService.getOne(new QueryWrapper<TGameConfig>().eq("otherId", id).eq("gameId", 8));
-        model.addAttribute("qw",qw);
+        model.addAttribute("qw", qw);
 
         TGameConfig zs = gameConfigService.getOne(new QueryWrapper<TGameConfig>().eq("otherId", id).eq("gameId", 10));
-        model.addAttribute("zs",zs);
+        model.addAttribute("zs", zs);
 
         TGameConfig zs2 = gameConfigService.getOne(new QueryWrapper<TGameConfig>().eq("otherId", id).eq("gameId", 11));
-        model.addAttribute("zs2",zs2);
+        model.addAttribute("zs2", zs2);
 
         TGameConfig ly = gameConfigService.getOne(new QueryWrapper<TGameConfig>().eq("otherId", id).eq("gameId", 5));
-        model.addAttribute("ly",ly);
+        model.addAttribute("ly", ly);
+
+        TGameConfig v3 = gameConfigService.getOne(new QueryWrapper<TGameConfig>().eq("otherId", id).eq("gameId", 0));
+        model.addAttribute("v3", v3);
 
 
-
-        return PREFIX+"ball_pre_info.html";
+        return PREFIX + "ball_pre_info.html";
     }
 
     @Autowired
-     private ISiteBookingService iSiteBookingService;
+    private ISiteBookingService iSiteBookingService;
 
     @RequestMapping("/yueyue_edit/{id}")
-    public String yueyue_edit(@PathVariable("id") Integer id,Model model) {
+    public String yueyue_edit(@PathVariable("id") Integer id, Model model) {
 
         List<String> strings1 = new ArrayList<>();
 
         SiteBooking book = iSiteBookingService.getById(id);
         model.addAttribute("item", book);
-        if (book.getMoney()!=null){
-        model.addAttribute("money",book.getMoney().split(","));}
+        if (book.getMoney() != null) {
+            model.addAttribute("money", book.getMoney().split(","));
+        }
         String[] split1 = book.getTimes().split(";");
-        model.addAttribute("date",split1[0].substring(0,10));
+        model.addAttribute("date", split1[0].substring(0, 10));
 
         for (String s : split1) {
 
@@ -616,13 +740,13 @@
             strings1.add(convertedValue);
         }
 
-        System.out.println("========strings1====="+strings1);
+        System.out.println("========strings1=====" + strings1);
 
 //时间段
         List<String> strings = new ArrayList<>();
 //        List<SiteBooking> siteBookings = siteClient.listBooks(book.getSiteId());
-        List<SiteBooking> siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", book.getSiteId()).like("times",split1[0].substring(0,10)));
-        System.out.println("=======siteBookings======"+siteBookings);
+        List<SiteBooking> siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", book.getSiteId()).like("times", split1[0].substring(0, 10)));
+        System.out.println("=======siteBookings======" + siteBookings);
         for (SiteBooking siteBooking : siteBookings) {
             String[] split = siteBooking.getTimes().split(";");
             for (String s : split) {
@@ -632,26 +756,26 @@
             }
 
         }
-        System.out.println("======strings======="+strings);
+        System.out.println("======strings=======" + strings);
 
 
         List<OrderDto> timeRanges = new ArrayList<>();
-        Site site =  siteClient.listById(book.getSiteId());
-        System.out.println("================"+site);
+        Site site = siteClient.listById(book.getSiteId());
+        System.out.println("================" + site);
         String appointmentStartTime = site.getAppointmentStartTime();
         String appointmentEndTime = site.getAppointmentEndTime();
         //生成用于比较日期是否超过的当前日期
         LocalDate currentDate = LocalDate.now();
-        LocalDate parsedDate = LocalDate.parse(split1[0].substring(0,10), DateTimeFormatter.ISO_DATE);
+        LocalDate parsedDate = LocalDate.parse(split1[0].substring(0, 10), DateTimeFormatter.ISO_DATE);
         boolean isAfterCurrentDate = parsedDate.isBefore(currentDate);
-        System.out.println("是否超过当前日期"+isAfterCurrentDate);
+        System.out.println("是否超过当前日期" + isAfterCurrentDate);
         String currentTime = appointmentStartTime;
         while (currentTime.compareTo(appointmentEndTime) < 0) {
             String nextTime = null;
-            if("智慧场地".equals(site.getTypeName())){
-                nextTime=getNextTimeOne(currentTime);
-            }else {
-                nextTime= getNextTime(currentTime);
+            if ("智慧场地".equals(site.getTypeName())) {
+                nextTime = getNextTimeOne(currentTime);
+            } else {
+                nextTime = getNextTime(currentTime);
             }
 
 
@@ -664,33 +788,29 @@
 
             boolean hasExceeded = currentTime1.isAfter(targetTime);
             //是否超过当前时间
-            if (hasExceeded){
+            if (hasExceeded) {
                 orderDto.setState(0);
             }
             //是否已经预定
-            if (strings.contains(timeRange)){
+            if (strings.contains(timeRange)) {
                 orderDto.setState(0);
             }
             //日期是否超过
-            if (isAfterCurrentDate){
+            if (isAfterCurrentDate) {
                 orderDto.setState(0);
             }
             //是否是当前场地当前日期预定的
-            if (strings1.contains(timeRange)){
+            if (strings1.contains(timeRange)) {
                 orderDto.setState(1);
             }
 
             timeRanges.add(orderDto);
             currentTime = nextTime;
         }
-        System.out.println("-------------"+timeRanges);
-            model.addAttribute("timeRanges",timeRanges);
+        System.out.println("-------------" + timeRanges);
+        model.addAttribute("timeRanges", timeRanges);
 
-System.out.println("======timeRanges========"+timeRanges);
-
-
-
-
+        System.out.println("======timeRanges========" + timeRanges);
 
 
         Integer objectType = UserExt.getUser().getObjectType();
@@ -705,8 +825,8 @@
         model.addAttribute("city", list1);
         String code1 = list1.get(0).get("code").toString();
         List<TStore> list2 = storeService.list(new QueryWrapper<TStore>().eq("cityCode", code1).eq("state", 1));
-        if(UserExt.getUser().getObjectType()==3){
-            list2=storeService.list(new QueryWrapper<TStore>().eq("id", UserExt.getUser().getObjectId()).eq("state", 1));
+        if (UserExt.getUser().getObjectType() == 3) {
+            list2 = storeService.list(new QueryWrapper<TStore>().eq("id", UserExt.getUser().getObjectId()).eq("state", 1));
         }
         model.addAttribute("store", list2);
         TStore store = list2.get(0);
@@ -714,7 +834,7 @@
         model.addAttribute("site", list3);
         model.addAttribute("objType", UserExt.getUser().getObjectType());
         // 查询运营商下所有门店 所有场地
-        if (objectType == 2){
+        if (objectType == 2) {
             List<TStore> stores = storeService.list(new QueryWrapper<TStore>().eq("operatorId", objectId));
             model.addAttribute("store", stores);
             // 门店ids
@@ -724,29 +844,29 @@
         }
         model.addAttribute("objectType", objectType);
 
-        return PREFIX+"yuyue_edit.html";
+        return PREFIX + "yuyue_edit.html";
     }
 
 
+    @Autowired
+    private IUserService userService;
 
-
-@Autowired
-private IUserService userService;
     @RequestMapping("/yueyue_info/{id}")
-    public String yueyue_info(@PathVariable("id") Integer id,Model model) {
+    public String yueyue_info(@PathVariable("id") Integer id, Model model) {
 
         List<String> strings1 = new ArrayList<>();
 
         SiteBooking book = iSiteBookingService.getById(id);
         model.addAttribute("item", book);
-        if (book.getMoney()!=null){
-            model.addAttribute("money",book.getMoney().split(","));}
+        if (book.getMoney() != null) {
+            model.addAttribute("money", book.getMoney().split(","));
+        }
         String[] split1 = book.getTimes().split(";");
-        model.addAttribute("date",split1[0].substring(0,10));
+        model.addAttribute("date", split1[0].substring(0, 10));
 
 
         User user = userService.getById(book.getCancelUserId());
-        if (user!=null) {
+        if (user != null) {
             model.addAttribute("cancelUser", user.getName());
         }
 
@@ -756,33 +876,33 @@
             String convertedValue = s.substring(11);
             strings1.add(convertedValue);
         }
-        switch (book.getStatus()){
+        switch (book.getStatus()) {
             case 0:
-                model.addAttribute("state","待支付");
+                model.addAttribute("state", "待支付");
                 break;
             case 1:
-                model.addAttribute("state","待核销");
+                model.addAttribute("state", "待核销");
                 break;
             case 2:
-                model.addAttribute("state","已到店");
+                model.addAttribute("state", "已到店");
                 break;
             case 3:
-                model.addAttribute("state","已完成");
+                model.addAttribute("state", "已完成");
                 break;
             case 4:
-                model.addAttribute("state","已过期");
+                model.addAttribute("state", "已过期");
                 break;
             case 5:
-                model.addAttribute("state","已取消");
+                model.addAttribute("state", "已取消");
                 break;
         }
-        System.out.println("========strings1====="+strings1);
+        System.out.println("========strings1=====" + strings1);
 
 //时间段
         List<String> strings = new ArrayList<>();
 //        List<SiteBooking> siteBookings = siteClient.listBooks(book.getSiteId());
-        List<SiteBooking> siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", book.getSiteId()).like("times",split1[0].substring(0,10)));
-        System.out.println("=======siteBookings======"+siteBookings);
+        List<SiteBooking> siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", book.getSiteId()).like("times", split1[0].substring(0, 10)));
+        System.out.println("=======siteBookings======" + siteBookings);
         for (SiteBooking siteBooking : siteBookings) {
             String[] split = siteBooking.getTimes().split(";");
             for (String s : split) {
@@ -792,21 +912,20 @@
             }
 
         }
-        System.out.println("======strings======="+strings);
+        System.out.println("======strings=======" + strings);
 
 
         List<OrderDto> timeRanges = new ArrayList<>();
 
-
-        Site site =  siteClient.listById(book.getSiteId());
-        System.out.println("================"+site);
+        TSite site = siteService.getById(book.getSiteId());
+        System.out.println("================" + site);
         String appointmentStartTime = site.getAppointmentStartTime();
         String appointmentEndTime = site.getAppointmentEndTime();
         //生成用于比较日期是否超过的当前日期
         LocalDate currentDate = LocalDate.now();
-        LocalDate parsedDate = LocalDate.parse(split1[0].substring(0,10), DateTimeFormatter.ISO_DATE);
+        LocalDate parsedDate = LocalDate.parse(split1[0].substring(0, 10), DateTimeFormatter.ISO_DATE);
         boolean isAfterCurrentDate = parsedDate.isBefore(currentDate);
-        System.out.println("是否超过当前日期"+isAfterCurrentDate);
+        System.out.println("是否超过当前日期" + isAfterCurrentDate);
         String currentTime = appointmentStartTime;
         while (currentTime.compareTo(appointmentEndTime) < 0) {
             String nextTime = getNextTime(currentTime);
@@ -821,64 +940,56 @@
 
             boolean hasExceeded = currentTime1.isAfter(targetTime);
             //是否超过当前时间
-            if (hasExceeded){
+            if (hasExceeded) {
                 orderDto.setState(0);
             }
             //是否已经预定
-            if (strings.contains(timeRange)){
+            if (strings.contains(timeRange)) {
                 orderDto.setState(0);
             }
             //日期是否超过
-            if (isAfterCurrentDate){
+            if (isAfterCurrentDate) {
                 orderDto.setState(0);
             }
             //是否是当前场地当前日期预定的
-            if (strings1.contains(timeRange)){
+            if (strings1.contains(timeRange)) {
                 orderDto.setState(1);
             }
-
-
 
 
             timeRanges.add(orderDto);
             currentTime = nextTime;
         }
-        System.out.println("-------------"+timeRanges);
-        model.addAttribute("timeRanges",timeRanges);
-        System.out.println("======timeRanges========"+timeRanges);
+        System.out.println("-------------" + timeRanges);
+        model.addAttribute("timeRanges", timeRanges);
+        System.out.println("======timeRanges========" + timeRanges);
         Integer objectType = UserExt.getUser().getObjectType();
         model.addAttribute("province", book.getProvince());
         model.addAttribute("city", book.getCity());
-        model.addAttribute("store",storeService.getById(book.getStoreId()).getName());
-        model.addAttribute("siteName",siteService.getById(book.getSiteId()).getName());
+        model.addAttribute("store", storeService.getById(book.getStoreId()).getName());
+        model.addAttribute("siteName", siteService.getById(book.getSiteId()).getName());
         model.addAttribute("objectType", objectType);
-        return PREFIX+"yuyue_info.html";
+        return PREFIX + "yuyue_info.html";
     }
-
 
 
     @RequestMapping("/paike")
     public String paike(Model model) {
 
-        return PREFIX+"paike.html";
+        return PREFIX + "paike.html";
     }
-
-
-
-
 
 
     @RequestMapping("/getStudentTotal")
     @ResponseBody
-    public List<Map<String, Object>>getStudentTotal(@RequestBody StudentQeryDto studentQeryDto) {
-System.out.println("========ballQueryDto======"+studentQeryDto);
-        if (studentQeryDto.getTimes()!=null&& studentQeryDto.getTimes()!=""){
+    public List<Map<String, Object>> getStudentTotal(@RequestBody StudentQeryDto studentQeryDto) {
+        if (studentQeryDto.getTimes() != null && studentQeryDto.getTimes() != "") {
             String[] split = studentQeryDto.getTimes().split(",");
             studentQeryDto.setStart(split[0]);
             studentQeryDto.setEnd(split[1]);
         }
         // 如果当前登陆人是运营商 只查询该运营商下的课包的数据
-        if(UserExt.getUser().getObjectType() == 2){
+        if (UserExt.getUser().getObjectType() == 2) {
             // 先查询这个运营商下的所有门店ids
             List<Integer> storeIds = storeService.list(new QueryWrapper<TStore>().eq("operatorId", UserExt.getUser().getObjectId()))
                     .stream().map(TStore::getId).collect(Collectors.toList());
@@ -888,34 +999,72 @@
                 List<TCoursePackage> coursePackageByStoreId = coursePackageClient.getCoursePackageByStoreId(storeId);
                 tCoursePackages.addAll(coursePackageByStoreId);
             }
+
             List<Integer> coursePackageByStoreIds = tCoursePackages.stream().distinct().map(TCoursePackage::getId).collect(Collectors.toList());
+            if (tCoursePackages.isEmpty()) {
+                coursePackageByStoreIds.add(-1);
+            }
+            studentQeryDto.setCoursePackageIds(coursePackageByStoreIds);
+
+        }
+        // 如果当前登陆人是门店 只查询该门店下的课包的数据
+        if (UserExt.getUser().getObjectType() == 3) {
+            // 先查询这个运营商下的所有门店ids
+
+            List<Integer> storeIds = new ArrayList<>();
+            storeIds.add(UserExt.getUser().getObjectId());
+            // 根据门店ids 查询所有课包ids
+            List<TCoursePackage> tCoursePackages = new ArrayList<>();
+            for (Integer storeId : storeIds) {
+                List<TCoursePackage> coursePackageByStoreId = coursePackageClient.getCoursePackageByStoreId(storeId);
+                tCoursePackages.addAll(coursePackageByStoreId);
+            }
+            List<Integer> coursePackageByStoreIds = tCoursePackages.stream().distinct().map(TCoursePackage::getId).collect(Collectors.toList());
+            if (tCoursePackages.isEmpty()) {
+                coursePackageByStoreIds.add(-1);
+            }
             studentQeryDto.setCoursePackageIds(coursePackageByStoreIds);
         }
-        List<Map<String, Object>>  pays = coursePackageClient.getStudentTotal(studentQeryDto);
 
-        System.out.println("=========getStudentTotal======="+pays);
-
+        List<Map<String, Object>> pays = coursePackageClient.getStudentTotal(studentQeryDto);
         return pays;
     }
 
 
-
     @RequestMapping("/bypac")
     @ResponseBody
-    public List<Map<String, Object>>bypac(@RequestBody PacQueryDto pacQueryDto) {
-        System.out.println("========ballQueryDto======"+pacQueryDto);
-        if (pacQueryDto.getTimes()!=null&& pacQueryDto.getTimes()!=""){
+    public List<Map<String, Object>> bypac(@RequestBody PacQueryDto pacQueryDto) {
+        if (pacQueryDto.getTimes() != null && pacQueryDto.getTimes() != "") {
             String[] split = pacQueryDto.getTimes().split(",");
             pacQueryDto.setStart(split[0]);
             pacQueryDto.setEnd(split[1]);
         }
-        if (UserExt.getUser().getObjectType() == 2){
-            List<Integer> storeIds = storeService.list(new QueryWrapper<TStore>().eq("operatorId", UserExt.getUser().getObjectId()))
+        if (UserExt.getUser().getObjectType() == 2) {
+            QueryWrapper<TStore> queryWrapper = new QueryWrapper<TStore>().eq("operatorId", UserExt.getUser().getObjectId()).eq("state", 1);
+            if (ToolUtil.isNotEmpty(pacQueryDto.getCityCode())) {
+                queryWrapper.eq("cityCode", pacQueryDto.getCityCode());
+            }
+            if (ToolUtil.isNotEmpty(pacQueryDto.getName())) {
+                queryWrapper.like("name", pacQueryDto.getName());
+            }
+            List<Integer> storeIds = storeService.list(queryWrapper)
                     .stream().map(TStore::getId).collect(Collectors.toList());
+            storeIds.add(-1);
+            pacQueryDto.setStoreIds(storeIds);
+        } else {
+            QueryWrapper<TStore> queryWrapper = new QueryWrapper<TStore>().eq("state", 1);
+            if (ToolUtil.isNotEmpty(pacQueryDto.getCityCode())) {
+                queryWrapper.eq("cityCode", pacQueryDto.getCityCode());
+            }
+            if (ToolUtil.isNotEmpty(pacQueryDto.getName())) {
+                queryWrapper.like("name", pacQueryDto.getName());
+            }
+            List<Integer> storeIds = storeService.list(queryWrapper)
+                    .stream().map(TStore::getId).collect(Collectors.toList());
+            storeIds.add(-1);
             pacQueryDto.setStoreIds(storeIds);
         }
-        List<Map<String, Object>>  pays = coursePackageClient.bypac(pacQueryDto);
-        System.out.println("=========getStudentTotal======="+pays);
+        List<Map<String, Object>> pays = coursePackageClient.bypac(pacQueryDto);
         return pays;
     }
 
@@ -923,24 +1072,23 @@
     @RequestMapping("/yuyue")
     public String yuyue(Model model) {
         List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
-        model.addAttribute("list",list);
+        model.addAttribute("list", list);
         String roleid = UserExt.getUser().getRoleid();
-        model.addAttribute("role",roleid);
+        model.addAttribute("role", roleid);
 
-        return PREFIX+"yuyue.html";
+        return PREFIX + "yuyue.html";
     }
 
 
     @RequestMapping("/jieshao")
     public String jieshao(Model model) {
         List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
-        model.addAttribute("list",list);
+        model.addAttribute("list", list);
         String roleid = UserExt.getUser().getRoleid();
-        model.addAttribute("role",roleid);
+        model.addAttribute("role", roleid);
 
-        return PREFIX+"jieshao.html";
+        return PREFIX + "jieshao.html";
     }
-
 
 
     /**
@@ -948,54 +1096,54 @@
      */
     @RequestMapping("/yuyuelist")
     @ResponseBody
-    public List<Map<String,Object>> yuyuelist(BookingQuery bookingQuery) {
+    public List<Map<String, Object>> yuyuelist(BookingQuery bookingQuery) {
         Integer objectType = UserExt.getUser().getObjectType();
 
-        if(objectType==2){
+        if (objectType == 2) {
             List<Integer> operatorId = storeService.list(new QueryWrapper<TStore>()
-                    .eq("operatorId", UserExt.getUser().getObjectId()))
+                            .eq("operatorId", UserExt.getUser().getObjectId()))
                     .stream().map(TStore::getId).collect(Collectors.toList());
             bookingQuery.setStoreIds(operatorId);
         }
-        if(objectType==3){
+        if (objectType == 3) {
             bookingQuery.setStoreId(UserExt.getUser().getObjectId());
         }
-        List<Map<String,Object>> orders =   ballClient.listorder(bookingQuery);
-        System.out.println("=======ballQueryDto=========="+bookingQuery);
+        List<Map<String, Object>> orders = ballClient.listorder(bookingQuery);
+        System.out.println("=======ballQueryDto==========" + bookingQuery);
         for (Map<String, Object> vo : orders) {
 
 
-            if (vo.get("payType")!=null && Integer.parseInt(vo.get("payType").toString()) == 1){
-                vo.put("payType","微信");
-            }else if (vo.get("payType")!=null && Integer.parseInt(vo.get("payType").toString()) == 2){
-                vo.put("payType","支付宝");
-            }else if (vo.get("payType")!=null && Integer.parseInt(vo.get("payType").toString()) == 3){
-                vo.put("payType","玩湃币");
-            }else if (vo.get("payType")!=null && Integer.parseInt(vo.get("payType").toString()) == 4){
-                if (vo.get("payUserId")!=null){
+            if (vo.get("payType") != null && Integer.parseInt(vo.get("payType").toString()) == 1) {
+                vo.put("payType", "微信");
+            } else if (vo.get("payType") != null && Integer.parseInt(vo.get("payType").toString()) == 2) {
+                vo.put("payType", "支付宝");
+            } else if (vo.get("payType") != null && Integer.parseInt(vo.get("payType").toString()) == 3) {
+                vo.put("payType", "玩湃币");
+            } else if (vo.get("payType") != null && Integer.parseInt(vo.get("payType").toString()) == 4) {
+                if (vo.get("payUserId") != null) {
                     User payUserId = userService.getById(Integer.parseInt(vo.get("payUserId").toString()));
-                    if(payUserId!=null){
-                        vo.put("payType","手动支付"+"-"+payUserId.getName());
+                    if (payUserId != null) {
+                        vo.put("payType", "手动支付" + "-" + payUserId.getName());
                     }
                 }
             }
 
-            if (Integer.parseInt(vo.get("status").toString())==1 ){
-                String dateTimeStr = vo.get("times").toString();
-                String formattedDateTimeStr = dateTimeStr.substring(0, 11) + dateTimeStr.substring(17);
-
-                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
-                try {
-                    Date date = sdf.parse(formattedDateTimeStr);
-                    if (new Date().after(date)){
-                        vo.put("status",4);
-                    }
-
-                    System.out.println(date);
-                } catch (ParseException e) {
-                    e.printStackTrace();
-                }
-            }
+//            if (Integer.parseInt(vo.get("status").toString())==1 ){
+//                String dateTimeStr = vo.get("times").toString();
+//                String formattedDateTimeStr = dateTimeStr.substring(0, 11) + dateTimeStr.substring(17);
+//
+//                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+//                try {
+//                    Date date = sdf.parse(formattedDateTimeStr);
+//                    if (new Date().after(date)){
+//                        vo.put("status",4);
+//                    }
+//
+//                    System.out.println(date);
+//                } catch (ParseException e) {
+//                    e.printStackTrace();
+//                }
+//            }
         }
         return orders;
     }
@@ -1003,43 +1151,43 @@
 
     @RequestMapping("/addjs")
     @ResponseBody
-    public ResultUtil addjs( @RequestBody JsDto jsDto) {
-        System.out.println("=======jsDto========"+jsDto);
+    public ResultUtil addjs(@RequestBody JsDto jsDto) {
+        System.out.println("=======jsDto========" + jsDto);
         storeService.insert(jsDto);
-        return new ResultUtil(0,0,"保存成功",null,null);
+        return new ResultUtil(0, 0, "保存成功", null, null);
 
     }
 
     @RequestMapping("/get/{id}")
     @ResponseBody
-    public JsDto getJs( @PathVariable("id") Integer id) {
-        JsDto jsDto =   storeService.get(id);
+    public JsDto getJs(@PathVariable("id") Integer id) {
+        JsDto jsDto = storeService.get(id);
         return jsDto;
     }
 
 
     @RequestMapping("/getMoney/{id}/{type}")
     @ResponseBody
-    public List<Double> getMoney( @PathVariable("id") Integer id,@PathVariable("type") Integer type) {
+    public List<Double> getMoney(@PathVariable("id") Integer id, @PathVariable("type") Integer type) {
         List<Double> doubles = new ArrayList<>();
         Site site = siteClient.listById(id);
-        System.out.println("=====stie====="+site);
-        System.out.println("=====type====="+type);
+        System.out.println("=====stie=====" + site);
+        System.out.println("=====type=====" + type);
 
-        if (type == 1 ){
+        if (type == 1) {
             doubles.add(site.getCashPrice());
             doubles.add(Double.valueOf(site.getPlayPaiCoin()));
-            return  doubles;
-        }else {
+            return doubles;
+        } else {
             doubles.add(site.getCashPriceOne());
             doubles.add(site.getPlayPaiCoinOne());
-            return  doubles;
+            return doubles;
         }
 
     }
-    @Resource
-   private SiteClient siteClient;
 
+    @Resource
+    private SiteClient siteClient;
 
 
     @Autowired
@@ -1048,7 +1196,7 @@
 
     @RequestMapping("/yuyuetimes/{id}")
     @ResponseBody
-    public List<OrderDto> yuyuetimes(@PathVariable("id") Integer id,String date,String siteName,String halfName) throws ParseException {
+    public List<OrderDto> yuyuetimes(@PathVariable("id") Integer id, String date, String siteName, String halfName) throws ParseException {
 //        System.out.println("=======date======"+date);
 //
 //        List<String> strings = new ArrayList<>();
@@ -1191,7 +1339,6 @@
                 Date isPass = format.parse(etime);
 
 
-
                 orderDto.setState(1);
                 // 查出lock
                 List<SiteLock> list = siteLockService.list(new LambdaQueryWrapper<SiteLock>().eq(SiteLock::getSiteId, id));
@@ -1208,7 +1355,7 @@
                     }
 
                 }
-                if (isPass.before(now)){
+                if (isPass.before(now)) {
                     orderDto.setState(0);
                 }
 
@@ -1221,7 +1368,6 @@
         System.out.println("-------------" + timeRanges);
 
         return timeRanges;
-
 
 
     }
@@ -1254,11 +1400,11 @@
         if (minute == 45) {
             hour++;
             minute = 0;
-        } else if (minute == 0){
+        } else if (minute == 0) {
             minute = 15;
-        }else if (minute == 15){
+        } else if (minute == 15) {
             minute = 30;
-        }else if (minute == 30){
+        } else if (minute == 30) {
             minute = 45;
         }
 
@@ -1270,9 +1416,9 @@
     @RequestMapping("/halfName/{id}")
     @ResponseBody
     public String[] halfName(@PathVariable("id") Integer id) {
-        TSite byId =   siteService.getById(id);
+        TSite byId = siteService.getById(id);
         String[] split = byId.getHalfName().split(",");
-        System.out.println("=-============"+split);
+        System.out.println("=-============" + split);
 
         return split;
     }
@@ -1280,9 +1426,9 @@
     @RequestMapping("/nextName/{id}")
     @ResponseBody
     public String[] nextName(@PathVariable("id") Integer id) {
-        TSite byId =   siteService.getById(id);
+        TSite byId = siteService.getById(id);
         String[] split = byId.getNextName().split(",");
-        System.out.println("=-============"+split);
+        System.out.println("=-============" + split);
 
         return split;
     }
@@ -1293,35 +1439,35 @@
         Integer objectType = UserExt.getUser().getObjectType();
         Integer objectId = UserExt.getUser().getObjectId();
         String cityCode = null;
-        if(objectType == 2){//城市管理员
+        if (objectType == 2) {//城市管理员
             // 获取到这个运营商下面的所有门店
-            List<TStore> operatorId = storeService.list(new QueryWrapper<TStore>().eq("operatorId",objectId));
+            List<TStore> operatorId = storeService.list(new QueryWrapper<TStore>().eq("operatorId", objectId));
             model.addAttribute("store", operatorId);
             List<Coach> coach = coachClient.queryCoachByOperatorId(objectId);
             model.addAttribute("coach", coach);
             // 如果该运营商下面没有门店
-            if (operatorId.size()==0){
+            if (operatorId.size() == 0) {
                 List<TStore> o = new ArrayList<>();
                 List<TSite> tSites = new ArrayList<>();
                 model.addAttribute("store", o);
                 model.addAttribute("site", tSites);
-            }else{
+            } else {
                 List<TSite> storeId = siteService.list(new QueryWrapper<TSite>()
                         .eq("storeId", operatorId.get(0).getId()));
                 model.addAttribute("site", storeId);
             }
-        }else {
+        } else {
             List<Map<String, Object>> list = storeService.queryProvince(cityCode);
             model.addAttribute("province", list);
             Object code = list.get(0).get("code");
             List<Map<String, Object>> list1 = storeService.queryCity(code.toString(), cityCode);
             model.addAttribute("city", list1);
             String code1 = list1.get(0).get("code").toString();
-            List<TStore> list2 =new ArrayList<>();
-            if(objectType==3){
+            List<TStore> list2 = new ArrayList<>();
+            if (objectType == 3) {
                 list2 = storeService.list(new QueryWrapper<TStore>().eq("id", objectId).eq("state", 1));
-            }else {
-                 list2 = storeService.list(new QueryWrapper<TStore>().eq("cityCode", code1).eq("state", 1));
+            } else {
+                list2 = storeService.list(new QueryWrapper<TStore>().eq("cityCode", code1).eq("state", 1));
             }
             model.addAttribute("store", list2);
 
@@ -1329,67 +1475,49 @@
             List<TSite> list3 = siteService.list(new QueryWrapper<TSite>().eq("storeId", store.getId()).eq("state", 1));
             model.addAttribute("site", list3);
         }
-        model.addAttribute("objectType",objectType);
-        return PREFIX+"yuyue_add.html";
+        model.addAttribute("objectType", objectType);
+        return PREFIX + "yuyue_add.html";
     }
-
 
 
     @RequestMapping("/ordersave")
     @ResponseBody
-    public ResultUtil ordersave(SiteBooking siteBooking){
+    public ResultUtil ordersave(SiteBooking siteBooking) {
         siteBooking.setInsertTime(new Date());
         siteBooking.setState(1);
         siteBooking.setStatus(0);
         siteBooking.setAddType(1);
-        
+
         //存开始和结束时间
         String times = siteBooking.getTimes();
         String[] dates = times.split(";");
 
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+        try {
+            String start = dates[0];
+            String startDateStr = start.substring(0, start.lastIndexOf("-"));
+            Date startDate = format.parse(startDateStr);
 
-        Date minDate = null;
-        Date maxDate = null;
-
-        for (String dateStr : dates) {
-            String[] dateRange = dateStr.split("-");
-            String startDateStr = dateRange[0].trim();
-            String endDateStr = dateRange[1].trim();
-
-            try {
-                Date startDate = format.parse(startDateStr);
-                Date endDate = format.parse(endDateStr);
-
-                if (minDate == null || startDate.before(minDate)) {
-                    minDate = startDate;
-                }
-                if (maxDate == null || endDate.after(maxDate)) {
-                    maxDate = endDate;
-                }
-            } catch (Exception e) {
-                e.printStackTrace();
-            }
+            String end = dates[dates.length - 1];
+            String[] str = end.split(" ");
+            String endDateStr = str[0] + " " + str[1].substring(str[1].indexOf("-") + 1);
+            Date endDate = format.parse(endDateStr);
+            siteBooking.setStartTime(startDate);
+            siteBooking.setEndTime(endDate);
+        } catch (Exception e) {
+            e.printStackTrace();
         }
-
-        System.out.println("最小日期:" + minDate);
-        System.out.println("最大日期:" + maxDate);
-        siteBooking.setStartTime(minDate);
-        siteBooking.setEndTime(maxDate);
         siteBooking.setPayType(2);
-
         //存多少钱
         String money = siteBooking.getMoney();
         String[] moneys = money.split(",");
         siteBooking.setPayMoney(Double.valueOf(moneys[0]));
-
-
         // 查询当前预约人是否是会员
         String phone = siteBooking.getPhone();
         String booker = siteBooking.getBooker();
         TAppUser appUserByPhone = appUserClient.getAppUserByPhone(phone);
         TStore byId1 = storeService.getById(siteBooking.getStoreId());
-        if (appUserByPhone== null){
+        if (appUserByPhone == null) {
             // 则当前预约人不是会员 添加到会员表里
             TAppUser tAppUser = new TAppUser();
             tAppUser.setName(booker);
@@ -1406,18 +1534,18 @@
             appUserClient.addAppUser1(tAppUser);
             TAppUser appUserByPhone1 = appUserClient.getAppUserByPhone(phone);
             siteBooking.setAppUserId(appUserByPhone1.getId());
-        }else{
+        } else {
             siteBooking.setAppUserId(appUserByPhone.getId());
         }
         // 如果是运营商添加的话 根据门店的省市来存储
-        if (UserExt.getUser().getObjectType() == 2){
+        if (UserExt.getUser().getObjectType() == 2) {
             TStore byId = storeService.getById(siteBooking.getStoreId());
             siteBooking.setProvince(byId.getProvince());
             siteBooking.setProvinceCode(byId.getProvinceCode());
             siteBooking.setCity(byId.getCity());
             siteBooking.setCityCode(byId.getCityCode());
         }
-        if (UserExt.getUser().getObjectType() == 3){
+        if (UserExt.getUser().getObjectType() == 3) {
             TStore byId = storeService.getById(UserExt.getUser().getObjectId());
             siteBooking.setProvince(byId.getProvince());
             siteBooking.setProvinceCode(byId.getProvinceCode());
@@ -1426,18 +1554,18 @@
         }
 
         siteClient.addSiteBooking(siteBooking);
-        System.out.println("================="+siteBooking);
-        return new ResultUtil<>(null,200,null,null,null);
+        System.out.println("=================" + siteBooking);
+        return new ResultUtil<>(null, 200, null, null, null);
     }
 
     @RequestMapping("/orderedit")
     @ResponseBody
-    public ResultUtil orderedit(SiteBooking siteBooking){
-            iSiteBookingService.updateById(siteBooking);
+    public ResultUtil orderedit(SiteBooking siteBooking) {
+        iSiteBookingService.updateById(siteBooking);
 
-        System.out.println("================="+siteBooking);
+        System.out.println("=================" + siteBooking);
 
-        return new ResultUtil<>(null,200,null,null,null);
+        return new ResultUtil<>(null, 200, null, null, null);
     }
 
 }

--
Gitblit v1.7.1