Pu Zhibing
8 天以前 ea1a62ba6484d6c6cb1ca67dcea938a95ba18fc6
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -1,5 +1,4 @@
package com.ruoyi.member.service.impl.member;
import com.google.common.collect.Lists;
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import com.alibaba.fastjson.JSONObject;
@@ -8,6 +7,7 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Lists;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.DateUtils;
@@ -21,7 +21,6 @@
import com.ruoyi.member.domain.pojo.member.IntegralRecord;
import com.ruoyi.member.domain.pojo.member.MemberArchive;
import com.ruoyi.member.domain.pojo.member.MemberTotal;
import com.ruoyi.member.domain.vo.MerMemberTotalVo;
import com.ruoyi.member.domain.vo.*;
import com.ruoyi.member.mapper.member.MemberMapper;
import com.ruoyi.member.service.member.IntegralRecordService;
@@ -114,6 +113,12 @@
    @Resource
    private RemoteOrderService remoteOrderService;
    @Resource
    private RemoteUserService remoteUserService;
    /**
     * @description: TODO
@@ -631,6 +636,7 @@
        if (oldMember != null && oldMember.getBindingFlag() == 0) {
            oldMember.setRelationShopId(merMemberAddDto.getShopId());
            oldMember.setBindingFlag(1);
            oldMember.setBindingType(8);
            this.updateById(oldMember);
            return oldMember.getUserId();
        }
@@ -1235,6 +1241,13 @@
        return memberMapper.listIdBySendType(sendType,shopId);
    }
    public List<Long> listIdBySendType2(Long shopId) {
        //1.手动领取2.全部用户3.会员用户4非会员用户5自定义
        return memberMapper.listIdBySendType2(shopId);
    }
    /**
     * @param userIds
     * @return List<MgtSimpleMemberVo>
@@ -1275,10 +1288,10 @@
     * @date 2023/6/18 16:45
     */
    @Override
    public MgtBulletinBoardVo boardMemberTotal() {
    public MgtBulletinBoardVo boardMemberTotal(List<Long> shopIds) {
        MgtBulletinBoardVo mgtBulletinBoardVo = new MgtBulletinBoardVo();
        mgtBulletinBoardVo.setMemberTotal(memberMapper.memberTotal());
        mgtBulletinBoardVo.setMemberToday(memberMapper.memberToday());
        mgtBulletinBoardVo.setMemberTotal(memberMapper.memberTotal(shopIds));
        mgtBulletinBoardVo.setMemberToday(memberMapper.memberToday(shopIds));
        return mgtBulletinBoardVo;
    }
@@ -1470,13 +1483,14 @@
        plTotalMemberTotalVo.setShopMemberRankList(Lists.newArrayList());
        Date nowDay = DateUtils.getNowDate();
        //如果区域代码不为null获取对应的商户id
        List<Long> list = new ArrayList<>();
        if (StringUtils.isNotBlank(mgtBasePlatformDto.getShopProvinceCode()) || StringUtils.isNotBlank(mgtBasePlatformDto.getShopCityCode()) || StringUtils.isNotBlank(mgtBasePlatformDto.getShopAreaCode())) {
            MgtShopIdByCodeDto mgtShopIdByCodeDto = new MgtShopIdByCodeDto();
            mgtShopIdByCodeDto.setShopProvinceCode(mgtBasePlatformDto.getShopProvinceCode());
            mgtShopIdByCodeDto.setShopCityCode(mgtBasePlatformDto.getShopCityCode());
            mgtShopIdByCodeDto.setShopAreaCode(mgtBasePlatformDto.getShopAreaCode());
            MgtShopIdByCodeVo mgtShopIdByCodeVo = remoteShopService.getShopIdByCode(mgtShopIdByCodeDto).getData();
            List<Long> list = new ArrayList<>();
            if (StringUtils.isNotBlank(mgtShopIdByCodeVo.getShopIds())) {
                list = Arrays.stream(mgtShopIdByCodeVo.getShopIds().split(","))
                        .map(Long::valueOf)
@@ -1484,8 +1498,17 @@
            }else{
                return plTotalMemberTotalVo;
            }
            mgtBasePlatformDto.setShopIdList(list);
        }
        //数据权限
        List<Long> userId = remoteUserService.getScopeOfAuthorityUserId();
        BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto();
        boardMemberTotalDto.setUserIds(userId);
        List<Shop> shops = remoteShopService.getShopBySysUserIds(boardMemberTotalDto);
        List<Long> collect = shops.stream().map(Shop::getShopId).collect(Collectors.toList());
        list.addAll(collect);
        mgtBasePlatformDto.setShopIdList(list);
        //获取基础统计
        MgtPlTotalMemberTotalVo plTotalMemberTotalByDayVo = memberMapper.getPlTotalMemberTotal(mgtBasePlatformDto);
        plTotalMemberTotalVo.setMemberTotal(plTotalMemberTotalByDayVo.getMemberTotal());
@@ -2233,14 +2256,43 @@
        List<Member> mobileList = memberMapper.listTodayBirthday();
        if(mobileList!=null&&!mobileList.isEmpty()){
            log.info("生日祝福发送短信---"+mobileList.toString());
            for(Member member : mobileList){
            for (Member member : mobileList) {
                try {
                    String msg = "{\"name\":\"" + (StringUtils.isEmpty(member.getRealName()) ? member.getNickName() : member.getRealName()) + "\"}";
                    MsgUtils.sendMsg(member.getMobile(),null, msg);
                    MsgUtils.sendMsg(member.getMobile(), null, msg);
                } catch (Exception e) {
                    throw new RuntimeException(e);
                }
            }
        }
    }
    /**
     * 手动添加用户积分
     *
     * @param integral
     * @param userId
     * @return
     */
    @Override
    public R addIntegralRecord(Integer integral, Long userId, String orderId) {
        Member member = this.getByUserId(userId);
        MemberTotal memberTotal = memberTotalService.getById(member.getMemberId());
        IntegralRecord integralRecord = new IntegralRecord();
        integralRecord.setDelFlag(0);
        integralRecord.setUserId(userId);
        integralRecord.setChangeType(6);
        integralRecord.setChangeIntegral(integral);
        integralRecord.setSurpIntegral(memberTotal.getUseableIntegral() + integral);
        integralRecord.setCreateTime(new Date());
        integralRecord.setOrderId(orderId);
        integralRecord.setChangeReason("抽奖活动获得");
        integralRecordService.save(integralRecord);
        memberTotal.setTotalIntegral(memberTotal.getTotalIntegral() + integral);
        memberTotal.setUseableIntegral(memberTotal.getUseableIntegral() + integral);
        memberTotal.setPlSuggestFlag(1);
        memberTotalService.saveOrUpdate(memberTotal);
        return R.ok();
    }
}