ソースを参照

系统管理权限控制

WXF 3 年 前
コミット
8ee15943c5

+ 0 - 1
api-common/src/main/java/api/common/pojo/po/system/UserPO.java

@@ -10,7 +10,6 @@ public class UserPO extends CommonPO {
     private String username;        // 登录用户名
     private String nickname;        // 用户昵称,用于显示
     private String password;        // 密码(加密)
-    private String newPassword;        // 新密码
     private String phone;           // 联系电话
     private String photo;           // 头像
     private String company;         // 所属公司

+ 1 - 0
api-common/src/main/java/api/common/pojo/vo/system/UserVO.java

@@ -11,6 +11,7 @@ public class UserVO {
     private String username;        // 登录用户名
     private String nickname;        // 用户昵称,用于显示
     private String password;        // 密码(加密)
+    private String newPassword;        // 新密码
     private String phone;           // 联系电话
     private String photo;           // 头像
     private String company;         // 所属公司

+ 2 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/system/ctrl/UserCtrl.java

@@ -8,6 +8,7 @@ import api.common.util.ObjectUtil;
 import com.css.simulation.resource.system.service.UserService;
 import com.github.pagehelper.PageInfo;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -16,6 +17,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
 
 @Controller()
 @RequestMapping("/user")
+@PreAuthorize("@AuthorityCheck.adminAndUser()")
 public class UserCtrl {
 
     @Autowired

+ 14 - 14
simulation-resource-server/src/main/java/com/css/simulation/resource/system/ctrl/UserInfoCtrl.java

@@ -102,16 +102,16 @@ public class UserInfoCtrl {
         long jtTotalCount = list.stream().mapToLong(SystemScenePackageVO::getJtCount).sum();
         long fhTotalCount = list.stream().mapToLong(SystemScenePackageVO::getFhCount).sum();
         long sum = list.stream().mapToLong(SystemScenePackageVO::getTotalCount).sum();
-        HashMap resMap = new HashMap();
-        resMap.put("list", list);
-        resMap.put("zrTotalCount", zrTotalCount);
-        resMap.put("bzTotalCount", bzTotalCount);
-        resMap.put("jtTotalCount", jtTotalCount);
-        resMap.put("fhTotalCount", fhTotalCount);
-        resMap.put("sum", sum);
-
-        ResponseBodyVO<HashMap> response = new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
-        response.setInfo(resMap);
+        SystemScenePackageVO last = new SystemScenePackageVO();
+        last.setPackageName("合计");
+        last.setZrCount((int)zrTotalCount);
+        last.setBzCount((int)bzTotalCount);
+        last.setFhCount((int)fhTotalCount);
+        last.setJtCount((int)jtTotalCount);
+        last.setTotalCount((int)sum);
+        list.add(last);
+        ResponseBodyVO<List> response = new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
+        response.setInfo(list);
         return response;
     }
 
@@ -136,14 +136,14 @@ public class UserInfoCtrl {
      */
     @RequestMapping("/savePassword")
     @ResponseBody
-    public ResponseBodyVO savePassword(@RequestBody UserPO userPO) throws NoSuchAlgorithmException {
-        if(ObjectUtil.isNull(userPO)){
+    public ResponseBodyVO savePassword(@RequestBody UserVO userVO) throws NoSuchAlgorithmException {
+        if(ObjectUtil.isNull(userVO)){
             return new ResponseBodyVO(false, 400, "参数必传!",null);
         }
-        if(ObjectUtil.isNull(userPO.getId()) || ObjectUtil.isNull(userPO.getPassword()) || ObjectUtil.isNull(userPO.getNewPassword())){
+        if(ObjectUtil.isNull(userVO.getId()) || ObjectUtil.isNull(userVO.getPassword()) || ObjectUtil.isNull(userVO.getNewPassword())){
             return new ResponseBodyVO(false, 400, "参数必传!",null);
         }
-        UserPO userPORes = userService.savePassword(userPO);
+        UserPO userPORes = userService.savePassword(userVO);
         if(ObjectUtil.isNull(userPORes)){
             return new ResponseBodyVO(false, 400, "原密码错误!",null);
         }

+ 1 - 1
simulation-resource-server/src/main/java/com/css/simulation/resource/system/mapper/UserMapper.java

@@ -35,7 +35,7 @@ public interface UserMapper {
 
     void savePhone(UserPO userPO);
 
-    List<UserPO> checkPassword(UserPO userPO);
+    List<UserVO> checkPassword(UserVO userVO);
 
     void savePassword(UserPO userPO);
 }

+ 6 - 4
simulation-resource-server/src/main/java/com/css/simulation/resource/system/service/UserService.java

@@ -136,15 +136,17 @@ public class UserService {
         userMapper.savePhone(userPO);
     }
 
-    public UserPO savePassword(UserPO userPO) throws NoSuchAlgorithmException {
+    public UserPO savePassword(UserVO userVO) throws NoSuchAlgorithmException {
         //确认原密码是否正确
-        userPO.setPassword(EncryptUtil.getLowerMD5(userPO.getPassword()));
-        List<UserPO> list = userMapper.checkPassword(userPO);
+        userVO.setPassword(EncryptUtil.getLowerMD5(userVO.getPassword()));
+        List<UserVO> list = userMapper.checkPassword(userVO);
         if(ObjectUtil.isNull(list)){
             return null;
         }
         //修改密码
-        userPO.setPassword(EncryptUtil.getLowerMD5(userPO.getNewPassword()));
+        UserPO userPO = new UserPO();
+        userPO.setId(userVO.getId());
+        userPO.setPassword(EncryptUtil.getLowerMD5(userVO.getNewPassword()));
         PoUtil.initUpdatePo(userPO);
         userMapper.savePassword(userPO);
         return userPO;

+ 2 - 4
simulation-resource-server/src/main/resources/mapper/system/UserMapper.xml

@@ -96,15 +96,13 @@
         </if>
     </select>
 
-    <select id="checkPassword" resultType="api.common.pojo.po.system.UserPO">
+    <select id="checkPassword" parameterType="api.common.pojo.vo.system.UserVO" resultType="api.common.pojo.vo.system.UserVO">
         select
         id
         from system_user
         where is_deleted = '0'
         and password = #{password,jdbcType=VARCHAR}
-        <if test="id != null and id != ''">
-            and id = #{id,jdbcType=VARCHAR}
-        </if>
+        and id = #{id,jdbcType=VARCHAR}
     </select>
 
     <insert id="insert" parameterType="api.common.pojo.po.system.UserPO">