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 | 977 ++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 647 insertions(+), 330 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 32c31f1..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,33 @@ 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.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; import java.time.LocalTime; import java.time.format.DateTimeFormatter; @@ -50,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; @@ -84,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"; } @@ -111,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") @@ -128,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); @@ -160,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}") @@ -169,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); @@ -181,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); } @@ -194,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()); @@ -203,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); @@ -212,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); @@ -257,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); @@ -299,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); @@ -331,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); @@ -380,7 +482,6 @@ gameConfigList.add(gameConfigsq); - //涨姿势 TGameConfig gameConfigzs = new TGameConfig(); gameConfigzs.setGameId(zsId); @@ -395,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); @@ -407,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); @@ -415,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") @@ -443,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) { @@ -614,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) { @@ -630,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); } @@ -662,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(); @@ -703,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); @@ -712,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 @@ -722,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()); } @@ -754,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) { @@ -790,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); @@ -819,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()); @@ -886,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; } @@ -921,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"; } - /** @@ -946,37 +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(); +// } +// } } return orders; } @@ -984,48 +1151,52 @@ @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 == 0 ){ + 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 + private ISiteLockService siteLockService; @RequestMapping("/yuyuetimes/{id}") @ResponseBody - public List<OrderDto> yuyuetimes(@PathVariable("id") Integer id,String day,String siteName,String halfName) { + 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<>(); @@ -1053,7 +1224,7 @@ // String appointmentEndTime = site.getAppointmentEndTime(); // // String currentTime = appointmentStartTime; -// while (currentTime.compareTo(appointmentEndTime) < 0) { +// while (currentTime.compareTo(appointmentEndTime) < 0){ // String nextTime = null; // if("智慧场地".equals(site.getTypeName())){ // nextTime=getNextTimeOne(currentTime); @@ -1085,9 +1256,120 @@ // return timeRanges; + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + Date now = new Date(); + + System.out.println("=======date======" + date); + List<String> strings = new ArrayList<>(); + + List<SiteBooking> siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", id).ne("status", 5).eq("nextName", siteName).like("times", date)); + + if (siteName == null || siteName.equals("")) { + siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", id).ne("status", 5).like("times", date)); + } -return null; + System.out.println("=======siteBookings======" + siteBookings); + for (SiteBooking siteBooking : siteBookings) { + + + String[] split = siteBooking.getTimes().split(";"); + + if (siteBooking.getIsHalf() == 2) { + for (String s : split) { + String convertedValue = s.substring(11); + strings.add(convertedValue); + } + } else { + if (halfName == null) { + for (String s : split) { + String convertedValue = s.substring(11); + strings.add(convertedValue); + } + } + + if (siteBooking.getHalfName().equals(halfName)) { + for (String s : split) { + String convertedValue = s.substring(11); + strings.add(convertedValue); + } + + } + } + } + System.out.println("======strings=======" + strings); + + + List<OrderDto> timeRanges = new ArrayList<>(); + + + TSite site = siteService.getById(id); + System.out.println("================" + site); + String appointmentStartTime = site.getAppointmentStartTime(); + String appointmentEndTime = site.getAppointmentEndTime(); + + String currentTime = appointmentStartTime; + while (currentTime.compareTo(appointmentEndTime) < 0) { + String nextTime = null; + if ("智慧场地".equals(site.getTypeName())) { + nextTime = getNextTimeOne(currentTime); + } else { + nextTime = getNextTime(currentTime); + } + + + String timeRange = currentTime + "-" + nextTime; + OrderDto orderDto = new OrderDto(); + orderDto.setTime(timeRange); + + LocalTime currentTime1 = LocalTime.now(); + LocalTime targetTime = LocalTime.parse(currentTime); + + boolean hasExceeded = currentTime1.isAfter(targetTime); +// if (hasExceeded){ +// orderDto.setSelectable(0); +// } + if (strings.contains(timeRange)) { + + orderDto.setState(0); + } else { + + String stime = date + " " + currentTime; + String etime = date + " " + nextTime; + Date isPass = format.parse(etime); + + + orderDto.setState(1); + // 查出lock + List<SiteLock> list = siteLockService.list(new LambdaQueryWrapper<SiteLock>().eq(SiteLock::getSiteId, id)); + for (SiteLock siteLock : list) { + boolean stringDateBetween = DateComparisonExample.isStringDateBetween(stime + " - " + etime, siteLock.getStartTime(), siteLock.getEndTime()); + if (stringDateBetween) { + orderDto.setState(0); + } + if (DateComparisonExample.isStringWithinTimeRange(stime, siteLock.getStartTime(), siteLock.getEndTime())) { + orderDto.setState(0); + } + if (DateComparisonExample.isStringWithinTimeRange(etime, siteLock.getStartTime(), siteLock.getEndTime())) { + orderDto.setState(0); + } + + } + if (isPass.before(now)) { + orderDto.setState(0); + } + + } + + + timeRanges.add(orderDto); + currentTime = nextTime; + } + System.out.println("-------------" + timeRanges); + + return timeRanges; + + } @@ -1118,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; } @@ -1134,47 +1416,58 @@ @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; } + + @RequestMapping("/nextName/{id}") + @ResponseBody + public String[] nextName(@PathVariable("id") Integer id) { + TSite byId = siteService.getById(id); + String[] split = byId.getNextName().split(","); + System.out.println("=-============" + split); + + return split; + } + @RequestMapping("/yuyue_add") public String yuyueadd(Model model) { 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); @@ -1182,25 +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); + + 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(); + } + 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); @@ -1217,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()); @@ -1237,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