From 696daad0798c29631ccda2d98ca52eedcbf2fcb4 Mon Sep 17 00:00:00 2001
From: 刘帅 <rr.iii@qq.com>
Date: 星期一, 21 九月 2026 20:57:27 +0800
Subject: [PATCH] bug:登录问题

---
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java |  442 +++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 361 insertions(+), 81 deletions(-)

diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java
index 98c888d..64a2b86 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java
@@ -1,6 +1,9 @@
 package com.dsh.guns.modular.system.controller.system;
 
 import cn.hutool.crypto.SecureUtil;
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.dsh.course.mapper.UserMapper;
 import com.dsh.guns.config.UserExt;
@@ -19,28 +22,33 @@
 import com.dsh.guns.core.exception.GunsException;
 import com.dsh.guns.core.log.LogObjectHolder;
 import com.dsh.guns.core.util.SinataUtil;
-import com.dsh.guns.core.util.ToolUtil;
 import com.dsh.guns.modular.system.controller.util.MD5;
 import com.dsh.guns.modular.system.factory.UserFactory;
-import com.dsh.guns.modular.system.model.Role;
-import com.dsh.guns.modular.system.model.User;
+import com.dsh.guns.modular.system.model.*;
+import com.dsh.guns.modular.system.service.IDeptService;
 import com.dsh.guns.modular.system.service.IRoleService;
+import com.dsh.guns.modular.system.service.IStoreService;
 import com.dsh.guns.modular.system.service.IUserService;
 import com.dsh.guns.modular.system.transfer.UserDto;
+import com.dsh.guns.modular.system.util.OBSUploadUtil;
+import com.dsh.guns.modular.system.util.OssUploadUtil;
+import com.dsh.guns.modular.system.util.ResultUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
+import org.springframework.util.StringUtils;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.ui.Model;
 import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.bind.WebDataBinder;
+import org.springframework.beans.propertyeditors.CustomNumberEditor;
 
 import javax.naming.NoPermissionException;
+import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
-import java.io.File;
-import java.util.Date;
-import java.util.Map;
-import java.util.Objects;
-import java.util.UUID;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 系统管理员控制器
@@ -54,6 +62,12 @@
 
     private static String PREFIX = "/system/user/";
 
+    /** 多选框未选择时会提交空字符串;将其转换为空值,避免绑定 List<Integer> 时抛 NumberFormatException。 */
+    @InitBinder
+    public void initBinder(WebDataBinder binder) {
+        binder.registerCustomEditor(Integer.class, new CustomNumberEditor(Integer.class, true));
+    }
+
     @Autowired
     private GunsProperties gunsProperties;
 
@@ -62,7 +76,8 @@
 
     @Autowired
     private IRoleService roleService;
-
+    @Autowired
+    private IDeptService deptService;
 
 
     /**
@@ -71,6 +86,7 @@
     @RequestMapping("")
     public String index(Model model) {
         model.addAttribute("language",UserExt.getLanguage());
+        model.addAttribute("isSuperAdmin", "admin".equalsIgnoreCase(UserExt.getUser().getAccount()));
         return PREFIX + "user.html";
     }
 
@@ -79,8 +95,32 @@
      */
     @RequestMapping("/user_add")
     public String addView(Model model) {
+        model.addAttribute("role",UserExt.getUser().getObjectType());
         model.addAttribute("language",UserExt.getLanguage());
+        LambdaQueryWrapper<Role> roleLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        if(UserExt.getUser().getObjectType()!=1){
+            roleLambdaQueryWrapper.eq(Role::getObjId,UserExt.getUser().getObjectId());
+        }
+        roleLambdaQueryWrapper.eq(Role::getObjType,UserExt.getUser().getObjectType());
+        List<Role> list = roleService.list(roleLambdaQueryWrapper);
+        model.addAttribute("list",list);
+        // 部门列表
+        List<Dept> depts = deptService.list(new QueryWrapper<>());
+        model.addAttribute("depts",depts);
+        model.addAttribute("stores", availableStores());
         return PREFIX + "user_add.html";
+    }
+
+    private List<TStore> availableStores() {
+        LambdaQueryWrapper<TStore> query = new LambdaQueryWrapper<TStore>().eq(TStore::getState, 1);
+        Integer objectType = UserExt.getUser().getObjectType();
+        Integer objectId = UserExt.getUser().getObjectId();
+        if (Integer.valueOf(2).equals(objectType)) {
+            query.eq(TStore::getOperatorId, objectId);
+        } else if (Integer.valueOf(3).equals(objectType)) {
+            query.eq(TStore::getId, objectId);
+        }
+        return storeService.list(query);
     }
 
     /**
@@ -100,22 +140,66 @@
     }
 
     /**
-     * 跳转到编辑管理员页面
+     * 跳转到编辑管理员页面 type=1编辑 type=2 查看详情
      */
     @Permission
-    @RequestMapping("/user_edit/{userId}")
-    public String userEdit(@PathVariable Integer userId, Model model) {
+    @RequestMapping("/user_edit/{userId}/{type}")
+    public String userEdit(@PathVariable Integer userId,@PathVariable Integer type, Model model) {
+        model.addAttribute("role",UserExt.getUser().getObjectType());
         if (Objects.isNull(userId)) {
             throw new GunsException(BizExceptionEnum.REQUEST_NULL);
         }
         assertAuth(userId);
         User user = this.userService.getById(userId);
+        Role role = roleService.getById(user.getRoleid());
+        Dept dept = deptService.getById(user.getDeptid());
+        user.setPhone(maskPhone(user.getPhone()));
+        user.setIdCard(maskIdCard(user.getIdCard()));
         model.addAttribute(user);
-        model.addAttribute("roleName", ConstantFactory.me().getRoleName(user.getRoleid()));
-        model.addAttribute("deptName", ConstantFactory.me().getDeptName(user.getDeptid()));
+        if(role==null){
+            model.addAttribute("roleName", "");
+        }else {
+            model.addAttribute("roleName", role.getName());
+        }
+        if(dept==null){
+
+            model.addAttribute("deptName","");
+        }else {
+
+            model.addAttribute("deptName", dept.getFullname());
+        }
         LogObjectHolder.me().set(user);
+        LambdaQueryWrapper<Role> roleLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        if(UserExt.getUser().getObjectType()!=1){
+            roleLambdaQueryWrapper.eq(Role::getObjId,UserExt.getUser().getObjectId());
+        }
+        roleLambdaQueryWrapper.eq(Role::getObjType,UserExt.getUser().getObjectType());
+        List<Role> list = roleService.list(roleLambdaQueryWrapper);
+        // 员工可能是由平台账号创建、后续归属到门店的,原角色不一定属于当前登录人的角色范围。
+        // 编辑时仍需保留该角色作为可选项,避免下拉框无法回显。
+        if (role != null && list.stream().noneMatch(item -> Objects.equals(item.getId(), role.getId()))) {
+            list.add(role);
+        }
+        model.addAttribute("list",list);
         model.addAttribute("language",UserExt.getLanguage());
+        // 部门列表
+        List<Dept> depts = deptService.list(new QueryWrapper<>());
+        model.addAttribute("depts",depts);
+        model.addAttribute("stores", availableStores());
+        // 回显同时兼容新关联表、sys_user 旧归属字段和 t_store.storeStaffId 旧数据。
+        List<Integer> selectedStoreIds = userMapper.getStoreIdsByUserId(userId);
+        model.addAttribute("selectedStoreIds", selectedStoreIds.stream()
+                .map(String::valueOf).collect(Collectors.joining(",")));
+        model.addAttribute("type",type);
         return PREFIX + "user_edit.html";
+    }
+
+    /** 编辑页异步读取已关联门店,避免模板渲染集合造成多选回显丢失。 */
+    @GetMapping("/storeIds/{userId}")
+    @ResponseBody
+    public List<Integer> getStoreIds(@PathVariable Integer userId) {
+        assertAuth(userId);
+        return userMapper.getStoreIdsByUserId(userId);
     }
 
     /**
@@ -128,9 +212,18 @@
             throw new GunsException(BizExceptionEnum.REQUEST_NULL);
         }
         User user = this.userService.getById(userId);
+        Role role = roleService.getById(user.getRoleid());
+        Dept dept = deptService.getById(user.getDeptid());
+        user.setPhone(maskPhone(user.getPhone()));
+        user.setIdCard(maskIdCard(user.getIdCard()));
         model.addAttribute(user);
-        model.addAttribute("roleName", ConstantFactory.me().getRoleName(user.getRoleid()));
-        model.addAttribute("deptName", user.getDeptid()==0?"顶级":ConstantFactory.me().getDeptName(user.getDeptid()));
+        model.addAttribute("roleName", role.getName());
+        if(dept==null){
+            model.addAttribute("deptName", "无");
+        }else{
+            model.addAttribute("deptName", user.getDeptid()==0?"顶级":dept.getFullname());
+
+        }
         LogObjectHolder.me().set(user);
         return PREFIX + "user_view.html";
     }
@@ -158,7 +251,6 @@
         if (user.getPassword().equals(oldMd5)) {
             String newMd5 = MD5.md5(newPwd);
             user.setPassword(newMd5);
-            user.setPassWordUpdate(new Date());
             user.updateById();
             return SUCCESS_TIP;
         } else {
@@ -166,32 +258,76 @@
         }
     }
 
+    @Autowired
+    private IStoreService storeService;
+    @Autowired
+    private UserMapper userMapper;
     /**
      * 查询管理员列表
      */
     @RequestMapping("/list")
     @Permission
     @ResponseBody
-    public Object list(@RequestParam(required = false) String name, @RequestParam(required = false) String createTime, @RequestParam(required = false) Integer deptid) {
-        //创建日期
-        String beginTime = null;
-        String endTime = null;
-        if (SinataUtil.isNotEmpty(createTime)){
-            String[] timeArray = createTime.split(" - ");
-            beginTime = timeArray[0];
-            endTime = timeArray[1];
+    public List<UserListVO> list(String name, String phone, String idCard, Integer isSales, Integer state) {
+        UserQuery userQuery = new UserQuery();
+        userQuery.setName(name);
+        userQuery.setPhone(phone);
+        userQuery.setIdCard(idCard);
+        userQuery.setIsSales(isSales);
+        userQuery.setStatus(state);
+
+        // 根据当前登陆人类型来查询员工列表
+        Integer objectType = UserExt.getUser().getObjectType();
+        Integer objectId = UserExt.getUser().getObjectId();
+        switch (objectType){
+            case 1:
+                // 平台查询所有
+                List<UserListVO> res= userService.searchUsers(userQuery);
+                return res;
+            case 2:
+                // 运营商查询运营商账号的员工和属于该运营商门店的员工
+//                userQuery.setObjectType(2);
+//                userQuery.setObjectId(objectId);
+//                // 获取属于这个运营商的门店的店长ids
+//                List<Integer> storeStaffIds = storeService.list(new QueryWrapper<TStore>().eq("operatorId", objectId)
+//                        .ne("state", 3)).stream().map(TStore::getStoreStaffId).collect(Collectors.toList());
+//                userQuery.setStoreIds(storeStaffIds);
+//                List<UserListVO> res1= userService.searchUsers(userQuery);
+                List<UserListVO> res1= userService.searchUsers(userQuery);
+                List<UserListVO> filteredList = res1.stream()
+                        .filter(vo -> Objects.equals(vo.getVersion(), UserExt.getUser().getId()))
+                        .collect(Collectors.toList());
+
+//                return res1;
+                return filteredList;
+            case 3:
+                // 门店只查询门店员工
+                TStore store = storeService.getById(objectId);
+                List<Integer> storeIds = userQuery.getStoreIds();
+                storeIds.add(store.getStoreStaffId());
+                List<UserListVO> res2= userService.searchUsers(userQuery);
+                return res2;
         }
-        User user = UserExt.getUser();
-        Role role = roleService.getBaseMapper().selectById(user.getRoleid());
-        if ("administrator".equals(role.getTips())) {
-            Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
-            page.setRecords(userService.getUserListPage(page,null, name, beginTime, endTime, deptid));
-            return super.packForBT(page);
-        } else {
-            Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
-            page.setRecords(userService.getUserListPage(page,null, name, beginTime, endTime, deptid));
-            return super.packForBT(page);
-        }
+        return new ArrayList<>();
+//        //创建日期
+//        String beginTime = null;
+//        String endTime = null;
+//        if (SinataUtil.isNotEmpty(createTime)){
+//            String[] timeArray = createTime.split(" - ");
+//            beginTime = timeArray[0];
+//            endTime = timeArray[1];
+//        }
+//        User user = UserExt.getUser();
+//        Role role = roleService.getBaseMapper().selectById(user.getRoleid());
+//        if ("administrator".equals(role.getTips())) {
+//            Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
+//            page.setRecords(userService.getUserListPage(page,null, name, beginTime, endTime, deptid));
+//            return super.packForBT(page);
+//        } else {
+//            Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
+//            page.setRecords(userService.getUserListPage(page,null, name, beginTime, endTime, deptid));
+//            return super.packForBT(page);
+//        }
     }
 
     /**
@@ -201,30 +337,85 @@
     @BussinessLog(value = "添加管理员", key = "account", dict = UserDict.class)
     @Permission(Const.ADMIN_NAME)
     @ResponseBody
-    public Tip add(@Valid UserDto user, BindingResult result) {
+    @Transactional(rollbackFor = Exception.class)
+    public Object add(@Valid UserDto user, BindingResult result) {
         if (result.hasErrors()) {
             throw new GunsException(BizExceptionEnum.REQUEST_NULL);
         }
 
-        // 判断账号是否重复
-        //Check if the account is duplicated
-        User theUser = userService.getByAccount(user.getAccount());
-        if (theUser != null) {
-            throw new GunsException(BizExceptionEnum.USER_ALREADY_REG);
+        // 手机号既是登录账号,必须在 sys_user 中唯一;使用内容判断,不能使用 != 比较字符串引用。
+        if (StringUtils.isEmpty(user.getPhone())) {
+            return 5002;
+        }
+        // 已逻辑删除的员工(status=3)不占用手机号,可用同一手机号重新创建员工。
+        User theUser = userService.getOne(new QueryWrapper<User>()
+                .eq("phone", user.getPhone())
+                .ne("status", ManagerStatus.DELETED.getCode()));
+        if (theUser != null || userService.getByAccount(user.getPhone()) != null){
+            return 5001;
         }
 
         // 完善账号信息
-        // Complete account information
         user.setPassword(SecureUtil.md5(user.getPassword()));
         user.setStatus(ManagerStatus.OK.getCode());
         user.setCreatetime(new Date());
-
         User objectUser = UserFactory.createUser(user);
-        //查找平台所属公司
-        //Search for the company that owns the platform.
-        objectUser.setPassWordUpdate(new Date());
-        this.userService.save(objectUser);
 
+        if (StringUtils.isEmpty(user.getRoleid())){
+            objectUser.setObjectType(2);
+        }else {
+            objectUser.setObjectType(Integer.valueOf(user.getRoleid()));
+
+        }
+        objectUser.setObjectId(UserExt.getUser().getObjectId());
+        objectUser.setRoleid(user.getRoleid());
+        objectUser.setAccount(user.getPhone());
+        objectUser.setName(user.getName());
+        objectUser.setPhone(user.getPhone());
+        objectUser.setBirthday(user.getBirthday());
+        objectUser.setDeptid(user.getDeptid());
+        objectUser.setIdCard(user.getIdCard());
+        objectUser.setSex(user.getSex());
+        objectUser.setStatus(1);
+        objectUser.setPassword(SecureUtil.md5("a123456"));
+        objectUser.setCreatetime(new Date());
+        List<TStore> assignedStores = new ArrayList<TStore>();
+        if (user.getStoreIds() != null && !user.getStoreIds().isEmpty()) {
+            List<Integer> storeIds = user.getStoreIds().stream().filter(Objects::nonNull).distinct().collect(Collectors.toList());
+            if (storeIds.isEmpty()) return ResultUtil.error("请选择有效门店");
+            Integer currentType = UserExt.getUser().getObjectType();
+            Integer currentObjectId = UserExt.getUser().getObjectId();
+            for (Integer storeId : storeIds) {
+                TStore store = storeService.getById(storeId);
+                if (store == null || !Integer.valueOf(1).equals(store.getState())) return ResultUtil.error("所选门店不存在或已停用");
+                if ((Integer.valueOf(2).equals(currentType) && !currentObjectId.equals(store.getOperatorId()))
+                        || (Integer.valueOf(3).equals(currentType) && !currentObjectId.equals(store.getId()))) {
+                    return ResultUtil.error("所选门店不在当前账号的管理范围内");
+                }
+                assignedStores.add(store);
+            }
+            // 首个门店同步写入旧字段,保证既有权限、数据查询和登录逻辑无需改造。
+            TStore primaryStore = assignedStores.get(0);
+            objectUser.setObjectType(3);
+            objectUser.setRoleid("3");
+            objectUser.setObjectId(primaryStore.getId());
+        // 运营商添加员工
+        } else if (UserExt.getUser().getObjectType() == 2){
+            objectUser.setObjectType(UserExt.getUser().getObjectType());
+            objectUser.setRoleid("2");
+            objectUser.setObjectId(UserExt.getUser().getObjectId());
+        }
+        // 门店添加员工
+        if (UserExt.getUser().getObjectType() == 3){
+            objectUser.setObjectType(UserExt.getUser().getObjectType());
+            objectUser.setRoleid("3");
+            objectUser.setObjectId(UserExt.getUser().getObjectId());
+        }
+        objectUser.setVersion(UserExt.getUser().getId());
+        this.userService.save(objectUser);
+        if (!assignedStores.isEmpty()) {
+            replaceStoreRelations(objectUser.getId(), assignedStores);
+        }
         return SUCCESS_TIP;
     }
 
@@ -236,26 +427,89 @@
     @RequestMapping("/edit")
     @BussinessLog(value = "修改管理员", key = "account", dict = UserDict.class)
     @ResponseBody
-    public Tip edit(@Valid UserDto user, BindingResult result) throws NoPermissionException {
+    @Transactional(rollbackFor = Exception.class)
+    public Object edit(@Valid UserDto user, BindingResult result) throws NoPermissionException {
         if (result.hasErrors()) {
             throw new GunsException(BizExceptionEnum.REQUEST_NULL);
         }
-
-
         User oldUser = userService.getById(user.getId());
-//        UserExt.hasRole(Const.ADMIN_NAME)
-        if (false) {
-            this.userService.updateById(UserFactory.editUser(user, oldUser));
-            return SUCCESS_TIP;
-        } else {
-            assertAuth(user.getId());
-            User shiroUser = UserExt.getUser();
-            if (shiroUser.getId().equals(user.getId()) || shiroUser.getId()==1) {
-                this.userService.updateById(UserFactory.editUser(user, oldUser));
-                return SUCCESS_TIP;
-            } else {
-                throw new GunsException(BizExceptionEnum.NO_PERMITION);
+        // 判断是否更改电话
+        if (user.getPhone() != null && user.getPhone().contains("*")) {
+            // The edit view displays a masked phone. Treat an unchanged masked
+            // value as "keep original", never as a value to persist.
+        } else if (!Objects.equals(oldUser.getPhone(), user.getPhone())) {
+            User phone = userService.getOne(new QueryWrapper<User>().eq("phone", user.getPhone()));
+            if (phone == null){
+                oldUser.setPhone(user.getPhone());
+            }else{
+                return 5001;
             }
+        }
+        oldUser.setName(user.getName());
+        oldUser.setBirthday(user.getBirthday());
+        oldUser.setDeptid(user.getDeptid());
+        if (user.getIdCard() == null || !user.getIdCard().contains("*")) oldUser.setIdCard(user.getIdCard());
+        oldUser.setSex(user.getSex());
+        oldUser.setEmail(user.getEmail());
+        if (user.getAvatar()!=null && (!user.getAvatar().equals("")))
+        oldUser.setAvatar(user.getAvatar());
+        if (user.getStoreIds() != null) {
+            List<TStore> assignedStores = validateStores(user.getStoreIds());
+            if (assignedStores == null) return ResultUtil.error("所选门店不存在、已停用或不在当前账号管理范围内");
+            replaceStoreRelations(oldUser.getId(), assignedStores);
+            if (!assignedStores.isEmpty()) {
+                oldUser.setObjectType(3);
+                oldUser.setObjectId(assignedStores.get(0).getId());
+                oldUser.setRoleid("3");
+            } else if (Integer.valueOf(3).equals(oldUser.getObjectType())) {
+                // 清除旧字段关联,避免已移除的首个门店仍被当作该员工所属门店。
+                oldUser.setObjectId(null);
+            }
+        }
+        // 门店关联会维护员工归属信息,但不能覆盖编辑页明确选择的角色。
+        // 必须在关联处理后写入,否则有门店的员工会被上面的兼容逻辑强制改回角色 3。
+        if (!StringUtils.isEmpty(user.getRoleid())) {
+            oldUser.setRoleid(user.getRoleid());
+        }
+        this.userService.updateById(oldUser);
+        return SUCCESS_TIP;
+    }
+
+    private String maskPhone(String value) {
+        if (value == null) return null;
+        return value.length() <= 7 ? stars(value.length()) : value.substring(0, 3) + "****" + value.substring(7);
+    }
+
+    private String maskIdCard(String value) {
+        if (value == null) return null;
+        return value.length() <= 10 ? stars(value.length()) : value.substring(0, 6) + stars(value.length() - 10) + value.substring(value.length() - 4);
+    }
+
+    private String stars(int size) {
+        StringBuilder result = new StringBuilder();
+        for (int i = 0; i < size; i++) result.append('*');
+        return result.toString();
+    }
+
+    private List<TStore> validateStores(List<Integer> storeIds) {
+        List<TStore> stores = new ArrayList<TStore>();
+        Integer currentType = UserExt.getUser().getObjectType();
+        Integer currentObjectId = UserExt.getUser().getObjectId();
+        for (Integer storeId : storeIds.stream().filter(Objects::nonNull).distinct().collect(Collectors.toList())) {
+            TStore store = storeService.getById(storeId);
+            if (store == null || !Integer.valueOf(1).equals(store.getState())) return null;
+            if ((Integer.valueOf(2).equals(currentType) && !currentObjectId.equals(store.getOperatorId()))
+                    || (Integer.valueOf(3).equals(currentType) && !currentObjectId.equals(store.getId()))) return null;
+            stores.add(store);
+        }
+        return stores;
+    }
+
+    /** 每条关联记录单独生成雪花主键,避免 MyBatis foreach 复用同一个绑定变量。 */
+    private void replaceStoreRelations(Integer userId, List<TStore> stores) {
+        userMapper.deleteStoreRelations(userId);
+        for (TStore store : stores) {
+            userMapper.insertStoreRelation(IdWorker.getId(), userId, store.getId());
         }
     }
 
@@ -335,11 +589,6 @@
         assertAuth(userId);
         this.userService.setStatus(userId, ManagerStatus.FREEZED.getCode());
 
-        User user = userService.getById(userId);
-        if (user.getRoleType() == 2){
-
-        }else if (user.getRoleType() == 3){
-        }
         return SUCCESS_TIP;
     }
 
@@ -357,11 +606,6 @@
         assertAuth(userId);
         this.userService.setStatus(userId, ManagerStatus.OK.getCode());
 
-        User user = userService.getById(userId);
-        if (user.getRoleType() == 2){
-
-        }else if (user.getRoleType() == 3){
-        }
         return SUCCESS_TIP;
     }
 
@@ -391,21 +635,57 @@
     /**
      * 上传图片
      */
-    @RequestMapping(method = RequestMethod.POST, path = "/upload")
+    @RequestMapping(method = RequestMethod.POST, path = "/uploadImg")
     @ResponseBody
-    public String upload(@RequestPart("file") MultipartFile picture) {
-
-        String pictureName = UUID.randomUUID().toString() + "." + ToolUtil.getFileSuffix(picture.getOriginalFilename());
+    public String uploadImg(@RequestPart("file") MultipartFile picture) {
+        String pictureName = "";
         try {
-            String fileSavePath = gunsProperties.getFileUploadPath();
-            picture.transferTo(new File(fileSavePath + pictureName));
-        } catch (Exception e) {
-            throw new GunsException(BizExceptionEnum.UPLOAD_ERROR);
+            pictureName = OssUploadUtil.ossUpload("img/", picture);
+        }catch (Exception e){
+            e.printStackTrace();
         }
         return pictureName;
     }
 
     /**
+     * 上传图片
+     */
+    /**
+     * 上传图片Amis
+     */
+    @RequestMapping(method = RequestMethod.POST, path = "/uploadImgAmis")
+    @ResponseBody
+    public ResultUtil uploadImgAmis(@RequestPart("file") MultipartFile picture, HttpServletResponse response) {
+        String value = "";
+        try {
+            value = OssUploadUtil.ossUpload("img/", picture);
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        System.out.println("图片返回地址-------"+value);
+        Map<String, String> map = new HashMap<>();
+        map.put("value",value);
+//        return  ResultUtil.success(0,map);
+        return  ResultUtil.getResult(0,null,null,map);
+    }
+
+
+
+
+    @RequestMapping(method = RequestMethod.POST, path = "/uploadFile")
+    @ResponseBody
+    public String uploadFile(@RequestPart("file") MultipartFile picture) {
+        String pictureName = "";
+        try {
+            pictureName = OssUploadUtil.ossUpload("video/", picture);
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        return pictureName;
+    }
+
+
+    /**
      * 判断当前登录的用户是否有操作这个用户的权限
      */
     private void assertAuth(Integer userId) {

--
Gitblit v1.7.1