From 022a7ff7abf82cd2546e18071ade5228b4e2339f Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期一, 08 七月 2024 14:07:49 +0800
Subject: [PATCH] 管理后台营销员列表职级展示问题修改

---
 meiya-admin/src/main/java/com/sinata/modular/system/controller/UserMgrController.java |   67 ++++++++++++++++++++++++---------
 1 files changed, 49 insertions(+), 18 deletions(-)

diff --git a/meiya-admin/src/main/java/com/sinata/modular/system/controller/UserMgrController.java b/meiya-admin/src/main/java/com/sinata/modular/system/controller/UserMgrController.java
index 887d885..208c9e7 100644
--- a/meiya-admin/src/main/java/com/sinata/modular/system/controller/UserMgrController.java
+++ b/meiya-admin/src/main/java/com/sinata/modular/system/controller/UserMgrController.java
@@ -1,7 +1,7 @@
 package com.sinata.modular.system.controller;
 
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.sinata.common.enums.EnumIsDelete;
 import com.sinata.core.base.controller.BaseController;
 import com.sinata.core.base.tips.Tip;
 import com.sinata.core.common.annotion.BussinessLog;
@@ -21,9 +21,10 @@
 import com.sinata.modular.system.controller.util.UploadUtil;
 import com.sinata.modular.system.dao.UserMapper;
 import com.sinata.modular.system.factory.UserFactory;
-import com.sinata.modular.system.model.AreaCity;
+import com.sinata.modular.system.model.TCityRegion;
 import com.sinata.modular.system.model.User;
 import com.sinata.modular.system.service.IAreaCityService;
+import com.sinata.modular.system.service.ITCityRegionService;
 import com.sinata.modular.system.service.IUserService;
 import com.sinata.modular.system.transfer.UserDto;
 import com.sinata.modular.system.warpper.UserWarpper;
@@ -36,9 +37,11 @@
 
 import javax.naming.NoPermissionException;
 import javax.validation.Valid;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * 系统管理员控制器
@@ -61,6 +64,9 @@
     @Autowired
     private IAreaCityService areaCityService;
 
+    @Autowired
+    private ITCityRegionService cityRegionService;
+
     /**
      * 跳转到查看管理员列表的页面
      */
@@ -74,12 +80,19 @@
      */
     @RequestMapping("/user_add")
     public String addView(Model model) {
-        model.addAttribute("provinceList", areaCityService.selectList(
-                new EntityWrapper<AreaCity>()
-                        .groupBy("province_code")
-                        .eq("is_open", 1)
-                        .eq("is_delete", EnumIsDelete.EXISTED.index)
-        ));
+//        model.addAttribute("provinceList", areaCityService.selectList(
+//                new EntityWrapper<AreaCity>()
+//                        .groupBy("province_code")
+//                        .eq("is_open", 1)
+//                        .eq("is_delete", EnumIsDelete.EXISTED.index)
+//        ));
+        // 省市区三级联动
+        List<TCityRegion> cityList = cityRegionService.selectList(
+                new EntityWrapper<TCityRegion>()
+                        .setSqlSelect("code, name")
+                        .eq("parent_id", 0)
+        );
+        model.addAttribute("cityList", cityList);
         return PREFIX + "user_add.html";
     }
 
@@ -115,12 +128,25 @@
         model.addAttribute("deptName", ConstantFactory.me().getDeptName(user.getDeptid()));
         LogObjectHolder.me().set(user);
 
-        model.addAttribute("provinceList", areaCityService.selectList(
-                new EntityWrapper<AreaCity>()
-                        .groupBy("province_code")
-                        .eq("is_open", 1)
-                        .eq("is_delete", EnumIsDelete.EXISTED.index)
-        ));
+//        model.addAttribute("provinceList", areaCityService.selectList(
+//                new EntityWrapper<AreaCity>()
+//                        .groupBy("province_code")
+//                        .eq("is_open", 1)
+//                        .eq("is_delete", EnumIsDelete.EXISTED.index)
+//        ));
+        // 省市区三级联动
+        List<TCityRegion> cityList = cityRegionService.selectList(
+                new EntityWrapper<TCityRegion>()
+                        .setSqlSelect("code, name")
+                        .eq("parent_id", 0)
+        );
+        model.addAttribute("cityList", cityList);
+        if (StrUtil.isBlank(user.getProvinceCode()) || "-1".equals(user.getProvinceCode())) {
+            user.setProvinceCode("000000");
+        }
+        model.addAttribute("provinceCode", user.getProvinceCode().substring(0, 2) + "0000");
+        model.addAttribute("cityCode", user.getProvinceCode().substring(0, 4) + "00");
+        model.addAttribute("countyCode", user.getProvinceCode());
 
         return PREFIX + "user_edit.html";
     }
@@ -179,14 +205,19 @@
     @Permission
     @ResponseBody
     public Object list(@RequestParam(required = false) String name, @RequestParam(required = false) String beginTime, @RequestParam(required = false) String endTime, @RequestParam(required = false) Integer deptid) {
+        List<Map<String, Object>> users;
         if (ShiroKit.isAdmin()) {
-            List<Map<String, Object>> users = userService.selectUsers(null, name, beginTime, endTime, deptid);
-            return new UserWarpper(users).warp();
+            users = userService.selectUsers(null, name, beginTime, endTime, deptid);
         } else {
             DataScope dataScope = new DataScope(ShiroKit.getDeptDataScope());
-            List<Map<String, Object>> users = userService.selectUsers(dataScope, name, beginTime, endTime, deptid);
-            return new UserWarpper(users).warp();
+            users = userService.selectUsers(dataScope, name, beginTime, endTime, deptid);
         }
+        for (Map<String, Object> map : users) {
+            String[] provinceCityCountyName = cityRegionService.getProvinceCityCountyName((String) map.get("provinceCode"));
+            String provinceName = Arrays.stream(provinceCityCountyName).collect(Collectors.joining(""));
+            map.put("provinceName", provinceName);
+        }
+        return new UserWarpper(users).warp();
     }
 
     /**

--
Gitblit v1.7.1