package com.dsh.guns.modular.system.controller.code;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.dsh.course.feignClient.account.CityManagerClient;
|
import com.dsh.course.feignClient.account.CoachClient;
|
import com.dsh.course.feignClient.account.CoachTypeClient;
|
import com.dsh.course.feignClient.account.model.CityManager;
|
import com.dsh.course.feignClient.account.model.Coach;
|
import com.dsh.course.feignClient.account.model.CoachSerchVO;
|
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.util.ResultUtil;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.ui.Model;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.text.SimpleDateFormat;
|
import java.util.*;
|
import java.util.stream.Collectors;
|
|
|
/**
|
* 教练
|
*/
|
@Controller
|
@RequestMapping("/tCoach")
|
public class CoachController {
|
|
private String PREFIX = "/system/tCoach/";
|
@Autowired
|
private CoachTypeClient coachTypeClient;
|
@Autowired
|
private CoachClient coachClient;
|
@Autowired
|
private CityManagerClient cityManagerClient;
|
|
/**
|
* 跳转教练管理首页
|
*/
|
@RequestMapping("")
|
public String index(Model model) {
|
|
Integer objectType = UserExt.getUser().getObjectType();
|
Integer objectId = UserExt.getUser().getObjectId();
|
CoachQuery coachQuery = new CoachQuery();
|
coachQuery.setStoreIds(new ArrayList<>());
|
List<CoachSerchVO> data = coachClient.listAll(coachQuery);
|
List<String> province = new ArrayList<>();
|
for (CoachSerchVO coach : data) {
|
province.add(coach.getProvince());
|
}
|
HashSet<String> set = new HashSet<String>(province);
|
String roleid = UserExt.getUser().getRoleid();
|
model.addAttribute("role",roleid);
|
model.addAttribute("data",data);
|
model.addAttribute("list",set);
|
model.addAttribute("objectType",objectType);
|
model.addAttribute("objectId",objectId);
|
return PREFIX + "TCoach.html";
|
}
|
/**
|
* 获取教练列表
|
*/
|
@RequestMapping(value = "/getCity")
|
@ResponseBody
|
public List<Coach> getCity(String province) {
|
List<Coach> city = coachClient.getCity(province);
|
List<Coach> res = new ArrayList<>();
|
List<String> list = new ArrayList<>();
|
for (Coach coach : city) {
|
if (!list.contains(coach.getCity())){
|
res.add(coach);
|
list.add(coach.getCity());
|
}
|
}
|
return res;
|
}
|
|
/**
|
* 跳转添加教练页面
|
*/
|
@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());
|
}
|
}
|
Integer objectType = UserExt.getUser().getObjectType();
|
Integer objectId = UserExt.getUser().getObjectId();
|
CoachQuery coachQuery = new CoachQuery();
|
List<CoachSerchVO> data = coachClient.listAll(coachQuery);
|
List<CoachType> list = coachTypeClient.list();
|
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);
|
return PREFIX + "TCoach_add.html";
|
}
|
|
/**
|
* 添加教练
|
*/
|
@ResponseBody
|
@RequestMapping(value = "/add")
|
public ResultUtil addCoach(@RequestBody Coach coach) {
|
Integer objectId = UserExt.getUser().getObjectId();
|
if (UserExt.getUser().getObjectType() == 2){
|
coach.setCityManagerId(objectId);
|
}
|
if (coach.getDiploma().equals("")) {
|
coach.setDiploma(null);
|
}
|
if (coach.getCertificateImg().equals("") ){
|
coach.setCertificateImg(null);
|
}
|
if (coach.getCertificateImg()!=null){
|
coach.setCertificateImg(coach.getCertificateImg().substring(1));
|
}
|
coach.setInsertTime(new Date());
|
coach.setState(1);
|
coachClient.addCoach(coach);
|
return ResultUtil.success("添加成功");
|
}
|
|
/**
|
* 1为冻结 2为解冻
|
*
|
* @return
|
*/
|
@RequestMapping("/changeState")
|
@ResponseBody
|
public Object changeState(@RequestBody CoachChangeStateVO vo){
|
coachClient.changeState(vo);
|
return ResultUtil.success();
|
}
|
|
/**
|
* 跳转修改教练页面
|
*/
|
@RequestMapping("/updateCoach/{id}")
|
public String updateCoach(Model model, @PathVariable("id") Integer id) {
|
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());
|
}
|
if(data.get(0).getProvince().equals(cityManager.getProvince())){
|
city.add(cityManager);
|
}
|
}
|
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("objectType",objectType);
|
model.addAttribute("objectId",objectId);
|
model.addAttribute("coachType",list);
|
// 1为查看详情
|
model.addAttribute("type",0);
|
String[] split = data.get(0).getCertificateImg().split(",");
|
List<String> pictures = new ArrayList<>(Arrays.asList(split));
|
model.addAttribute("pictures",data.get(0).getCertificateImg());
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
String birthday = format.format(data.get(0).getBirthday());
|
model.addAttribute("birthday",birthday);
|
model.addAttribute("diploma",data.get(0).getDiploma());
|
return PREFIX + "TCoach_edit.html";
|
}
|
/**
|
* 跳转修改教练页面
|
*/
|
@RequestMapping("/infoCoach/{id}")
|
public String infoCoach(Model model, @PathVariable("id") Integer id) {
|
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());
|
}
|
if(data.get(0).getProvince().equals(cityManager.getProvince())){
|
city.add(cityManager);
|
}
|
}
|
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("objectType",objectType);
|
model.addAttribute("objectId",objectId);
|
model.addAttribute("coachType",list);
|
// 1为查看详情
|
model.addAttribute("type",1);
|
String[] split = data.get(0).getCertificateImg().split(",");
|
List<String> pictures = new ArrayList<>(Arrays.asList(split));
|
model.addAttribute("pictures",pictures);
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
String birthday = format.format(data.get(0).getBirthday());
|
model.addAttribute("birthday",birthday);
|
return PREFIX + "TCoach_edit.html";
|
}
|
/**
|
* 获取教练列表
|
*/
|
@Autowired
|
private IStoreService storeService;
|
@RequestMapping(value = "/list")
|
@ResponseBody
|
public List<CoachSerchVO> list(String province, String city, String name, String phone) {
|
CoachQuery coachQuery = new CoachQuery();
|
coachQuery.setProvince(province);
|
coachQuery.setCity(city);
|
coachQuery.setName(name);
|
coachQuery.setPhone(phone);
|
Integer objectType = UserExt.getUser().getObjectType();
|
if (objectType == 1){
|
Integer objectId = UserExt.getUser().getObjectId();
|
coachQuery.setOperatorId(objectId);
|
}
|
if (objectType == 2){
|
Integer objectId = UserExt.getUser().getObjectId();
|
coachQuery.setOperatorId(objectId);
|
}
|
|
return coachClient.listAll(coachQuery);
|
}
|
}
|