From eb6b6dbb35a9f029e0b7d269773685c19fd40976 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 11 七月 2024 10:47:51 +0800
Subject: [PATCH] 玩湃微信商户认证代码

---
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TBodySideAppointmentsController.java |   95 +++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 83 insertions(+), 12 deletions(-)

diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TBodySideAppointmentsController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TBodySideAppointmentsController.java
index 42238b3..0ca9cfb 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TBodySideAppointmentsController.java
+++ b/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("添加成功");
     }

--
Gitblit v1.7.1