From 07fb617c686699435cde29e8147f11a125d7d618 Mon Sep 17 00:00:00 2001 From: huliguo <2023611923@qq.com> Date: 星期一, 23 六月 2025 11:10:12 +0800 Subject: [PATCH] bug修改 --- ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java | 125 +++++++++++++++++++++++++++++++++++++---- 1 files changed, 111 insertions(+), 14 deletions(-) diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java index 62f8472..1161275 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java +++ b/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 @@ -625,8 +630,15 @@ 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); + oldMember.setBindingType(8); + this.updateById(oldMember); + return oldMember.getUserId(); } // Get the sysUser by mobile number SysUser sysUser = sysUserService.getSysUserByMobile(phoneNumber).getData(); @@ -897,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) { @@ -926,8 +939,46 @@ 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(); + if (data.size()==0){ + scope.add(0L); + }else{ + scope.addAll(data); + } + break; + case "5": + // 仅个人数据 查询当前登陆人关联店铺下的用户 + List<Long> longs = new ArrayList<>(); + longs.add(sysUser.getUserId()); + // 获取店铺ids + List<Long> data1 = shopService.getShopIdsByUserIds(longs).getData(); + if (data1.size()==0){ + scope.add(0L); + }else{ + 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 +994,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 +1205,6 @@ mgtMemberGetVo.setRelationShopName(data.getShopName()); } } - } mgtMemberGetVo.setIntegral(memberTotal.getTotalIntegral()); mgtMemberGetVo.setMemberFrom(member.getCustomerSource()); @@ -1190,6 +1240,13 @@ //1.手动领取2.全部用户3.会员用户4非会员用户5自定义 return memberMapper.listIdBySendType(sendType,shopId); } + + + public List<Long> listIdBySendType2(Long shopId) { + //1.手动领取2.全部用户3.会员用户4非会员用户5自定义 + return memberMapper.listIdBySendType2(shopId); + } + /** * @param userIds @@ -1231,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; } @@ -1426,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) @@ -1440,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()); @@ -2186,16 +2253,46 @@ */ @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); } } } } + + + /** + * 手动添加用户积分 + * + * @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(); + } } -- Gitblit v1.7.1