From ceacc612529f38c632d85d91bb5309baa5ebb82a Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期一, 11 三月 2024 16:04:54 +0800 Subject: [PATCH] Merge branch '2.0' of http://120.76.84.145:10101/gitblit/r/java/PlayPai into 2.0 --- cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java | 87 +++++++++++++++++++++++++++++++++---------- 1 files changed, 67 insertions(+), 20 deletions(-) diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java index 228103e..15be0c6 100644 --- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java +++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java @@ -9,7 +9,9 @@ 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.UserIntegralChangesClient; import com.dsh.communityWorldCup.feignclient.account.model.AppUser; +import com.dsh.communityWorldCup.feignclient.account.model.SaveUserIntegralChangesVo; import com.dsh.communityWorldCup.feignclient.account.model.TStudent; import com.dsh.communityWorldCup.feignclient.competition.ParticipantClient; import com.dsh.communityWorldCup.feignclient.competition.model.Participant; @@ -73,6 +75,9 @@ @Resource private GameClient gameClient; + @Resource + private UserIntegralChangesClient userIntegralChangesClient; + @@ -131,7 +136,7 @@ List<Long> ids = new ArrayList<>(); for (int i = 0; i < jsonArray.size(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); - Integer id = jsonObject.getInteger("id"); + Long id = jsonObject.getLong("id"); Integer participantType = jsonObject.getInteger("participantType"); String type = jsonObject.getString("type"); WorldCupCompetitor worldCupCompetitor = new WorldCupCompetitor(); @@ -149,13 +154,19 @@ AppUser appUser = appUserClient.getAppUser(worldCupCompetitor.getAppUserId()); appUser.setIntegral(appUser.getIntegral() + worldCup.getParticipationIntegral()); appUserClient.updateAppUser(appUser); + //增加积分明细 + SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo(); + vo.setAppUserId(appUser.getId()); + vo.setIntegral(worldCup.getParticipationIntegral()); + vo.setType(6); + userIntegralChangesClient.saveUserIntegralChanges(vo); } worldCupCompetitorService.save(worldCupCompetitor); ids.add(worldCupCompetitor.getId()); //已参赛 // worldCupPaymentParticipant.setAlreadyEntered(1); - worldCupPaymentParticipantService.updateById(worldCupPaymentParticipant); +// worldCupPaymentParticipantService.updateById(worldCupPaymentParticipant); } //2、调起开启游戏的接口。 HashMap<String, String> map = new HashMap<>(); @@ -166,7 +177,7 @@ map.put("api_url", "http://221.182.45.100:56666/communityWorldCup/base/worldCup/endWorldCupCallback"); map.put("custom", JSON.toJSONString(ids)); - String s = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/batterGame", map); + String s = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/quickStart", map); JSONObject jsonObject = JSONObject.parseObject(s); Integer code1 = jsonObject.getInteger("code"); String message = jsonObject.getString("message"); @@ -185,9 +196,17 @@ */ @Override public Integer getCompletedWorldCupTips(Integer uid) { - int count = worldCupCompetitorService.count(new QueryWrapper<WorldCupCompetitor>() - .eq("appUserId", uid).eq("tips", 0).isNotNull("endTime")); - return count; + List<WorldCupCompetitor> list = worldCupCompetitorService.list(new QueryWrapper<WorldCupCompetitor>() + .eq("appUserId", uid).eq("tips", 0).isNotNull("endTime") + .orderByDesc("endTime").last(" limit 0, 1")); + list.forEach(v->{ + v.setWorldCupId(null); + v.setTips(1); + }); + if(list.size() > 0){ + worldCupCompetitorService.updateBatchById(list); + } + return list.size(); } @@ -265,6 +284,14 @@ int count = worldCupPaymentParticipantService.count(new QueryWrapper<WorldCupPaymentParticipant>().in("worldCupPaymentId", collect)); heat += count; } + String infoImg = worldCupInfo.getInfoImg(); + JSONArray jsonArray1 = JSON.parseArray(infoImg); + String imgs = ""; + for (int i = 0; i < jsonArray1.size(); i++) { + String url = jsonArray1.getJSONObject(i).getString("url"); + imgs += url + ","; + } + worldCupInfo.setInfoImg(imgs.substring(0,imgs.length() - 1)); worldCupInfo.setHeat(heat); ArrayList<Map<String, Object>> objects = new ArrayList<>(); for (WorldCupStore worldCupStore : worldCupStores) { @@ -306,8 +333,14 @@ @Override public CheckPaymentMethodVo checkPaymentMethod(CheckPaymentMethod checkPaymentMethod) { WorldCup worldCup = this.getById(checkPaymentMethod.getId()); - JSONArray jsonArray = JSON.parseArray(checkPaymentMethod.getIds()); + String[] split = worldCup.getPayType().split(","); CheckPaymentMethodVo checkPaymentMethodVo = new CheckPaymentMethodVo(); + if(split.length == 1 && "0".equals(split[0])){ + checkPaymentMethodVo.setPaiCoin(0); + checkPaymentMethodVo.setClassHour(0); + return checkPaymentMethodVo; + } + JSONArray jsonArray = JSON.parseArray(checkPaymentMethod.getIds()); AppUser appUser = appUserClient.getAppUser(checkPaymentMethod.getUid()); BigDecimal multiply = new BigDecimal(jsonArray.size()).multiply(new BigDecimal(worldCup.getPaiCoin())); if(appUser.getPlayPaiCoins() < multiply.intValue()){ @@ -352,27 +385,33 @@ if(null == worldCup){ return ResultUtil.error("报名数据异常"); } - WorldCupPayment one = worldCupPaymentService.getOne(new QueryWrapper<WorldCupPayment>().eq("worldCupId", worldCup.getId()) - .eq("appUserId", paymentWorldCup.getUid()).eq("payStatus", 2).eq("state", 1)); - if(null != one){ - return ResultUtil.error("不能重复报名"); - } if(null != worldCup.getRegistrationClosingTime() && System.currentTimeMillis() > worldCup.getRegistrationClosingTime().getTime()){ return ResultUtil.error("报名时间已结束,无法完成报名"); } if(System.currentTimeMillis() > worldCup.getEndTime().getTime()){ return ResultUtil.error("世界杯赛事已结束,无法完成报名"); } + List<WorldCupPayment> list = worldCupPaymentService.list(new QueryWrapper<WorldCupPayment>().eq("worldCupId", worldCup.getId()).eq("appUserId", paymentWorldCup.getUid()) + .eq("payStatus", 2).eq("state", 1)); + List<Long> collect = list.stream().map(WorldCupPayment::getId).collect(Collectors.toList()); String ids = paymentWorldCup.getIds(); JSONArray jsonArray = JSON.parseArray(ids); SimpleDateFormat sdf = new SimpleDateFormat("yyyy"); for (int i = 0; i < jsonArray.size(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); - Integer id = jsonObject.getInteger("id"); + Long id = jsonObject.getLong("id"); //是否是学员(0=否,1=是) Integer isStudent = jsonObject.getInteger("isStudent"); if(isStudent == 1){ - TStudent tStudent = studentClient.queryById(id); + TStudent tStudent = studentClient.queryById(id.intValue()); + if(collect.size() > 0){ + WorldCupPaymentParticipant one = worldCupPaymentParticipantService.getOne(new QueryWrapper<WorldCupPaymentParticipant>().eq("worldCupId", worldCup.getId()) + .eq("participantId", id).eq("participantType", isStudent == 0 ? 2 : 1).in("worldCupPaymentId", collect)); + if(null != one){ + return ResultUtil.error("【" + tStudent.getName() + "】已报过名了"); + } + } + if(worldCup.getStartAge() > (Integer.valueOf(sdf.format(new Date())) - Integer.valueOf(sdf.format(tStudent.getBirthday())))){ return ResultUtil.error("【" + tStudent.getName() + "】年龄不符合要求"); } @@ -381,6 +420,14 @@ } }else{ Participant participant = participantClient.getParticipant(id); + if(collect.size() > 0){ + WorldCupPaymentParticipant one = worldCupPaymentParticipantService.getOne(new QueryWrapper<WorldCupPaymentParticipant>().eq("worldCupId", worldCup.getId()) + .eq("participantId", id).eq("participantType", isStudent == 0 ? 2 : 1).in("worldCupPaymentId", collect)); + if(null != one){ + return ResultUtil.error("【" + participant.getName() + "】已报过名了"); + } + } + if(worldCup.getStartAge() > (Integer.valueOf(sdf.format(new Date())) - Integer.valueOf(sdf.format(participant.getBirthday())))){ return ResultUtil.error("【" + participant.getName() + "】年龄不符合要求"); } @@ -460,7 +507,7 @@ JSONArray jsonArray = JSON.parseArray(ids); for (int i = 0; i < jsonArray.size(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); - Integer id = jsonObject.getInteger("id"); + Long id = jsonObject.getLong("id"); //是否是学员(0=否,1=是) Integer isStudent = jsonObject.getInteger("isStudent"); @@ -484,13 +531,13 @@ List<DeductionClassHour> list = new ArrayList<>(); for (int i = 0; i < jsonArray.size(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); - Integer id = jsonObject.getInteger("id"); + Long id = jsonObject.getLong("id"); //是否是学员(0=否,1=是) Integer isStudent = jsonObject.getInteger("isStudent"); if(0 == isStudent){ return ResultUtil.error("非学员无法使用课时报名"); } - List<CoursePackageOrderStudent> coursePackageOrderStudent = coursePackageOrderStudentClient.getCoursePackageOrderStudent(id); + List<CoursePackageOrderStudent> coursePackageOrderStudent = coursePackageOrderStudentClient.getCoursePackageOrderStudent(id.intValue()); int sum = coursePackageOrderStudent.stream().mapToInt(CoursePackageOrderStudent::getLaveClassHours).sum(); if(sum < worldCup.getClassHour()){ return ResultUtil.error("报名失败,课时不足,请续课!"); @@ -547,7 +594,7 @@ //添加报名明细 for (int i = 0; i < jsonArray.size(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); - Integer id = jsonObject.getInteger("id"); + Long id = jsonObject.getLong("id"); //是否是学员(0=否,1=是) Integer isStudent = jsonObject.getInteger("isStudent"); @@ -576,7 +623,7 @@ JSONArray jsonArray = JSON.parseArray(ids); for (int i = 0; i < jsonArray.size(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); - Integer id = jsonObject.getInteger("id"); + Long id = jsonObject.getLong("id"); //是否是学员(0=否,1=是) Integer isStudent = jsonObject.getInteger("isStudent"); @@ -614,7 +661,7 @@ JSONArray jsonArray = JSON.parseArray(ids); for (int i = 0; i < jsonArray.size(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); - Integer id = jsonObject.getInteger("id"); + Long id = jsonObject.getLong("id"); //是否是学员(0=否,1=是) Integer isStudent = jsonObject.getInteger("isStudent"); -- Gitblit v1.7.1