package com.dsh.guns.modular.system.controller.system; 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; import com.dsh.course.feignClient.account.model.Coach; import com.dsh.course.feignClient.account.model.TAppUser; import com.dsh.course.feignClient.course.CoursePackageClient; import com.dsh.course.feignClient.course.CoursePackageDiscountClient; import com.dsh.course.feignClient.course.CoursePackagePaymentConfigClient; import com.dsh.course.feignClient.course.CoursePackageTypeClient; import com.dsh.course.feignClient.course.model.TCoursePackage; import com.dsh.course.feignClient.other.BallClient; 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.*; 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; import java.util.*; import java.util.stream.Collectors; @Controller @RequestMapping("/ball") public class BallController extends BaseController { private String PREFIX = "/system/ball/"; @Resource private BallClient ballClient; @Autowired private ICityService cityService; @Autowired private ICoursePackageService coursePackageService; @Resource private CoursePackageTypeClient coursePackageTypeClient; @Autowired private IStoreService storeService; @Resource private CityManagerClient cityManagerClient; @Autowired private ITSiteService siteService; @Resource private CoachClient coachClient; @Resource private CoursePackagePaymentConfigClient coursePackagePaymentConfigClient; @Resource private CoursePackageDiscountClient coursePackageDiscountClient; @Resource private CoursePackageClient coursePackageClient; @Autowired private AppUserClient appUserClient; @RequestMapping("/tolist") public String tolist(Model model) { List list = cityService.list(new LambdaQueryWrapper().eq(TCity::getParentId, 0)); model.addAttribute("list", list); String roleid = UserExt.getUser().getRoleid(); model.addAttribute("role", roleid); return PREFIX + "ball.html"; } //入园方式 @RequestMapping("/joinmethod/{id}") public String joinmethod(Model model, @PathVariable("id") Integer id) { model.addAttribute("id", id); return PREFIX + "join.html"; } @RequestMapping("/selectJoin") @ResponseBody public ResultUtil join(@RequestBody MethodDto 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); } @RequestMapping(value = "/yunying") @ResponseBody public ResultUtil getUserSlect() { List selectDtos = storeService.getSelect(); Map> map = new HashMap<>(); map.put("options", selectDtos); System.out.println("=======selectDtos=====" + selectDtos); return new ResultUtil(0, 0, "编辑成功", map, ""); } //取消凭证页面 @RequestMapping("/tocancel/{id}") public String tocancel(Model model, @PathVariable("id") Integer id) { model.addAttribute("id", id); return PREFIX + "cancel.html"; } @RequestMapping("/cancel") @ResponseBody public ResultUtil cancel(Integer id, String voucher, String textarea) { System.out.println("============" + id); SiteBooking siteBooking = new SiteBooking(); siteBooking.setId(id); siteBooking.setStatus(5); siteBooking.setVoucher(voucher); siteBooking.setRemark(textarea); siteBooking.setCancelUserId(UserExt.getUser().getId()); iSiteBookingService.updateById(siteBooking); return new ResultUtil<>(0, 0, "到店成功", null, null); } @RequestMapping("/confirm/{id}") @ResponseBody public ResultUtil confirm(@PathVariable("id") Integer id) { SiteBooking byId = iSiteBookingService.getById(id); String money = byId.getMoney(); String[] split = money.split(","); Double aDouble = Double.valueOf(split[0]); System.out.println("============" + id); SiteBooking siteBooking = new SiteBooking(); siteBooking.setPayMoney(aDouble); siteBooking.setId(id); siteBooking.setStatus(1); siteBooking.setPayType(4); siteBooking.setPayUserId(UserExt.getUser().getId()); iSiteBookingService.updateById(siteBooking); return new ResultUtil<>(0, 0, "手动支付成功", null, null); } /** * 获取变更列表 */ /** * 获取有效期 */ @RequestMapping("/list") @ResponseBody public List changelist(BallQueryDto ballQueryDto) { System.out.println("=======ballQueryDto==========" + ballQueryDto); User user = UserExt.getUser(); ballQueryDto.setType(user.getObjectType()); ballQueryDto.setId(user.getObjectId()); return ballClient.list(ballQueryDto); } @ResponseBody @PostMapping("/editCoursePackageState") public ResultUtil editCoursePackageState(Integer id, Integer state) { Game game = new Game(); game.setId(id); game.setState(state); ballClient.save(game); 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 v3, BigDecimal v3Coin, BigDecimal v3Cash, String v3Image, BigDecimal v3Int, Integer v3Id, Integer v3IId , String sutuName ) throws Exception { Game game = new Game(); game.setRedName(red); game.setState(0); game.setBlueName(blue); Integer objectType = UserExt.getUser().getObjectType(); if (objectType == 3) { TStore byId = storeService.getById(UserExt.getUser().getObjectId()); System.out.println("=====byId=======" + byId); game.setProvinceCode(byId.getProvinceCode()); game.setCityCode(byId.getCityCode()); } else { game.setProvinceCode(province); game.setCityCode(city); } game.setSiteId(site); game.setStoreId(store); game.setId(id); if (!operationId.equals("平台")) { game.setOperationId(Integer.valueOf(operationId)); } else { game.setOperationId(0); } System.out.println("============" + game); TStore tStore = storeService.getById(store); game.setOperationId(tStore.getOperatorId()); // 判断是新增还是修改 修改不会重新生成sutuId if (game.getId() == null) { HashMap 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 map3 = new HashMap<>(); HashMap 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 blueCode = new HashMap<>(); blueCode.put("scan_type", "1000"); blueCode.put("sutu_id", "" + sutuId); blueCode.put("space_id", si.getId() + ""); HashMap 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 blueCode = new HashMap<>(); blueCode.put("scan_type", "1000"); blueCode.put("sutu_id", "" + sutuid); blueCode.put("space_id", si.getId() + ""); HashMap 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); } } Integer gameId = ballClient.save(game); List gameConfigList = new ArrayList<>(); //玩湃跨城赛 TGameConfig gameConfigkuacheng = new TGameConfig(); gameConfigkuacheng.setId(kcId); gameConfigkuacheng.setGameId(kuachengId); gameConfigkuacheng.setCash(kuachengCash); gameConfigkuacheng.setImg(kuachengImage); gameConfigkuacheng.setName(kuacheng); gameConfigkuacheng.setPlayCoin(kuachengCoin); gameConfigkuacheng.setIntegral(kuachengInt); gameConfigkuacheng.setOtherId(gameId); System.out.println("========gameConfig======" + gameConfigkuacheng); gameConfigList.add(gameConfigkuacheng); System.out.println("======gameConfigList=======" + gameConfigList); //社区冠军赛 TGameConfig gameConfigshequ = new TGameConfig(); gameConfigshequ.setId(shequIId); gameConfigshequ.setGameId(shequId); gameConfigshequ.setCash(shequCash); gameConfigshequ.setImg(shequImage); gameConfigshequ.setName(shequ); gameConfigshequ.setPlayCoin(shequCoin); gameConfigshequ.setIntegral(shequInt); gameConfigshequ.setOtherId(gameId); gameConfigList.add(gameConfigshequ); //射门速度-玩湃熊之力 TGameConfig gameConfigshemen = new TGameConfig(); gameConfigshemen.setGameId(shemenId); gameConfigshemen.setId(smId); gameConfigshemen.setCash(shemenCash); gameConfigshemen.setImg(shemenImage); gameConfigshemen.setName(shemen); gameConfigshemen.setPlayCoin(shemenCoin); gameConfigshemen.setIntegral(shemenInt); gameConfigshemen.setOtherId(gameId); gameConfigList.add(gameConfigshemen); //玩湃熊之力-速度 TGameConfig gameConfigsudu = new TGameConfig(); gameConfigsudu.setGameId(suduId); gameConfigsudu.setId(sdId); gameConfigsudu.setCash(suduCash); gameConfigsudu.setImg(suduImage); gameConfigsudu.setName(sudu); gameConfigsudu.setPlayCoin(suduCoin); gameConfigsudu.setIntegral(suduInt); gameConfigsudu.setOtherId(gameId); gameConfigList.add(gameConfigsudu); //方块球王 TGameConfig gameConfigfangkuai = new TGameConfig(); gameConfigfangkuai.setGameId(fangkuaiId); gameConfigfangkuai.setId(fkId); gameConfigfangkuai.setCash(fangkuaiCash); gameConfigfangkuai.setImg(fangkuaiImage); gameConfigfangkuai.setName(fangkuai); gameConfigfangkuai.setPlayCoin(fangkuaiCoin); gameConfigfangkuai.setIntegral(fangkuaiInt); gameConfigfangkuai.setOtherId(gameId); gameConfigList.add(gameConfigfangkuai); //镜像阵容 TGameConfig gameConfigjx = new TGameConfig(); gameConfigjx.setGameId(jxId); gameConfigjx.setId(jxIId); gameConfigjx.setCash(jxCash); gameConfigjx.setImg(jxImage); gameConfigjx.setName(jx); gameConfigjx.setPlayCoin(jxCoin); gameConfigjx.setIntegral(jxInt); gameConfigjx.setOtherId(gameId); gameConfigList.add(gameConfigjx); //社区小球王 TGameConfig gameConfigsq = new TGameConfig(); gameConfigsq.setGameId(sqId); gameConfigsq.setId(qwId); gameConfigsq.setCash(sqCash); gameConfigsq.setImg(sqImage); gameConfigsq.setName(sq); gameConfigsq.setPlayCoin(sqCoin); gameConfigsq.setIntegral(sqInt); gameConfigsq.setOtherId(gameId); gameConfigList.add(gameConfigsq); //涨姿势 TGameConfig gameConfigzs = new TGameConfig(); gameConfigzs.setGameId(zsId); gameConfigzs.setId(zsIId); gameConfigzs.setCash(zsCash); gameConfigzs.setImg(zsImage); gameConfigzs.setName(zs); gameConfigzs.setPlayCoin(zsCoin); gameConfigzs.setIntegral(zsInt); gameConfigzs.setOtherId(gameId); gameConfigList.add(gameConfigzs); //涨姿势2 TGameConfig gameConfigzs2 = new TGameConfig(); gameConfigzs2.setGameId(zs2Id); gameConfigzs2.setId(zs2IId); gameConfigzs2.setCash(zs2Cash); gameConfigzs2.setImg(zs2Image); gameConfigzs2.setName(zs2); gameConfigzs2.setPlayCoin(zs2Coin); gameConfigzs2.setIntegral(zs2Int); gameConfigzs2.setOtherId(gameId); gameConfigList.add(gameConfigzs2); //绿茵密码 TGameConfig gameConfigly = new TGameConfig(); gameConfigly.setGameId(lyId); gameConfigly.setId(lyIId); gameConfigly.setCash(lyCash); gameConfigly.setImg(lyImage); gameConfigly.setName(ly); gameConfigly.setPlayCoin(lyCoin); 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 map1 = new HashMap<>(); HashMap 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://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); 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") public String add(Model model) { Integer objectType = UserExt.getUser().getObjectType(); if (objectType == 3) { 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"; } if (objectType == 2) { model.addAttribute("is2", "true"); model.addAttribute("oId", UserExt.getUser().getObjectId()); return PREFIX + "ball_pre_add2.html"; } model.addAttribute("is", "${is}"); return PREFIX + "ball_pre_add.html"; } @Autowired private TGameConfigService gameConfigService; @RequestMapping("/pre_edit/{id}") 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()); } TGameConfig kc = gameConfigService.getOne(new QueryWrapper().eq("otherId", id).eq("gameId", 14)); model.addAttribute("kc", kc); TGameConfig sq = gameConfigService.getOne(new QueryWrapper().eq("otherId", id).eq("gameId", 16)); model.addAttribute("sq", sq); TGameConfig sm = gameConfigService.getOne(new QueryWrapper().eq("otherId", id).eq("gameId", 13)); model.addAttribute("sm", sm); TGameConfig sd = gameConfigService.getOne(new QueryWrapper().eq("otherId", id).eq("gameId", 15)); model.addAttribute("sd", sd); TGameConfig fk = gameConfigService.getOne(new QueryWrapper().eq("otherId", id).eq("gameId", 1)); model.addAttribute("fk", fk); TGameConfig jx = gameConfigService.getOne(new QueryWrapper().eq("otherId", id).eq("gameId", 7)); model.addAttribute("jx", jx); TGameConfig qw = gameConfigService.getOne(new QueryWrapper().eq("otherId", id).eq("gameId", 8)); model.addAttribute("qw", qw); TGameConfig zs = gameConfigService.getOne(new QueryWrapper().eq("otherId", id).eq("gameId", 10)); model.addAttribute("zs", zs); TGameConfig zs2 = gameConfigService.getOne(new QueryWrapper().eq("otherId", id).eq("gameId", 11)); model.addAttribute("zs2", zs2); TGameConfig ly = gameConfigService.getOne(new QueryWrapper().eq("otherId", id).eq("gameId", 5)); model.addAttribute("ly", ly); TGameConfig v3 = gameConfigService.getOne(new QueryWrapper().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()); 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"; } if (objectType == 2) { return PREFIX + "ball_pre_edit2.html"; } return PREFIX + "ball_pre_edit.html"; } @RequestMapping("/pre_info/{id}") public String pre_info(@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()); } TGameConfig kc = gameConfigService.getOne(new QueryWrapper().eq("otherId", id).eq("gameId", 14)); model.addAttribute("kc", kc); TGameConfig sq = gameConfigService.getOne(new QueryWrapper().eq("otherId", id).eq("gameId", 16)); model.addAttribute("sq", sq); TGameConfig sm = gameConfigService.getOne(new QueryWrapper().eq("otherId", id).eq("gameId", 13)); model.addAttribute("sm", sm); TGameConfig sd = gameConfigService.getOne(new QueryWrapper().eq("otherId", id).eq("gameId", 15)); model.addAttribute("sd", sd); TGameConfig fk = gameConfigService.getOne(new QueryWrapper().eq("otherId", id).eq("gameId", 1)); model.addAttribute("fk", fk); TGameConfig jx = gameConfigService.getOne(new QueryWrapper().eq("otherId", id).eq("gameId", 7)); model.addAttribute("jx", jx); TGameConfig qw = gameConfigService.getOne(new QueryWrapper().eq("otherId", id).eq("gameId", 8)); model.addAttribute("qw", qw); TGameConfig zs = gameConfigService.getOne(new QueryWrapper().eq("otherId", id).eq("gameId", 10)); model.addAttribute("zs", zs); TGameConfig zs2 = gameConfigService.getOne(new QueryWrapper().eq("otherId", id).eq("gameId", 11)); model.addAttribute("zs2", zs2); TGameConfig ly = gameConfigService.getOne(new QueryWrapper().eq("otherId", id).eq("gameId", 5)); model.addAttribute("ly", ly); TGameConfig v3 = gameConfigService.getOne(new QueryWrapper().eq("otherId", id).eq("gameId", 0)); model.addAttribute("v3", v3); return PREFIX + "ball_pre_info.html"; } @Autowired private ISiteBookingService iSiteBookingService; @RequestMapping("/yueyue_edit/{id}") public String yueyue_edit(@PathVariable("id") Integer id, Model model) { List strings1 = new ArrayList<>(); SiteBooking book = iSiteBookingService.getById(id); model.addAttribute("item", book); if (book.getMoney() != null) { model.addAttribute("money", book.getMoney().split(",")); } String[] split1 = book.getTimes().split(";"); model.addAttribute("date", split1[0].substring(0, 10)); for (String s : split1) { String convertedValue = s.substring(11); strings1.add(convertedValue); } System.out.println("========strings1=====" + strings1); //时间段 List strings = new ArrayList<>(); // List siteBookings = siteClient.listBooks(book.getSiteId()); List siteBookings = iSiteBookingService.list(new QueryWrapper().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) { String convertedValue = s.substring(11); strings.add(convertedValue); } } System.out.println("======strings=======" + strings); List timeRanges = new ArrayList<>(); 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); boolean isAfterCurrentDate = parsedDate.isBefore(currentDate); 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); } 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.setState(0); } //是否已经预定 if (strings.contains(timeRange)) { orderDto.setState(0); } //日期是否超过 if (isAfterCurrentDate) { orderDto.setState(0); } //是否是当前场地当前日期预定的 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); Integer objectType = UserExt.getUser().getObjectType(); Integer objectId = UserExt.getUser().getObjectId(); String cityCode = null; List> list = storeService.queryProvince(cityCode); model.addAttribute("province", list); Object code = list.get(0).get("code"); List> list1 = storeService.queryCity(code.toString(), cityCode); model.addAttribute("city", list1); String code1 = list1.get(0).get("code").toString(); List list2 = storeService.list(new QueryWrapper().eq("cityCode", code1).eq("state", 1)); if (UserExt.getUser().getObjectType() == 3) { list2 = storeService.list(new QueryWrapper().eq("id", UserExt.getUser().getObjectId()).eq("state", 1)); } model.addAttribute("store", list2); TStore store = list2.get(0); List list3 = siteService.list(new QueryWrapper().eq("storeId", store.getId()).eq("state", 1)); model.addAttribute("site", list3); model.addAttribute("objType", UserExt.getUser().getObjectType()); // 查询运营商下所有门店 所有场地 if (objectType == 2) { List stores = storeService.list(new QueryWrapper().eq("operatorId", objectId)); model.addAttribute("store", stores); // 门店ids List storeIds = stores.stream().map(TStore::getId).collect(Collectors.toList()); List sites = siteService.list(new QueryWrapper().in("storeId", storeIds)); model.addAttribute("site", sites); } model.addAttribute("objectType", objectType); return PREFIX + "yuyue_edit.html"; } @Autowired private IUserService userService; @RequestMapping("/yueyue_info/{id}") public String yueyue_info(@PathVariable("id") Integer id, Model model) { List strings1 = new ArrayList<>(); SiteBooking book = iSiteBookingService.getById(id); model.addAttribute("item", book); if (book.getMoney() != null) { model.addAttribute("money", book.getMoney().split(",")); } String[] split1 = book.getTimes().split(";"); model.addAttribute("date", split1[0].substring(0, 10)); User user = userService.getById(book.getCancelUserId()); if (user != null) { model.addAttribute("cancelUser", user.getName()); } for (String s : split1) { String convertedValue = s.substring(11); strings1.add(convertedValue); } switch (book.getStatus()) { case 0: model.addAttribute("state", "待支付"); break; case 1: model.addAttribute("state", "待核销"); break; case 2: model.addAttribute("state", "已到店"); break; case 3: model.addAttribute("state", "已完成"); break; case 4: model.addAttribute("state", "已过期"); break; case 5: model.addAttribute("state", "已取消"); break; } System.out.println("========strings1=====" + strings1); //时间段 List strings = new ArrayList<>(); // List siteBookings = siteClient.listBooks(book.getSiteId()); List siteBookings = iSiteBookingService.list(new QueryWrapper().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) { String convertedValue = s.substring(11); strings.add(convertedValue); } } System.out.println("======strings=======" + strings); List timeRanges = new ArrayList<>(); 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); boolean isAfterCurrentDate = parsedDate.isBefore(currentDate); System.out.println("是否超过当前日期" + isAfterCurrentDate); String currentTime = appointmentStartTime; while (currentTime.compareTo(appointmentEndTime) < 0) { String 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.setState(0); } //是否已经预定 if (strings.contains(timeRange)) { orderDto.setState(0); } //日期是否超过 if (isAfterCurrentDate) { orderDto.setState(0); } //是否是当前场地当前日期预定的 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); 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("objectType", objectType); return PREFIX + "yuyue_info.html"; } @RequestMapping("/paike") public String paike(Model model) { return PREFIX + "paike.html"; } @RequestMapping("/getStudentTotal") @ResponseBody public List> 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) { // 先查询这个运营商下的所有门店ids List storeIds = storeService.list(new QueryWrapper().eq("operatorId", UserExt.getUser().getObjectId())) .stream().map(TStore::getId).collect(Collectors.toList()); // 根据门店ids 查询所有课包ids List tCoursePackages = new ArrayList<>(); for (Integer storeId : storeIds) { List coursePackageByStoreId = coursePackageClient.getCoursePackageByStoreId(storeId); tCoursePackages.addAll(coursePackageByStoreId); } List 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 storeIds = new ArrayList<>(); storeIds.add(UserExt.getUser().getObjectId()); // 根据门店ids 查询所有课包ids List tCoursePackages = new ArrayList<>(); for (Integer storeId : storeIds) { List coursePackageByStoreId = coursePackageClient.getCoursePackageByStoreId(storeId); tCoursePackages.addAll(coursePackageByStoreId); } List coursePackageByStoreIds = tCoursePackages.stream().distinct().map(TCoursePackage::getId).collect(Collectors.toList()); if (tCoursePackages.isEmpty()) { coursePackageByStoreIds.add(-1); } studentQeryDto.setCoursePackageIds(coursePackageByStoreIds); } List> pays = coursePackageClient.getStudentTotal(studentQeryDto); return pays; } @RequestMapping("/bypac") @ResponseBody public List> 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) { QueryWrapper queryWrapper = new QueryWrapper().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 storeIds = storeService.list(queryWrapper) .stream().map(TStore::getId).collect(Collectors.toList()); storeIds.add(-1); pacQueryDto.setStoreIds(storeIds); } else { QueryWrapper queryWrapper = new QueryWrapper().eq("state", 1); if (ToolUtil.isNotEmpty(pacQueryDto.getCityCode())) { queryWrapper.eq("cityCode", pacQueryDto.getCityCode()); } if (ToolUtil.isNotEmpty(pacQueryDto.getName())) { queryWrapper.like("name", pacQueryDto.getName()); } List storeIds = storeService.list(queryWrapper) .stream().map(TStore::getId).collect(Collectors.toList()); storeIds.add(-1); pacQueryDto.setStoreIds(storeIds); } List> pays = coursePackageClient.bypac(pacQueryDto); return pays; } @RequestMapping("/yuyue") public String yuyue(Model model) { List list = cityService.list(new LambdaQueryWrapper().eq(TCity::getParentId, 0)); model.addAttribute("list", list); String roleid = UserExt.getUser().getRoleid(); model.addAttribute("role", roleid); return PREFIX + "yuyue.html"; } @RequestMapping("/jieshao") public String jieshao(Model model) { List list = cityService.list(new LambdaQueryWrapper().eq(TCity::getParentId, 0)); model.addAttribute("list", list); String roleid = UserExt.getUser().getRoleid(); model.addAttribute("role", roleid); return PREFIX + "jieshao.html"; } /** * 获取有效期 */ @RequestMapping("/yuyuelist") @ResponseBody public List> yuyuelist(BookingQuery bookingQuery) { Integer objectType = UserExt.getUser().getObjectType(); if (objectType == 2) { List operatorId = storeService.list(new QueryWrapper() .eq("operatorId", UserExt.getUser().getObjectId())) .stream().map(TStore::getId).collect(Collectors.toList()); bookingQuery.setStoreIds(operatorId); } if (objectType == 3) { bookingQuery.setStoreId(UserExt.getUser().getObjectId()); } List> orders = ballClient.listorder(bookingQuery); System.out.println("=======ballQueryDto==========" + bookingQuery); for (Map 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) { User payUserId = userService.getById(Integer.parseInt(vo.get("payUserId").toString())); 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; } @RequestMapping("/addjs") @ResponseBody public ResultUtil addjs(@RequestBody JsDto jsDto) { System.out.println("=======jsDto========" + jsDto); storeService.insert(jsDto); return new ResultUtil(0, 0, "保存成功", null, null); } @RequestMapping("/get/{id}") @ResponseBody public JsDto getJs(@PathVariable("id") Integer id) { JsDto jsDto = storeService.get(id); return jsDto; } @RequestMapping("/getMoney/{id}/{type}") @ResponseBody public List getMoney(@PathVariable("id") Integer id, @PathVariable("type") Integer type) { List doubles = new ArrayList<>(); Site site = siteClient.listById(id); System.out.println("=====stie=====" + site); System.out.println("=====type=====" + type); if (type == 1) { doubles.add(site.getCashPrice()); doubles.add(Double.valueOf(site.getPlayPaiCoin())); return doubles; } else { doubles.add(site.getCashPriceOne()); doubles.add(site.getPlayPaiCoinOne()); return doubles; } } @Resource private SiteClient siteClient; @Autowired private ISiteLockService siteLockService; @RequestMapping("/yuyuetimes/{id}") @ResponseBody public List yuyuetimes(@PathVariable("id") Integer id, String date, String siteName, String halfName) throws ParseException { // System.out.println("=======date======"+date); // // List strings = new ArrayList<>(); // //// List siteBookings = siteClient.listBooks(id); // List siteBookings = iSiteBookingService.list(new QueryWrapper() // .eq("siteId", id).like("times",date)); //System.out.println("=======siteBookings======"+siteBookings); // for (SiteBooking siteBooking : siteBookings) { // String[] split = siteBooking.getTimes().split(";"); // for (String s : split) { // // String convertedValue = s.substring(11); // strings.add(convertedValue); // } // // } // System.out.println("======strings======="+strings); // // List timeRanges = new ArrayList<>(); // // Site site = siteClient.listById(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.setState(0); // } // if (strings.contains(timeRange)){ // orderDto.setState(0); // } // // // timeRanges.add(orderDto); // currentTime = nextTime; // } // System.out.println("-------------"+timeRanges); // // return timeRanges; SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); Date now = new Date(); System.out.println("=======date======" + date); List strings = new ArrayList<>(); List siteBookings = iSiteBookingService.list(new QueryWrapper().eq("siteId", id).ne("status", 5).eq("nextName", siteName).like("times", date)); if (siteName == null || siteName.equals("")) { siteBookings = iSiteBookingService.list(new QueryWrapper().eq("siteId", id).ne("status", 5).like("times", date)); } 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 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 list = siteLockService.list(new LambdaQueryWrapper().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; } public static String getNextTime(String currentTime) { String[] parts = currentTime.split(":"); int hour = Integer.parseInt(parts[0]); int minute = Integer.parseInt(parts[1]); if (minute == 30) { hour++; minute = 0; } else { minute = 30; } return String.format("%02d:%02d", hour, minute); } public static String getNextTimeOne(String currentTime) { String[] parts = currentTime.split(":"); int hour = Integer.parseInt(parts[0]); int minute = Integer.parseInt(parts[1]); if (minute == 45) { hour++; minute = 0; } else if (minute == 0) { minute = 15; } else if (minute == 15) { minute = 30; } else if (minute == 30) { minute = 45; } return String.format("%02d:%02d", hour, minute); } @RequestMapping("/halfName/{id}") @ResponseBody public String[] halfName(@PathVariable("id") Integer id) { TSite byId = siteService.getById(id); String[] split = byId.getHalfName().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) {//城市管理员 // 获取到这个运营商下面的所有门店 List operatorId = storeService.list(new QueryWrapper().eq("operatorId", objectId)); model.addAttribute("store", operatorId); List coach = coachClient.queryCoachByOperatorId(objectId); model.addAttribute("coach", coach); // 如果该运营商下面没有门店 if (operatorId.size() == 0) { List o = new ArrayList<>(); List tSites = new ArrayList<>(); model.addAttribute("store", o); model.addAttribute("site", tSites); } else { List storeId = siteService.list(new QueryWrapper() .eq("storeId", operatorId.get(0).getId())); model.addAttribute("site", storeId); } } else { List> list = storeService.queryProvince(cityCode); model.addAttribute("province", list); Object code = list.get(0).get("code"); List> list1 = storeService.queryCity(code.toString(), cityCode); model.addAttribute("city", list1); String code1 = list1.get(0).get("code").toString(); List list2 = new ArrayList<>(); if (objectType == 3) { list2 = storeService.list(new QueryWrapper().eq("id", objectId).eq("state", 1)); } else { list2 = storeService.list(new QueryWrapper().eq("cityCode", code1).eq("state", 1)); } model.addAttribute("store", list2); TStore store = list2.get(0); List list3 = siteService.list(new QueryWrapper().eq("storeId", store.getId()).eq("state", 1)); model.addAttribute("site", list3); } model.addAttribute("objectType", objectType); return PREFIX + "yuyue_add.html"; } @RequestMapping("/ordersave") @ResponseBody 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) { // 则当前预约人不是会员 添加到会员表里 TAppUser tAppUser = new TAppUser(); tAppUser.setName(booker); tAppUser.setPhone(phone); tAppUser.setProvince(byId1.getProvince()); tAppUser.setProvinceCode(byId1.getProvinceCode()); tAppUser.setCity(byId1.getCity()); tAppUser.setCityCode(byId1.getCityCode()); tAppUser.setIsVip(0); tAppUser.setInsertType(UserExt.getUser().getObjectType()); tAppUser.setAddUserId(UserExt.getUser().getObjectId()); tAppUser.setInsertTime(new Date()); tAppUser.setPassword(MD5.md5("111111")); appUserClient.addAppUser1(tAppUser); TAppUser appUserByPhone1 = appUserClient.getAppUserByPhone(phone); siteBooking.setAppUserId(appUserByPhone1.getId()); } else { siteBooking.setAppUserId(appUserByPhone.getId()); } // 如果是运营商添加的话 根据门店的省市来存储 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) { TStore byId = storeService.getById(UserExt.getUser().getObjectId()); siteBooking.setProvince(byId.getProvince()); siteBooking.setProvinceCode(byId.getProvinceCode()); siteBooking.setCity(byId.getCity()); siteBooking.setCityCode(byId.getCityCode()); } siteClient.addSiteBooking(siteBooking); System.out.println("=================" + siteBooking); return new ResultUtil<>(null, 200, null, null, null); } @RequestMapping("/orderedit") @ResponseBody public ResultUtil orderedit(SiteBooking siteBooking) { iSiteBookingService.updateById(siteBooking); System.out.println("=================" + siteBooking); return new ResultUtil<>(null, 200, null, null, null); } }