puzhibing
2023-12-08 f88cfa02e36752e4acad7adc4b045155e8e50f21
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TBodySideAppointmentsController.java
@@ -1,9 +1,13 @@
package com.dsh.guns.modular.system.controller.code;
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.StoreStaffClient;
import com.dsh.course.feignClient.account.model.CityManager;
import com.dsh.course.feignClient.account.model.Coach;
import com.dsh.course.feignClient.account.model.TStoreStaff;
import com.dsh.course.feignClient.activity.BodySideAppointmentClient;
import com.dsh.course.feignClient.activity.model.BodySideAppointment;
import com.dsh.course.feignClient.activity.model.QueryBodySideAppointment;
@@ -11,6 +15,11 @@
import com.dsh.course.feignClient.other.StoreClient;
import com.dsh.guns.config.UserExt;
import com.dsh.guns.modular.system.model.CoachQuery;
import com.dsh.guns.modular.system.model.Store;
import com.dsh.guns.modular.system.model.TCity;
import com.dsh.guns.modular.system.model.TStore;
import com.dsh.guns.modular.system.service.ICityService;
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;
@@ -19,6 +28,7 @@
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
 * 体测预约管理控制器
@@ -34,6 +44,10 @@
    private BodySideAppointmentClient bodySideAppointmentClient;
    @Autowired
    private CityManagerClient cityManagerClient;
    @Autowired
    private StoreStaffClient storeStaffClient;
    @Autowired
    private ICityService cityService;
    /**
     * 跳转体测预约管理首页
     */
@@ -46,23 +60,46 @@
     */
    @RequestMapping("/add")
    public String add(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 roleType = UserExt.getUser().getObjectType();
        List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
        model.addAttribute("list",list);
        if (roleType == 2){
            Integer cityManagerId = UserExt.getUser().getObjectId();
            CityManager cityManager = cityManagerClient.queryCityManagerById(cityManagerId);
            List<Store> stores = storeClient.getStoreByCityManagerId(cityManagerId);
            model.addAttribute("stores",stores);
        }
        model.addAttribute("list",result);
        model.addAttribute("list",list);
        model.addAttribute("roleType",roleType);
        return PREFIX + "TBodySideAppointment_add.html";
    }
    /**
     * 跳转体测预约管理编辑页面
     */
    @RequestMapping("/update")
    public String update(Model model) {
    @RequestMapping("/update/{id}")
    public String update(Model model,@PathVariable("id") Integer id) {
        Integer roleType = UserExt.getUser().getObjectType();
        Integer objectId = UserExt.getUser().getObjectId();
        BodySideAppointment data = bodySideAppointmentClient.getInfoById(id);
        if (roleType == 1){
            List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
            TCity province1 = cityService.getOne(new QueryWrapper<TCity>().eq("name", data.getProvince()));
            List<TCity> city = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, province1.getId()));
            model.addAttribute("list",list);
            List<Store> stores = storeClient.getStore(data.getCity());
            model.addAttribute("stores",stores);
            model.addAttribute("cities",city);
        }else if (roleType == 2){
            List<Store> stores = storeClient.getStoreByCityManagerId(objectId);
            model.addAttribute("stores",stores);
        }
        String birthday = new SimpleDateFormat("yyyy-MM-dd").format(data.getBirthday());
        String appointmentTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(data.getAppointmentTime());
        model.addAttribute("birthday",birthday);
        model.addAttribute("appointmentTime",appointmentTime);
        model.addAttribute("data",data);
        model.addAttribute("roleType",roleType);
        return PREFIX + "TBodySideAppointment_edit.html";
    }
@@ -72,24 +109,58 @@
     */
    @RequestMapping("/listAll")
    @ResponseBody
    public List<QueryBodySideAppointmentVO> listAll(String phone,String parentName,Integer state){
    public List<QueryBodySideAppointmentVO> listAll(String phone,String parentName,Integer state,Integer day){
        QueryBodySideAppointment vo = new QueryBodySideAppointment();
        vo.setParentName(parentName);
        vo.setPhone(phone);
        vo.setState(state);
        vo.setDay(day);
        Integer roleType = UserExt.getUser().getObjectType();
        Integer objectId = UserExt.getUser().getObjectId();
        if (roleType == 2){
            // 获取门店集合
            List<Integer> collect = storeClient.getStoreByCityManagerId(objectId)
                    .stream().map(Store::getId).collect(Collectors.toList());
            vo.setIds(collect);
        }else if(roleType == 3){
            List<Integer> list = new ArrayList<>();
            list.add(objectId);
            vo.setIds(list);
        }
        List<QueryBodySideAppointmentVO> queryBodySideAppointmentVOS = bodySideAppointmentClient.listAll(vo);
        for (QueryBodySideAppointmentVO queryBodySideAppointmentVO : queryBodySideAppointmentVOS) {
            queryBodySideAppointmentVO.setProvinceAndCity(queryBodySideAppointmentVO.getProvince()+queryBodySideAppointmentVO.getCity());
        }
        return queryBodySideAppointmentVOS;
    }
    @Autowired
    private IStoreService storeService;
    /**
     *  添加/修改体测预约记录
     */
    @ResponseBody
    @RequestMapping(value = "/addBodySideAppointments")
    public ResultUtil addBodySideAppointments(@RequestBody QueryBodySideAppointmentVO vo) {
        Integer roleType = UserExt.getUser().getObjectType();
        // 获取当前登录人id
        Integer cityManagerId = UserExt.getUser().getObjectId();
        if (roleType == 2){
            TStore cityManager = storeService.getById(vo.getStoreId());
            vo.setProvince(cityManager.getProvince());
            vo.setProvinceCode(cityManager.getProvinceCode());
            vo.setCity(cityManager.getCity());
            vo.setCityCode(cityManager.getCityCode());
        }else if (roleType == 3){
//            TStoreStaff storeByStoreStaffId = storeStaffClient.getStoreByStoreStaffId(cityManagerId);
            Store storeById = storeClient.getStoreById(cityManagerId);
            vo.setProvince(storeById.getProvince());
            vo.setProvinceCode(storeById.getProvinceCode());
            vo.setCity(storeById.getCity());
            vo.setCityCode(storeById.getCityCode());
            vo.setStoreId(cityManagerId);
        }
        bodySideAppointmentClient.addBodySideAppointments(vo);
        return ResultUtil.success("添加成功");
    }