From 9486766c806fe1d9e082b2fd02ea1cc558f1b443 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 08 五月 2025 09:21:57 +0800 Subject: [PATCH] bug修改 --- cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java | 169 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 169 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 index 2efebb0..ccec4d5 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 @@ -1,6 +1,7 @@ package com.dsh.communityWorldCup.controller; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsh.communityWorldCup.entity.*; @@ -30,6 +31,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -98,7 +100,77 @@ private GameClient gameClient; + /** + * 查询社区世界杯收入--管理后台 + * @param storeId + * @return + */ + @ResponseBody + @PostMapping("/worldCup/getWorldCupIncome") + public List<WorldCupIncomeVO> getWorldCupIncome(@RequestBody WorldCupQuery query){ + String STime = null; + String ETime = null; + if (StringUtils.hasLength(query.getTime())) { + STime = query.getTime().split(" - ")[0] + " 00:00:00"; + ETime = query.getTime().split(" - ")[1] + " 23:59:59"; + } + QueryWrapper<WorldCupPayment> in = new QueryWrapper<WorldCupPayment>() + .eq("payStatus", 2) + ; + if (STime != null){ + in.between("payTime", STime, ETime); + } + if (query.getUserIds() != null){ + if (!query.getUserIds().isEmpty()){ + in.in("appUserId", query.getUserIds()); + } + } + + if (query.getAmount() != null){ + in.le("amount", query.getAmount().toString()); + } + List<WorldCupPayment> list = worldCupPaymentService.list(in); + List<WorldCupIncomeVO> res = new ArrayList<>(); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + for (WorldCupPayment worldCupPayment : list) { + if (worldCupPayment.getPayType() == 0){ + // 不计算免费的 + continue; + } + WorldCupIncomeVO worldCupIncomeVO = new WorldCupIncomeVO(); + WorldCup byId = worldCupService.getById(worldCupPayment.getWorldCupId()); + if (byId!=null){ + worldCupIncomeVO.setProvince(byId.getProvince()); + worldCupIncomeVO.setCity(byId.getCity()); + List<WorldCupStore> worldCupId = worldCupStoreService.list(new QueryWrapper<WorldCupStore>() + .eq("worldCupId", byId.getId())); + StringBuilder temp = new StringBuilder(); + for (WorldCupStore worldCupStore : worldCupId) { + Store store = storeClient.queryStoreById(worldCupStore.getStoreId()); + if (store!=null){ + temp.append(store.getName()).append(","); + } + } + if (temp.length() > 0){ + worldCupIncomeVO.setStoreName(temp.substring(0, temp.length() - 1)); + } + } + AppUser appUser = appUserClient.getAppUser(worldCupPayment.getAppUserId()); + worldCupIncomeVO.setId(worldCupPayment.getId().toString()); + if (appUser!=null){ + worldCupIncomeVO.setUserName(appUser.getName()); + worldCupIncomeVO.setPhone(appUser.getPhone()); + } + if (worldCupPayment.getPayTime()!=null){ + String format = simpleDateFormat.format(worldCupPayment.getPayTime()); + worldCupIncomeVO.setPayTime(format); + } + worldCupIncomeVO.setAmount(worldCupPayment.getAmount().toString()); + res.add(worldCupIncomeVO); + } + return res; + } /** * 根据门店id获取门店关系数据 @@ -117,6 +189,9 @@ BeanUtils.copyProperties(worldCupStore,worldCupStoreVO); // 查询世界杯活动名称 WorldCup byId = worldCupService.getById(worldCupStore.getWorldCupId()); + if (byId==null){ + continue; + } if (byId.getStatus()==3 || byId.getStatus()==4){ continue; } @@ -609,6 +684,67 @@ public Map<String, Object> getWorldCupListAll(@RequestBody WorldCupListAll worldCupListAll){ return worldCupService.getWorldCupListAll(worldCupListAll); } + /** + * 根据门店ids 获取归属学员 + * @param storeIds + * @return + */ + @ResponseBody + @PostMapping("/worldCup/getStudentIds") + public List<Integer> getStudentIds(@RequestBody StoreIds storeIds){ + List<Integer> res = new ArrayList<>(); + + // 获取门店ids 所举办的世界杯ids 查询学员参赛 + List<Integer> collect = worldCupStoreService.list(new QueryWrapper<WorldCupStore>() + .in("storeId", storeIds.getStoreIds())).stream() + .map(WorldCupStore::getWorldCupId).collect(Collectors.toList()); + List<WorldCupPayment> list = worldCupPaymentService.list(new QueryWrapper<WorldCupPayment>() + .in("worldCupId", collect) + .eq("payStatus", 2)); + for (WorldCupPayment worldCupPayment : list) { + JSONArray jsonArray = JSON.parseArray(worldCupPayment.getEntrant()); + for (int i = 0; i < jsonArray.size(); i++) { + JSONObject jsonObject = jsonArray.getJSONObject(i); + Integer isStudent = jsonObject.getInteger("isStudent"); + if (isStudent!=1){ + continue; + } + Long id = jsonObject.getLong("id"); + String string = id.toString(); + res.add(Integer.parseInt(string)); + } + } + List<Long> collect1 = worldCupCompetitorService.list(new QueryWrapper<WorldCupCompetitor>() + .in("worldCupId", collect) + .eq("participantType", 1)).stream() + .map(WorldCupCompetitor::getParticipantId).collect(Collectors.toList()); + // 将collect1中的数据全部转化为Integer类型 + List<Integer> temp = new ArrayList<>(); + temp = collect1.stream().map(Long::intValue).collect(Collectors.toList()); + res.addAll(temp); + return res; + } + /** + * 根据门店ids 获取归属用户 + * @param storeIds + * @return + */ + @ResponseBody + @PostMapping("/worldCup/getUserIds") + public List<Integer> getUserIds(@RequestBody StoreIds storeIds){ + List<Integer> res = new ArrayList<>(); + // 获取门店ids 所举办的世界杯ids 查询用户 + List<Integer> collect = worldCupStoreService.list(new QueryWrapper<WorldCupStore>() + .in("storeId", storeIds.getStoreIds())).stream() + .map(WorldCupStore::getWorldCupId).collect(Collectors.toList()); + List<WorldCupPayment> list = worldCupPaymentService.list(new QueryWrapper<WorldCupPayment>() + .in("worldCupId", collect) + .eq("payStatus", 2)); + for (WorldCupPayment worldCupPayment : list) { + res.add(worldCupPayment.getAppUserId()); + } + return res; + } @@ -636,6 +772,22 @@ worldCup.setProvinceCode(provinceCode); worldCup.setCity(city.replace("市", "")); worldCup.setCityCode(cityCode); + String[] split = worldCup.getPayType().split(","); + List<String> strings = Arrays.asList(split); + if(strings.contains("0")){ + worldCup.setCash(null); + worldCup.setClassHour(null); + worldCup.setPaiCoin(null); + } + if(!strings.contains("1")){ + worldCup.setCash(null); + } + if(!strings.contains("2")){ + worldCup.setPaiCoin(null); + } + if(!strings.contains("3")){ + worldCup.setClassHour(null); + } worldCupService.save(worldCup); return worldCup.getId(); } @@ -681,6 +833,22 @@ WorldCup worldCup1 = worldCupService.getById(worldCup2.getId()); worldCup2.setCreateTime(worldCup1.getCreateTime()); worldCup2.setMatchNumber(worldCup1.getMatchNumber()); + String[] split = worldCup2.getPayType().split(","); + List<String> strings = Arrays.asList(split); + if(strings.contains("0")){ + worldCup2.setCash(null); + worldCup2.setClassHour(null); + worldCup2.setPaiCoin(null); + } + if(!strings.contains("1")){ + worldCup2.setCash(null); + } + if(!strings.contains("2")){ + worldCup2.setPaiCoin(null); + } + if(!strings.contains("3")){ + worldCup2.setClassHour(null); + } worldCupService.updateWorldCupAll(worldCup2); return worldCup2.getId(); } @@ -738,6 +906,7 @@ @ResponseBody @PostMapping("/base/worldCup/endWorldCupCallback") public void endWorldCupCallback(String custom, Integer red_score, Integer blue_score){ + log.warn("世界杯游戏成绩回调:custom->" + custom + ",red_score->" + red_score + ",blue_score->" + blue_score); worldCupCompetitorService.endWorldCupCallback(custom, red_score, blue_score); } -- Gitblit v1.7.1