Explorar o código

菜单丢失问题处理

黄远 %!s(int64=5) %!d(string=hai) anos
pai
achega
7d75ea2053

+ 23 - 1
lift-common/src/main/java/cn.com.ty.lift.common/utils/ProjectUtils.java

@@ -3,6 +3,7 @@ package cn.com.ty.lift.common.utils;
 import cn.com.ty.lift.common.model.StatisticsKVModel;
 import cn.hutool.core.util.StrUtil;
 
+import java.io.*;
 import java.lang.reflect.Method;
 import java.util.*;
 
@@ -159,7 +160,7 @@ public class ProjectUtils {
                 outStatisticsKVModel.setKey(key);
                 //判断值是否为也为map如果是就行封装 目前只涉及一层封装
                 if (value != null && value instanceof Map) {
-                    outStatisticsKVModel.setValue(transReturnMapToStatisticsKVModel((Map)value));
+                    outStatisticsKVModel.setValue(transReturnMapToStatisticsKVModel((Map) value));
                 } else {
                     outStatisticsKVModel.setValue(value);
                 }
@@ -169,4 +170,25 @@ public class ProjectUtils {
         return statisticsKVModelList;
     }
 
+    /**
+     * @param list 要拷贝的list
+     * @return 返回拷贝后的对象
+     * @description 对集合进行拷贝
+     * @date 2020/4/16 5:05 下午
+     */
+    @SuppressWarnings("unchecked")
+    public static <T> List<T> deepCopy(List<T> list) {
+        List<T> dest = new ArrayList<>();
+        try (ByteArrayOutputStream byteOut = new ByteArrayOutputStream()) {
+            ObjectOutputStream out = new ObjectOutputStream(byteOut);
+            out.writeObject(list);
+            ByteArrayInputStream byteIn = new ByteArrayInputStream(byteOut.toByteArray());
+            ObjectInputStream in = new ObjectInputStream(byteIn);
+            dest = (List<T>) in.readObject();
+        } catch (IOException | ClassNotFoundException e){
+            e.printStackTrace();
+        }
+        return dest;
+    }
+
 }

+ 24 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/user/controller/UserController.java

@@ -100,4 +100,28 @@ public class UserController {
         return userService.personalCenter(userRequest);
     }
 
+    /**
+     * @param userRequest 用户帐号
+     * @return 是否成功
+     * @description 修改帐号
+     * @date 2020/4/16 2:40 下午
+     */
+    @PostMapping("/modifyAccount")
+    public RestResponse modifyAccount(@RequestBody UserRequest userRequest) {
+        return userService.modifyAccount(userRequest);
+    }
+
+    /**
+     * @param userRequest 用户描述
+     * @return 是否成功
+     * @description 修改用户描述
+     * @date 2020/4/16 2:54 下午
+     */
+    @PostMapping("/modifyRemarks")
+    public RestResponse modifyRemarks(@RequestBody UserRequest userRequest) {
+        return userService.modifyRemarks(userRequest);
+    }
+
+
+
 }

+ 1 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/user/dao/entity/model/UserRequest.java

@@ -17,6 +17,7 @@ public class UserRequest {
     private String mobile;//手机号
     private String password;//密码
     private String name;//用户真实姓名
+    private String remarks;//用户描述
     private String queryCondition;//查询条件
     private String inputSmsCode;//用户输入的短信验证码
     private String authCode;//微信授权码

+ 16 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/IUserService.java

@@ -102,4 +102,20 @@ public interface IUserService {
      * @date 2020/4/16 9:24 上午
      */
     RestResponse personalCenter(UserRequest userRequest);
+
+    /**
+     * @param userRequest 用户账号
+     * @return 返回数据
+     * @description 编辑用户帐号
+     * @date 2020/4/16 2:38 下午
+     */
+    RestResponse modifyAccount(UserRequest userRequest);
+
+    /**
+     * @param userRequest 用户描述
+     * @return
+     * @description 修改用户描述
+     * @date 2020/4/16 2:50 下午
+     */
+    RestResponse modifyRemarks(UserRequest userRequest);
 }

+ 3 - 4
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/LoginService.java

@@ -2,6 +2,7 @@ package cn.com.ty.lift.system.user.service.impl;
 
 import cn.com.ty.lift.common.aliservice.constants.AliConstants;
 import cn.com.ty.lift.common.constants.ApiConstants;
+import cn.com.ty.lift.common.utils.ProjectUtils;
 import cn.com.ty.lift.system.settings.dao.entity.MaintenanceCompany;
 import cn.com.ty.lift.system.settings.service.IMaintenanceCompanyService;
 import cn.com.ty.lift.system.user.dao.entity.Menu;
@@ -21,9 +22,7 @@ import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.concurrent.TimeUnit;
 
 /**
@@ -241,7 +240,7 @@ public class LoginService implements ILoginService {
             currentUserInfoMap.put(ApiConstants.CURRENT_ROLE_ID, role.getId());
         }
         //用户权限信息
-        String permissionUrl = menuService.menuToUrl(userResponse.getMenus());
+        String permissionUrl = menuService.menuToUrl(ProjectUtils.deepCopy(userResponse.getMenus()));
         currentUserInfoMap.put(ApiConstants.CURRENT_PERMISSION_URL, permissionUrl);
         return currentUserInfoMap;
     }

+ 16 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/UserService.java

@@ -386,4 +386,20 @@ public class UserService implements IUserService {
         return RestResponse.success(personalCenterResponse,"获取用户信息成功");
     }
 
+    @Override
+    public RestResponse modifyAccount(UserRequest userRequest) {
+        UserAccount userAccount = userAccountService.getByUserId(userRequest.getUserId());
+        userAccount.setAccount(userRequest.getAccount());
+        userAccountService.updateUserAccount(userAccount);
+        return RestResponse.success(null, ApiConstants.RESULT_SUCCESS, "修改帐号成功");
+    }
+
+    @Override
+    public RestResponse modifyRemarks(UserRequest userRequest) {
+        UserInfo userInfo = userInfoService.getByUserId(userRequest.getUserId());
+        userInfo.setRemarks(userRequest.getRemarks());
+        userInfoService.updateUserInfo(userInfo);
+        return RestResponse.success(null, ApiConstants.RESULT_SUCCESS, "修改描述成功");
+    }
+
 }