From 3b3db9ecdc588bfaed9a5ca92b399b0525f43955 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期一, 11 三月 2024 15:49:23 +0800 Subject: [PATCH] 修改bug --- cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java | 256 +++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 228 insertions(+), 28 deletions(-) diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java index a768280..e0b910f 100644 --- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java +++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java @@ -3,10 +3,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.dsh.communityWorldCup.entity.WorldCup; -import com.dsh.communityWorldCup.entity.WorldCupCompetitor; -import com.dsh.communityWorldCup.entity.WorldCupPaymentParticipant; -import com.dsh.communityWorldCup.entity.WorldCupStore; +import com.dsh.communityWorldCup.entity.*; import com.dsh.communityWorldCup.feignclient.account.AppUserClient; import com.dsh.communityWorldCup.feignclient.account.StudentClient; import com.dsh.communityWorldCup.feignclient.account.model.AppUser; @@ -18,10 +15,7 @@ import com.dsh.communityWorldCup.feignclient.other.model.Site; import com.dsh.communityWorldCup.feignclient.other.model.Store; import com.dsh.communityWorldCup.model.*; -import com.dsh.communityWorldCup.service.IWorldCupCompetitorService; -import com.dsh.communityWorldCup.service.IWorldCupPaymentParticipantService; -import com.dsh.communityWorldCup.service.IWorldCupService; -import com.dsh.communityWorldCup.service.IWorldCupStoreService; +import com.dsh.communityWorldCup.service.*; import com.dsh.communityWorldCup.util.GDMapGeocodingUtil; import com.dsh.communityWorldCup.util.PayMoneyUtil; import com.dsh.communityWorldCup.util.ResultUtil; @@ -38,6 +32,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.*; @@ -93,8 +88,29 @@ @Autowired private GDMapGeocodingUtil gdMapGeocodingUtil; + @Autowired + private IWorldCupPaymentService worldCupPaymentService; - + /** + * 根据门店id获取门店关系数据 + * @param storeId + * @return + */ + @ResponseBody + @PostMapping("/worldCup/getWorldCupStoreListByStoreId") + public List<WorldCupStore> getWorldCupStoreListByStoreId(@RequestBody Integer storeId){ + return worldCupStoreService.list(new QueryWrapper<WorldCupStore>().eq("storeId", storeId)); + } + /** + * 根据门店id修改门店关系数据 + * @param worldCupStores + * @return + */ + @ResponseBody + @PostMapping("/worldCup/updateWorldCupStoreListById") + public Boolean updateWorldCupStoreListById(@RequestBody List<WorldCupStore> worldCupStores){ + return worldCupStoreService.updateBatchById(worldCupStores); + } @ResponseBody @PostMapping("/api/worldCup/getWorldCupStore") @@ -151,19 +167,24 @@ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) public ResultUtil<WorldCupPeopleVo> getWorldCupPeople(WorldCupPeople worldCupPeople){ - WorldCupPaymentParticipant worldCupPaymentParticipant = worldCupPaymentParticipantService.getById(worldCupPeople.getCode()); + JSONObject jsonObject = JSON.parseObject(worldCupPeople.getCode()); + Long id = jsonObject.getLong("id"); + Integer isStudent = jsonObject.getInteger("isStudent"); + if(0 == isStudent){ + isStudent = 2; + } + WorldCupPaymentParticipant worldCupPaymentParticipant = worldCupPaymentParticipantService.getOne(new QueryWrapper<WorldCupPaymentParticipant>() + .eq("worldCupId", worldCupPeople.getWorldCupId()).eq("participantId", id).eq("participantType", isStudent) + .orderByDesc("createTime").last(" limit 0, 1")); if(null == worldCupPaymentParticipant){ return ResultUtil.error("无效二维码"); } - if(worldCupPaymentParticipant.getWorldCupId().compareTo(worldCupPeople.getWorldCupId()) != 0){ - return ResultUtil.error("报名失败,当前用户未报名当前比赛"); - } WorldCupPeopleVo worldCupPeopleVo = new WorldCupPeopleVo(); - worldCupPeopleVo.setId(worldCupPaymentParticipant.getId()); + worldCupPeopleVo.setId(worldCupPaymentParticipant.getParticipantId()); SimpleDateFormat sdf = new SimpleDateFormat("yyyy"); if(worldCupPaymentParticipant.getParticipantType() == 1){ //学员 - TStudent tStudent = studentClient.queryById(worldCupPaymentParticipant.getParticipantId()); + TStudent tStudent = studentClient.queryById(worldCupPaymentParticipant.getParticipantId().intValue()); worldCupPeopleVo.setName(tStudent.getName()); worldCupPeopleVo.setAge(null == tStudent.getBirthday() ? 0 : Integer.valueOf(sdf.format(new Date())) -Integer.valueOf(sdf.format(tStudent.getBirthday()))); worldCupPeopleVo.setAvatar(tStudent.getHeadImg()); @@ -188,7 +209,7 @@ @ApiImplicitParam(name = "code", value = "扫码结果", required = true, dataType = "String"), @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil<Map<String, String>> getDeviceInformation(@RequestBody String code){ + public ResultUtil<Map<String, String>> getDeviceInformation(String code){ /** * { * "scan_type": 0, // 扫码类型:1000:游戏,1001:课程,1002:场地 @@ -203,14 +224,13 @@ return ResultUtil.error("二维码不正确"); } Integer space_id = jsonObject.getInteger("space_id"); - Site site = siteClient.getSite(space_id); - if(null == site){ + Store store = storeClient.queryStoreById(space_id); + if(null == store){ return ResultUtil.error("无法获取场地信息"); } - Store store = storeClient.queryStoreById(site.getStoreId()); Map<String, String> map = new HashMap<>(); map.put("name", store.getName()); - map.put("address", site.getName()); + map.put("address", store.getAddress()); return ResultUtil.success(map); } @@ -272,7 +292,7 @@ @ApiImplicitParam(name = "lat", value = "纬度", required = true, dataType = "string"), @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil<WorldCupInfo> getWorldCupInfo(@RequestBody Integer id, @RequestBody String lon, @RequestBody String lat){ + public ResultUtil<WorldCupInfo> getWorldCupInfo(Integer id,String lon, String lat){ WorldCupInfo worldCupInfo = worldCupService.getWorldCupInfo(id, lon, lat); return ResultUtil.success(worldCupInfo); } @@ -393,7 +413,11 @@ public List<WorldCupStore> getWorldCupStoreList(@RequestBody Integer storeId){ List<WorldCup> worldCupList = worldCupService.list(new QueryWrapper<WorldCup>().in("status", Arrays.asList(1, 2))); List<Integer> collect = worldCupList.stream().map(WorldCup::getId).collect(Collectors.toList()); - return worldCupStoreService.list(new QueryWrapper<WorldCupStore>().eq("storeId", storeId).in("worldCupId", collect)); + if(collect.size() == 0){ + return new ArrayList<>(); + } + return worldCupStoreService.list(new QueryWrapper<WorldCupStore>().eq("storeId", storeId).in("worldCupId", collect) + .eq("isOpen", 1)); } @@ -406,8 +430,18 @@ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) public ResultUtil<EntrantRankVo> getEntrantRank(EntrantRank entrantRank){ - EntrantRankVo entrantRank1 = worldCupCompetitorService.getEntrantRank(entrantRank); - return ResultUtil.success(entrantRank1); + try { + Integer uid = tokenUtil.getUserIdFormRedis(); + if(null == uid){ + return ResultUtil.success(); + } + entrantRank.setAppUserId(uid); + EntrantRankVo entrantRank1 = worldCupCompetitorService.getEntrantRank(entrantRank); + return ResultUtil.success(entrantRank1); + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.runErr(); + } } @@ -453,11 +487,24 @@ @ApiOperation(value = "获取已报名世界杯详情【2.0】", tags = {"APP-个人中心"}) @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "列表中的id", required = true, dataType = "String"), + @ApiImplicitParam(name = "lon", value = "经度", required = true, dataType = "string"), + @ApiImplicitParam(name = "lat", value = "纬度", required = true, dataType = "string"), @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil<MyWorldCupInfo> getMyWorldCupInfo(String id){ - MyWorldCupInfo myWorldCupInfo = worldCupPaymentParticipantService.getMyWorldCupInfo(id); + public ResultUtil<MyWorldCupInfo> getMyWorldCupInfo(String id, String lon, String lat){ + MyWorldCupInfo myWorldCupInfo = worldCupPaymentParticipantService.getMyWorldCupInfo(id, lon, lat); return ResultUtil.success(myWorldCupInfo); + } + + @ResponseBody + @PostMapping("/api/worldCup/cancelMyWorldCup") + @ApiOperation(value = "取消已报名的世界杯【2.0】", tags = {"APP-个人中心"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "列表中的id", required = true, dataType = "String"), + @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + }) + public ResultUtil cancelMyWorldCup(String id){ + return worldCupPaymentService.cancelMyWorldCup(id); } @@ -483,8 +530,18 @@ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) public ResultUtil<List<WorldCupRankVo>> getWorldCupRank(WorldCupRank worldCupRank){ - List<WorldCupRankVo> worldCupRank1 = worldCupCompetitorService.getWorldCupRank(worldCupRank); - return ResultUtil.success(worldCupRank1); + try { + Integer uid = tokenUtil.getUserIdFormRedis(); + if(null == uid){ + return ResultUtil.tokenErr(); + } + worldCupRank.setAppUserId(uid); + List<WorldCupRankVo> worldCupRank1 = worldCupCompetitorService.getWorldCupRank(worldCupRank); + return ResultUtil.success(worldCupRank1); + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.runErr(); + } } @@ -512,6 +569,18 @@ return worldCupCompetitorService.count(new QueryWrapper<WorldCupCompetitor>() .eq("participantId", studentId).eq("participantType", 1).eq("matchResult", 1)); } + + /** + * 获取比赛管理列表数据 + * @param worldCupListAll + * @return + */ + @ResponseBody + @PostMapping("/worldCup/getWorldCupListAll") + public Map<String, Object> getWorldCupListAll(@RequestBody WorldCupListAll worldCupListAll){ + return worldCupService.getWorldCupListAll(worldCupListAll); + } + /** @@ -628,4 +697,135 @@ public void cancelWorldCupRefund(@RequestBody Integer id){ worldCupService.cancelWorldCupRefund(id); } + + + /** + * 游戏结束后的通知回调 + */ + @ResponseBody + @PostMapping("/base/worldCup/endWorldCupCallback") + public void endWorldCupCallback(String custom, Integer red_score, Integer blue_score){ + worldCupCompetitorService.endWorldCupCallback(custom, red_score, blue_score); + } + + + /** + * 取消赛事后微信退款回调 + * @param request + * @param response + */ + @ResponseBody + @PostMapping("/base/worldCup/wxRefundWorldCupCallback") + public void wxRefundWorldCupCallback(HttpServletRequest request, HttpServletResponse response){ + Map<String, String> map = payMoneyUtil.wxRefundCallback(request); + if(null != map){ + String refund_id = map.get("refund_id"); + String out_refund_no = map.get("out_refund_no"); + String result = map.get("result"); + WorldCupPayment worldCupPayment = worldCupPaymentService.getOne(new QueryWrapper<WorldCupPayment>().eq("code", out_refund_no)); + worldCupPayment.setRefundOrderNo(refund_id); + worldCupPayment.setRefundTime(new Date()); + worldCupPayment.setPayStatus(3); + worldCupPaymentService.updateById(worldCupPayment); + PrintWriter out = null; + try { + out = response.getWriter(); + } catch (IOException e) { + throw new RuntimeException(e); + } + out.println(result); + out.flush(); + out.close(); + } + } + + + /** + * 获取已报名人员列表 + * @param registeredPersonnel + * @return + */ + @ResponseBody + @PostMapping("/worldCup/getRegisteredPersonnel") + public Map<String, Object> getRegisteredPersonnel(@RequestBody RegisteredPersonnel registeredPersonnel){ + return worldCupPaymentParticipantService.getRegisteredPersonnel(registeredPersonnel); + } + + + /** + * 获取比赛排行榜列表数据 + * @param worldCupRecords + * @return + */ + @ResponseBody + @PostMapping("/worldCup/worldCupRecordsList") + public Map<String, Object> worldCupRecordsList(@RequestBody WorldCupRecords worldCupRecords){ + return worldCupCompetitorService.worldCupRecordsList(worldCupRecords); + } + + + /** + * 获取比赛统计 + * @param worldCupGameStatistics + * @return + */ + @ResponseBody + @PostMapping("/worldCup/worldCupGameStatistics") + public Map<String, Object> worldCupGameStatistics(@RequestBody WorldCupGameStatistics worldCupGameStatistics){ + return worldCupService.worldCupGameStatistics(worldCupGameStatistics); + } + + + /** + * 获取比赛统计详情列表 + * @param worldCupGameStatisticsInfoList + * @return + */ + @ResponseBody + @PostMapping("/worldCup/worldCupGameStatisticsInfoList") + public Map<String, Object> worldCupGameStatisticsInfoList(@RequestBody WorldCupGameStatisticsInfoList worldCupGameStatisticsInfoList){ + return worldCupCompetitorService.worldCupGameStatisticsInfoList(worldCupGameStatisticsInfoList); + } + + + /** + * 获取单场参赛详情列表 + * @return + */ + @ResponseBody + @PostMapping("/worldCup/worldCupGameStatisticsListInfo") + public Map<String, Object> worldCupGameStatisticsListInfo(@RequestBody WorldCupGameStatisticsListInfo worldCupGameStatisticsListInfo){ + return worldCupCompetitorService.worldCupGameStatisticsListInfo(worldCupGameStatisticsListInfo); + } + + + /** + * 修改比分 + * @param changeScore + */ + @ResponseBody + @PostMapping("/worldCup/changeScore") + public void changeScore(@RequestBody ChangeScore changeScore){ + worldCupCompetitorService.changeScore(changeScore); + } + + + @ResponseBody + @PostMapping("/worldCup/getUserGameRecordList") + public Map<String, Object> getUserGameRecordList(@RequestBody WorldCupGameStatisticsInfoList worldCupGameStatisticsInfoList){ + return worldCupPaymentParticipantService.getUserGameRecordList(worldCupGameStatisticsInfoList); + } + + + + /** + * 获取用户比赛记录明细 + * @param userGameRecordList + * @return + */ + @ResponseBody + @PostMapping("/worldCup/userGameRecordList") + public Map<String, Object> userGameRecordList(@RequestBody UserGameRecordList userGameRecordList){ + return worldCupCompetitorService.userGameRecordList(userGameRecordList); + } } -- Gitblit v1.7.1