| | |
| | | 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.*; |
| | |
| | | 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; |
| | |
| | | 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获取门店关系数据 |
| | |
| | | @PostMapping("/worldCup/getWorldCupStoreListByStoreId") |
| | | public List<WorldCupStoreVO> getWorldCupStoreListByStoreId(@RequestBody Integer storeId){ |
| | | List<WorldCupStoreVO> res = new ArrayList<>(); |
| | | |
| | | List<WorldCupStore> storeId1 = worldCupStoreService.list(new QueryWrapper<WorldCupStore>().eq("storeId", storeId)); |
| | | List<WorldCupStore> storeId1 = worldCupStoreService.list( |
| | | new QueryWrapper<WorldCupStore>() |
| | | .eq("storeId", storeId)); |
| | | for (WorldCupStore worldCupStore : storeId1) { |
| | | WorldCupStoreVO worldCupStoreVO = new WorldCupStoreVO(); |
| | | BeanUtils.copyProperties(worldCupStore,worldCupStoreVO); |
| | | // 查询世界杯活动名称 |
| | | WorldCup byId = worldCupService.getById(worldCupStore.getWorldCupId()); |
| | | if (byId==null){ |
| | | continue; |
| | | } |
| | | if (byId.getStatus()==3 || byId.getStatus()==4){ |
| | | continue; |
| | | } |
| | | worldCupStoreVO.setName(byId.getName()); |
| | | res.add(worldCupStoreVO); |
| | | } |
| | |
| | | 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; |
| | | } |
| | | |
| | | |
| | | |
| | |
| | | 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(); |
| | | } |
| | |
| | | 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(); |
| | | } |
| | |
| | | @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); |
| | | } |
| | | |