浏览代码

指定会员能查看企业小黑屋信息

yjwang 2 周之前
父节点
当前提交
06f2355e6e

+ 24 - 0
fs-company/src/main/java/com/fs/company/controller/store/FsUserController.java

@@ -297,4 +297,28 @@ public class FsUserController extends BaseController
         return ResponseResult.ok(r);
     }
 
+    /**
+     *医健宝需求,主要不给销售公司管理员权限,给相应用户,能查询到查个公司小黑屋会员
+     * **/
+    @PreAuthorize("@ss.hasPermi('users:user:darkRoomCompanyList')")
+    @GetMapping("/darkRoomCompanyList")
+    @ApiOperation("小黑屋")
+    public R darkRoomCompanyList(FsUserPageListParam param) {
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+
+        if(!loginUser.getPermissions().stream().anyMatch(permission -> permission.equals("users:user:darkRoomCompanyList"))){
+            return R.error("操作失败,权限不足!");
+        }
+
+        //查看销售公司
+        param.setUserId(loginUser.getUser().getUserId());
+        if(StringUtils.isFullNumber(param.getKeyword()) && param.getKeyword().trim().length() == 11){
+            param.setKeyword(encryptPhone(param.getKeyword()));
+        }
+        PageInfo<FsUserPageListVO> fsUserPageListVOPageInfo = fsUserService.selectFsUserCompanyPageList(param);
+        Map<String, Object> map = new HashMap<String, Object>();
+        map.put("rows", fsUserPageListVOPageInfo.getList());
+        map.put("total", fsUserPageListVOPageInfo.getTotal());
+        return R.ok(map);
+    }
 }

+ 7 - 0
fs-service/src/main/java/com/fs/his/service/IFsUserService.java

@@ -223,4 +223,11 @@ public interface IFsUserService
     R removeUser(Long id);
 
     FsUser selectFsUserByMaOpenId(String openid);
+
+    /***
+     * 获取小黑黑屋公司列表用户
+     * @param param 请求参数
+     * @return  PageInfo<FsUserPageListVO>
+     * **/
+    PageInfo<FsUserPageListVO> selectFsUserCompanyPageList(FsUserPageListParam param);
 }

+ 60 - 0
fs-service/src/main/java/com/fs/his/service/impl/FsUserServiceImpl.java

@@ -23,6 +23,7 @@ import com.fs.common.core.domain.entity.SysDictData;
 import com.fs.common.core.page.TableDataInfo;
 import com.fs.common.core.redis.RedisCache;
 import com.fs.common.enums.ImTypeEnum;
+import com.fs.common.exception.ServiceException;
 import com.fs.common.param.LoginMaWxParam;
 import com.fs.common.utils.DateUtils;
 import com.fs.common.utils.DictUtils;
@@ -1314,4 +1315,63 @@ public class FsUserServiceImpl implements IFsUserService {
         return R.ok();
     }
 
+    @Override
+    public PageInfo<FsUserPageListVO> selectFsUserCompanyPageList(FsUserPageListParam param) {
+        CompanyUser companyUser = companyUserMapper.selectCompanyUserById(param.getUserId());
+
+        if(companyUser == null){
+            throw new ServiceException("操作失败,用户不存在!");
+        }
+
+        param.setUserId(0L);
+        param.setCompanyId(companyUser.getCompanyId());
+        //筛选问题
+        if (StringUtils.isNotBlank(param.getCompanyUserId())) {
+            param.setUserId(Long.valueOf(param.getCompanyUserId()));
+        }
+
+        PageHelper.startPage(param.getPageNum(), param.getPageSize());
+        if (param.getTagIds() != null && param.getTagIds().length > 0) {
+            boolean containsZero = Arrays.asList(param.getTagIds()).contains("0");
+            // 如果包含 "0",则设置 isNullTag 为 true
+            System.out.println("是否包含 0:" + containsZero + ",参数:" + Arrays.toString(param.getTagIds()));
+            if (containsZero) {
+                param.setIsNullTag(true);
+            }
+        }
+        List<FsUserPageListVO> fsUserPageListVOS = fsUserMapper.selectFsUserPageList(param);
+
+
+        List<SysDictData> courseProject = dictDataMapper.selectDictDataByType("sys_course_project");
+        for (FsUserPageListVO fsUserPageListVO : fsUserPageListVOS) {
+            if (courseProject != null && !courseProject.isEmpty()) {
+                if (fsUserPageListVO.getProjectId() != null) {
+                    // 项目
+                    courseProject.stream()
+                            .filter(c -> c.getDictValue().equals(fsUserPageListVO.getProjectId().toString()))
+                            .findFirst()
+                            .ifPresent(c -> fsUserPageListVO.setProjectName(c.getDictLabel()));
+                }
+            }
+            if (StringUtils.isEmpty(fsUserPageListVO.getNickname())) {
+                fsUserPageListVO.setNickname("用户暂未授权昵称");
+            }
+
+            //解密
+            if(fsUserPageListVO.getPhone() != null && fsUserPageListVO.getPhone() != ""){
+                if(param.getIsHidePhoneMiddle()){
+                    if (fsUserPageListVO.getPhone().length()>11){
+                        fsUserPageListVO.setPhone(decryptPhoneMk(fsUserPageListVO.getPhone()));
+                    }else {
+                        fsUserPageListVO.setPhone(fsUserPageListVO.getPhone().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2"));
+                    }
+                } else {
+                    fsUserPageListVO.setPhone(decryptPhone(fsUserPageListVO.getPhone()));
+                }
+
+            }
+        }
+
+        return new PageInfo<>(fsUserPageListVOS);
+    }
 }