| | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | 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.StudentHonorClient; |
| | | import com.dsh.communityWorldCup.feignclient.account.UserIntegralChangesClient; |
| | | import com.dsh.communityWorldCup.feignclient.account.model.AppUser; |
| | | import com.dsh.communityWorldCup.feignclient.account.model.SaveUserIntegralChangesVo; |
| | | import com.dsh.communityWorldCup.feignclient.account.model.StudentHonor; |
| | | 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.model.TGame; |
| | | 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 com.dsh.communityWorldCup.util.*; |
| | | import com.dsh.communityWorldCup.util.wx.WxV3PayConfig; |
| | | import com.wechat.pay.contrib.apache.httpclient.util.AesUtil; |
| | | import groovy.util.logging.Log4j; |
| | |
| | | import java.io.IOException; |
| | | import java.io.PrintWriter; |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.LocalDate; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | |
| | | @Resource |
| | | private GameClient gameClient; |
| | | |
| | | @Autowired |
| | | private UserIntegralChangesClient userIntegralChangesClient; |
| | | |
| | | @Autowired |
| | | private StudentHonorClient studentHonorClient; |
| | | |
| | | |
| | | /** |
| | |
| | | @PostMapping("/api/worldCup/endWorldCup") |
| | | @ApiOperation(value = "裁判结束比赛【3.1】", tags = {"APP-个人中心"}) |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") |
| | | @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), |
| | | @ApiImplicitParam(name = "redScore", value = "红队得分", required = true, dataType = "Integer"), |
| | | @ApiImplicitParam(name = "blueScore", value = "蓝队得分", required = true, dataType = "Integer"), |
| | | @ApiImplicitParam(name = "custom", value = "自定义参数 列表中是数组 ,拼接传过来", required = true, dataType = "String") |
| | | }) |
| | | public ResultUtil endWorldCup(StartWorldCup startWorldCup){ |
| | | return worldCupService.startWorldCup(startWorldCup); |
| | | public ResultUtil endWorldCup(String custom, Integer redScore, Integer blueScore){ |
| | | return worldCupService.endWorldCup(custom,redScore,blueScore); |
| | | } |
| | | |
| | | |
| | |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") |
| | | }) |
| | | public ResultUtil<List<WorldCupListVo>> getWorldCupListFromRank(){ |
| | | public ResultUtil<List<WorldCupListVo>> getWorldCupListFromRank(MyWorldCupList myWorldCupList){ |
| | | try { |
| | | Integer uid = tokenUtil.getUserIdFormRedis(); |
| | | if(null == uid){ |
| | | return ResultUtil.tokenErr(); |
| | | } |
| | | List<WorldCupListVo> worldCupRank1 = worldCupCompetitorService.getWorldCupListFromRank(uid); |
| | | List<WorldCupListVo> worldCupRank1 = worldCupCompetitorService.getWorldCupListFromRank(myWorldCupList); |
| | | return ResultUtil.success(worldCupRank1); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | | } |
| | | } |
| | | @ResponseBody |
| | | @PostMapping("/api/worldCup/getWorldCupCodeListId") |
| | | @ApiOperation(value = "获取赛事的赛点 非智慧比赛用 【3.1】", tags = {"APP-个人中心"}) |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") |
| | | }) |
| | | public ResultUtil<List<WorldCupCodeListVo>> getWorldCupCodeListId(Integer worldCupId){ |
| | | try { |
| | | Integer uid = tokenUtil.getUserIdFormRedis(); |
| | | if(null == uid){ |
| | | return ResultUtil.tokenErr(); |
| | | } |
| | | List<WorldCupCodeListVo> worldCupRank1 = worldCupCompetitorService.getWorldCupCodeListId(worldCupId); |
| | | return ResultUtil.success(worldCupRank1); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | |
| | | .last(" and createTime between '" + sdf.format(getWorldCupPayment.getStartTime()) + "' and '" + sdf.format(getWorldCupPayment.getEndTime()) + "' order by createTime desc")); |
| | | return list; |
| | | } |
| | | |
| | | |
| | | @PostMapping("/worldCup/userDetailsOfSearch") |
| | | @ResponseBody |
| | | public List<WorldCupUserListVo> userDetailsOfSearch(@RequestBody UserDetailsOfSearch search){ |
| | | // 已报名的用户 |
| | | List<WorldCupPaymentParticipant> list = worldCupPaymentParticipantService.list(new LambdaQueryWrapper<WorldCupPaymentParticipant>().eq(WorldCupPaymentParticipant::getWorldCupId, search.getId()) |
| | | .eq(WorldCupPaymentParticipant::getAlreadyEntered, 0)); |
| | | ArrayList<WorldCupUserListVo> worldCupUserListVos = new ArrayList<>(); |
| | | if(list.size()>0){ |
| | | List<Integer> collect = list.stream().map(WorldCupPaymentParticipant::getAppUserId).collect(Collectors.toList()); |
| | | search.setUseIds(collect); |
| | | List<AppUser> appUsers = appUserClient.queryAppUserByIds(search); |
| | | |
| | | for (AppUser appUser : appUsers) { |
| | | WorldCupUserListVo worldCupUserListVo = new WorldCupUserListVo(); |
| | | WorldCupPaymentParticipant worldCupPaymentParticipant = list.stream().filter(e -> e.getAppUserId().equals(appUser.getId())).findFirst().orElse(null); |
| | | if(worldCupPaymentParticipant!=null){ |
| | | worldCupUserListVo.setId(worldCupPaymentParticipant.getId()); |
| | | worldCupUserListVo.setName(appUser.getName()); |
| | | worldCupUserListVo.setSex(appUser.getGender() !=null && appUser.getGender()==2?"女":"男"); |
| | | worldCupUserListVo.setPhone(appUser.getPhone()); |
| | | worldCupUserListVo.setIdCard(appUser.getIdCard()); |
| | | // 当前日期和生日计算年龄 |
| | | Date birthday = appUser.getBirthday(); |
| | | LocalDate now = LocalDate.now(); |
| | | if(birthday!=null){ |
| | | int age = now.getYear() - birthday.getYear(); |
| | | worldCupUserListVo.setAge(age); |
| | | } |
| | | worldCupUserListVos.add(worldCupUserListVo); |
| | | } |
| | | } |
| | | |
| | | } |
| | | return worldCupUserListVos; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | @PostMapping("/worldCup/savaData1") |
| | | public void savaData1(@RequestBody SaveData saveData) throws ParseException { |
| | | |
| | | WorldCup worldCup = worldCupService.getById(saveData.getId()); |
| | | |
| | | String redStr = saveData.getRedStr(); |
| | | String blueStr = saveData.getBlueStr(); |
| | | String[] red = redStr.split(","); |
| | | String[] blue = blueStr.split(","); |
| | | ArrayList<String> list = new ArrayList<>(red.length+blue.length); |
| | | list.addAll(Arrays.asList(red)); |
| | | list.addAll(Arrays.asList(blue)); |
| | | String time = saveData.getTime(); |
| | | String[] split = time.split(" - "); |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | Date startTime = simpleDateFormat.parse(split[0]); |
| | | Date endTime = simpleDateFormat.parse(split[1]); |
| | | Integer blueScore = saveData.getBlueScore(); |
| | | Integer redScore = saveData.getRedScore(); |
| | | List<WorldCupPaymentParticipant> list1 = worldCupPaymentParticipantService.list(new LambdaQueryWrapper<WorldCupPaymentParticipant>().in(WorldCupPaymentParticipant::getId, list)); |
| | | String code = UUIDUtil.getTimeStr() + UUIDUtil.getNumberRandom(3); |
| | | ArrayList<WorldCupCompetitor> worldCupCompetitors = new ArrayList<>(red.length + blue.length); |
| | | for (String s : blue) { |
| | | WorldCupPaymentParticipant worldCupPaymentParticipant = list1.stream().filter(e -> e.getId().equals(s)).findFirst().orElse(null); |
| | | if(worldCupPaymentParticipant!=null){ |
| | | WorldCupCompetitor worldCupCompetitor =new WorldCupCompetitor(); |
| | | worldCupCompetitor.setCode(code); |
| | | worldCupCompetitor.setWorldCupId(saveData.getId().intValue()); |
| | | worldCupCompetitor.setParticipantType(worldCupPaymentParticipant.getParticipantType()); |
| | | worldCupCompetitor.setAppUserId(worldCupPaymentParticipant.getAppUserId()); |
| | | worldCupCompetitor.setParticipantId(worldCupPaymentParticipant.getParticipantId()); |
| | | worldCupCompetitor.setParticipant(1); |
| | | worldCupCompetitor.setStartTime(startTime); |
| | | worldCupCompetitor.setEndTime(endTime); |
| | | if(blueScore>redScore){ |
| | | worldCupCompetitor.setMatchResult(1); |
| | | worldCupCompetitor.setWinIntegral(worldCup.getWinIntegral()); |
| | | //增加积分明细 |
| | | SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo(); |
| | | vo.setAppUserId(worldCupCompetitor.getAppUserId()); |
| | | vo.setIntegral(worldCup.getWinIntegral()); |
| | | vo.setType(7); |
| | | userIntegralChangesClient.saveUserIntegralChanges(vo); |
| | | } |
| | | if(blueScore.equals(redScore)){ |
| | | worldCupCompetitor.setMatchResult(0); |
| | | worldCupCompetitor.setDrawIntegral(worldCup.getDrawIntegral()); |
| | | //增加积分明细 |
| | | SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo(); |
| | | vo.setAppUserId(worldCupCompetitor.getAppUserId()); |
| | | vo.setIntegral(worldCup.getDrawIntegral()); |
| | | vo.setType(9); |
| | | userIntegralChangesClient.saveUserIntegralChanges(vo); |
| | | } |
| | | if(blueScore<redScore){ |
| | | worldCupCompetitor.setMatchResult(-1); |
| | | worldCupCompetitor.setLoseIntegral(worldCup.getLoseIntegral()); |
| | | //增加积分明细 |
| | | SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo(); |
| | | vo.setAppUserId(worldCupCompetitor.getAppUserId()); |
| | | vo.setIntegral(worldCup.getLoseIntegral()); |
| | | vo.setType(10); |
| | | userIntegralChangesClient.saveUserIntegralChanges(vo); |
| | | } |
| | | worldCupCompetitor.setOpponentScore(redScore); |
| | | worldCupCompetitor.setParticipationIntegral(worldCup.getParticipationIntegral()); |
| | | //增加积分明细 |
| | | SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo(); |
| | | vo.setAppUserId(worldCupCompetitor.getAppUserId()); |
| | | vo.setIntegral(worldCup.getParticipationIntegral()); |
| | | vo.setType(6); |
| | | userIntegralChangesClient.saveUserIntegralChanges(vo); |
| | | |
| | | worldCupCompetitorService.save(worldCupCompetitor); |
| | | worldCupCompetitors.add(worldCupCompetitor); |
| | | } |
| | | } |
| | | |
| | | for (String s : red) { |
| | | WorldCupPaymentParticipant worldCupPaymentParticipant = list1.stream().filter(e -> e.getId().equals(s)).findFirst().orElse(null); |
| | | if(worldCupPaymentParticipant!=null){ |
| | | WorldCupCompetitor worldCupCompetitor =new WorldCupCompetitor(); |
| | | worldCupCompetitor.setCode(code); |
| | | worldCupCompetitor.setWorldCupId(saveData.getId().intValue()); |
| | | worldCupCompetitor.setParticipantType(worldCupPaymentParticipant.getParticipantType()); |
| | | worldCupCompetitor.setAppUserId(worldCupPaymentParticipant.getAppUserId()); |
| | | worldCupCompetitor.setParticipantId(worldCupPaymentParticipant.getParticipantId()); |
| | | worldCupCompetitor.setParticipant(1); |
| | | worldCupCompetitor.setStartTime(startTime); |
| | | worldCupCompetitor.setEndTime(endTime); |
| | | if(redScore>blueScore){ |
| | | worldCupCompetitor.setMatchResult(1); |
| | | worldCupCompetitor.setWinIntegral(worldCup.getWinIntegral()); |
| | | //增加积分明细 |
| | | SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo(); |
| | | vo.setAppUserId(worldCupCompetitor.getAppUserId()); |
| | | vo.setIntegral(worldCup.getWinIntegral()); |
| | | vo.setType(7); |
| | | userIntegralChangesClient.saveUserIntegralChanges(vo); |
| | | } |
| | | if(blueScore.equals(redScore)){ |
| | | worldCupCompetitor.setMatchResult(0); |
| | | worldCupCompetitor.setDrawIntegral(worldCup.getDrawIntegral()); |
| | | //增加积分明细 |
| | | SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo(); |
| | | vo.setAppUserId(worldCupCompetitor.getAppUserId()); |
| | | vo.setIntegral(worldCup.getDrawIntegral()); |
| | | vo.setType(9); |
| | | userIntegralChangesClient.saveUserIntegralChanges(vo); |
| | | } |
| | | if(redScore<blueScore){ |
| | | worldCupCompetitor.setMatchResult(-1); |
| | | worldCupCompetitor.setLoseIntegral(worldCup.getLoseIntegral()); |
| | | //增加积分明细 |
| | | SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo(); |
| | | vo.setAppUserId(worldCupCompetitor.getAppUserId()); |
| | | vo.setIntegral(worldCup.getLoseIntegral()); |
| | | vo.setType(10); |
| | | userIntegralChangesClient.saveUserIntegralChanges(vo); |
| | | } |
| | | worldCupCompetitor.setOpponentScore(redScore); |
| | | worldCupCompetitor.setParticipationIntegral(worldCup.getParticipationIntegral()); |
| | | //增加积分明细 |
| | | SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo(); |
| | | vo.setAppUserId(worldCupCompetitor.getAppUserId()); |
| | | vo.setIntegral(worldCup.getParticipationIntegral()); |
| | | vo.setType(6); |
| | | userIntegralChangesClient.saveUserIntegralChanges(vo); |
| | | |
| | | worldCupCompetitorService.save(worldCupCompetitor); |
| | | worldCupCompetitors.add(worldCupCompetitor); |
| | | } |
| | | } |
| | | |
| | | //添加勋章 |
| | | for (WorldCupCompetitor worldCupCompetitor : worldCupCompetitors) { |
| | | Integer appUserId = worldCupCompetitor.getAppUserId(); |
| | | //常胜将军 |
| | | if(1 == worldCupCompetitor.getMatchResult()){ |
| | | int count = worldCupCompetitorService.count(new QueryWrapper<WorldCupCompetitor>().eq("appUserId", appUserId).eq("matchResult", 1)); |
| | | StudentHonor studentHonor = new StudentHonor(); |
| | | studentHonor.setAppUserId(appUserId); |
| | | studentHonor.setHonorType(5); |
| | | studentHonor.setNumber(count); |
| | | studentHonorClient.saveStudentHonor(studentHonor); |
| | | } |
| | | //越战越勇 |
| | | int count = worldCupCompetitorService.count(new QueryWrapper<WorldCupCompetitor>().eq("appUserId", appUserId)); |
| | | StudentHonor studentHonor = new StudentHonor(); |
| | | studentHonor.setAppUserId(appUserId); |
| | | studentHonor.setHonorType(6); |
| | | studentHonor.setNumber(count); |
| | | studentHonorClient.saveStudentHonor(studentHonor); |
| | | } |
| | | |
| | | } |
| | | } |