puzhibing
2024-01-24 8da101629c47cec91d68f785b0f5e829d4a9bab1
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -115,6 +115,12 @@
    @Resource
    private RemoteOrderService remoteOrderService;
    @Resource
    private RemoteUserService remoteUserService;
    /**
     * @description: TODO
     * @author jqs34
@@ -903,6 +909,7 @@
     */
    @Override
    public List<MgtMemberPageVo> pageMgtMember(Page page, MgtMemberPageDto merMemberPageDto) {
        List<Activeness> activenessList = remoteConfigService.listActiveness().getData();
        Date nowDay = new Date();
        if (merMemberPageDto.getActivenessId() != null) {
@@ -932,8 +939,37 @@
            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
            merMemberPageDto.setStartBirthday(startBirthday.format(formatter));
        }
        // 获取当前登陆人的可视权限
        SysUser sysUser = SecurityUtils.getSysUser();
        // 店铺ids
        List<Long> scope = new ArrayList<>();
        if (sysUser!=null){
            String dataScope = sysUser.getDataScope();
            if (!sysUser.getUserName().equals("admin")){
                if (org.springframework.util.StringUtils.hasLength(dataScope)){
                    switch (dataScope){
                        case "3":
                            // 本部门数据 查询当前登陆人属于哪个部门 查询这个部门下所有员工关联的所有店铺
                            // 根据用户id 查询同部门下所有员工id
                            List<Long> userIds = sysUserService.getUserIdsByDept(sysUser.getUserId()).getData();
                            // 获取店铺ids
                            List<Long> data = shopService.getShopIdsByUserIds(userIds).getData();
                            scope.addAll(data);
                            break;
                        case "5":
                            // 仅个人数据 查询当前登陆人关联店铺下的用户
                            List<Long> longs = new ArrayList<>();
                            longs.add(sysUser.getUserId());
                            // 获取店铺ids
                            List<Long> data1 = shopService.getShopIdsByUserIds(longs).getData();
                            scope.addAll(data1);
                            break;
                    }
                }
            }
        }
        //查询获取结果列表
        List<MgtMemberPageVo> memberPageVoList = memberMapper.pageMgtMember(page, merMemberPageDto);
        List<MgtMemberPageVo> memberPageVoList = memberMapper.pageMgtMember(page, merMemberPageDto,scope);
        //处理活跃度返回
        if (memberPageVoList != null && !memberPageVoList.isEmpty()) {
            if (activenessList != null && !activenessList.isEmpty()) {
@@ -1236,10 +1272,10 @@
     * @date 2023/6/18 16:45
     */
    @Override
    public MgtBulletinBoardVo boardMemberTotal() {
    public MgtBulletinBoardVo boardMemberTotal(List<Long> userIds) {
        MgtBulletinBoardVo mgtBulletinBoardVo = new MgtBulletinBoardVo();
        mgtBulletinBoardVo.setMemberTotal(memberMapper.memberTotal());
        mgtBulletinBoardVo.setMemberToday(memberMapper.memberToday());
        mgtBulletinBoardVo.setMemberTotal(memberMapper.memberTotal(userIds));
        mgtBulletinBoardVo.setMemberToday(memberMapper.memberToday(userIds));
        return mgtBulletinBoardVo;
    }
@@ -1445,6 +1481,10 @@
            }else{
                return plTotalMemberTotalVo;
            }
            List<Long> userId = remoteUserService.getScopeOfAuthorityUserId();
            List<Shop> shops = remoteShopService.getShopBySysUserIds(userId);
            List<Long> collect = shops.stream().map(Shop::getShopId).collect(Collectors.toList());
            list.addAll(collect);
            mgtBasePlatformDto.setShopIdList(list);
        }
        //获取基础统计