소스 검색

新加手机号校验;!=查询remark为null bug处理

songxinlu 3 년 전
부모
커밋
5055dc5ff9

+ 4 - 1
common/src/main/java/com/lantone/common/vo/AddUserVO.java

@@ -1,6 +1,5 @@
 package com.lantone.common.vo;
 
-import com.lantone.common.dto.GetHospitalTreeDTO;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -8,6 +7,8 @@ import javax.validation.Valid;
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Pattern;
+import javax.validation.constraints.Size;
 import java.io.Serializable;
 import java.util.Date;
 import java.util.List;
@@ -42,6 +43,8 @@ public class AddUserVO implements Serializable {
     private Integer sex;
 
     @ApiModelProperty(value = "手机号")
+    @Size(min = 11, max = 11, message = "手机号只能为11位")
+    @Pattern(regexp = "^[1][3,4,5,6,7,8,9][0-9]{9}$", message = "手机号格式有误")
     private String mobilePhone;
 
     @ApiModelProperty(value = "身份证号")

+ 1 - 1
dblayer-mbg/src/main/resources/mapper/HospitalUserMapper.xml

@@ -25,7 +25,7 @@
         AND h.is_deleted = 'N'
         AND u.id = hu.user_id
         AND h.id = hu.hospital_id
-        AND u.remark != 'Administrators'
+        AND (u.remark != 'Administrators' OR u.remark IS NULL)
         <if test="getUserPageVO.localUserID !=null ">
             AND u.creator = #{getUserPageVO.localUserID}
         </if>

+ 2 - 2
dblayer-mbg/src/main/resources/mapper/RoleMapper.xml

@@ -13,7 +13,7 @@
             sys_role r
         WHERE
             r.is_deleted = 'N'
-        AND r.remark != 'ManagementRole'
+        AND (r.remark != 'ManagementRole' OR r.remark IS NULL)
         AND r.creator = #{getRolePageVO.creator}
         <if test="getRolePageVO.name!=null and getRolePageVO.name!=''">
             AND r.`name` LIKE concat('%',#{getRolePageVO.name},'%')
@@ -41,7 +41,7 @@
             AND sm.software_id = #{softwareId}
         </if>
         AND r.creator = #{creator}
-        AND r.remark != 'ManagementRole'
+        AND (r.remark != 'ManagementRole' OR r.remark IS NULL)
     </select>
     <select id="getDataAuthRole" resultType="com.lantone.common.dto.UserRoleDTO">
         SELECT DISTINCT

+ 11 - 8
security-center/src/main/java/com/lantone/security/facade/UserManagementFacade.java

@@ -208,9 +208,7 @@ public class UserManagementFacade {
         checkRoles(roles);
         //5.用户如果没有医疗组、科室 绑定角色不能选择本医疗组、全部科室除本科室外、本科室数据权限角色
         //科室
-        if (!deptFlag) {
-            userDeptCheck(roles);
-        }
+        userDeptCheck(roles,deptFlag);
         //医疗组(无医生信息,就不会有医疗组;有医生信息无医疗组)
         boolean groupFlag = false;
         if (StringUtil.isEmpty(user.getJobNo())) {
@@ -259,7 +257,7 @@ public class UserManagementFacade {
      * @Description校验用户如果没有科室信息时,是否分配科室数据权限相关的角色
      * @Return void
      */
-    private void userDeptCheck(List<Long> roles) {
+    private void userDeptCheck(List<Long> roles,boolean deptFlag) {
         //获取当前用户的角色
         List<Long> dataTypes = new ArrayList<>();
         dataTypes.add(DataAuthDataTypeEnum.ALL_DEPT_NOT_SELF.getKey() * 1l);
@@ -267,11 +265,16 @@ public class UserManagementFacade {
         List<UserRoleDTO> checkRoles = roleFacade.getBaseMapper()
                 .getDataAuthRole(SysUserUtils.getCurrentPrincipleId(), roles, dataTypes);
         StringBuffer errStr = new StringBuffer();
+        //角色需要用户包含科室信息
         if (ListUtil.isNotEmpty(checkRoles)) {
-            checkRoles.stream().forEach(userRoleDTO -> {
-                errStr.append(userRoleDTO.getRoleName() + ";");
-            });
-            Asserts.fail(errStr.toString() + "角色需要用户具备科室信息");
+            if(!deptFlag){
+                checkRoles.stream().forEach(userRoleDTO -> {
+                    errStr.append(userRoleDTO.getRoleName() + ";");
+                });
+            }
+            if(StringUtil.isNotEmpty(errStr.toString())){
+                Asserts.fail(errStr.toString() + "角色需要用户具备科室信息");
+            }
         }
     }