| | |
| | | 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; |
| | |
| | | @Resource |
| | | private GameClient gameClient; |
| | | |
| | | @Resource |
| | | private UserIntegralChangesClient userIntegralChangesClient; |
| | | |
| | | |
| | | |
| | | |
| | |
| | | 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(); |
| | |
| | | //添加参赛奖励 |
| | | if(null != worldCup.getParticipationIntegral() && 0 < worldCup.getParticipationIntegral()){ |
| | | worldCupCompetitor.setParticipationIntegral(worldCup.getParticipationIntegral()); |
| | | AppUser appUser = appUserClient.getAppUser(worldCupCompetitor.getAppUserId()); |
| | | appUser.setIntegral(appUser.getIntegral() + worldCup.getParticipationIntegral()); |
| | | appUserClient.updateAppUser(appUser); |
| | | //增加积分明细 |
| | | SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo(); |
| | | vo.setAppUserId(worldCupCompetitor.getAppUserId()); |
| | | vo.setIntegral(worldCup.getParticipationIntegral()); |
| | | vo.setType(6); |
| | | userIntegralChangesClient.saveUserIntegralChanges(vo); |
| | | } |
| | | |
| | | worldCupCompetitorService.save(worldCupCompetitor); |
| | | ids.add(worldCupCompetitor.getId()); |
| | | //已参赛 |
| | | worldCupPaymentParticipant.setAlreadyEntered(1); |
| | | worldCupPaymentParticipantService.updateById(worldCupPaymentParticipant); |
| | | // worldCupPaymentParticipant.setAlreadyEntered(1); |
| | | // worldCupPaymentParticipantService.updateById(worldCupPaymentParticipant); |
| | | } |
| | | worldCup.setMatchNumber(worldCup.getMatchNumber() + 1); |
| | | this.updateById(worldCup); |
| | | |
| | | //2、调起开启游戏的接口。 |
| | | HashMap<String, String> map = new HashMap<>(); |
| | | map.put("sign", "0DB011836143EEE2C2E072967C9F4E4B"); |
| | | map.put("space_id", tGame.getSiteId() + ""); |
| | | map.put("space_id", tGame.getStoreId() + ""); |
| | | map.put("red_sutu_id", tGame.getRed()); |
| | | map.put("blue_sutu_id", tGame.getBlue()); |
| | | 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"); |
| | |
| | | */ |
| | | @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(); |
| | | } |
| | | |
| | | |
| | |
| | | */ |
| | | @Override |
| | | public List<WorldCupListVo> getWorldCupList(WorldCupList worldCupList) { |
| | | //没有筛选门店,默认使用当前门店 |
| | | if(null == worldCupList.getStoreId()){ |
| | | worldCupList.setStoreId(worldCupList.getStoreId()); |
| | | } |
| | | List<WorldCupListVo> worldCupList1 = this.baseMapper.getWorldCupList(worldCupList); |
| | | for (WorldCupListVo worldCupListVo : worldCupList1) { |
| | | Integer id = Integer.valueOf(worldCupListVo.getId()); |
| | |
| | | Collections.sort(worldCupList1, new Comparator<WorldCupListVo>() { |
| | | @Override |
| | | public int compare(WorldCupListVo o1, WorldCupListVo o2) { |
| | | return o1.getDistance().compareTo(o2.getDistance()) * -1; |
| | | return o1.getDistance().compareTo(o2.getDistance()); |
| | | } |
| | | }); |
| | | } |
| | |
| | | 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) { |
| | |
| | | @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()){ |
| | |
| | | if(System.currentTimeMillis() > worldCup.getEndTime().getTime()){ |
| | | return ResultUtil.error("世界杯赛事已结束,无法完成报名"); |
| | | } |
| | | String ids = paymentWorldCup.getIds(); |
| | | JSONArray jsonArray = JSON.parseArray(ids); |
| | | |
| | | String cupIds = paymentWorldCup.getIds(); |
| | | JSONArray jsonArray = JSON.parseArray(cupIds); |
| | | if(jsonArray.size() != 6){ |
| | | return ResultUtil.error("参赛人数只能是6人"); |
| | | } |
| | | List<WorldCupPayment> payments = worldCupPaymentService.list(new QueryWrapper<WorldCupPayment>().eq("worldCupId", worldCup.getId()) |
| | | .eq("payStatus", 2).eq("state", 1)); |
| | | List<Long> ids = payments.stream().map(WorldCupPayment::getId).collect(Collectors.toList()); |
| | | if(ids.size() > 0){ |
| | | int count = worldCupPaymentParticipantService.count(new QueryWrapper<WorldCupPaymentParticipant>().eq("worldCupId", worldCup.getId()) |
| | | .eq("worldCupPaymentId", ids)); |
| | | if((count + jsonArray.size()) >= worldCup.getMaxPeople()){ |
| | | 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()); |
| | | 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(worldCup.getGender() != 0 && !tStudent.getSex().equals(worldCup.getGender())){ |
| | | return ResultUtil.error("此比赛只能是" + (worldCup.getGender() == 1 ? "男" : "女") + "性参加"); |
| | | } |
| | | 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() + "】年龄不符合要求"); |
| | | } |
| | |
| | | } |
| | | }else{ |
| | | Participant participant = participantClient.getParticipant(id); |
| | | if(worldCup.getGender() != 0 && !participant.getGender().equals(worldCup.getGender())){ |
| | | return ResultUtil.error("此比赛只能是" + (worldCup.getGender() == 1 ? "男" : "女") + "性参加"); |
| | | } |
| | | 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() + "】年龄不符合要求"); |
| | | } |
| | |
| | | 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"); |
| | | |
| | |
| | | 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("报名失败,课时不足,请续课!"); |
| | |
| | | //添加报名明细 |
| | | 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"); |
| | | |
| | |
| | | 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"); |
| | | |
| | |
| | | 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"); |
| | | |
| | |
| | | .eq("worldCupPaymentId", worldCupPaymentId).eq("alreadyEntered", 0)); |
| | | WorldCupPayment worldCupPayment = worldCupPaymentService.getById(worldCupPaymentId); |
| | | BigDecimal multiply = worldCupPayment.getUnitPrice().multiply(new BigDecimal(list1.size())); |
| | | //免费 |
| | | if(worldCupPayment.getPayType() == 0){ |
| | | worldCupPayment.setRefundOrderNo(""); |
| | | worldCupPayment.setRefundTime(new Date()); |
| | | worldCupPayment.setPayStatus(3); |
| | | worldCupPaymentService.updateById(worldCupPayment); |
| | | } |
| | | //微信支付 |
| | | if(worldCupPayment.getPayType() == 1){ |
| | | Map<String, String> map = payMoneyUtil.wxRefund(worldCupPayment.getPayOrderNo(), worldCupPayment.getCode(), |
| | |
| | | if(collect.size() == 0){ |
| | | stringObjectMap.put("applicants", 0); |
| | | }else{ |
| | | int count1 = worldCupPaymentParticipantService.count(new QueryWrapper<WorldCupPaymentParticipant>() |
| | | .eq("worldCupId", id).in("worldCupPaymentId", collect) |
| | | .groupBy("worldCupPaymentId, participantType")); |
| | | int count1 = worldCupPaymentParticipantService.getCount(id, collect); |
| | | stringObjectMap.put("applicants", count1); |
| | | } |
| | | } |
| | | map.put("rows", mapList); |
| | | int count = this.baseMapper.worldCupGameStatisticsCount(worldCupGameStatistics); |
| | | map.put("total", count); |
| | | return map; |
| | | } |
| | | |
| | | /** |
| | | * 修改所有参数 |
| | | * @param worldCup |
| | | */ |
| | | @Override |
| | | public void updateWorldCupAll(WorldCup worldCup) { |
| | | this.baseMapper.updateWorldCupAll(worldCup); |
| | | } |
| | | } |