Explorar o código

字典类型接口修改+加盐代码优化

small %!s(int64=2) %!d(string=hai) anos
pai
achega
b843a4c022

+ 10 - 2
sckw-common/sckw-common-core/src/main/java/com/sckw/core/utils/PasswordUtils.java

@@ -14,6 +14,7 @@ import java.util.UUID;
 public class PasswordUtils {
     public static final int HASH_INTERATIONS = 1024;
     public static final int SALT_SIZE = 8;
+    public static final int SUB_LENGTH = 16;
 
     /**
      * 匹配密码
@@ -99,6 +100,13 @@ public class PasswordUtils {
         return Encodes.encodeHex(salt) + Encodes.encodeHex(hashPassword);
     }
 
+    /**
+     * 截取密文密码生成盐
+     */
+    public static String getSaltSubPwd(String password) {
+        return password.substring(0, SUB_LENGTH);
+    }
+
     /**
      * 验证密码
      *
@@ -107,7 +115,7 @@ public class PasswordUtils {
      * @return 验证成功返回true
      */
     public static boolean validatePassword(String plainPassword, String password) {
-        byte[] salt = Encodes.decodeHex(password.substring(0, 16));
+        byte[] salt = Encodes.decodeHex(password.substring(0, SUB_LENGTH));
         byte[] hashPassword = Digests.sha1(plainPassword.getBytes(), salt, HASH_INTERATIONS);
         return password.equals(Encodes.encodeHex(salt) + Encodes.encodeHex(hashPassword));
     }
@@ -115,7 +123,7 @@ public class PasswordUtils {
     public static void main(String[] args) {
 
         String password = PasswordUtils.entryptPassword(PasswordUtils.md5("18482106067"));
-        String md5 = PasswordUtils.md5("18422222222");
+        String md5 = PasswordUtils.md5("123456");
         System.out.println(password);
         System.out.println(md5);
         System.out.println(validatePassword(md5, password));

+ 1 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/constant/HttpStatus.java

@@ -36,6 +36,7 @@ public class HttpStatus {
     public static final String TOKEN_ERROR = "非法token!";
     public static final String CAPCHA_ERROR = "验证码无效!";
     public static final String ENT_EXISTS = "企业已存在,不可重复!";
+    public static final String DICTTYPE_EXISTS = "字典类型已存在,不可重复!";
 
 
 

+ 2 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/SysDictController.java

@@ -37,7 +37,8 @@ public class SysDictController {
      **/
     @PostMapping("/addType")
     public HttpResult addType(@RequestBody SysDictType params) throws Exception {
-        return sysDictService.addType(params);
+        sysDictService.addType(params);
+        return HttpResult.ok();
     }
 
     /**

+ 1 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/QueryChildMenuReqVo.java

@@ -24,7 +24,7 @@ public class QueryChildMenuReqVo implements Serializable {
     private Long id;
 
     /**
-     * 要查询的下级菜单类型  1菜单 2目录
+     * 要查询的下级菜单类型  1菜单 2按钮
      */
     private Integer type;
 

+ 19 - 22
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsMenuService.java

@@ -28,7 +28,6 @@ import org.springframework.transaction.annotation.Transactional;
 
 /**
  * 菜单service接口
- *
  * @author zk
  * @date 2023-05-31
  */
@@ -51,13 +50,12 @@ public class KwsMenuService {
     KwsEnterpriseDao kwsEnterpriseDao;
 
     /**
-     * 添加新纪录
-     *
-     * @param params
-     * @return
-     * @throws Exception
+     * @param params 实体
+     * @desc: 添加新纪录
+     * @author: czh
+     * @date: 2023/7/7
      */
-    @Transactional(rollbackFor = {})
+    @Transactional()
     public void add(KwsMenu params) throws SystemException {
         Long parentId = params.getParentId();
         if (parentId.compareTo(0L) != 0) {
@@ -94,7 +92,6 @@ public class KwsMenuService {
 
     /**
      * @param params 需要新增的菜单
-     * @return
      * @desc: 菜单序号排序
      * @author: czh
      * @date: 2023/6/29
@@ -196,22 +193,22 @@ public class KwsMenuService {
     }
 
     /**
-     * 根据主键查询
-     *
-     * @param key
-     * @return
-     * @throws Exception
+     * @param key 主键
+     * @return KwsMenu
+     * @desc: 根据主键查询
+     * @author: czh
+     * @date: 2023/7/7
      */
     public KwsMenu selectByKey(Long key) throws SystemException {
         return kwsMenuDao.selectByKey(key);
     }
 
     /**
-     * 分页查询
-     *
-     * @param reqVo
-     * @return
-     * @throws Exception
+     * @param reqVo 入参
+     * @return KwsMenuResVo
+     * @desc: 分页查询
+     * @author: czh
+     * @date: 2023/7/7
      */
     public List<KwsMenuResVo> findTree(FindMenuTreeReqVo reqVo) throws SystemException {
         FindMenuTreePojo findMenuTreePojo = new FindMenuTreePojo();
@@ -221,7 +218,7 @@ public class KwsMenuService {
         extracted(reqVo.getUserId(), findMenuTreePojo);
 
         List<KwsMenuResVo> menuList = kwsMenuDao.findList(findMenuTreePojo);
-        List<KwsMenuResVo> rootList = new ArrayList();
+        List<KwsMenuResVo> rootList = new ArrayList<>();
 
         //获取根节点数据
         if (CollectionUtil.isNotEmpty(menuList)) {
@@ -266,10 +263,10 @@ public class KwsMenuService {
      *
      * @param parentId 父级机构id
      * @param deptList 所有机构
-     * @return
+     * @return KwsMenuResVo
      */
     public List<KwsMenuResVo> getChild(Long parentId, List<KwsMenuResVo> deptList) {
-        List<KwsMenuResVo> childList = new ArrayList();
+        List<KwsMenuResVo> childList = new ArrayList<>();
         for (KwsMenuResVo kwsMenu : deptList) {
             if (parentId.equals(kwsMenu.getParentId())) {
                 //获取当前菜单id的所有子列表
@@ -322,7 +319,7 @@ public class KwsMenuService {
         return kwsMenuDao.selectAll();
     }
 
-    @Transactional(rollbackFor = {})
+    @Transactional()
     public void moveMenu(MoveMenuReqVo reqVo) {
         KwsMenu kwsMenu = kwsMenuDao.selectByKey(reqVo.getId());
         if (Objects.isNull(kwsMenu)) {

+ 40 - 2
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsUserService.java

@@ -54,6 +54,12 @@ public class KwsUserService {
     @Autowired
     KwsMenuService kwsMenuService;
 
+    /**
+     * @param reqVo 入参
+     * @desc: 新增
+     * @author: czh
+     * @date: 2023/7/7
+     */
     @Transactional(rollbackFor = Exception.class)
     public void add(UserAddReqVo reqVo) {
         KwsUser kwsUser = new KwsUser();
@@ -77,6 +83,13 @@ public class KwsUserService {
 
     }
 
+    /**
+     * @param reqDto 入参
+     * @return RegisterResDto
+     * @desc: 注册
+     * @author: czh
+     * @date: 2023/7/7
+     */
     @Transactional(rollbackFor = {})
     public RegisterResDto register(RegisterReqDto reqDto) throws SystemException {
         EntFindPageReqVo entFindPageReqVo = new EntFindPageReqVo();
@@ -165,7 +178,12 @@ public class KwsUserService {
         return registerResDto;
     }
 
-
+    /**
+     * @param roleIds 角色ids,userId用户id,systemType系统类型
+     * @desc: 填充用户角色
+     * @author: czh
+     * @date: 2023/7/7
+     */
     public void fillUserRole(String roleIds, long userId, Integer systemType) {
         UserBindRoleReqVo userBindRoleReqVo = new UserBindRoleReqVo();
         userBindRoleReqVo.setUserId(userId);
@@ -174,6 +192,12 @@ public class KwsUserService {
         kwsRoleService.userBindRole(userBindRoleReqVo);
     }
 
+    /**
+     * @param kwsUser 实体类
+     * @desc: 填充密码
+     * @author: czh
+     * @date: 2023/7/7
+     */
     private void fillPassword(KwsUser kwsUser) {
         //密码为空时,以登录名作为密码
         String password;
@@ -184,7 +208,7 @@ public class KwsUserService {
             password = PasswordUtils.entryptPassword(kwsUser.getPassword());
             kwsUser.setPassword(password);
         }
-        kwsUser.setSalt(password.substring(0, 16));
+        kwsUser.setSalt(PasswordUtils.getSaltSubPwd(password));
     }
 
     /**
@@ -362,10 +386,24 @@ public class KwsUserService {
         }
     }
 
+    /**
+     * @param userId 用户id
+     * @return KwsUserDept
+     * @desc: 根据用户id查用户机构关联关系
+     * @author: czh
+     * @date: 2023/7/7
+     */
     public List<KwsUserDept> queryUserDeptByUserId(Long userId) {
         return kwsUserDao.queryUserDeptByUserId(userId);
     }
 
+    /**
+     * @param list 机构主键
+     * @return KwsDept
+     * @desc: 批量查机构
+     * @author: czh
+     * @date: 2023/7/7
+     */
     public List<KwsDept> queryDeptByIds(List<Long> list) {
         return kwsUserDao.queryDeptByIds(list);
     }

+ 33 - 18
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/SysDictService.java

@@ -2,11 +2,14 @@ package com.sckw.system.service;
 
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
+import com.sckw.core.exception.SystemException;
 import com.sckw.core.model.constant.Global;
 import com.sckw.core.model.page.PageHelperUtil;
 import com.sckw.core.model.page.PageResult;
 import com.sckw.core.utils.BeanUtils;
+import com.sckw.core.utils.CollectionUtils;
 import com.sckw.core.utils.StringUtils;
+import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.system.dao.SysDictDao;
 import com.sckw.system.dao.SysDictTypeDao;
@@ -15,11 +18,13 @@ import com.sckw.system.model.SysDictType;
 import com.sckw.system.model.vo.req.QueryDictTypePageReqVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
 import java.util.List;
 import java.util.Map;
 
 /**
  * 字典service接口
+ *
  * @author zk
  * @date 2023-05-30
  */
@@ -33,27 +38,31 @@ public class SysDictService {
     SysDictDao sysDictDao;
 
     /**
-     * 添加新纪录
-     * @param params
-     * @return
-     * @throws Exception
+     * @param params 实体
+     * @desc: 添加新纪录
+     * @author: czh
+     * @date: 2023/7/7
      */
-    public HttpResult addType(SysDictType params) throws Exception {
-        /*params.setId(new IdWorker(1).nextId());
-        params.setStatus(0);
-        params.setCreateBy(0L);
-        params.setCreateTime(new Date());
-        params.setUpdateBy(0L);
-        params.setUpdateTime(new Date());
-        params.setDelFlag(0);*/
-        params.setCreateBy(0L);
-        params.setUpdateBy(0L);
-        int count = sysDictTypeDao.insert(params);
-        return count > 0 ? HttpResult.ok("添加成功!") : HttpResult.error();
+    public void addType(SysDictType params) throws SystemException {
+        checkType(params.getType());
+
+        if (sysDictTypeDao.insert(params) <= 0) {
+            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
+        }
+    }
+
+    private void checkType(String type) {
+        SysDictType sysDictType = new SysDictType();
+        sysDictType.setType(type);
+        List<SysDictType> list = sysDictTypeDao.select(sysDictType);
+        if (!CollectionUtils.isEmpty(list)) {
+            throw new SystemException(HttpStatus.PARAMETERS_MISSING_CODE, HttpStatus.DICTTYPE_EXISTS);
+        }
     }
 
     /**
      * 更新记录
+     *
      * @param params
      * @return
      * @throws Exception
@@ -65,16 +74,18 @@ public class SysDictService {
 
     /**
      * 分页查询
+     *
      * @param params
      * @return
      * @throws Exception
      */
-    public List<SysDict> findPage(Map<String, Object> params) throws Exception{
+    public List<SysDict> findPage(Map<String, Object> params) throws Exception {
         return sysDictDao.findPage(params);
     }
 
     /**
      * 添加新纪录
+     *
      * @param params
      * @return
      * @throws Exception
@@ -95,6 +106,7 @@ public class SysDictService {
 
     /**
      * 删除记录-根据主键
+     *
      * @param ids
      * @return
      * @throws Exception
@@ -120,6 +132,7 @@ public class SysDictService {
 
     /**
      * 更新记录
+     *
      * @param params
      * @return
      * @throws Exception
@@ -131,6 +144,7 @@ public class SysDictService {
 
     /**
      * 根据主键查询
+     *
      * @param key
      * @return
      * @throws Exception
@@ -141,11 +155,12 @@ public class SysDictService {
 
     /**
      * 查询
+     *
      * @param params
      * @return
      * @throws Exception
      */
-    public List<Map<String, Object>> findList(Map<String, Object> params) throws Exception{
+    public List<Map<String, Object>> findList(Map<String, Object> params) throws Exception {
         return sysDictDao.findList(params);
     }