Browse Source

闵行代恢复

fuyuchuan 4 months ago
parent
commit
12daf87c21

+ 1 - 1
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/api/SysUserControllerApi.java

@@ -29,7 +29,7 @@ public class SysUserControllerApi implements RemoteUserService {
         return ApiResult.success(iSysUserService.register(BeanMapperUtils.map(sysUser, SysUser.class)));
     }
 
-    public ApiResult<List<SysUser>>userList(){
+    public ApiResult<List<SysUser>> userList() {
         return ApiResult.success(iSysUserService.userList());
     }
 }

+ 38 - 37
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysLogininforController.java

@@ -31,48 +31,49 @@ import java.util.Objects;
 public class SysLogininforController extends BaseController {
     @Autowired
     private ISysLogininforService logininforService;
-
-
+    @Autowired
+   private SysCheckCodeMapper sysCheckCodeMapper;
+   Operation operation = new Operation();
     @GetMapping("/list")
     public ApiResult<TableDataInfo> list(SysLogininfor logininfor) {
         startPage();
         List<SysLogininfor> list = logininforService.selectLogininforList(logininfor);
         logininforService.logCheck(list);
-//        if (list.size() != 0) {
-//            for (int i = 0; i < list.size(); i++) {
-//                LambdaQueryWrapper<SysCheckCode> query = new LambdaQueryWrapper<>();
-//                query.select(SysCheckCode::getCheckCode)
-//                        .eq(SysCheckCode::getPlaintext, list.get(i).getInfoId())
-//                        .eq(SysCheckCode::getCheckCodeType, 3);
-//                SysCheckCode sysCheckCode = sysCheckCodeMapper.selectOne(query);
-//                if (sysCheckCode == null) {
-//                    throw new BusinessException("日志数据异常!");//登录日志记录有数据,而校验码表中没有数据
-//                }
-//                String checkCode1 = sysCheckCode.getCheckCode();
-//                //分两种情况判断:dept_id参与校验码计算与否
-//                try {
-//                    if (!Objects.nonNull(list.get(i).getDeptId())) {
-//                        String checkCode = operation.CBCMAC((list.get(i).getUserName() + list.get(i).getIpaddr() + list.get(i).getStatus() +
-//                                list.get(i).getMsg() + list.get(i).getAccessTime().toString() + list.get(i).getTenantId().toString()).getBytes("UTF-8"));
-//                        System.out.println("计算校验: "+checkCode);
-//                        System.out.println("表中数据: "+checkCode1);
-//                        if (!checkCode.equals(checkCode1)) {
-//                            throw new BusinessException("【完整性】校验失败,日志数据是被破坏或者篡改的");
-//                        }
-//                    }else {
-//                        String checkCode = operation.CBCMAC((list.get(i).getUserName() + list.get(i).getIpaddr() + list.get(i).getStatus() +
-//                                list.get(i).getMsg() + list.get(i).getAccessTime().toString() + list.get(i).getDeptId().toString() + list.get(i).getTenantId().toString()).getBytes("UTF-8"));
-//                        System.out.println("计算校验: "+checkCode);
-//                        System.out.println("表中数据: "+checkCode1);
-//                        if (!checkCode.equals(checkCode1)) {
-//                            throw new BusinessException("【完整性】校验失败,日志数据是被破坏或者篡改的");
-//                        }
-//                    }
-//                } catch (UnsupportedEncodingException e) {
-//                    e.printStackTrace();
-//                }
-//            }
-//        }
+       if (list.size() != 0) {
+           for (int i = 0; i < list.size(); i++) {
+               LambdaQueryWrapper<SysCheckCode> query = new LambdaQueryWrapper<>();
+               query.select(SysCheckCode::getCheckCode)
+                       .eq(SysCheckCode::getPlaintext, list.get(i).getInfoId())
+                       .eq(SysCheckCode::getCheckCodeType, 3);
+               SysCheckCode sysCheckCode = sysCheckCodeMapper.selectOne(query);
+               if (sysCheckCode == null) {
+                   throw new BusinessException("日志数据异常!");//登录日志记录有数据,而校验码表中没有数据
+               }
+               String checkCode1 = sysCheckCode.getCheckCode();
+               //分两种情况判断:dept_id参与校验码计算与否
+               try {
+                   if (!Objects.nonNull(list.get(i).getDeptId())) {
+                       String checkCode = operation.CBCMAC((list.get(i).getUserName() + list.get(i).getIpaddr() + list.get(i).getStatus() +
+                               list.get(i).getMsg() + list.get(i).getAccessTime().toString() + list.get(i).getTenantId().toString()).getBytes("UTF-8"));
+                       System.out.println("计算校验: "+checkCode);
+                       System.out.println("表中数据: "+checkCode1);
+                       if (!checkCode.equals(checkCode1)) {
+                           throw new BusinessException("【完整性】校验失败,日志数据是被破坏或者篡改的");
+                       }
+                   }else {
+                       String checkCode = operation.CBCMAC((list.get(i).getUserName() + list.get(i).getIpaddr() + list.get(i).getStatus() +
+                               list.get(i).getMsg() + list.get(i).getAccessTime().toString() + list.get(i).getDeptId().toString() + list.get(i).getTenantId().toString()).getBytes("UTF-8"));
+                       System.out.println("计算校验: "+checkCode);
+                       System.out.println("表中数据: "+checkCode1);
+                       if (!checkCode.equals(checkCode1)) {
+                           throw new BusinessException("【完整性】校验失败,日志数据是被破坏或者篡改的");
+                       }
+                   }
+               } catch (UnsupportedEncodingException e) {
+                   e.printStackTrace();
+               }
+           }
+       }
         return ApiResult.success(getDataTable(list));
     }
 

+ 80 - 79
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysUserController.java

@@ -1,7 +1,8 @@
 package com.usky.system.controller.web;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.usky.common.core.exception.BusinessException;
+import com.usky.common.log.annotation.Log;
+import com.usky.common.log.enums.BusinessType;
 import com.usky.common.security.utils.SecurityUtils;
 import com.usky.common.core.bean.ApiResult;
 import com.usky.common.core.exception.BusinessErrorCode;
@@ -78,47 +79,47 @@ public class SysUserController extends BaseController {
     /**
      * 新增用户
      */
-//    @Log(title = "用户管理", businessType = BusinessType.INSERT)
+    //@Log(title = "用户管理", businessType = BusinessType.INSERT)
     @Transactional
     @PostMapping
     public ApiResult<Void> add(@Validated @RequestBody SysUser user) {
-//        SysCheckCode sysCheckCode = new SysCheckCode();
+        SysCheckCode sysCheckCode = new SysCheckCode();
         if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user.getUserName(), SecurityUtils.getTenantId()))) {
             return ApiResult.error(BusinessErrorCode.BIZ_BUSINESS_ERROR.getCode(), "新增用户'" + user.getUserName() + "'失败,登录账号已存在");
         }
-//        user.setUserType("00");
-//        user.setTenantId(SecurityUtils.getTenantId());
-//        user.setCreateBy(SecurityUtils.getUsername());
-//
-//        sysCheckCode.setPlaintext(user.getPassword());
-//        try {
-//            sysCheckCode.setCheckCode(operation.CBCMAC(user.getPassword().getBytes("UTF-8")));//存密码校验码
-//        } catch (UnsupportedEncodingException e) {
-//            e.printStackTrace();
-//        }
-//        user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));//让校验码工具先获取原始明文密码的校验码在进行加密存储到sys_user表中
+       user.setUserType("00");
+       user.setTenantId(SecurityUtils.getTenantId());
+       user.setCreateBy(SecurityUtils.getUsername());
+
+       sysCheckCode.setPlaintext(user.getPassword());
+       try {
+           sysCheckCode.setCheckCode(operation.CBCMAC(user.getPassword().getBytes("UTF-8")));//存密码校验码
+       } catch (UnsupportedEncodingException e) {
+           e.printStackTrace();
+       }
+       user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));//让校验码工具先获取原始明文密码的校验码在进行加密存储到sys_user表中
         int row = userService.insertUser(user);//将数据插入user表中后才生成user_id与表sys_check_code表关联
 
-//        sysCheckCode.setUserId(user.getUserId());
-//        sysCheckCode.setUserName(user.getUserName());
-//        sysCheckCode.setDeptId(user.getDeptId());
-//        sysCheckCode.setTenantId(user.getTenantId());
-//        sysCheckCode.setCheckCodeType(1);
-//        sysCheckCodeMapper.insert(sysCheckCode);
-//
-//        sysCheckCode.setUserId(user.getUserId());
-//        sysCheckCode.setUserName(user.getUserName());
-//        sysCheckCode.setDeptId(user.getDeptId());
-//        sysCheckCode.setTenantId(user.getTenantId());
-//        sysCheckCode.setPlaintext(user.getPhonenumber());
-//        try {
-//            sysCheckCode.setCheckCode(operation.CBCMAC(user.getPhonenumber().getBytes("UTF-8")));//存手机校验码
-//            sysCheckCode.setCiphertext(operation.SM4CBCEnc(user.getPhonenumber().getBytes("UTF-8")));//存手机号密文
-//        } catch (UnsupportedEncodingException e) {
-//            e.printStackTrace();
-//        }
-//        sysCheckCode.setCheckCodeType(2);
-//        sysCheckCodeMapper.insert(sysCheckCode);
+       sysCheckCode.setUserId(user.getUserId());
+       sysCheckCode.setUserName(user.getUserName());
+       sysCheckCode.setDeptId(user.getDeptId());
+       sysCheckCode.setTenantId(user.getTenantId());
+       sysCheckCode.setCheckCodeType(1);
+       sysCheckCodeMapper.insert(sysCheckCode);
+
+       sysCheckCode.setUserId(user.getUserId());
+       sysCheckCode.setUserName(user.getUserName());
+       sysCheckCode.setDeptId(user.getDeptId());
+       sysCheckCode.setTenantId(user.getTenantId());
+       sysCheckCode.setPlaintext(user.getPhonenumber());
+       try {
+           sysCheckCode.setCheckCode(operation.CBCMAC(user.getPhonenumber().getBytes("UTF-8")));//存手机校验码
+           sysCheckCode.setCiphertext(operation.SM4CBCEnc(user.getPhonenumber().getBytes("UTF-8")));//存手机号密文
+       } catch (UnsupportedEncodingException e) {
+           e.printStackTrace();
+       }
+       sysCheckCode.setCheckCodeType(2);
+       sysCheckCodeMapper.insert(sysCheckCode);
         return toAjax(row);
     }
 
@@ -151,37 +152,37 @@ public class SysUserController extends BaseController {
         user.setUpdateBy(SecurityUtils.getUsername());
         userService.updateCheckPhoneNumber(user);
         //更新手机号校验数据
-//        LambdaQueryWrapper<SysCheckCode> wrapper = new LambdaQueryWrapper<>();
-//        wrapper.select(SysCheckCode::getId)
-//                .eq(SysCheckCode::getUserId, user.getUserId())
-//                .eq(SysCheckCode::getCheckCodeType, 2);
-//        SysCheckCode sysCheckCode = sysCheckCodeMapper.selectOne(wrapper);
-//        if (sysCheckCode != null) {
-//            sysCheckCode.setPlaintext(user.getPhonenumber());
-//            try {
-//                sysCheckCode.setCiphertext(operation.SM4CBCEnc(user.getPhonenumber().getBytes("UTF-8")));
-//                sysCheckCode.setCheckCode(operation.CBCMAC(user.getPhonenumber().getBytes("UTF-8")));
-//                String SignatureValue = operation.HMAC(user.toString().getBytes("UTF-8"));//存入第一次计算的签名值
-//                SysCheckCode sysCheckCode1 = new SysCheckCode();
-//                sysCheckCode1.setUserId(user.getUserId());
-//                sysCheckCode1.setDeptId(user.getDeptId());
-//                sysCheckCode1.setTenantId(user.getTenantId());
-//                sysCheckCode1.setUserName(user.getUserName());//被修改手机号用户名
-//                sysCheckCode1.setCheckCode(SignatureValue);
-//                sysCheckCode1.setPlaintext("更新手机号");
-//                sysCheckCode1.setCheckCodeType(6);
-//                sysCheckCodeMapper.insert(sysCheckCode1);
-//                String SignatureValue1 = operation.HMAC(user.toString().getBytes("UTF-8"));
-//                if (SignatureValue.equals(SignatureValue1)) {
-//                    sysCheckCode.setVerificationResults(1);
-//                } else {
-//                    sysCheckCode.setVerificationResults(2);
-//                }
-//            } catch (UnsupportedEncodingException e) {
-//                e.printStackTrace();
-//            }
-//        }
-//        sysCheckCodeMapper.updateById(sysCheckCode);
+       LambdaQueryWrapper<SysCheckCode> wrapper = new LambdaQueryWrapper<>();
+       wrapper.select(SysCheckCode::getId)
+               .eq(SysCheckCode::getUserId, user.getUserId())
+               .eq(SysCheckCode::getCheckCodeType, 2);
+       SysCheckCode sysCheckCode = sysCheckCodeMapper.selectOne(wrapper);
+       if (sysCheckCode != null) {
+           sysCheckCode.setPlaintext(user.getPhonenumber());
+           try {
+               sysCheckCode.setCiphertext(operation.SM4CBCEnc(user.getPhonenumber().getBytes("UTF-8")));
+               sysCheckCode.setCheckCode(operation.CBCMAC(user.getPhonenumber().getBytes("UTF-8")));
+               String SignatureValue = operation.HMAC(user.toString().getBytes("UTF-8"));//存入第一次计算的签名值
+               SysCheckCode sysCheckCode1 = new SysCheckCode();
+               sysCheckCode1.setUserId(user.getUserId());
+               sysCheckCode1.setDeptId(user.getDeptId());
+               sysCheckCode1.setTenantId(user.getTenantId());
+               sysCheckCode1.setUserName(user.getUserName());//被修改手机号用户名
+               sysCheckCode1.setCheckCode(SignatureValue);
+               sysCheckCode1.setPlaintext("更新手机号");
+               sysCheckCode1.setCheckCodeType(6);
+               sysCheckCodeMapper.insert(sysCheckCode1);
+               String SignatureValue1 = operation.HMAC(user.toString().getBytes("UTF-8"));
+               if (SignatureValue.equals(SignatureValue1)) {
+                   sysCheckCode.setVerificationResults(1);
+               } else {
+                   sysCheckCode.setVerificationResults(2);
+               }
+           } catch (UnsupportedEncodingException e) {
+               e.printStackTrace();
+           }
+       }
+       sysCheckCodeMapper.updateById(sysCheckCode);
         return toAjax(userService.updateUser(user));
     }
 
@@ -211,20 +212,20 @@ public class SysUserController extends BaseController {
     public ApiResult<Void> resetPwd(@RequestBody SysUser user) {
         userService.checkUserAllowed(user);
         userService.updateCheckPassword(user);
-//        //更新密码数据
-//        LambdaQueryWrapper<SysCheckCode> wrapper = new LambdaQueryWrapper<>();
-//        wrapper.eq(SysCheckCode::getUserId, user.getUserId())
-//                .eq(SysCheckCode::getCheckCodeType, 1);
-//        SysCheckCode sysCheckCode = sysCheckCodeMapper.selectOne(wrapper);
-//        if (sysCheckCode != null) {
-//            try {
-//                sysCheckCode.setCheckCode(operation.CBCMAC(user.getPassword().getBytes("UTF-8")));
-//            } catch (UnsupportedEncodingException e) {
-//                e.printStackTrace();
-//            }
-//        }
-//        sysCheckCode.setPlaintext(user.getPassword());
-//        sysCheckCodeMapper.updateById(sysCheckCode);
+       //更新密码数据
+       LambdaQueryWrapper<SysCheckCode> wrapper = new LambdaQueryWrapper<>();
+       wrapper.eq(SysCheckCode::getUserId, user.getUserId())
+               .eq(SysCheckCode::getCheckCodeType, 1);
+       SysCheckCode sysCheckCode = sysCheckCodeMapper.selectOne(wrapper);
+       if (sysCheckCode != null) {
+           try {
+               sysCheckCode.setCheckCode(operation.CBCMAC(user.getPassword().getBytes("UTF-8")));
+           } catch (UnsupportedEncodingException e) {
+               e.printStackTrace();
+           }
+       }
+       sysCheckCode.setPlaintext(user.getPassword());
+       sysCheckCodeMapper.updateById(sysCheckCode);
         user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
         user.setUpdateBy(SecurityUtils.getUsername());
         return toAjax(userService.resetPwd(user));