From aa45df63fa01b2f010560e4157f00bec5150a1fb Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期一, 27 十一月 2023 17:08:15 +0800 Subject: [PATCH] 后台bug修改 --- cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoachController.java | 132 +++++++++++++++++++++++++++++++++---------- 1 files changed, 101 insertions(+), 31 deletions(-) diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoachController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoachController.java index 6b1d951..a84e295 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoachController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoachController.java @@ -1,6 +1,8 @@ package com.dsh.guns.modular.system.controller.code; +import com.alibaba.druid.sql.visitor.functions.If; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsh.course.feignClient.account.CityManagerClient; import com.dsh.course.feignClient.account.CoachClient; @@ -11,12 +13,10 @@ import com.dsh.course.feignClient.account.model.CoachType; import com.dsh.course.feignClient.other.model.Site; import com.dsh.guns.config.UserExt; -import com.dsh.guns.modular.system.model.CoachChangeStateVO; -import com.dsh.guns.modular.system.model.CoachQuery; -import com.dsh.guns.modular.system.model.Store; -import com.dsh.guns.modular.system.model.TStore; -import com.dsh.guns.modular.system.service.IStoreService; +import com.dsh.guns.modular.system.model.*; +import com.dsh.guns.modular.system.service.*; import com.dsh.guns.modular.system.util.ResultUtil; +import org.bouncycastle.math.raw.Mod; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; @@ -41,6 +41,14 @@ private CoachClient coachClient; @Autowired private CityManagerClient cityManagerClient; + @Autowired + private ICityService cityService; + @Autowired + private TOperatorService operatorService; + @Autowired + private TOperatorCityService operatorCityService; + @Autowired + private IUserService userService; /** * 跳转教练管理首页 @@ -89,15 +97,8 @@ */ @RequestMapping("/addCoach") public String addCoach(Model model) { - List<CityManager> province = cityManagerClient.listAll(); - Set<String> seenNames = new HashSet<>(); - List<CityManager> result = new ArrayList<>(); - for (CityManager cityManager : province) { - if(!seenNames.contains(cityManager.getProvince())){ - result.add(cityManager); - seenNames.add(cityManager.getProvince()); - } - } + List<TCity> list1 = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0)); + model.addAttribute("list",list1); Integer objectType = UserExt.getUser().getObjectType(); Integer objectId = UserExt.getUser().getObjectId(); CoachQuery coachQuery = new CoachQuery(); @@ -106,7 +107,6 @@ String roleid = UserExt.getUser().getRoleid(); model.addAttribute("role",roleid); model.addAttribute("data",data); - model.addAttribute("list",result); model.addAttribute("objectType",objectType); model.addAttribute("objectId",objectId); model.addAttribute("coachType",list); @@ -119,6 +119,7 @@ @ResponseBody @RequestMapping(value = "/add") public ResultUtil addCoach(@RequestBody Coach coach) { + Integer objectId = UserExt.getUser().getObjectId(); if (UserExt.getUser().getObjectType() == 2){ coach.setCityManagerId(objectId); @@ -149,6 +150,43 @@ coachClient.changeState(vo); return ResultUtil.success(); } + /** + * 根据选择的市 查询有哪些运营商管理了所选的市 + * + * @return + */ + @RequestMapping("/getYys") + @ResponseBody + public Object getYys(String pCode,String cCode){ + // 先获取管理全国的运营商 + List<TOperator> type = operatorService.list(new QueryWrapper<TOperator>().eq("type", 1)); + // 根据所选市 查询管理了这个市的运营商 + // 获取管理指定区域的运营商的ID 然后去重 + List<Integer> collect = operatorCityService.list(new QueryWrapper<TOperatorCity>()).stream().map(TOperatorCity::getOperatorId) + .distinct().collect(Collectors.toList()); + // 遍历 判断当前运营商是否管理了所选市 + for (Integer integer : collect) { + // 查询是否管理了省 + TOperatorCity code = operatorCityService.getOne(new QueryWrapper<TOperatorCity>().eq("code", pCode).eq("operatorId",integer)); + if (code==null)continue; + List<TOperatorCity> pid = operatorCityService.list(new QueryWrapper<TOperatorCity>().eq("pid", code.getId())); + // 如果pid长度为0 则说明管理整个省 + if (pid.size()==0){ + type.add(operatorService.getOne(new QueryWrapper<TOperator>() + .eq("id",integer))); + } + for (TOperatorCity tOperatorCity : pid) { + if (tOperatorCity.getCode().toString().equals(cCode)){ + TOperator id = operatorService.getOne(new QueryWrapper<TOperator>() + .eq("id", tOperatorCity.getOperatorId())); + if (id!=null)type.add(id); + break; + } + } + } + + return type; + } /** * 跳转修改教练页面 @@ -158,29 +196,54 @@ CoachQuery coachQuery = new CoachQuery(); coachQuery.setId(id); List<CoachSerchVO> data = coachClient.listAll(coachQuery); - List<CityManager> province = cityManagerClient.listAll(); - Set<String> seenNames = new HashSet<>(); - List<CityManager> result = new ArrayList<>(); - List<CityManager> city = new ArrayList<>(); - for (CityManager cityManager : province) { - if(!seenNames.contains(cityManager.getProvince())){ - result.add(cityManager); - seenNames.add(cityManager.getProvince()); + List<TCity> list1 = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0)); + // 省 + model.addAttribute("list",list1); + // 市 + Integer code = cityService.getOne(new QueryWrapper<TCity>() + .eq("code", data.get(0).getProvinceCode())).getId(); + + List<TCity> pid = cityService.list(new QueryWrapper<TCity>().eq("parent_id", code)); + model.addAttribute("city",pid); + // 获取所选省市下的运营商列表 + // 先获取管理全国的运营商 + List<TOperator> type = operatorService.list(new QueryWrapper<TOperator>().eq("type", 1)); + // 根据所选市 查询管理了这个市的运营商 + // 获取管理指定区域的运营商的ID 然后去重 + List<Integer> collect = operatorCityService.list(new QueryWrapper<TOperatorCity>()).stream().map(TOperatorCity::getOperatorId) + .distinct().collect(Collectors.toList()); + // 遍历 判断当前运营商是否管理了所选市 + for (Integer integer : collect) { + // 查询是否管理了省 + TOperatorCity code1 = operatorCityService.getOne(new QueryWrapper<TOperatorCity>() + .eq("code", data.get(0).getProvinceCode()) + .eq("operatorId",integer) + ); + if (code1==null)continue; + List<TOperatorCity> pid1 = operatorCityService.list(new QueryWrapper<TOperatorCity>().eq("pid", code1.getId())); + // 如果pid长度为0 则说明管理整个省 + if (pid1.size()==0){ + type.add(operatorService.getOne(new QueryWrapper<TOperator>() + .eq("id",integer))); } - if(data.get(0).getProvince().equals(cityManager.getProvince())){ - city.add(cityManager); + for (TOperatorCity tOperatorCity : pid1) { + if (tOperatorCity.getCode().toString().equals(data.get(0).getCityCode())){ + TOperator id1 = operatorService.getOne(new QueryWrapper<TOperator>() + .eq("id", tOperatorCity.getOperatorId())); + if (id1!=null)type.add(id1); + break; + } } } + + Integer objectType = UserExt.getUser().getObjectType(); Integer objectId = UserExt.getUser().getObjectId(); - List<CityManager> accounts = cityManagerClient.getAccount(data.get(0).getCity()); List<CoachType> list = coachTypeClient.list(); String roleid = UserExt.getUser().getRoleid(); model.addAttribute("role",roleid); model.addAttribute("data",data.get(0)); - model.addAttribute("list",result); - model.addAttribute("city",city); - model.addAttribute("cityManagers",accounts); + model.addAttribute("cityManagers",type); model.addAttribute("objectType",objectType); model.addAttribute("objectId",objectId); model.addAttribute("coachType",list); @@ -261,7 +324,14 @@ Integer objectId = UserExt.getUser().getObjectId(); coachQuery.setOperatorId(objectId); } - - return coachClient.listAll(coachQuery); + List<CoachSerchVO> coachSerchVOS = coachClient.listAll(coachQuery); + for (CoachSerchVO coachSerchVO : coachSerchVOS) { + Integer cityManagerId = coachSerchVO.getCityManagerId(); + TOperator byId = operatorService.getById(cityManagerId); + Integer userId = byId.getUserId(); + User byId1 = userService.getById(userId); + coachSerchVO.setNameAndPhone(byId.getName()+""+byId1.getPhone()); + } + return coachSerchVOS; } } -- Gitblit v1.7.1