From b0254c5a17b3915eb00fdcb33f0eea222cff78ee Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期三, 06 三月 2024 15:06:54 +0800 Subject: [PATCH] Merge branch '2.0' of http://120.76.84.145:10101/gitblit/r/java/PlayPai --- cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java | 706 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 706 insertions(+), 0 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 new file mode 100644 index 0000000..cb1b7b0 --- /dev/null +++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java @@ -0,0 +1,706 @@ +package com.dsh.communityWorldCup.controller; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +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; +import com.dsh.communityWorldCup.feignclient.account.model.TStudent; +import com.dsh.communityWorldCup.feignclient.competition.ParticipantClient; +import com.dsh.communityWorldCup.feignclient.competition.model.Participant; +import com.dsh.communityWorldCup.feignclient.other.SiteClient; +import com.dsh.communityWorldCup.feignclient.other.StoreClient; +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.*; +import com.dsh.communityWorldCup.util.GDMapGeocodingUtil; +import com.dsh.communityWorldCup.util.PayMoneyUtil; +import com.dsh.communityWorldCup.util.ResultUtil; +import com.dsh.communityWorldCup.util.TokenUtil; +import groovy.util.logging.Log4j; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +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.*; +import java.util.stream.Collectors; + +/** + * 社区世界杯 + * @author zhibing.pu + * @Date 2024/2/18 17:13 + */ +@RestController +@RequestMapping("") +public class WorldCupController { + + Logger log = LoggerFactory.getLogger(WorldCupController.class); + + @Autowired + private TokenUtil tokenUtil; + + @Autowired + private IWorldCupService worldCupService; + + @Autowired + private IWorldCupStoreService worldCupListCoach; + + @Autowired + private IWorldCupPaymentParticipantService worldCupPaymentParticipantService; + + @Resource + private StudentClient studentClient; + + @Resource + private ParticipantClient participantClient; + + @Resource + private AppUserClient appUserClient; + + @Resource + private SiteClient siteClient; + + @Resource + private StoreClient storeClient; + + @Autowired + private PayMoneyUtil payMoneyUtil; + + @Autowired + private IWorldCupStoreService worldCupStoreService; + + @Autowired + private IWorldCupCompetitorService worldCupCompetitorService; + + @Autowired + private GDMapGeocodingUtil gdMapGeocodingUtil; + + @Autowired + private IWorldCupPaymentService worldCupPaymentService; + + + + + @ResponseBody + @PostMapping("/api/worldCup/getWorldCupStore") + @ApiOperation(value = "裁判获取社区世界杯赛点列表【2.0】", tags = {"APP-个人中心"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + }) + public ResultUtil<List<Map<String, Object>>> getWorldCupStore(){ + try { + Integer uid = tokenUtil.getUserIdFormRedis(); + if(null == uid){ + return ResultUtil.tokenErr(); + } + List<Map<String, Object>> worldCupStore = worldCupListCoach.getWorldCupStore(); + return ResultUtil.success(worldCupStore); + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.runErr(); + } + } + + + + + + + + @ResponseBody + @PostMapping("/api/worldCup/getWorldCupListCoach") + @ApiOperation(value = "裁判获取社区世界杯列表【2.0】", tags = {"APP-个人中心"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + }) + public ResultUtil<List<WorldCupListCoachVo>> getWorldCupListCoach(WorldCupListCoach worldCupListCoach){ + try { + Integer uid = tokenUtil.getUserIdFormRedis(); + if(null == uid){ + return ResultUtil.tokenErr(); + } + List<WorldCupListCoachVo> worldCupListCoach1 = worldCupService.getWorldCupListCoach(worldCupListCoach); + return ResultUtil.success(worldCupListCoach1); + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.runErr(); + } + } + + + + @ResponseBody + @PostMapping("/api/worldCup/getWorldCupPeople") + @ApiOperation(value = "裁判扫码获取参赛人信息【2.0】", tags = {"APP-个人中心"}) + @ApiImplicitParams({ + @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()); + if(null == worldCupPaymentParticipant){ + return ResultUtil.error("无效二维码"); + } + if(worldCupPaymentParticipant.getWorldCupId().compareTo(worldCupPeople.getWorldCupId()) != 0){ + return ResultUtil.error("报名失败,当前用户未报名当前比赛"); + } + WorldCupPeopleVo worldCupPeopleVo = new WorldCupPeopleVo(); + worldCupPeopleVo.setId(worldCupPaymentParticipant.getId()); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy"); + if(worldCupPaymentParticipant.getParticipantType() == 1){ + //学员 + TStudent tStudent = studentClient.queryById(worldCupPaymentParticipant.getParticipantId()); + 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()); + worldCupPeopleVo.setParticipantType(1); + }else{ + AppUser appUser = appUserClient.getAppUser(worldCupPaymentParticipant.getAppUserId()); + //参赛人员 + Participant participant = participantClient.getParticipant(worldCupPaymentParticipant.getParticipantId()); + worldCupPeopleVo.setName(participant.getName()); + worldCupPeopleVo.setAge(null == participant.getBirthday() ? 0 : Integer.valueOf(sdf.format(new Date())) -Integer.valueOf(sdf.format(participant.getBirthday()))); + worldCupPeopleVo.setAvatar(appUser.getHeadImg()); + worldCupPeopleVo.setParticipantType(2); + } + return ResultUtil.success(worldCupPeopleVo); + } + + + @ResponseBody + @PostMapping("/api/worldCup/getDeviceInformation") + @ApiOperation(value = "裁判扫码获取设备信息【2.0】", tags = {"APP-个人中心"}) + @ApiImplicitParams({ + @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(String code){ + /** + * { + * "scan_type": 0, // 扫码类型:1000:游戏,1001:课程,1002:场地 + * "space_id": 0, //场地ID + * "sutu_id": 0, // 设备ID + * "id": 0 //课程/场地/游戏ID + * } + */ + JSONObject jsonObject = JSON.parseObject(code); + Integer scan_type = jsonObject.getInteger("scan_type"); + if(scan_type != 1000){ + return ResultUtil.error("二维码不正确"); + } + Integer space_id = jsonObject.getInteger("space_id"); + Site site = siteClient.getSite(space_id); + if(null == site){ + 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()); + return ResultUtil.success(map); + } + + + + @ResponseBody + @PostMapping("/api/worldCup/startWorldCup") + @ApiOperation(value = "裁判开启游戏开始比赛【2.0】", tags = {"APP-个人中心"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + }) + public ResultUtil startWorldCup(StartWorldCup startWorldCup){ + return worldCupService.startWorldCup(startWorldCup); + } + + + @ResponseBody + @PostMapping("/api/worldCup/getCompletedWorldCupTips") + @ApiOperation(value = "首页获取完成比赛的提示【2.0】", tags = {"APP-首页"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + }) + public ResultUtil<Integer> getCompletedWorldCupTips(){ + try { + Integer uid = tokenUtil.getUserIdFormRedis(); + if(null == uid){ + return ResultUtil.tokenErr(); + } + Integer tips = worldCupService.getCompletedWorldCupTips(uid); + return ResultUtil.success(tips); + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.runErr(); + } + } + + + + + @ResponseBody + @PostMapping("/api/worldCup/getWorldCupList") + @ApiOperation(value = "获取世界杯列表【2.0】", tags = {"APP-社区世界杯"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + }) + public ResultUtil<List<WorldCupListVo>> getWorldCupList(WorldCupList worldCupList){ + List<WorldCupListVo> worldCupList1 = worldCupService.getWorldCupList(worldCupList); + return ResultUtil.success(worldCupList1); + } + + + + @ResponseBody + @PostMapping("/api/worldCup/getWorldCupInfo") + @ApiOperation(value = "获取世界杯详情【2.0】", tags = {"APP-社区世界杯"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "世界杯id", required = true, dataType = "int"), + @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<WorldCupInfo> getWorldCupInfo(Integer id,String lon, String lat){ + WorldCupInfo worldCupInfo = worldCupService.getWorldCupInfo(id, lon, lat); + return ResultUtil.success(worldCupInfo); + } + + + + @ResponseBody + @PostMapping("/api/worldCup/checkPaymentMethod") + @ApiOperation(value = "世界杯报名前校验支付方式【2.0】", tags = {"APP-社区世界杯"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + }) + public ResultUtil<CheckPaymentMethodVo> checkPaymentMethod(CheckPaymentMethod checkPaymentMethod){ + try { + Integer uid = tokenUtil.getUserIdFormRedis(); + if(null == uid){ + return ResultUtil.success(); + } + checkPaymentMethod.setUid(uid); + CheckPaymentMethodVo checkPaymentMethodVo = worldCupService.checkPaymentMethod(checkPaymentMethod); + return ResultUtil.success(checkPaymentMethodVo); + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.runErr(); + } + } + + + + + @ResponseBody + @PostMapping("/api/worldCup/paymentWorldCup") + @ApiOperation(value = "世界杯报名【2.0】", tags = {"APP-社区世界杯"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + }) + public ResultUtil paymentWorldCup(PaymentWorldCup paymentWorldCup){ + try { + Integer uid = tokenUtil.getUserIdFormRedis(); + if(null == uid){ + return ResultUtil.success(); + } + paymentWorldCup.setUid(uid); + return worldCupService.paymentWorldCup(paymentWorldCup); + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.runErr(); + } + } + + + /** + * 微信支付回调 + */ + @ResponseBody + @PostMapping("/base/worldCup/wxPayWorldCupCallback") + public void wxPayWorldCupCallback(HttpServletRequest request, HttpServletResponse response){ + try { + Map<String, String> map = payMoneyUtil.weixinpayCallback(request); + if(null != map){ + String code = map.get("out_trade_no"); + String transaction_id = map.get("transaction_id"); + String result = map.get("result"); + ResultUtil resultUtil = worldCupService.paymentWorldCupCallback(code, transaction_id); + if(resultUtil.getCode() == 200){ + PrintWriter out = response.getWriter(); + out.println(result); + out.flush(); + out.close(); + }else{ + log.error("社区世界杯报名微信支付回业务处理异常:" + resultUtil.getMsg()); + } + }else{ + log.error("社区世界杯报名微信支付回调解析异常"); + } + }catch (Exception e){ + e.printStackTrace(); + } + } + + + /** + * 支付宝支付回调 + */ + @ResponseBody + @PostMapping("/base/worldCup/aliPayWorldCupCallback") + public void aliPayWorldCupCallback(HttpServletRequest request, HttpServletResponse response){ + try { + Map<String, String> map = payMoneyUtil.alipayCallback(request); + if(null != map){ + String code = map.get("out_trade_no"); + String transaction_id = map.get("trade_no"); + String result = map.get("result"); + ResultUtil resultUtil = worldCupService.paymentWorldCupCallback(code, transaction_id); + if(resultUtil.getCode() == 200){ + PrintWriter out = response.getWriter(); + out.println(result); + out.flush(); + out.close(); + }else{ + log.error("社区世界杯报名支付宝支付回业务处理异常:" + resultUtil.getMsg()); + } + }else{ + log.error("社区世界杯报名付宝支支付回调解析异常"); + } + }catch (Exception e){ + e.printStackTrace(); + } + } + + + /** + * 根据店铺id获取有效的世界杯 + * @param storeId + * @return + */ + @PostMapping("/worldCup/getWorldCupStoreList") + 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)); + } + + + + + @ResponseBody + @PostMapping("/api/worldCup/getEntrantRank") + @ApiOperation(value = "获取世界杯排名【2.0】", tags = {"APP-个人中心"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + }) + public ResultUtil<EntrantRankVo> getEntrantRank(EntrantRank entrantRank){ + 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(); + } + } + + + + + @ResponseBody + @PostMapping("/api/worldCup/getMyWorldCupList") + @ApiOperation(value = "获取报名的世界杯列表【2.0】", tags = {"APP-个人中心"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + }) + public ResultUtil<List<WorldCupListVo>> getMyWorldCupList(MyWorldCupList myWorldCupList){ + List<WorldCupListVo> myWorldCupList1 = worldCupPaymentParticipantService.getMyWorldCupList(myWorldCupList); + return ResultUtil.success(myWorldCupList1); + } + + + @ResponseBody + @PostMapping("/api/worldCup/getParticipant") + @ApiOperation(value = "获取已报名的参赛人员【2.0】", tags = {"APP-个人中心"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + }) + public ResultUtil<List<ParticipantVo>> getParticipant(){ + try { + Integer uid = tokenUtil.getUserIdFormRedis(); + if(null == uid){ + return ResultUtil.tokenErr(); + } + List<ParticipantVo> participant = worldCupPaymentParticipantService.getParticipant(uid); + return ResultUtil.success(participant); + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.runErr(); + } + } + + + + + @ResponseBody + @PostMapping("/api/worldCup/getMyWorldCupInfo") + @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, String lon, String lat){ + MyWorldCupInfo myWorldCupInfo = worldCupPaymentParticipantService.getMyWorldCupInfo(id, lon, lat); + return ResultUtil.success(myWorldCupInfo); + } + + + + + @ResponseBody + @PostMapping("/api/worldCup/getWorldCupMatchRecord") + @ApiOperation(value = "获取比赛记录【2.0】", tags = {"APP-个人中心"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + }) + public ResultUtil<MatchRecordVo> getWorldCupMatchRecord(MatchRecord matchRecord){ + MatchRecordVo matchRecord1 = worldCupCompetitorService.getMatchRecord(matchRecord); + return ResultUtil.success(matchRecord1); + } + + + + @ResponseBody + @PostMapping("/api/worldCup/getWorldCupRank") + @ApiOperation(value = "获取比赛排名【2.0】", tags = {"APP-个人中心"}) + @ApiImplicitParams({ + @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); + } + + + /** + * 获取学员参与数量 + * @param studentId + * @return + */ + @ResponseBody + @PostMapping("/worldCup/count") + public Integer count(@RequestBody Integer studentId){ + return worldCupCompetitorService.count(new QueryWrapper<WorldCupCompetitor>() + .eq("participantId", studentId).eq("participantType", 1)); + } + + + /** + * 获取学员世界杯胜利次数 + * @param studentId + * @return + */ + @ResponseBody + @PostMapping("/worldCup/winCount") + public Integer winCount(@RequestBody Integer studentId){ + 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); + } + + + + /** + * 添加社区世界杯 + * @param worldCup + * @return + */ + @ResponseBody + @PostMapping("/worldCup/addWorldCup") + public Integer addWorldCup(@RequestBody WorldCup worldCup){ + String lon = worldCup.getLon(); + String lat = worldCup.getLat(); + Map<String, String> geocode = null; + try { + geocode = gdMapGeocodingUtil.geocode(lon, lat); + } catch (Exception e) { + throw new RuntimeException(e); + } + String province = geocode.get("province"); + String provinceCode = geocode.get("provinceCode"); + String city = geocode.get("city"); + String cityCode = geocode.get("cityCode"); + worldCup.setProvince(province.replace("省", "")); + worldCup.setProvinceCode(provinceCode); + worldCup.setCity(city.replace("市", "")); + worldCup.setCityCode(cityCode); + worldCupService.save(worldCup); + return worldCup.getId(); + } + + + /** + * 添加社区世界杯和门店关系数据 + * @param worldCupStore + */ + @ResponseBody + @PostMapping("/worldCup/addWorldCupStore") + public void addWorldCupStore(@RequestBody WorldCupStore worldCupStore){ + worldCupStoreService.save(worldCupStore); + } + + + + /** + * 编辑社区世界杯 + * @param worldCup + * @return + */ + @ResponseBody + @PostMapping("/worldCup/editWorldCup") + public Integer editWorldCup(@RequestBody WorldCup worldCup){ + String lon = worldCup.getLon(); + String lat = worldCup.getLat(); + Map<String, String> geocode = null; + try { + geocode = gdMapGeocodingUtil.geocode(lon, lat); + } catch (Exception e) { + throw new RuntimeException(e); + } + String province = geocode.get("province"); + String provinceCode = geocode.get("provinceCode"); + String city = geocode.get("city"); + String cityCode = geocode.get("cityCode"); + worldCup.setProvince(province.replace("省", "")); + worldCup.setProvinceCode(provinceCode); + worldCup.setCity(city.replace("市", "")); + worldCup.setCityCode(cityCode); + worldCupService.updateById(worldCup); + return worldCup.getId(); + } + + + /** + * 删除世界杯门店关系数据 + * @param worldCupId + */ + @ResponseBody + @PostMapping("/worldCup/delWorldCupStore") + public void delWorldCupStore(@RequestBody Integer worldCupId){ + worldCupStoreService.remove(new QueryWrapper<WorldCupStore>().eq("worldCupId", worldCupId)); + } + + + /** + * 根据id获取世界杯赛事数据 + * @param id + * @return + */ + @ResponseBody + @PostMapping("/worldCup/getWorldCupById") + public WorldCup getWorldCupById(@RequestBody Integer id){ + return worldCupService.getById(id); + } + + + /** + * 根据世界杯id获取门店关系数据 + * @param worldCupId + * @return + */ + @ResponseBody + @PostMapping("/worldCup/getWorldCupStoreAllList") + public List<WorldCupStore> getWorldCupStoreAllList(@RequestBody Integer worldCupId){ + return worldCupStoreService.list(new QueryWrapper<WorldCupStore>().eq("worldCupId", worldCupId)); + } + + + /** + * 取消赛事退款操作 + * @param id + */ + @ResponseBody + @PostMapping("/worldCup/cancelWorldCupRefund") + public void cancelWorldCupRefund(@RequestBody Integer id){ + worldCupService.cancelWorldCupRefund(id); + } + + + /** + * 游戏结束后的通知回调 + */ + @ResponseBody + @PostMapping("/base/worldCup/endWorldCupCallback") + public void endWorldCupCallback(String custom, Integer red_score, Integer blue){ + worldCupCompetitorService.endWorldCupCallback(custom, red_score, blue); + } + + + /** + * 取消赛事后微信退款回调 + * @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); + } +} -- Gitblit v1.7.1