浏览代码

update:地址权限

ct 15 小时之前
父节点
当前提交
eef8d2ffb5

+ 15 - 13
fs-admin/src/main/java/com/fs/crm/controller/CrmCustomerController.java

@@ -151,14 +151,14 @@ public class CrmCustomerController extends BaseController
         crmCustomer.setIsLine(0);
         List<CrmCustomerListVO> list = crmCustomerService.selectCrmCustomerListVO(crmCustomer);
         List<CrmCustomerExportVO> exportList=new ArrayList<>();
-        boolean checkPhone = isCheckPhone();
+        SysRole sysRole = isCheckPermission();
         for(CrmCustomerListVO customer:list){
             CrmCustomerExportVO vo=new CrmCustomerExportVO();
             if(customer.getSource()!=null){
                 vo.setSource(customer.getSource().toString());
             }
             BeanUtils.copyProperties(customer,vo);
-            if(customer.getMobile()!=null && !checkPhone){
+            if(customer.getMobile()!=null && !(sysRole.getIsCheckPhone()==1)){
                 vo.setMobile(customer.getMobile().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2"));
             }
             exportList.add(vo);
@@ -197,9 +197,9 @@ public class CrmCustomerController extends BaseController
         }
         List<CrmCustomerListVO> list = crmCustomerService.selectCrmCustomerListQueryParam(crmCustomer);
         if (list != null) {
-            boolean checkPhone = isCheckPhone();
+            SysRole sysRole = isCheckPermission();
             for (CrmCustomerListVO vo : list) {
-                if(vo.getMobile()!=null && !checkPhone){
+                if(vo.getMobile()!=null && !(sysRole.getIsCheckPhone()==1)){
                     vo.setMobile(vo.getMobile().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2"));
                 }
 
@@ -211,19 +211,21 @@ public class CrmCustomerController extends BaseController
 
     @Autowired
     private ISysRoleService sysRoleService;
-    private boolean isCheckPhone() {
+    private SysRole isCheckPermission() {
+        SysRole sysRole = new SysRole();
         SysUser user = getLoginUser().getUser();
         boolean flag = user.isAdmin();
         if (flag) {
-            return true;
-        }
-        List<SysRole> roles = user.getRoles();
-        if (roles != null && !roles.isEmpty()) {
-            Long[] roleIds = roles.stream().map(SysRole::getRoleId).toArray(Long[]::new);
-            return sysRoleService.getIsCheckPhone(roleIds);
+            sysRole.setIsCheckPhone(1);
+            sysRole.setIsCheckAddress(1);
+        } else {
+            List<SysRole> roles = user.getRoles();
+            if (roles != null && !roles.isEmpty()) {
+                Long[] roleIds = roles.stream().map(SysRole::getRoleId).toArray(Long[]::new);
+                return sysRoleService.getIsCheckPermission(roleIds);
+            }
         }
-
-        return false;
+        return sysRole;
     }
 
 

+ 14 - 11
fs-admin/src/main/java/com/fs/his/controller/FsStoreOrderController.java

@@ -260,8 +260,9 @@ public class FsStoreOrderController extends BaseController
         task.setUserId(SecurityUtils.getUserId());
         exportTaskService.insertFsExportTask(task);
         param.setTaskId(task.getTaskId());
-        boolean checkPhone = isCheckPhone();
-        exportTaskService.exportStore1Data(param,checkPhone, filterList);
+
+        SysRole sysRole = isCheckPermission();
+        exportTaskService.exportStore1Data(param,sysRole.getIsCheckPhone() == 1,sysRole.getIsCheckAddress() == 1, filterList);
 
         return new AjaxResult(200,"后台正在导出,请等待...任务ID:"+task.getTaskId(),task.getTaskId());
 
@@ -270,19 +271,21 @@ public class FsStoreOrderController extends BaseController
 
     @Autowired
     private ISysRoleService sysRoleService;
-    private boolean isCheckPhone() {
+    private SysRole isCheckPermission() {
+        SysRole sysRole = new SysRole();
         SysUser user = getLoginUser().getUser();
         boolean flag = user.isAdmin();
         if (flag) {
-            return true;
-        }
-        List<SysRole> roles = user.getRoles();
-        if (roles != null && !roles.isEmpty()) {
-            Long[] roleIds = roles.stream().map(SysRole::getRoleId).toArray(Long[]::new);
-            return sysRoleService.getIsCheckPhone(roleIds);
+            sysRole.setIsCheckPhone(1);
+            sysRole.setIsCheckAddress(1);
+        } else {
+            List<SysRole> roles = user.getRoles();
+            if (roles != null && !roles.isEmpty()) {
+                Long[] roleIds = roles.stream().map(SysRole::getRoleId).toArray(Long[]::new);
+                return sysRoleService.getIsCheckPermission(roleIds);
+            }
         }
-
-        return false;
+        return sysRole;
     }
 
     @GetMapping("/importTemplate")

+ 19 - 17
fs-admin/src/main/java/com/fs/his/controller/FsUserController.java

@@ -97,10 +97,10 @@ public class FsUserController extends BaseController
             fsUser.setPhone(encryptPhone(fsUser.getPhone()));
         }
         List<FsUserVO> list = fsUserService.selectFsUserListVO(fsUser);
-        boolean checkPhone = isCheckPhone();
+        SysRole sysRole = isCheckPermission();
         for (FsUserVO fsUserVO : list) {
             if(fsUserVO.getPhone() != null&&fsUserVO.getPhone()!=""){
-                if (!checkPhone){
+                if (!(sysRole.getIsCheckPhone()==1)){
                     if (fsUserVO.getPhone().length()>11){
                         fsUserVO.setPhone(decryptPhoneMk(fsUserVO.getPhone()));
                     }else {
@@ -119,19 +119,21 @@ public class FsUserController extends BaseController
 
     @Autowired
     private ISysRoleService sysRoleService;
-    private boolean isCheckPhone() {
+    private SysRole isCheckPermission() {
+        SysRole sysRole = new SysRole();
         SysUser user = getLoginUser().getUser();
         boolean flag = user.isAdmin();
         if (flag) {
-            return true;
-        }
-        List<SysRole> roles = user.getRoles();
-        if (roles != null && !roles.isEmpty()) {
-            Long[] roleIds = roles.stream().map(SysRole::getRoleId).toArray(Long[]::new);
-            return sysRoleService.getIsCheckPhone(roleIds);
+            sysRole.setIsCheckPhone(1);
+            sysRole.setIsCheckAddress(1);
+        } else {
+            List<SysRole> roles = user.getRoles();
+            if (roles != null && !roles.isEmpty()) {
+                Long[] roleIds = roles.stream().map(SysRole::getRoleId).toArray(Long[]::new);
+                return sysRoleService.getIsCheckPermission(roleIds);
+            }
         }
-
-        return false;
+        return sysRole;
     }
 
     @PreAuthorize("@ss.hasPermi('his:user:list')")
@@ -143,10 +145,10 @@ public class FsUserController extends BaseController
             fsUser.setPhone(encryptPhone(fsUser.getPhone()));
         }
         List<FsUserVO> list = fsUserService.selectFsUserVOListByProject(fsUser);
-        boolean checkPhone = isCheckPhone();
+        SysRole sysRole = isCheckPermission();
         for (FsUserVO fsUserVO : list) {
             if(fsUserVO.getPhone() != null&&fsUserVO.getPhone()!=""){
-                if (!checkPhone){
+                if (!(sysRole.getIsCheckPhone()==1)){
                     if (fsUserVO.getPhone().length()>11){
                         fsUserVO.setPhone(decryptPhoneMk(fsUserVO.getPhone()));
                     }else {
@@ -170,10 +172,10 @@ public class FsUserController extends BaseController
             fsUser.setPhone(encryptPhone(fsUser.getPhone()));
         }
         List<FsUserVO> list = fsUserService.selectFsUserVOListByProject(fsUser);
-        boolean checkPhone = isCheckPhone();
+        SysRole sysRole = isCheckPermission();
         for (FsUserVO fsUserVO : list) {
             if(fsUserVO.getPhone() != null&&fsUserVO.getPhone()!=""){
-                if (!checkPhone){
+                if (!(sysRole.getIsCheckPhone()==1)){
                     if (fsUserVO.getPhone().length()>11){
                         fsUserVO.setPhone(decryptPhoneMk(fsUserVO.getPhone()));
                     }else {
@@ -207,9 +209,9 @@ public class FsUserController extends BaseController
             return AjaxResult.error("导出数据不可超过1w条");
         }
         List<FsUserExportListVO> list = fsUserService.selectFsUserExportListVO(fsUser);
-        boolean checkPhone = isCheckPhone();
+        SysRole sysRole = isCheckPermission();
         for (FsUserExportListVO vo : list) {
-            if (vo.getMobile()!=null && !checkPhone){
+            if (vo.getMobile()!=null && !(sysRole.getIsCheckPhone()==1)){
                 vo.setMobile(vo.getMobile().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2"));
             } else {
                 if (vo.getMobile().length()>11){

+ 26 - 7
fs-admin/src/main/java/com/fs/web/controller/system/SysLoginController.java

@@ -94,20 +94,39 @@ public class SysLoginController
             ajax.put("medicalMallConfig", medicalMallConfig);
         }
         ajax.put("user", user);
-        Integer isAdmin = 0;
+        SysRole isAdmin = new SysRole();
+        getIsAdmin(isAdmin, permissions, user);
+        ajax.put("isAdmin", isAdmin);
+        ajax.put("roles", roles);
+        ajax.put("permissions", permissions);
+
+        return ajax;
+    }
+
+    /**
+     * 获取电话地址权限
+     * @param isAdmin
+     * @param permissions
+     * @param user
+     */
+    private void getIsAdmin(SysRole isAdmin, Set<String> permissions, SysUser user) {
+        isAdmin.setIsCheckAddress(0);
+        isAdmin.setIsCheckPhone(0);
         if (permissions.contains("*:*:*")){
-            isAdmin = 1;
+            isAdmin.setIsCheckAddress(1);
+            isAdmin.setIsCheckPhone(1);
         }else {
             List<SysRole> roleList = user.getRoles();
             if (roleList != null && !roleList.isEmpty()) {
                 Long[] roleIds = roleList.stream().map(SysRole::getRoleId).toArray(Long[]::new);
-                isAdmin = roleService.getIsCheckPhone(roleIds)?1:0;
+//                isAdmin = roleService.getIsCheckPhone(roleIds)?1:0;
+                SysRole isCheckPermission = roleService.getIsCheckPermission(roleIds);
+                if (isCheckPermission != null) {
+                    isAdmin.setIsCheckPhone(isCheckPermission.getIsCheckPhone());
+                    isAdmin.setIsCheckAddress(isCheckPermission.getIsCheckAddress());
+                }
             }
         }
-        ajax.put("roles", roles);
-        ajax.put("permissions", permissions);
-        ajax.put("isAdmin", isAdmin);
-        return ajax;
     }
 
     /**

+ 2 - 2
fs-company/src/main/java/com/fs/company/controller/store/FsStoreOrderController.java

@@ -130,7 +130,7 @@ public class FsStoreOrderController extends BaseController
         task.setCompanyUserId(userId);
         exportTaskService.insertFsExportTask(task);
         param.setTaskId(task.getTaskId());
-        exportTaskService.exportStore1Data(param,false, null);
+        exportTaskService.exportStore1Data(param,false, false,null);
         return new AjaxResult(200,"后台正在导出,请等待...任务ID:"+task.getTaskId(),task.getTaskId());
 
 
@@ -172,7 +172,7 @@ public class FsStoreOrderController extends BaseController
         task.setCompanyUserId(userId);
         exportTaskService.insertFsExportTask(task);
         param.setTaskId(task.getTaskId());
-        exportTaskService.exportStore1Data(param,false, null);
+        exportTaskService.exportStore1Data(param,false,false, null);
         return new AjaxResult(200,"后台正在导出,请等待...任务ID:"+task.getTaskId(),task.getTaskId());
     }
     /**

+ 1 - 1
fs-service/src/main/java/com/fs/his/service/IFsExportTaskService.java

@@ -64,7 +64,7 @@ public interface IFsExportTaskService
 
     Integer isExportType1( Long userId);
 
-    public void exportStore1Data(FsStoreOrderParam param, boolean isAdmin, ArrayList<String>filter);
+    public void exportStore1Data(FsStoreOrderParam param, boolean isCheckPhone, boolean isCheckAddress,ArrayList<String>filter);
 
 
     public void exportStoreData(FsStoreOrderParam fsStoreOrder);

+ 9 - 9
fs-service/src/main/java/com/fs/his/service/impl/FsExportTaskServiceImpl.java

@@ -124,9 +124,9 @@ public class FsExportTaskServiceImpl implements IFsExportTaskService
 
     @Async
     @Override
-    public void exportStore1Data(FsStoreOrderParam fsStoreOrder,boolean isAdmin,ArrayList<String> filter) {
+    public void exportStore1Data(FsStoreOrderParam fsStoreOrder, boolean isCheckPhone, boolean isCheckAddress,ArrayList<String> filter) {
         if ("金牛明医".equals(cloudHostProper.getCompanyName())){
-            exportErpData(fsStoreOrder, isAdmin,filter);
+            exportErpData(fsStoreOrder, isCheckPhone,isCheckAddress,filter);
         } else {
             List<FsStoreOrderExportVO> list = fsStoreOrderMapper.selectFsStoreOrderListVOByExport(fsStoreOrder);
 
@@ -137,13 +137,13 @@ public class FsExportTaskServiceImpl implements IFsExportTaskService
                     if (vo.getCycle()!=null){
                         vo.setFollowCount(vo.getCycle()/ vo.getFollowFrequency());
                     }
-                    if (vo.getUserPhone() != null &&  !isAdmin) {
+                    if (vo.getUserPhone() != null &&  !isCheckPhone) {
                         vo.setUserPhone(vo.getUserPhone().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2"));
                     }
-                    if (vo.getUserPhone() != null && isAdmin && vo.getUserPhone().length()>11) {
+                    if (vo.getUserPhone() != null && isCheckPhone && vo.getUserPhone().length()>11) {
                         vo.setUserPhone(PhoneUtil.decryptPhone(vo.getUserPhone()));
                     }
-                    if (vo.getUserAddress() != null) {
+                    if (vo.getUserAddress() != null && !isCheckAddress) {
                         vo.setUserAddress(ParseUtils.parseAddress(vo.getUserAddress()));
                     }
                 }
@@ -210,7 +210,7 @@ public class FsExportTaskServiceImpl implements IFsExportTaskService
         return false;
     }
 
-    private void exportErpData(FsStoreOrderParam fsStoreOrder, boolean isAdmin,ArrayList<String> filter) {
+    private void exportErpData(FsStoreOrderParam fsStoreOrder,  boolean isCheckPhone, boolean isCheckAddress,ArrayList<String> filter) {
         List<FsStoreOrderErpExportVO> erpList = fsStoreOrderMapper.selectFsStoreOrderListErpVOByExport(fsStoreOrder);
         //对手机号脱敏
         if (erpList != null) {
@@ -219,13 +219,13 @@ public class FsExportTaskServiceImpl implements IFsExportTaskService
                 if (vo.getCycle()!=null){
                     vo.setFollowCount(vo.getCycle()/ vo.getFollowFrequency());
                 }
-                if (vo.getUserPhone() != null &&  !isAdmin) {
+                if (vo.getUserPhone() != null &&  !isCheckPhone) {
                     vo.setUserPhone(vo.getUserPhone().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2"));
                 }
-                if (vo.getUserPhone() != null && isAdmin && vo.getUserPhone().length()>11) {
+                if (vo.getUserPhone() != null && isCheckPhone && vo.getUserPhone().length()>11) {
                     vo.setUserPhone(PhoneUtil.decryptPhone(vo.getUserPhone()));
                 }
-                if (vo.getUserAddress() != null && !isAdmin) {
+                if (vo.getUserAddress() != null && !isCheckAddress) {
                     vo.setUserAddress(ParseUtils.parseAddress(vo.getUserAddress()));
                 }
             }

+ 1 - 1
fs-service/src/main/java/com/fs/system/service/ISysRoleService.java

@@ -171,5 +171,5 @@ public interface ISysRoleService
      */
     public int insertAuthUsers(Long roleId, Long[] userIds);
 
-    boolean getIsCheckPhone(Long[] roleIds);
+    SysRole getIsCheckPermission(Long[] roleIds);
 }

+ 17 - 4
fs-service/src/main/java/com/fs/system/service/impl/SysRoleServiceImpl.java

@@ -422,17 +422,30 @@ public class SysRoleServiceImpl implements ISysRoleService
     }
 
     @Override
-    public boolean getIsCheckPhone(Long[] roleIds) {
+    public SysRole getIsCheckPermission(Long[] roleIds) {
+        Integer isCheckPhone = 0;
+        Integer isCheckAddress = 0;
         if (roleIds != null && roleIds.length > 0){
             List<SysRole> roles = roleMapper.selectSysRoleByIds(roleIds);
             if (roles != null && !roles.isEmpty()){
                 for (SysRole role : roles) {
-                    if (role.getIsCheckPhone() == 1){
-                        return true;
+                    if (isCheckPhone != 1){
+                        if (role.getIsCheckPhone() != null && role.getIsCheckPhone() == 1){
+                            isCheckPhone = 1;
+                        }
                     }
+                    if (isCheckAddress != 1){
+                        if (role.getIsCheckAddress() != null && role.getIsCheckAddress() == 1){
+                            isCheckAddress = 1;
+                        }
+                    }
+
                 }
             }
         }
-        return false;
+        SysRole sysRole = new SysRole();
+        sysRole.setIsCheckPhone(isCheckPhone);
+        sysRole.setIsCheckAddress(isCheckAddress);
+        return sysRole;
     }
 }

+ 1 - 1
fs-service/src/main/resources/mapper/system/SysRoleMapper.xml

@@ -98,7 +98,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		 where r.role_key=#{roleKey} limit 1
 	</select>
 	<select id="selectSysRoleByIds" resultType="com.fs.common.core.domain.entity.SysRole">
-		select role_id,is_check_phone from sys_role where role_id in
+		select role_id,is_check_phone,is_check_address from sys_role where role_id in
 		<foreach collection="array" item="roleId" open="(" separator="," close=")">
 			#{roleId}
 		</foreach>