Browse Source

线上bug修复

ZhuDeKang 2 tháng trước cách đây
mục cha
commit
019c7d756d

+ 7 - 0
ruoyi-api-patform/src/main/java/com/ruoyi/interfaces/controller/PtServiceController.java

@@ -11,6 +11,7 @@ import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.ExceptionUtil;
 import com.ruoyi.common.utils.JsonUtils;
 import com.ruoyi.common.utils.SM4Util;
+import com.ruoyi.common.utils.http.HttpUtils;
 import com.ruoyi.interfaces.core.page.Page;
 import com.ruoyi.interfaces.core.page.PageParam;
 import com.ruoyi.interfaces.core.page.PageUtils;
@@ -21,6 +22,8 @@ import com.ruoyi.interfaces.mapper.PtServiceParamMapper;
 import com.ruoyi.interfaces.service.*;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -55,6 +58,8 @@ public class PtServiceController extends BaseController {
     @Autowired
     private IMdModelInfoService  mdModelInfoService;
 
+    private static final Logger log = LoggerFactory.getLogger(PtServiceController.class);
+
     @Autowired
     private SM4Util sm4Util;
 
@@ -263,8 +268,10 @@ public class PtServiceController extends BaseController {
 
             map = ptServiceService.testRun(ptService);
         } catch (Exception e) {
+
             ptServiceLog.setSenState("0");
             String errorMessage = ExceptionUtil.getRootErrorMessage(e);
+            log.error(errorMessage);
             errorMessage = errorMessage.length() > 490 ? errorMessage.substring(0, 490) : errorMessage;
             ptServiceLog.setErrorMessage(errorMessage);
             serviceRunLogService.insertPtServiceRunLog(ptServiceLog);

+ 4 - 1
ruoyi-api-patform/src/main/java/com/ruoyi/interfaces/controller/SysMetaFieldController.java

@@ -86,7 +86,10 @@ public class SysMetaFieldController extends BaseController {
                 .filter(item -> StringUtils.isNotNull(item.getFieldCode())).collect(Collectors.toList());
         if (StringUtils.isEmpty(sysMetaFields)) return error("数据为空");
         sysMetaFieldService.deleteSysMetaFieldAll(sysMetaFields.get(0));
-        sysMetaFields.forEach(sysMetaFieldService::insertSysMetaField);
+        for (int i = 0; i < sysMetaFields.size(); i++) {
+            sysMetaFields.get(i).setFieldOrder(Long.parseLong(i+""));
+            sysMetaFieldService.insertSysMetaField(sysMetaFields.get(i));
+        }
         return success("插入成功");
     }
 

+ 6 - 2
ruoyi-api-patform/src/main/java/com/ruoyi/interfaces/service/impl/PtServiceServiceImpl.java

@@ -114,8 +114,12 @@ public class PtServiceServiceImpl extends ServiceImpl<PtServiceMapper, PtService
     @Override
     public MdModelInfoVo modelService(MdModelInfoVo par) {
         MdModelInfoVo mdModelInfoVo = ptServiceMapper.selectModelService(par);
-        mdModelInfoVo.setMdContact(sm4Util.decrypt(mdModelInfoVo.getMdContact()));
-        mdModelInfoVo.setDevContact(sm4Util.decrypt(mdModelInfoVo.getDevContact()));
+        if (StringUtils.isNotNull(mdModelInfoVo)){
+            mdModelInfoVo.setMdContact(sm4Util.decrypt(mdModelInfoVo.getMdContact()));
+            mdModelInfoVo.setEnname(sm4Util.decrypt(mdModelInfoVo.getEnname()));
+            mdModelInfoVo.setDevUnit(sm4Util.decrypt(mdModelInfoVo.getDevUnit()));
+            mdModelInfoVo.setDevContact(sm4Util.decrypt(mdModelInfoVo.getDevContact()));
+        }
 
         if (StringUtils.isNotNull(mdModelInfoVo) && StringUtils.isNotEmpty(mdModelInfoVo.getServiceList()))
             mdModelInfoVo.getServiceList().forEach(p -> {

+ 1 - 1
ruoyi-api-patform/src/main/resources/mapper/interfaces/PtServiceMapper.xml

@@ -232,7 +232,7 @@ PUBLISH_TIME
         #{publishTime,jdbcType=DATE},
         #{gatewayId,jdbcType=VARCHAR},
         #{state,jdbcType=VARCHAR},
-        #{data_Signature,jdbcType=VARCHAR}
+        #{dataSignature,jdbcType=VARCHAR}
     </sql>
     <sql id="page_where">
         <trim prefix="where" prefixOverrides="and | or ">

+ 2 - 3
ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java

@@ -156,9 +156,8 @@ public class BaseController {
      */
     public LoginUser getLoginUser() {
         LoginUser loginUser = SecurityUtils.getLoginUser();
-        SM4Util sm4Util = SpringUtils.getBean(SM4Util.class);
-        loginUser.getUser().setPhonenumber(sm4Util.decrypt(loginUser.getUser().getPhonenumber()));
-        loginUser.getUser().setEmail(sm4Util.decrypt(loginUser.getUser().getEmail()));
+
+
         return loginUser;
     }
 

+ 6 - 0
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java

@@ -1,5 +1,6 @@
 package com.ruoyi.framework.web.service;
 
+import com.ruoyi.common.utils.SM4Util;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -34,10 +35,15 @@ public class UserDetailsServiceImpl implements UserDetailsService
     @Autowired
     private SysPermissionService permissionService;
 
+    @Autowired
+    private SM4Util sm4Util;
+
     @Override
     public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException
     {
         SysUser user = userService.selectUserByUserName(username);
+        user.setPhonenumber(sm4Util.decrypt(user.getPhonenumber()));
+        user.setEmail(sm4Util.decrypt(user.getEmail()));
         if (StringUtils.isNull(user))
         {
             log.info("登录用户:{} 不存在.", username);

+ 1 - 1
ruoyi-framework/src/main/java/com/ruoyi/framework/websocket/WebSocketConfig.java

@@ -9,7 +9,7 @@ import org.springframework.web.socket.server.standard.ServerEndpointExporter;
  * 
  * @author ruoyi
  */
-//@Configuration
+@Configuration
 public class WebSocketConfig
 {
     @Bean

+ 95 - 121
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java

@@ -29,12 +29,11 @@ import com.ruoyi.system.service.ISysRoleService;
 
 /**
  * 角色 业务层处理
- * 
+ *
  * @author ruoyi
  */
 @Service
-public class SysRoleServiceImpl implements ISysRoleService
-{
+public class SysRoleServiceImpl implements ISysRoleService {
     @Autowired
     private SysRoleMapper roleMapper;
 
@@ -50,18 +49,18 @@ public class SysRoleServiceImpl implements ISysRoleService
 
     @Autowired
     private SM4Util sm4Util;
+
     /**
      * 根据条件分页查询角色数据
-     * 
+     *
      * @param role 角色信息
      * @return 角色数据集合信息
      */
     @Override
     @DataScope(deptAlias = "d")
-    public List<SysRole> selectRoleList(SysRole role)
-    {
+    public List<SysRole> selectRoleList(SysRole role) {
         List<SysRole> sysRoles = roleMapper.selectRoleList(role);
-        sysRoles.forEach( p ->{
+        sysRoles.forEach(p -> {
             p.setRoleKey(sm4Util.decrypt(p.getRoleKey()));
         });
         return sysRoles;
@@ -69,24 +68,20 @@ public class SysRoleServiceImpl implements ISysRoleService
 
     /**
      * 根据用户ID查询角色
-     * 
+     *
      * @param userId 用户ID
      * @return 角色列表
      */
     @Override
-    public List<SysRole> selectRolesByUserId(Long userId)
-    {
+    public List<SysRole> selectRolesByUserId(Long userId) {
         List<SysRole> userRoles = roleMapper.selectRolePermissionByUserId(userId);
-        userRoles.forEach( p ->{
+        userRoles.forEach(p -> {
             p.setRoleKey(sm4Util.decrypt(p.getRoleKey()));
         });
         List<SysRole> roles = selectRoleAll();
-        for (SysRole role : roles)
-        {
-            for (SysRole userRole : userRoles)
-            {
-                if (role.getRoleId().longValue() == userRole.getRoleId().longValue())
-                {
+        for (SysRole role : roles) {
+            for (SysRole userRole : userRoles) {
+                if (role.getRoleId().longValue() == userRole.getRoleId().longValue()) {
                     role.setFlag(true);
                     break;
                 }
@@ -97,22 +92,19 @@ public class SysRoleServiceImpl implements ISysRoleService
 
     /**
      * 根据用户ID查询权限
-     * 
+     *
      * @param userId 用户ID
      * @return 权限列表
      */
     @Override
-    public Set<String> selectRolePermissionByUserId(Long userId)
-    {
+    public Set<String> selectRolePermissionByUserId(Long userId) {
         List<SysRole> perms = roleMapper.selectRolePermissionByUserId(userId);
-        perms.forEach( p ->{
+        perms.forEach(p -> {
             p.setRoleKey(sm4Util.decrypt(p.getRoleKey()));
         });
         Set<String> permsSet = new HashSet<>();
-        for (SysRole perm : perms)
-        {
-            if (StringUtils.isNotNull(perm))
-            {
+        for (SysRole perm : perms) {
+            if (StringUtils.isNotNull(perm)) {
                 permsSet.addAll(Arrays.asList(perm.getRoleKey().trim().split(",")));
             }
         }
@@ -121,55 +113,54 @@ public class SysRoleServiceImpl implements ISysRoleService
 
     /**
      * 查询所有角色
-     * 
+     *
      * @return 角色列表
      */
     @Override
-    public List<SysRole> selectRoleAll()
-    {
+    public List<SysRole> selectRoleAll() {
         return SpringUtils.getAopProxy(this).selectRoleList(new SysRole());
     }
 
     /**
      * 根据用户ID获取角色选择框列表
-     * 
+     *
      * @param userId 用户ID
      * @return 选中角色ID列表
      */
     @Override
-    public List<Long> selectRoleListByUserId(Long userId)
-    {
+    public List<Long> selectRoleListByUserId(Long userId) {
         return roleMapper.selectRoleListByUserId(userId);
     }
 
     /**
      * 通过角色ID查询角色
-     * 
+     *
      * @param roleId 角色ID
      * @return 角色对象信息
      */
     @Override
-    public SysRole selectRoleById(Long roleId)
-    {
+    public SysRole selectRoleById(Long roleId) {
         SysRole sysRole = roleMapper.selectRoleById(roleId);
-        sysRole.setRoleKey(sm4Util.decrypt(sysRole.getRoleKey()));
+        if (StringUtils.isNotNull(sysRole)) {
+            sysRole.setRoleKey(sm4Util.decrypt(sysRole.getRoleKey()));
+        }
         return sysRole;
     }
 
     /**
      * 校验角色名称是否唯一
-     * 
+     *
      * @param role 角色信息
      * @return 结果
      */
     @Override
-    public boolean checkRoleNameUnique(SysRole role)
-    {
+    public boolean checkRoleNameUnique(SysRole role) {
         Long roleId = StringUtils.isNull(role.getRoleId()) ? -1L : role.getRoleId();
         SysRole info = roleMapper.checkRoleNameUnique(role.getRoleName());
-        info.setRoleKey(sm4Util.decrypt(info.getRoleKey()));
-        if (StringUtils.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue())
-        {
+        if (StringUtils.isNotNull(info)){
+            info.setRoleKey(sm4Util.decrypt(info.getRoleKey()));
+        }
+        if (StringUtils.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue()) {
             return UserConstants.NOT_UNIQUE;
         }
         return UserConstants.UNIQUE;
@@ -177,18 +168,18 @@ public class SysRoleServiceImpl implements ISysRoleService
 
     /**
      * 校验角色权限是否唯一
-     * 
+     *
      * @param role 角色信息
      * @return 结果
      */
     @Override
-    public boolean checkRoleKeyUnique(SysRole role)
-    {
+    public boolean checkRoleKeyUnique(SysRole role) {
         Long roleId = StringUtils.isNull(role.getRoleId()) ? -1L : role.getRoleId();
         SysRole info = roleMapper.checkRoleKeyUnique(role.getRoleKey());
-        info.setRoleKey(sm4Util.decrypt(info.getRoleKey()));
-        if (StringUtils.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue())
-        {
+        if (StringUtils.isNotNull(info)){
+            info.setRoleKey(sm4Util.decrypt(info.getRoleKey()));
+        }
+        if (StringUtils.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue()) {
             return UserConstants.NOT_UNIQUE;
         }
         return UserConstants.UNIQUE;
@@ -196,35 +187,29 @@ public class SysRoleServiceImpl implements ISysRoleService
 
     /**
      * 校验角色是否允许操作
-     * 
+     *
      * @param role 角色信息
      */
     @Override
-    public void checkRoleAllowed(SysRole role)
-    {
-        if (StringUtils.isNotNull(role.getRoleId()) && role.isAdmin())
-        {
+    public void checkRoleAllowed(SysRole role) {
+        if (StringUtils.isNotNull(role.getRoleId()) && role.isAdmin()) {
             throw new ServiceException("不允许操作超级管理员角色");
         }
     }
 
     /**
      * 校验角色是否有数据权限
-     * 
+     *
      * @param roleIds 角色id
      */
     @Override
-    public void checkRoleDataScope(Long... roleIds)
-    {
-        if (!SysUser.isAdmin(SecurityUtils.getUserId()))
-        {
-            for (Long roleId : roleIds)
-            {
+    public void checkRoleDataScope(Long... roleIds) {
+        if (!SysUser.isAdmin(SecurityUtils.getUserId())) {
+            for (Long roleId : roleIds) {
                 SysRole role = new SysRole();
                 role.setRoleId(roleId);
                 List<SysRole> roles = SpringUtils.getAopProxy(this).selectRoleList(role);
-                if (StringUtils.isEmpty(roles))
-                {
+                if (StringUtils.isEmpty(roles)) {
                     throw new ServiceException("没有权限访问角色数据!");
                 }
             }
@@ -233,46 +218,47 @@ public class SysRoleServiceImpl implements ISysRoleService
 
     /**
      * 通过角色ID查询角色使用数量
-     * 
+     *
      * @param roleId 角色ID
      * @return 结果
      */
     @Override
-    public int countUserRoleByRoleId(Long roleId)
-    {
+    public int countUserRoleByRoleId(Long roleId) {
         return userRoleMapper.countUserRoleByRoleId(roleId);
     }
 
     /**
      * 新增保存角色信息
-     * 
+     *
      * @param role 角色信息
      * @return 结果
      */
     @Override
     @Transactional
-    public int insertRole(SysRole role)
-    {
-        role.setRoleKey(sm4Util.encrypt(role.getRoleKey()));//数据加密
-        // 新增角色信息
-        role.sign();//数据签名
+    public int insertRole(SysRole role) {
+        if (StringUtils.isNotNull(role)) {
+            role.setRoleKey(sm4Util.encrypt(role.getRoleKey()));//数据加密
+            // 新增角色信息
+            role.sign();//数据签名
+        }
         roleMapper.insertRole(role);
         return insertRoleMenu(role);
     }
 
     /**
      * 修改保存角色信息
-     * 
+     *
      * @param role 角色信息
      * @return 结果
      */
     @Override
     @Transactional
-    public int updateRole(SysRole role)
-    {
-        role.setRoleKey(sm4Util.encrypt(role.getRoleKey()));
-        // 修改角色信息
-        role.sign();
+    public int updateRole(SysRole role) {
+        if (StringUtils.isNotNull(role)) {
+            role.setRoleKey(sm4Util.encrypt(role.getRoleKey()));
+            // 修改角色信息
+            role.sign();
+        }
         roleMapper.updateRole(role);
         // 删除角色与菜单关联
         roleMenuMapper.deleteRoleMenuByRoleId(role.getRoleId());
@@ -281,29 +267,31 @@ public class SysRoleServiceImpl implements ISysRoleService
 
     /**
      * 修改角色状态
-     * 
+     *
      * @param role 角色信息
      * @return 结果
      */
     @Override
-    public int updateRoleStatus(SysRole role)
-    {
-        role.setRoleKey(sm4Util.encrypt(role.getRoleKey()));
-        role.sign();
+    public int updateRoleStatus(SysRole role) {
+        if (StringUtils.isNotNull(role)) {
+            role.setRoleKey(sm4Util.encrypt(role.getRoleKey()));
+            role.sign();
+        }
         return roleMapper.updateRole(role);
     }
 
     /**
      * 修改数据权限信息
-     * 
+     *
      * @param role 角色信息
      * @return 结果
      */
     @Override
     @Transactional
-    public int authDataScope(SysRole role)
-    {
-        role.setRoleKey(sm4Util.encrypt(role.getRoleKey()));
+    public int authDataScope(SysRole role) {
+        if (StringUtils.isNotNull(role)){
+            role.setRoleKey(sm4Util.encrypt(role.getRoleKey()));
+        }
         role.sign();
         // 修改角色信息
         roleMapper.updateRole(role);
@@ -315,23 +303,20 @@ public class SysRoleServiceImpl implements ISysRoleService
 
     /**
      * 新增角色菜单信息
-     * 
+     *
      * @param role 角色对象
      */
-    public int insertRoleMenu(SysRole role)
-    {
+    public int insertRoleMenu(SysRole role) {
         int rows = 1;
         // 新增用户与角色管理
         List<SysRoleMenu> list = new ArrayList<SysRoleMenu>();
-        for (Long menuId : role.getMenuIds())
-        {
+        for (Long menuId : role.getMenuIds()) {
             SysRoleMenu rm = new SysRoleMenu();
             rm.setRoleId(role.getRoleId());
             rm.setMenuId(menuId);
             list.add(rm);
         }
-        if (list.size() > 0)
-        {
+        if (list.size() > 0) {
             rows = roleMenuMapper.batchRoleMenu(list);
         }
         return rows;
@@ -342,20 +327,17 @@ public class SysRoleServiceImpl implements ISysRoleService
      *
      * @param role 角色对象
      */
-    public int insertRoleDept(SysRole role)
-    {
+    public int insertRoleDept(SysRole role) {
         int rows = 1;
         // 新增角色与部门(数据权限)管理
         List<SysRoleDept> list = new ArrayList<SysRoleDept>();
-        for (Long deptId : role.getDeptIds())
-        {
+        for (Long deptId : role.getDeptIds()) {
             SysRoleDept rd = new SysRoleDept();
             rd.setRoleId(role.getRoleId());
             rd.setDeptId(deptId);
             list.add(rd);
         }
-        if (list.size() > 0)
-        {
+        if (list.size() > 0) {
             rows = roleDeptMapper.batchRoleDept(list);
         }
         return rows;
@@ -363,14 +345,13 @@ public class SysRoleServiceImpl implements ISysRoleService
 
     /**
      * 通过角色ID删除角色
-     * 
+     *
      * @param roleId 角色ID
      * @return 结果
      */
     @Override
     @Transactional
-    public int deleteRoleById(Long roleId)
-    {
+    public int deleteRoleById(Long roleId) {
         // 删除角色与菜单关联
         roleMenuMapper.deleteRoleMenuByRoleId(roleId);
         // 删除角色与部门关联
@@ -380,21 +361,18 @@ public class SysRoleServiceImpl implements ISysRoleService
 
     /**
      * 批量删除角色信息
-     * 
+     *
      * @param roleIds 需要删除的角色ID
      * @return 结果
      */
     @Override
     @Transactional
-    public int deleteRoleByIds(Long[] roleIds)
-    {
-        for (Long roleId : roleIds)
-        {
+    public int deleteRoleByIds(Long[] roleIds) {
+        for (Long roleId : roleIds) {
             checkRoleAllowed(new SysRole(roleId));
             checkRoleDataScope(roleId);
             SysRole role = selectRoleById(roleId);
-            if (countUserRoleByRoleId(roleId) > 0)
-            {
+            if (countUserRoleByRoleId(roleId) > 0) {
                 throw new ServiceException(String.format("%1$s已分配,不能删除", role.getRoleName()));
             }
         }
@@ -407,43 +385,39 @@ public class SysRoleServiceImpl implements ISysRoleService
 
     /**
      * 取消授权用户角色
-     * 
+     *
      * @param userRole 用户和角色关联信息
      * @return 结果
      */
     @Override
-    public int deleteAuthUser(SysUserRole userRole)
-    {
+    public int deleteAuthUser(SysUserRole userRole) {
         return userRoleMapper.deleteUserRoleInfo(userRole);
     }
 
     /**
      * 批量取消授权用户角色
-     * 
-     * @param roleId 角色ID
+     *
+     * @param roleId  角色ID
      * @param userIds 需要取消授权的用户数据ID
      * @return 结果
      */
     @Override
-    public int deleteAuthUsers(Long roleId, Long[] userIds)
-    {
+    public int deleteAuthUsers(Long roleId, Long[] userIds) {
         return userRoleMapper.deleteUserRoleInfos(roleId, userIds);
     }
 
     /**
      * 批量选择授权用户角色
-     * 
-     * @param roleId 角色ID
+     *
+     * @param roleId  角色ID
      * @param userIds 需要授权的用户数据ID
      * @return 结果
      */
     @Override
-    public int insertAuthUsers(Long roleId, Long[] userIds)
-    {
+    public int insertAuthUsers(Long roleId, Long[] userIds) {
         // 新增用户与角色管理
         List<SysUserRole> list = new ArrayList<SysUserRole>();
-        for (Long userId : userIds)
-        {
+        for (Long userId : userIds) {
             SysUserRole ur = new SysUserRole();
             ur.setUserId(userId);
             ur.setRoleId(roleId);