package com.dsh.guns.modular.system.controller.code; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dsh.course.feignClient.account.CityManagerClient; import com.dsh.course.feignClient.account.CoachClient; import com.dsh.course.feignClient.account.model.CityManager; import com.dsh.course.feignClient.account.model.Coach; import com.dsh.course.feignClient.course.CoursePackageTypeClient; import com.dsh.course.feignClient.course.model.TCoursePackageType; import com.dsh.guns.config.UserExt; import com.dsh.guns.core.base.controller.BaseController; import com.dsh.guns.modular.system.model.TSite; import com.dsh.guns.modular.system.model.TStore; import com.dsh.guns.modular.system.service.ICoursePackageService; import com.dsh.guns.modular.system.service.IStoreService; import com.dsh.guns.modular.system.service.ITSiteService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; import java.util.List; import java.util.Map; /** * @author zhibing.pu * @Date 2023/8/1 11:50 */ @Controller @RequestMapping("/coursePackage") public class TCoursePackageController extends BaseController { private String PREFIX = "/system/coursePackage/"; @Autowired private ICoursePackageService coursePackageService; @Resource private CoursePackageTypeClient coursePackageTypeClient; @Autowired private IStoreService storeService; @Resource private CityManagerClient cityManagerClient; @Autowired private ITSiteService siteService; @Resource private CoachClient coachClient; /** * 跳转到列表页 * @param model * @return */ @GetMapping("/openCoursePackageListPage") public String openCoursePackageListPage(Model model){ Integer objectType = UserExt.getUser().getObjectType(); Integer objectId = UserExt.getUser().getObjectId(); List tCoursePackageTypes = coursePackageTypeClient.queryAllCoursePackageType(); model.addAttribute("coursePackageType", tCoursePackageTypes); String cityCode = null; if(objectType == 2){//城市管理员 CityManager cityManager = cityManagerClient.queryCityManagerById(objectId); cityCode = cityManager.getCityCode(); } List> list = storeService.queryProvince(cityCode); model.addAttribute("province", list); model.addAttribute("objectType", objectType); return PREFIX + "coursePackage.html"; } @GetMapping("/openAddCoursePackage") public String openAddCoursePackage(Model model){ Integer objectType = UserExt.getUser().getObjectType(); Integer objectId = UserExt.getUser().getObjectId(); List tCoursePackageTypes = coursePackageTypeClient.queryAllCoursePackageType(); model.addAttribute("coursePackageType", tCoursePackageTypes); String cityCode = null; if(objectType == 2){//城市管理员 CityManager cityManager = cityManagerClient.queryCityManagerById(objectId); cityCode = cityManager.getCityCode(); } List> list = storeService.queryProvince(cityCode); model.addAttribute("province", list); Object code = list.get(0).get("code"); List> list1 = storeService.queryCity(code.toString(), cityCode); model.addAttribute("city", list1); String code1 = list1.get(0).get("code").toString(); List list2 = storeService.list(new QueryWrapper().eq("cityCode", code1).eq("state", 1)); model.addAttribute("store", list2); TStore store = list2.get(0); List list3 = siteService.list(new QueryWrapper().eq("storeId", store.getId()).eq("state", 1)); model.addAttribute("site", list3); List coaches = coachClient.queryCoachByCity(code1); model.addAttribute("coach", coaches); return PREFIX + "coursePackage_add.html"; } /** * 获取城市列表 * @param code * @return */ @ResponseBody @PostMapping("/queryCity") public List> queryCity(String code){ Integer objectType = UserExt.getUser().getObjectType(); Integer objectId = UserExt.getUser().getObjectId(); String cityCode = null; if(objectType == 2){//城市管理员 CityManager cityManager = cityManagerClient.queryCityManagerById(objectId); cityCode = cityManager.getCityCode(); } return storeService.queryCity(code, cityCode); } /** * 获取列表数据 * @param provinceCode * @param cityCode * @param coursePackageTypeId * @param name * @param status * @param state * @return */ @ResponseBody @PostMapping("/queryCoursePackageLists") public Object queryCoursePackageLists(String provinceCode, String cityCode, Integer coursePackageTypeId, String name, Integer status, Integer state){ Integer objectType = UserExt.getUser().getObjectType(); Integer objectId = UserExt.getUser().getObjectId(); Integer storeId = null; if(objectType == 2){//城市管理员 CityManager cityManager = cityManagerClient.queryCityManagerById(objectId); provinceCode = cityManager.getProvinceCode(); cityCode = cityManager.getCityCode(); } if(objectType == 3) {//城市管理员 storeId = objectId; } Page> mapPage = coursePackageService.queryCoursePackageLists(provinceCode, cityCode, coursePackageTypeId, storeId, name, status, state); return super.packForBT(mapPage); } }