44323
2024-01-24 61b5f9863f14ab4fc9da504ca2b553a778eb2e2c
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -625,8 +625,14 @@
        String phoneNumber = merMemberAddDto.getPhonenumber();
        Member oldMember = this.getByMobile(phoneNumber);
        // Check if the member already exists
        if (oldMember != null) {
        if (oldMember != null && oldMember.getBindingFlag() == 1) {
            throw new ServiceException(AppErrorConstant.MOBILE_USER_DOUBLE);
        }
        if (oldMember != null && oldMember.getBindingFlag() == 0) {
            oldMember.setRelationShopId(merMemberAddDto.getShopId());
            oldMember.setBindingFlag(1);
            this.updateById(oldMember);
            return oldMember.getUserId();
        }
        // Get the sysUser by mobile number
        SysUser sysUser = sysUserService.getSysUserByMobile(phoneNumber).getData();
@@ -897,6 +903,7 @@
     */
    @Override
    public List<MgtMemberPageVo> pageMgtMember(Page page, MgtMemberPageDto merMemberPageDto) {
        List<Activeness> activenessList = remoteConfigService.listActiveness().getData();
        Date nowDay = new Date();
        if (merMemberPageDto.getActivenessId() != null) {
@@ -926,8 +933,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()) {
@@ -943,7 +979,7 @@
                //活跃度赋值
                Date lastPayTime;
                for (MgtMemberPageVo mgtMemberPageVo : memberPageVoList) {
                    if(null != mgtMemberPageVo.getRelationShopId()){
                    if(null != mgtMemberPageVo.getRelationShopId() && 1 == mgtMemberPageVo.getBindingFlag()){
                        R<Shop> shop_r = remoteShopService.getShop(mgtMemberPageVo.getRelationShopId());
                        if(shop_r.getCode() == 200){
                            Shop data = shop_r.getData();
@@ -1154,7 +1190,6 @@
                    mgtMemberGetVo.setRelationShopName(data.getShopName());
                }
            }
        }
        mgtMemberGetVo.setIntegral(memberTotal.getTotalIntegral());
        mgtMemberGetVo.setMemberFrom(member.getCustomerSource());
@@ -2186,12 +2221,13 @@
     */
    @Override
    public void sendBirthdayBless(){
        List<String> mobileList = memberMapper.listTodayBirthday();
        List<Member> mobileList = memberMapper.listTodayBirthday();
        if(mobileList!=null&&!mobileList.isEmpty()){
            log.info("生日祝福发送短信---"+mobileList.toString());
            for(String mobile : mobileList){
            for(Member member : mobileList){
                try {
                    MsgUtils.sendMsg(mobile,null,null);
                    String msg = "{\"name\":\"" + (StringUtils.isEmpty(member.getRealName()) ? member.getNickName() : member.getRealName()) + "\"}";
                    MsgUtils.sendMsg(member.getMobile(),null, msg);
                } catch (Exception e) {
                    throw new RuntimeException(e);
                }