From c5d38d650d2ac4101b1293a4f17346e7d5420076 Mon Sep 17 00:00:00 2001 From: huliguo <2023611923@qq.com> Date: 星期五, 04 七月 2025 20:39:58 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/2.0' into 2.0 --- ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/birthday/BirthdayCardServiceImpl.java | 265 +++++++++++++++++++++++++++++++++------------------- 1 files changed, 166 insertions(+), 99 deletions(-) diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/birthday/BirthdayCardServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/birthday/BirthdayCardServiceImpl.java index 6a85d5e..652d5ec 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/birthday/BirthdayCardServiceImpl.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/birthday/BirthdayCardServiceImpl.java @@ -11,17 +11,20 @@ import com.ruoyi.member.domain.dto.MgtBirthdayEditDto; import com.ruoyi.member.domain.dto.MgtBirthdayGetDto; import com.ruoyi.member.domain.dto.MgtBirthdayGiftDto; -import com.ruoyi.member.domain.pojo.birthday.BirthdayCard; import com.ruoyi.member.domain.pojo.birthday.BirthdayGift; import com.ruoyi.member.domain.vo.*; import com.ruoyi.member.mapper.birthday.BirthdayCardMapper; import com.ruoyi.member.service.birthday.BirthdayCardService; import com.ruoyi.member.service.birthday.BirthdayGiftService; import com.ruoyi.member.service.member.MemberGiftRecordService; +import com.ruoyi.member.service.member.MemberService; import com.ruoyi.system.api.constant.AppErrorConstant; import com.ruoyi.system.api.domain.dto.BirthdayGiftSendDto; import com.ruoyi.system.api.domain.dto.MgtBaseBathDto; +import com.ruoyi.system.api.domain.poji.member.BirthdayCard; +import com.ruoyi.system.api.domain.poji.member.Member; import com.ruoyi.system.api.domain.poji.member.MemberGiftRecord; +import com.ruoyi.system.api.domain.poji.shop.Shop; import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo; import com.ruoyi.system.api.service.RemoteShopService; import org.springframework.stereotype.Service; @@ -56,6 +59,10 @@ @Resource private MemberGiftRecordService memberGiftRecordService; + @Resource + private MemberService memberService; + + /** * @description 平台编辑生日卡 @@ -79,7 +86,7 @@ } // 获取查询结果 BirthdayCard birthdayCardOld = this.getOne(queryWrapper,false); - // 如果查询结果不为空,则进行更新操作 + // 如果查询结果不为空,则进行更新为历史记录 if (birthdayCardOld!=null) { // 设置删除标志为1 birthdayCardOld.setDelFlag(1); @@ -194,6 +201,10 @@ MerBirthdayGetVo birthdayGetVo = new MerBirthdayGetVo(); // 获取平台生日卡信息 BirthdayCard birthdayCard = birthdayCardMapper.getPlatformBirthdayCard(shopId); + Shop shop = remoteShopService.getShop(shopId).getData(); + if(birthdayCard.getAreaFlag()==2&&birthdayCard.getShopFlag()==1&&!StringUtils.checkString(birthdayCard.getDesignatedArea(),shop.getShopCityCode())){ + birthdayCard = null; + } // 如果生日卡存在 if (birthdayCard != null) { String giftDesc = ""; @@ -413,14 +424,14 @@ birthdayCard.setCreateTime(new Date()); birthdayCard.setCreateUserId(merBirthdayEditDto.getUserId()); } - birthdayCard.setCardStatus(merBirthdayEditDto.getCardStatus()); - this.saveOrUpdate(birthdayCard); List<BirthdayGift> birthdayGiftList = birthdayGiftService.listByCardId(birthdayCard.getCardId()); if(merBirthdayEditDto.getCardStatus()==1){ if(birthdayGiftList==null||birthdayGiftList.isEmpty()){ throw new ServiceException(AppErrorConstant.BIRTHDAYCARD_NO_GIFT); } } + birthdayCard.setCardStatus(merBirthdayEditDto.getCardStatus()); + this.saveOrUpdate(birthdayCard); } /** @@ -496,8 +507,23 @@ BirthdayGiftSendDto birthdayGiftSendDto; String prizeId; String currentYear = String.valueOf(LocalDate.now().getYear()); + Member member = memberService.getByUserId(userId); // 获取平台生日卡信息 - BirthdayCard plBirthdayCard = birthdayCardMapper.getPlatformBirthdayCard(shopId); + BirthdayCard plBirthdayCard = this.getBirthdayCard(); + //绑定的时候需要判断范围 + if(member.getBindingFlag()==1){ + //判断指定区域全部店铺 + if(plBirthdayCard.getShopFlag()==1&&plBirthdayCard.getAreaFlag()==2){ + Shop shop = remoteShopService.getShop(member.getRelationShopId()).getData(); + if(!StringUtils.checkString(plBirthdayCard.getDesignatedArea(),shop.getShopCityCode())){ + plBirthdayCard = null; + } + } + //判断指定店铺 + if(plBirthdayCard.getShopFlag()==2&&!StringUtils.checkString(plBirthdayCard.getApplicableShop(),shopId.toString())){ + plBirthdayCard = null; + } + } // 如果生日卡存在 if (plBirthdayCard != null && plBirthdayCard.getCardStatus()==1) { // 获取生日卡对应的生日礼物列表 @@ -517,6 +543,7 @@ memberGiftRecord.setDelFlag(0); memberGiftRecord.setVerifyStatus(1); memberGiftRecord.setGiftFrom(1); + memberGiftRecord.setPrizeFrom(1); memberGiftRecord.setGiftYear(currentYear); memberGiftRecord.setCreateTime(new Date()); memberGiftRecord.setUserId(userId); @@ -569,81 +596,84 @@ } } //获取商户营销开关状态 - Integer marketingStatus = remoteShopService.getShopMarketingStatus(shopId).getData(); - if(marketingStatus>1){ - //获取商户生日卡 - LambdaQueryWrapper<BirthdayCard> queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(BirthdayCard::getDelFlag,0); - queryWrapper.eq(BirthdayCard::getShopId,shopId); - BirthdayCard shopBirthdayCard = this.getOne(queryWrapper,false); - // 如果生日卡存在 - if (shopBirthdayCard != null && shopBirthdayCard.getCardStatus()==1) { - // 获取生日卡对应的生日礼物列表 - List<BirthdayGift> birthdayGiftList = birthdayGiftService.listByCardId(shopBirthdayCard.getCardId()); - if(!birthdayGiftList.isEmpty()){ - // 遍历生日礼物列表 - for (BirthdayGift birthdayGift : birthdayGiftList) { - winningProbability = birthdayGift.getWinningProbability(); - randomProbability = new BigDecimal(new Random().nextInt(100)); - if(winningProbability.compareTo(randomProbability)>0){ - appBirthdayGiftVo = new AppBirthdayGiftVo(); - memberGiftRecord = new MemberGiftRecord(); - birthdayGiftSendDto = new BirthdayGiftSendDto(); - BeanUtils.copyProperties(birthdayGift, memberGiftRecord); - prizeId = IdUtils.simpleUUID(); - memberGiftRecord.setPrizeId(prizeId); - memberGiftRecord.setDelFlag(0); - memberGiftRecord.setVerifyStatus(1); - memberGiftRecord.setGiftFrom(2); - memberGiftRecord.setShopId(shopId); - memberGiftRecord.setGiftYear(currentYear); - memberGiftRecord.setCreateTime(new Date()); - memberGiftRecord.setUserId(userId); - birthdayGiftSendDto.setUserId(userId); - birthdayGiftSendDto.setGiftFrom(2); - birthdayGiftSendDto.setShopId(shopId); - birthdayGiftSendDto.setGiftType(birthdayGift.getGiftType()); - switch (birthdayGift.getGiftType()) { - case 1: - // 礼物类型为1,即优惠券 - appBirthdayGiftVo.setGiftName(birthdayGift.getCouponName()); - appBirthdayGiftVo.setGiftNumber(birthdayGift.getCouponNumber()); - birthdayGiftSendDto.setCouponId(birthdayGift.getCouponId()); - birthdayGiftSendDto.setCouponNumber(birthdayGift.getCouponNumber()); - sendGoodsList.add(birthdayGiftSendDto); - memberGiftRecord.setCouponId(birthdayGift.getCouponId()); - memberGiftRecord.setCouponName(birthdayGift.getCouponName()); - memberGiftRecord.setCouponNumber(birthdayGift.getCouponNumber()); - break; - case 2: - // 礼物类型为2,即商品 - appBirthdayGiftVo.setGiftName(birthdayGift.getGoodsName()); - appBirthdayGiftVo.setGiftNumber(birthdayGift.getGoodsNumber()); - birthdayGiftSendDto.setGoodsId(birthdayGift.getGoodsId()); - birthdayGiftSendDto.setCouponNumber(birthdayGift.getGoodsNumber()); - sendCouponList.add(birthdayGiftSendDto); - memberGiftRecord.setGoodsId(birthdayGift.getGoodsId()); - memberGiftRecord.setGoodsName(birthdayGift.getGoodsName()); - memberGiftRecord.setGoodsNumber(birthdayGift.getGoodsNumber()); - break; - case 3: - // 礼物类型为3,即现金 - appBirthdayGiftVo.setGiftName("现金"); - appBirthdayGiftVo.setGiftNumber(memberGiftRecord.getMoney().doubleValue()); - memberGiftRecord.setMoney(birthdayGift.getMoney()); - break; - case 4: - // 礼物类型为4,即礼品 - appBirthdayGiftVo.setGiftName(birthdayGift.getGiftName()); - appBirthdayGiftVo.setGiftNumber(birthdayGift.getGiftNumber()); - memberGiftRecord.setGiftName(birthdayGift.getGiftName()); - memberGiftRecord.setGiftNumber(birthdayGift.getGiftNumber()); - break; - default: - break; + if(member.getBindingFlag()==1){ + Integer marketingStatus = remoteShopService.getShopMarketingStatus(shopId).getData(); + if(marketingStatus>1){ + //获取商户生日卡 + LambdaQueryWrapper<BirthdayCard> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(BirthdayCard::getDelFlag,0); + queryWrapper.eq(BirthdayCard::getShopId,shopId); + BirthdayCard shopBirthdayCard = this.getOne(queryWrapper,false); + // 如果生日卡存在 + if (shopBirthdayCard != null && shopBirthdayCard.getCardStatus()==1) { + // 获取生日卡对应的生日礼物列表 + List<BirthdayGift> birthdayGiftList = birthdayGiftService.listByCardId(shopBirthdayCard.getCardId()); + if(!birthdayGiftList.isEmpty()){ + // 遍历生日礼物列表 + for (BirthdayGift birthdayGift : birthdayGiftList) { + winningProbability = birthdayGift.getWinningProbability(); + randomProbability = new BigDecimal(new Random().nextInt(100)); + if(winningProbability.compareTo(randomProbability)>0){ + appBirthdayGiftVo = new AppBirthdayGiftVo(); + memberGiftRecord = new MemberGiftRecord(); + birthdayGiftSendDto = new BirthdayGiftSendDto(); + BeanUtils.copyProperties(birthdayGift, memberGiftRecord); + prizeId = IdUtils.simpleUUID(); + memberGiftRecord.setPrizeId(prizeId); + memberGiftRecord.setDelFlag(0); + memberGiftRecord.setVerifyStatus(1); + memberGiftRecord.setGiftFrom(2); + memberGiftRecord.setPrizeFrom(1); + memberGiftRecord.setShopId(shopId); + memberGiftRecord.setGiftYear(currentYear); + memberGiftRecord.setCreateTime(new Date()); + memberGiftRecord.setUserId(userId); + birthdayGiftSendDto.setUserId(userId); + birthdayGiftSendDto.setGiftFrom(2); + birthdayGiftSendDto.setShopId(shopId); + birthdayGiftSendDto.setGiftType(birthdayGift.getGiftType()); + switch (birthdayGift.getGiftType()) { + case 1: + // 礼物类型为1,即优惠券 + appBirthdayGiftVo.setGiftName(birthdayGift.getCouponName()); + appBirthdayGiftVo.setGiftNumber(birthdayGift.getCouponNumber()); + birthdayGiftSendDto.setCouponId(birthdayGift.getCouponId()); + birthdayGiftSendDto.setCouponNumber(birthdayGift.getCouponNumber()); + sendGoodsList.add(birthdayGiftSendDto); + memberGiftRecord.setCouponId(birthdayGift.getCouponId()); + memberGiftRecord.setCouponName(birthdayGift.getCouponName()); + memberGiftRecord.setCouponNumber(birthdayGift.getCouponNumber()); + break; + case 2: + // 礼物类型为2,即商品 + appBirthdayGiftVo.setGiftName(birthdayGift.getGoodsName()); + appBirthdayGiftVo.setGiftNumber(birthdayGift.getGoodsNumber()); + birthdayGiftSendDto.setGoodsId(birthdayGift.getGoodsId()); + birthdayGiftSendDto.setCouponNumber(birthdayGift.getGoodsNumber()); + sendCouponList.add(birthdayGiftSendDto); + memberGiftRecord.setGoodsId(birthdayGift.getGoodsId()); + memberGiftRecord.setGoodsName(birthdayGift.getGoodsName()); + memberGiftRecord.setGoodsNumber(birthdayGift.getGoodsNumber()); + break; + case 3: + // 礼物类型为3,即现金 + appBirthdayGiftVo.setGiftName("现金"); + appBirthdayGiftVo.setGiftNumber(memberGiftRecord.getMoney().doubleValue()); + memberGiftRecord.setMoney(birthdayGift.getMoney()); + break; + case 4: + // 礼物类型为4,即礼品 + appBirthdayGiftVo.setGiftName(birthdayGift.getGiftName()); + appBirthdayGiftVo.setGiftNumber(birthdayGift.getGiftNumber()); + memberGiftRecord.setGiftName(birthdayGift.getGiftName()); + memberGiftRecord.setGiftNumber(birthdayGift.getGiftNumber()); + break; + default: + break; + } + birthdayGiftVoList.add(appBirthdayGiftVo); + memberGiftRecordList.add(memberGiftRecord); } - birthdayGiftVoList.add(appBirthdayGiftVo); - memberGiftRecordList.add(memberGiftRecord); } } } @@ -654,23 +684,27 @@ appBirthdayCardVo.setBirthdayGiftVoList(birthdayGiftVoList); return appBirthdayCardVo; } - + /** - * @description - * @author jqs - * @date 2023/7/11 18:02 * @param page * @param userId - * @return List<AppMemberPrizePageVo> + * @return List<AppMemberPrizePageVo> + * @description + * @author jqs + * @date 2023/7/11 18:02 */ @Override - public List<AppMemberPrizePageVo> pageAppMemberPrize(Page page, Long userId){ + public List<AppMemberPrizePageVo> pageAppMemberPrize(Page page, Long userId) { List<AppMemberPrizePageVo> memberPrizePageVoList = birthdayCardMapper.pageAppMemberPrize(page, userId); - if(memberPrizePageVoList!=null&&!memberPrizePageVoList.isEmpty()){ + if (memberPrizePageVoList != null && !memberPrizePageVoList.isEmpty()) { HashSet<Long> shopIdSet = new HashSet<>(); - for(AppMemberPrizePageVo appMemberPrizePageVo : memberPrizePageVoList){ - appMemberPrizePageVo.setVerifyCode("3-"+appMemberPrizePageVo.getPrizeId()); - if(appMemberPrizePageVo.getShopId()!=null){ + for (AppMemberPrizePageVo appMemberPrizePageVo : memberPrizePageVoList) { + Integer giftType = appMemberPrizePageVo.getGiftType(); + String prizeFrom = appMemberPrizePageVo.getPrizeFrom(); + if ("抽奖".equals(prizeFrom) && (null != giftType && (giftType == 2 || giftType == 4))) { + appMemberPrizePageVo.setVerifyCode("3-" + appMemberPrizePageVo.getPrizeId()); + } + if (appMemberPrizePageVo.getShopId() != null) { shopIdSet.add(appMemberPrizePageVo.getShopId()); } } @@ -680,8 +714,8 @@ List<MgtSimpleShopVo> simpleShopVoList = remoteShopService.listShopSimpleVoByIds(mgtBaseBathDto).getData(); Map<Long, MgtSimpleShopVo> shopMap = simpleShopVoList.stream() .collect(Collectors.toMap(MgtSimpleShopVo::getShopId, Function.identity())); - for(AppMemberPrizePageVo appMemberPrizePageVo : memberPrizePageVoList){ - if(appMemberPrizePageVo.getShopId()!=null){ + for (AppMemberPrizePageVo appMemberPrizePageVo : memberPrizePageVoList) { + if (appMemberPrizePageVo.getShopId() != null) { appMemberPrizePageVo.setVerifyShopName(shopMap.get(appMemberPrizePageVo.getShopId()).getShopName()); } } @@ -698,25 +732,41 @@ * @return void */ @Override - public Integer checkBirthdayCard(Long shopId){ + public Integer checkBirthdayCard(Long shopId,Integer bindingFlag){ // 获取平台生日卡信息 Boolean platformBirthdayCardOpen = true; BirthdayCard plBirthdayCard = birthdayCardMapper.getMerShopBirthdayCard(0L); if (plBirthdayCard == null || plBirthdayCard.getCardStatus()!=1) { platformBirthdayCardOpen = false; }else{ - if(plBirthdayCard.getAreaFlag()==2&&!StringUtils.checkString(plBirthdayCard.getApplicableShop(),shopId.toString())){ - platformBirthdayCardOpen = false; + //绑死店铺判断区域和店铺 + if(bindingFlag==1){ + //判断指定区域全部店铺 + if(plBirthdayCard.getShopFlag()==1&&plBirthdayCard.getAreaFlag()==2){ + Shop shop = remoteShopService.getShop(shopId).getData(); + if(!StringUtils.checkString(plBirthdayCard.getDesignatedArea(),shop.getShopCityCode())){ + platformBirthdayCardOpen = false; + } + } + //判断指定店铺 + if(plBirthdayCard.getShopFlag()==2&&!StringUtils.checkString(plBirthdayCard.getApplicableShop(),shopId.toString())){ + platformBirthdayCardOpen = false; + } } } + //判断店铺生日卡 BirthdayCard shopBirthdayCard = birthdayCardMapper.getMerShopBirthdayCard(shopId); // 如果生日卡存在 Boolean shopBirthdayCardOpen = true; - if (shopBirthdayCard == null || shopBirthdayCard.getCardStatus()!=1) { - shopBirthdayCardOpen = false; - } - Integer marketingStatus = remoteShopService.getShopMarketingStatus(shopId).getData(); - if(marketingStatus<=1){ + if(bindingFlag==1){ + if (shopBirthdayCard == null || shopBirthdayCard.getCardStatus()!=1) { + shopBirthdayCardOpen = false; + } + Integer marketingStatus = remoteShopService.getShopMarketingStatus(shopId).getData(); + if(marketingStatus<=1){ + shopBirthdayCardOpen = false; + } + }else{ shopBirthdayCardOpen = false; } if(platformBirthdayCardOpen||shopBirthdayCardOpen){ @@ -725,4 +775,21 @@ return 0; } } + + /** + * @description 获取平台生日卡 + * @author jqs + * @date 2023/8/9 19:35 + * @param + * @return BirthdayCard + */ + @Override + public BirthdayCard getBirthdayCard(){ + LambdaQueryWrapper<BirthdayCard> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(BirthdayCard::getDelFlag,0); + queryWrapper.eq(BirthdayCard::getShopId,0L); + queryWrapper.eq(BirthdayCard::getCardStatus,1); + BirthdayCard shopBirthdayCard = this.getOne(queryWrapper,false); + return shopBirthdayCard; + } } -- Gitblit v1.7.1