From 7e7f901b2172281dc294dfbc67e6ad00625f09f4 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期一, 04 三月 2024 10:11:21 +0800 Subject: [PATCH] 合并代码 --- cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java | 281 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 274 insertions(+), 7 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 1797812..2cf0dda 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 @@ -2,7 +2,11 @@ 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.feignclient.account.AppUserClient; import com.dsh.communityWorldCup.feignclient.account.StudentClient; import com.dsh.communityWorldCup.feignclient.account.model.AppUser; @@ -14,23 +18,29 @@ 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.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.PrintWriter; import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; /** * 社区世界杯 @@ -40,6 +50,8 @@ @RestController @RequestMapping("") public class WorldCupController { + + Logger log = LoggerFactory.getLogger(WorldCupController.class); @Autowired private TokenUtil tokenUtil; @@ -67,6 +79,15 @@ @Resource private StoreClient storeClient; + + @Autowired + private PayMoneyUtil payMoneyUtil; + + @Autowired + private IWorldCupStoreService worldCupStoreService; + + @Autowired + private IWorldCupCompetitorService worldCupCompetitorService; @@ -243,14 +264,260 @@ @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(@RequestBody Integer id){ - WorldCupInfo worldCupInfo = worldCupService.getWorldCupInfo(id); + public ResultUtil<WorldCupInfo> getWorldCupInfo(@RequestBody Integer id, @RequestBody String lon, @RequestBody String lat){ + WorldCupInfo worldCupInfo = worldCupService.getWorldCupInfo(id, lon, lat); return ResultUtil.success(worldCupInfo); } - public ResultUtil paymentWorldCup() + @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){ + EntrantRankVo entrantRank1 = worldCupCompetitorService.getEntrantRank(entrantRank); + return ResultUtil.success(entrantRank1); + } + + + + + @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 = "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); + 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); + } } -- Gitblit v1.7.1