| | |
| | | import com.ruoyi.common.security.utils.SecurityUtils; |
| | | import com.ruoyi.member.domain.dto.*; |
| | | import com.ruoyi.member.domain.pojo.member.IntegralRecord; |
| | | import com.ruoyi.member.domain.pojo.member.MemberNurse; |
| | | import com.ruoyi.member.domain.pojo.member.MemberTotal; |
| | | import com.ruoyi.member.domain.vo.*; |
| | | import com.ruoyi.member.mapper.member.MemberMapper; |
| | |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param appMiniLoginDto |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 小程序注册 |
| | | * |
| | | * @param appUserRegisterDto |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 获取用户信息 |
| | | * |
| | | * @param userId |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 修改用户信息 |
| | | * |
| | | * @param appEditUserDto |
| | | */ |
| | | @Override |
| | |
| | | |
| | | /** |
| | | * 分页获取会员信息 |
| | | * |
| | | * @param merMemberPageDto |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<MerMemberPageVo> pageMerMember(Page page, MerMemberPageDto merMemberPageDto){ |
| | | if (StringUtils.isNotBlank(merMemberPageDto.getMemberActiveness())) { |
| | | Activeness activeness = remoteConfigService.getActivenessByName(merMemberPageDto.getMemberActiveness()).getData(); |
| | | if (activeness != null) { |
| | | Date nowDay = DateUtils.getNowDate(); |
| | | String actStartDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getEndDay())); |
| | | String actEndDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getStartDay())); |
| | | merMemberPageDto.setActStartDate(actStartDate); |
| | | merMemberPageDto.setActEndDate(actEndDate); |
| | | } |
| | | } |
| | | List<MerMemberPageVo> merMemberPageVoList = memberMapper.pageMerMember(page,merMemberPageDto); |
| | | return merMemberPageVoList; |
| | | } |
| | |
| | | * @version 1.0 |
| | | */ |
| | | @Override |
| | | public MerMemberInfoVo getMerMemberInfo(Long userId){ |
| | | public MerMemberInfoVo getMerMemberInfo(MerBaseGetDto merBaseGetDto) { |
| | | // 将id转换为Long类型 |
| | | Long userId = Long.valueOf(merBaseGetDto.getId()); |
| | | // 创建MerMemberInfoVo对象 |
| | | MerMemberInfoVo merMemberInfoVo = new MerMemberInfoVo(); |
| | | // 根据userId获取Member对象 |
| | | Member member = this.getByUserId(userId); |
| | | // 设置MerMemberInfoVo对象的属性值 |
| | | merMemberInfoVo.setUserId(userId); |
| | | merMemberInfoVo.setNickName(member.getNickName()); |
| | | merMemberInfoVo.setPhonenumber(member.getMobile()); |
| | | merMemberInfoVo.setAvatar(member.getAvatar()); |
| | | merMemberInfoVo.setBirthday(member.getBirthday()); |
| | | merMemberInfoVo.setUserTags(member.getUserTags()); |
| | | //未完成 |
| | | |
| | | merMemberInfoVo.setMemberType(member.getGoodsType()); |
| | | // 根据memberId获取MemberTotal对象 |
| | | MemberTotal memberTotal = memberTotalService.getById(member.getMemberId()); |
| | | // 设置MerMemberInfoVo对象的属性值 |
| | | merMemberInfoVo.setSurpNumber(memberTotal.getUseableServiceCount()); |
| | | merMemberInfoVo.setUserNumber(memberTotal.getUsedServiceCount()); |
| | | merMemberInfoVo.setPayMoney(memberTotal.getTotalPayMoney()); |
| | | // 创建MerBaseDto对象 |
| | | MerBaseDto merBaseDto = new MerBaseDto(); |
| | | // 设置MerBaseDto对象的属性值 |
| | | merBaseDto.setShopId(merBaseGetDto.getShopId()); |
| | | merBaseDto.setUserId(userId); |
| | | // 获取未支付订单金额 |
| | | BigDecimal unpaidMoney = remoteOrderService.getMemberUnpaidOrder(merBaseDto).getData(); |
| | | merMemberInfoVo.setUnpaidMoney(unpaidMoney); |
| | | // 获取最近的会员任务 |
| | | MemberTaskSimpleVo memberTaskSimpleVo = remoteShopService.getLastMemberTask(userId).getData(); |
| | | if (memberTaskSimpleVo != null) { |
| | | merMemberInfoVo.setLastTaskContent(memberTaskSimpleVo.getTaskContent()); |
| | | merMemberInfoVo.setLastTaskTime(memberTaskSimpleVo.getTaskDate()); |
| | | } |
| | | // 设置MerMemberInfoVo对象的属性值 |
| | | merMemberInfoVo.setNextTaskTime(memberTotal.getNextTaskTime()); |
| | | merMemberInfoVo.setLastPayTime(memberTotal.getLastPayTime()); |
| | | // 返回MerMemberInfoVo对象 |
| | | return merMemberInfoVo; |
| | | } |
| | | |
| | | /** |
| | | * 分页获取收银用户列表 |
| | | * |
| | | * @param page |
| | | * @param merCashMemberPageDto |
| | | * @return |
| | |
| | | |
| | | /** |
| | | * 更新会员绑定商户 |
| | | * |
| | | * @param appMemberBindingDto |
| | | */ |
| | | @Override |
| | |
| | | |
| | | /** |
| | | * 获取会员基础档案 |
| | | * |
| | | * @param userId |
| | | * @return |
| | | */ |
| | |
| | | merMemberBasicFileVo.setNickName(member.getNickName()); |
| | | merMemberBasicFileVo.setPhonenumber(member.getMobile()); |
| | | merMemberBasicFileVo.setCreateTime(member.getCreateTime()); |
| | | List<MemberNurse> memberNurseList = memberNurseService.listByUserId(userId); |
| | | List<String> valueList = memberNurseList.stream().map(k->k.getNurse()).collect(Collectors.toList()); |
| | | /*List<MemberNurse> memberNurseList = memberNurseService.listByUserId(userId); |
| | | List<String> valueList = memberNurseList.stream().map(k -> k.getNurse()).collect(Collectors.toList());*/ |
| | | String memberNurse = member.getMemberNurse(); |
| | | if(StringUtils.isNotBlank(memberNurse)){ |
| | | List<String> valueList = Arrays.asList(memberNurse.split(",")); |
| | | merMemberBasicFileVo.setMemberNurse(valueList); |
| | | } |
| | | List<MemberArchiveVo> achiveList = memberArchiveService.listMerVoByUserId(userId); |
| | | merMemberBasicFileVo.setAchiveList(achiveList); |
| | | return merMemberBasicFileVo; |
| | | } |
| | | |
| | | /** |
| | | * 获取会员标签 |
| | | * |
| | | * @param userId |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 编辑会员标签 |
| | | * |
| | | * @param merMemberTagEditDto |
| | | */ |
| | | @Override |
| | |
| | | |
| | | /** |
| | | * 添加会员 |
| | | * |
| | | * @param merMemberAddDto |
| | | */ |
| | | @Override |
| | | public void addMerMember(MerMemberAddDto merMemberAddDto){ |
| | | String phonenumber = merMemberAddDto.getPhonenumber(); |
| | | Member oldMember = this.getByMobile(phonenumber); |
| | | String phoneNumber = merMemberAddDto.getPhonenumber(); |
| | | Member oldMember = this.getByMobile(phoneNumber); |
| | | // Check if the member already exists |
| | | if(oldMember!=null){ |
| | | throw new ServiceException(AppErrorConstant.MOBILE_USER_DOUBLE); |
| | | } |
| | | SysUser sysUser = sysUserService.getSysUserByMobile(phonenumber).getData(); |
| | | // Get the sysUser by mobile number |
| | | SysUser sysUser = sysUserService.getSysUserByMobile(phoneNumber).getData(); |
| | | // If sysUser does not exist, create a new one |
| | | if(sysUser==null){ |
| | | String memberId = IdUtils.simpleUUID(); |
| | | sysUser = new SysUser(); |
| | |
| | | sysUser.setPassword(SecurityUtils.encryptPassword(password)); |
| | | log.debug("sysUser"+sysUser.toString()); |
| | | sysUser = sysUserService.registerUser(sysUser).getData(); |
| | | // Create a new member |
| | | Member member = new Member(); |
| | | String memberNo = createMemberNo(); |
| | | member.setMemberNo(memberNo); |
| | |
| | | member.setNickName(merMemberAddDto.getNickName()); |
| | | member.setRealName(merMemberAddDto.getNickName()); |
| | | member.setGender(merMemberAddDto.getGender()); |
| | | member.setMobile(phonenumber); |
| | | member.setMobile(phoneNumber); |
| | | member.setReferrer(merMemberAddDto.getReferrer()); |
| | | member.setBirthday(merMemberAddDto.getBirthday()); |
| | | member.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png"); |
| | |
| | | member.setMiniOpenid(null); |
| | | member.setBindingFlag(1); |
| | | member.setBindingTime(new Date()); |
| | | // Get shop information and set it to the member |
| | | Shop shop = remoteShopService.getShop(merMemberAddDto.getShopId()).getData(); |
| | | member.setRelationShopName(shop.getShopName()); |
| | | member.setCustomerSource("商户添加"); |
| | | member.setCreateTime(new Date()); |
| | | log.info("member-----------------"+member.toString()); |
| | | // Save the member and initialize member total |
| | | this.saveOrUpdate(member); |
| | | initMemberTotal(memberId); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 编辑会员 |
| | | * |
| | | * @param merMemberEditDto |
| | | */ |
| | | @Override |
| | |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param mobile |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 更新用户商品类型 |
| | | * |
| | | * @param appMemberGoodsTypeDto |
| | | */ |
| | | @Override |
| | |
| | | |
| | | /** |
| | | * 订单创建新用户 |
| | | * |
| | | * @param member |
| | | */ |
| | | @Override |
| | |
| | | |
| | | /** |
| | | * 生成会员统计 |
| | | * |
| | | * @param memberId |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 生成会员编号 |
| | | * |
| | | * @return |
| | | */ |
| | | private String createMemberNo(){ |
| | |
| | | |
| | | /** |
| | | * 平台分页获取会员列表 |
| | | * |
| | | * @param page |
| | | * @param merMemberPageDto |
| | | * @return |
| | |
| | | |
| | | /** |
| | | * 修改会员关联商户 |
| | | * |
| | | * @param mgtMemberRelEditDto |
| | | */ |
| | | @Override |
| | |
| | | |
| | | /** |
| | | * 删除会员关联商户 |
| | | * |
| | | * @param mgtMemberRelDelDto |
| | | */ |
| | | @Override |
| | |
| | | |
| | | /** |
| | | * 修改会员积分 |
| | | * |
| | | * @param mgtMemberIntEditDto |
| | | */ |
| | | @Override |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 会员积分变动 |
| | | * |
| | | * @param memberIntegralChangeDto |
| | | */ |
| | | @Override |
| | |
| | | |
| | | /** |
| | | * 平台获取会员信息 |
| | | * |
| | | * @param userId |
| | | * @return |
| | | */ |
| | |
| | | MgtMemberGetVo mgtMemberGetVo = new MgtMemberGetVo(); |
| | | Member member = this.getByUserId(userId); |
| | | MemberTotal memberTotal = memberTotalService.getById(member.getMemberId()); |
| | | List<MemberArchiveVo> memberArchiveVoList = memberArchiveService.listVoByUserId(member.getUserId()); |
| | | List<MemberArchiveVo> memberArchiveVoList = memberArchiveService.listMgtVoByUserId(member.getUserId()); |
| | | if(memberArchiveVoList!=null&&!memberArchiveVoList.isEmpty()){ |
| | | //去掉未完善信息 |
| | | memberArchiveVoList.removeIf(o -> Objects.isNull(o.getFieldValue())); |
| | |
| | | } |
| | | |
| | | /** |
| | | * @param memberTag |
| | | * @return void |
| | | * @description 删除标签 |
| | | * @author jqs |
| | | * @date 2023/6/8 15:18 |
| | | * @param memberTag |
| | | * @return void |
| | | */ |
| | | @Override |
| | | public void deleteMemberTag(String memberTag){ |
| | |
| | | } |
| | | |
| | | /** |
| | | * @param sendType |
| | | * @return List<Long> |
| | | * @description 通过发送类型获取userId |
| | | * @author jqs |
| | | * @date 2023/6/13 17:53 |
| | | * @param sendType |
| | | * @return List<Long> |
| | | */ |
| | | @Override |
| | | public List<Long> listIdBySendType(Integer sendType){ |
| | |
| | | } |
| | | |
| | | /** |
| | | * @param userIds |
| | | * @return List<MgtSimpleMemberVo> |
| | | * @description 通过ids获取用户简易返回 |
| | | * @author jqs |
| | | * @date 2023/6/16 11:06 |
| | | * @param userIds |
| | | * @return List<MgtSimpleMemberVo> |
| | | */ |
| | | @Override |
| | | public List<MgtSimpleMemberVo> listSimpleVoByIds(String userIds){ |
| | |
| | | } |
| | | |
| | | /** |
| | | * @param mgtUserIdByKeywordDto |
| | | * @return MgtUserIdByKeywordVo |
| | | * @description |
| | | * @author jqs |
| | | * @date 2023/6/16 12:41 |
| | | * @param mgtUserIdByKeywordDto |
| | | * @return MgtUserIdByKeywordVo |
| | | */ |
| | | @Override |
| | | public MgtUserIdByKeywordVo getUserIdByKeyword(MgtUserIdByKeywordDto mgtUserIdByKeywordDto){ |
| | |
| | | } |
| | | |
| | | /** |
| | | * @description boardMemberTotal |
| | | * @param |
| | | * @return MgtBulletinBoardVo |
| | | * @description boardMemberTotal |
| | | * @author jqs34 |
| | | * @date 2023/6/18 16:45 |
| | | */ |
| | |
| | | } |
| | | |
| | | /** |
| | | * @param |
| | | * @return MgtTotalMemberTotalVo |
| | | * @description 会员人数统计 |
| | | * @author jqs |
| | | * @date 2023/6/19 15:26 |
| | | * @param |
| | | * @return MgtTotalMemberTotalVo |
| | | */ |
| | | @Override |
| | | public MgtTotalMemberTotalVo getTotalMemberTotal(MgtBaseShopDto mgtBaseShopDto){ |
| | |
| | | mgtTotalMemberTotalVo.setAgeKey(ageKey); |
| | | mgtTotalMemberTotalVo.setAgeValue(ageValue); |
| | | // 获取不同护理类型的会员数 |
| | | List<MgtMapTotalVo> nurseTotalVos = memberMapper.getTotalMemberTotalNurse(mgtBaseShopDto); |
| | | List<MgtMapIntTotalVo> nurseTotalVos = memberMapper.getTotalMemberTotalNurse(mgtBaseShopDto); |
| | | if (nurseTotalVos != null && nurseTotalVos.size() > 0) { |
| | | nurseTotalVos = listRemoveNull(nurseTotalVos); |
| | | mgtTotalMemberTotalVo.setNurseTotalVos(nurseTotalVos); |
| | | } |
| | | // 获取不同商品类型的会员数 |
| | | List<MgtMapTotalVo> goodsTypeTotalVos = memberMapper.getTotalMemberTotalGoodsType(mgtBaseShopDto); |
| | | List<MgtMapIntTotalVo> goodsTypeTotalVos = memberMapper.getTotalMemberTotalGoodsType(mgtBaseShopDto); |
| | | if (goodsTypeTotalVos != null && goodsTypeTotalVos.size() > 0) { |
| | | goodsTypeTotalVos = listRemoveNull(goodsTypeTotalVos); |
| | | mgtTotalMemberTotalVo.setGoodsTypeTotalVos(goodsTypeTotalVos); |
| | |
| | | String actStartDate; |
| | | String actEndDate; |
| | | Integer count; |
| | | List<MgtMapTotalVo> mgtMapTotalVoList = new ArrayList<>(); |
| | | MgtMapTotalVo mgtMapTotalVo; |
| | | List<MgtMapIntTotalVo> MgtMapIntTotalVoList = new ArrayList<>(); |
| | | MgtMapIntTotalVo MgtMapIntTotalVo; |
| | | // 遍历不同活跃度列表,设置活跃度数组和对应的会员数数组 |
| | | for (int i = 0; i < activenessList.size(); i++) { |
| | | activeness = activenessList.get(i); |
| | | actStartDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getEndDay())); |
| | | actEndDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getStartDay())); |
| | | count = memberMapper.getTotalMemberTotalActiveness(shopId, actStartDate, actEndDate); |
| | | mgtMapTotalVo = new MgtMapTotalVo(); |
| | | mgtMapTotalVo.setMapKey(activeness.getActivenessName()); |
| | | mgtMapTotalVo.setMapValue(count); |
| | | mgtMapTotalVoList.add(mgtMapTotalVo); |
| | | MgtMapIntTotalVo = new MgtMapIntTotalVo(); |
| | | MgtMapIntTotalVo.setMapKey(activeness.getActivenessName()); |
| | | MgtMapIntTotalVo.setMapValue(count); |
| | | MgtMapIntTotalVoList.add(MgtMapIntTotalVo); |
| | | } |
| | | mgtTotalMemberTotalVo.setActivenessList(mgtMapTotalVoList); |
| | | mgtTotalMemberTotalVo.setActivenessList(MgtMapIntTotalVoList); |
| | | } |
| | | //获取会员消费排名 |
| | | List<MgtMapTotalVo> memberPayList = memberMapper.getTotalMemberRankPay(mgtBaseShopDto); |
| | | List<MgtMapIntTotalVo> memberPayList = memberMapper.getTotalMemberRankPay(mgtBaseShopDto); |
| | | if (memberPayList != null && memberPayList.size() > 0) { |
| | | memberPayList = listRemoveNull(memberPayList); |
| | | mgtTotalMemberTotalVo.setMemberPayList(memberPayList); |
| | | } |
| | | //获取来源渠道排名 |
| | | List<MgtMapTotalVo> customerSourceList = memberMapper.getTotalMemberRankCustomerSource(mgtBaseShopDto); |
| | | List<MgtMapIntTotalVo> customerSourceList = memberMapper.getTotalMemberRankCustomerSource(mgtBaseShopDto); |
| | | if (customerSourceList != null && customerSourceList.size() > 0) { |
| | | customerSourceList = listRemoveNull(customerSourceList); |
| | | mgtTotalMemberTotalVo.setCustomerSourceList(customerSourceList); |
| | |
| | | |
| | | |
| | | /** |
| | | * @param mgtActivityAgeDto |
| | | * @return List<Long> |
| | | * @description |
| | | * @author jqs |
| | | * @date 2023/6/20 11:42 |
| | | * @param mgtActivityAgeDto |
| | | * @return List<Long> |
| | | */ |
| | | @Override |
| | | public List<Long> listUserIdByAge(MgtActivityAgeDto mgtActivityAgeDto){ |
| | |
| | | } |
| | | |
| | | /** |
| | | * @param mgtBasePlatformDto |
| | | * @return MgtPlTotalMemberTotalVo |
| | | * @description 会员人数统计 |
| | | * @author jqs |
| | | * @date 2023/6/21 10:59 |
| | | * @param mgtBasePlatformDto |
| | | * @return MgtPlTotalMemberTotalVo |
| | | */ |
| | | @Override |
| | | public MgtPlTotalMemberTotalVo getPlTotalMemberTotal(MgtBasePlatformDto mgtBasePlatformDto){ |
| | |
| | | plTotalMemberTotalVo.setAgeKey(ageKey); |
| | | plTotalMemberTotalVo.setAgeValue(ageValue); |
| | | // 获取不同调理类型的会员数 |
| | | List<MgtMapTotalVo> nurseTotalVos = memberMapper.getPlTotalMemberTotalNurse(mgtBasePlatformDto); |
| | | List<MgtMapIntTotalVo> nurseTotalVos = memberMapper.getPlTotalMemberTotalNurse(mgtBasePlatformDto); |
| | | if (nurseTotalVos != null && nurseTotalVos.size() > 0) { |
| | | nurseTotalVos = listRemoveNull(nurseTotalVos); |
| | | plTotalMemberTotalVo.setNurseTotalVos(nurseTotalVos); |
| | | } |
| | | // 获取不同商品类型的会员数 |
| | | List<MgtMapTotalVo> goodsTypeTotalVos = memberMapper.getPlTotalMemberTotalGoodsType(mgtBasePlatformDto); |
| | | List<MgtMapIntTotalVo> goodsTypeTotalVos = memberMapper.getPlTotalMemberTotalGoodsType(mgtBasePlatformDto); |
| | | if (goodsTypeTotalVos != null && goodsTypeTotalVos.size() > 0) { |
| | | goodsTypeTotalVos = listRemoveNull(goodsTypeTotalVos); |
| | | plTotalMemberTotalVo.setGoodsTypeTotalVos(goodsTypeTotalVos); |
| | |
| | | String actStartDate; |
| | | String actEndDate; |
| | | Integer count; |
| | | List<MgtMapTotalVo> mgtMapTotalVoList = new ArrayList<>(); |
| | | MgtMapTotalVo mgtMapTotalVo; |
| | | List<MgtMapIntTotalVo> MgtMapIntTotalVoList = new ArrayList<>(); |
| | | MgtMapIntTotalVo MgtMapIntTotalVo; |
| | | // 遍历不同活跃度列表,设置活跃度数组和对应的会员数数组 |
| | | for (int i = 0; i < activenessList.size(); i++) { |
| | | activeness = activenessList.get(i); |
| | |
| | | actEndDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getStartDay())); |
| | | count = memberMapper.getPlTotalMemberTotalActiveness(shopIdList, actStartDate, actEndDate); |
| | | if(StringUtils.isNotBlank(activeness.getActivenessName())){ |
| | | mgtMapTotalVo = new MgtMapTotalVo(); |
| | | mgtMapTotalVo.setMapKey(activeness.getActivenessName()); |
| | | mgtMapTotalVo.setMapValue(count); |
| | | mgtMapTotalVoList.add(mgtMapTotalVo); |
| | | MgtMapIntTotalVo = new MgtMapIntTotalVo(); |
| | | MgtMapIntTotalVo.setMapKey(activeness.getActivenessName()); |
| | | MgtMapIntTotalVo.setMapValue(count); |
| | | MgtMapIntTotalVoList.add(MgtMapIntTotalVo); |
| | | } |
| | | } |
| | | plTotalMemberTotalVo.setActivenessList(mgtMapTotalVoList); |
| | | plTotalMemberTotalVo.setActivenessList(MgtMapIntTotalVoList); |
| | | } |
| | | //获取会员消费排名 |
| | | List<MgtMapTotalVo> memberPayList = memberMapper.getPlTotalMemberRankPay(mgtBasePlatformDto); |
| | | List<MgtMapIntTotalVo> memberPayList = memberMapper.getPlTotalMemberRankPay(mgtBasePlatformDto); |
| | | if (memberPayList != null && memberPayList.size() > 0) { |
| | | memberPayList = listRemoveNull(memberPayList); |
| | | plTotalMemberTotalVo.setMemberPayList(memberPayList); |
| | | } |
| | | //获取来源渠道排名 |
| | | List<MgtMapTotalVo> customerSourceList = memberMapper.getPlTotalMemberRankCustomerSource(mgtBasePlatformDto); |
| | | List<MgtMapIntTotalVo> customerSourceList = memberMapper.getPlTotalMemberRankCustomerSource(mgtBasePlatformDto); |
| | | if (customerSourceList != null && customerSourceList.size() > 0) { |
| | | customerSourceList = listRemoveNull(customerSourceList); |
| | | plTotalMemberTotalVo.setCustomerSourceList(customerSourceList); |
| | | } |
| | | //获取商铺会员排名 |
| | | List<MgtMapTotalVo> shopMemberRankList = memberMapper.getPlTotalMemberRank(mgtBasePlatformDto); |
| | | List<MgtMapIntTotalVo> shopMemberRankList = memberMapper.getPlTotalMemberRank(mgtBasePlatformDto); |
| | | if (shopMemberRankList != null && shopMemberRankList.size() > 0) { |
| | | shopMemberRankList = listRemoveNull(shopMemberRankList); |
| | | plTotalMemberTotalVo.setShopMemberRankList(shopMemberRankList); |
| | | } |
| | | List<MgtMapTotalVo> memberGoodsRankList = remoteOrderService.listMemberGoodsRank(mgtBasePlatformDto).getData(); |
| | | List<MgtMapIntTotalVo> memberGoodsRankList = remoteOrderService.listMemberGoodsRank(mgtBasePlatformDto).getData(); |
| | | if (memberGoodsRankList != null && memberGoodsRankList.size() > 0) { |
| | | memberGoodsRankList = listRemoveNull(memberGoodsRankList); |
| | | plTotalMemberTotalVo.setMemberGoodsRankList(memberGoodsRankList); |
| | |
| | | } |
| | | |
| | | /** |
| | | * @param MgtMapIntTotalVos |
| | | * @return List<MgtMapIntTotalVo> |
| | | * @description 去除空字符串 |
| | | * @author jqs |
| | | * @date 2023/6/27 17:35 |
| | | * @param mgtMapTotalVos |
| | | * @return List<MgtMapTotalVo> |
| | | */ |
| | | private List<MgtMapTotalVo> listRemoveNull(List<MgtMapTotalVo> mgtMapTotalVos){ |
| | | for (int i = 0; i < mgtMapTotalVos.size(); i++) { |
| | | if(StringUtils.isBlank(mgtMapTotalVos.get(i).getMapKey())){ |
| | | mgtMapTotalVos.remove(i); |
| | | private List<MgtMapIntTotalVo> listRemoveNull(List<MgtMapIntTotalVo> MgtMapIntTotalVos) { |
| | | for (int i = 0; i < MgtMapIntTotalVos.size(); i++) { |
| | | if (StringUtils.isBlank(MgtMapIntTotalVos.get(i).getMapKey())) { |
| | | MgtMapIntTotalVos.remove(i); |
| | | } |
| | | } |
| | | return mgtMapTotalVos; |
| | | return MgtMapIntTotalVos; |
| | | } |
| | | |
| | | /** |
| | | * @param shopIdList |
| | | * @return List<Long> |
| | | * @description 通过shopId获取userId |
| | | * @author jqs |
| | | * @date 2023/6/21 17:11 |
| | | * @param shopIdList |
| | | * @return List<Long> |
| | | */ |
| | | @Override |
| | | public List<Long> listUserIdByShopId(List<Long> shopIdList){ |
| | |
| | | } |
| | | |
| | | /** |
| | | * @param shopIdList |
| | | * @return MgtShopTotalMemberVo |
| | | * @description 通过shopId获取user统计 |
| | | * @author jqs |
| | | * @date 2023/6/21 17:19 |
| | | * @param shopIdList |
| | | * @return MgtShopTotalMemberVo |
| | | */ |
| | | @Override |
| | | public MgtShopTotalMemberVo getUserTotalByShopId(List<Long> shopIdList){ |
| | |
| | | mgtShopTotalMemberVo.setAgeValue(ageValue); |
| | | return mgtShopTotalMemberVo; |
| | | } |
| | | |
| | | /** |
| | | * @param memberTotalChangeDto |
| | | * @return void |
| | | * @description 会员统计变动 |
| | | * @author jqs |
| | | * @date 2023/6/28 14:34 |
| | | */ |
| | | @Override |
| | | public void changeMemberTotal(MemberTotalChangeDto memberTotalChangeDto) { |
| | | Member member = this.getByUserId(memberTotalChangeDto.getUserId()); |
| | | MemberTotal memberTotal = memberTotalService.getById(member.getMemberId()); |
| | | //积分变动 |
| | | if (memberTotalChangeDto.getChangeIntegral() != null) { |
| | | if (memberTotalChangeDto.getTypeIntegral() == 2) { |
| | | memberTotal.setUseableIntegral(memberTotal.getUseableIntegral() - memberTotalChangeDto.getChangeIntegral()); |
| | | memberTotal.setUsedIntegral(memberTotal.getUsedIntegral() + memberTotalChangeDto.getChangeIntegral()); |
| | | } else { |
| | | memberTotal.setUseableIntegral(memberTotal.getUseableIntegral() + memberTotalChangeDto.getChangeIntegral()); |
| | | memberTotal.setTotalIntegral(memberTotal.getTotalIntegral() + memberTotalChangeDto.getChangeIntegral()); |
| | | } |
| | | } |
| | | //消费变动 |
| | | if (memberTotalChangeDto.getPayMoney() != null) { |
| | | memberTotal.setTotalPayMoney(memberTotal.getTotalPayMoney().add(memberTotalChangeDto.getPayMoney())); |
| | | memberTotal.setTotalPayCount(memberTotal.getTotalPayCount() + 1); |
| | | memberTotal.setLastPayMoney(memberTotalChangeDto.getPayMoney()); |
| | | memberTotal.setLastPayTime(memberTotalChangeDto.getPayTime()); |
| | | } |
| | | //服务次数变动 |
| | | if (memberTotalChangeDto.getServiceCount() != null) { |
| | | if (memberTotalChangeDto.getTypeService() == 2) { |
| | | memberTotal.setUseableServiceCount(memberTotal.getUseableServiceCount() - memberTotalChangeDto.getServiceCount()); |
| | | memberTotal.setUsedServiceCount(memberTotal.getUsedServiceCount() + memberTotalChangeDto.getServiceCount()); |
| | | } else { |
| | | memberTotal.setUseableIntegral(memberTotal.getUseableIntegral() + memberTotalChangeDto.getServiceCount()); |
| | | memberTotal.setTotalServiceCount(memberTotal.getTotalServiceCount() + memberTotalChangeDto.getServiceCount()); |
| | | } |
| | | } |
| | | //跟进时间 |
| | | if (memberTotalChangeDto.getNextTaskTime() != null) { |
| | | memberTotal.setNextTaskTime(memberTotalChangeDto.getNextTaskTime()); |
| | | } |
| | | //活动次数变动 |
| | | if (memberTotalChangeDto.getActivityTime() != null) { |
| | | memberTotal.setTotalActivityCount(memberTotal.getTotalActivityCount() + 1); |
| | | memberTotal.setLastActivityTime(memberTotalChangeDto.getActivityTime()); |
| | | } |
| | | //订单数量变动 |
| | | if (memberTotalChangeDto.getCycleOrderChange() != null) { |
| | | memberTotal.setTotalCycleOrder(memberTotal.getTotalCycleOrder() + memberTotalChangeDto.getCycleOrderChange()); |
| | | } |
| | | if (memberTotalChangeDto.getExperienceOrderChange() != null) { |
| | | memberTotal.setTotalExperienceOrder(memberTotal.getTotalExperienceOrder() + memberTotalChangeDto.getExperienceOrderChange()); |
| | | } |
| | | if (memberTotalChangeDto.getServiceOrderChange() != null) { |
| | | memberTotal.setTotalServiceOrder(memberTotal.getTotalServiceOrder() + memberTotalChangeDto.getServiceOrderChange()); |
| | | } |
| | | if (memberTotalChangeDto.getGoodsOrderChange() != null) { |
| | | memberTotal.setTotalGoodsOrder(memberTotal.getTotalGoodsOrder() + memberTotalChangeDto.getGoodsOrderChange()); |
| | | } |
| | | memberTotalService.saveOrUpdate(memberTotal); |
| | | } |
| | | } |