From 6ab383249b70a9646ffde1474b59dcc7d0b97df6 Mon Sep 17 00:00:00 2001 From: jiangqs <343695869@qq.com> Date: 星期日, 06 八月 2023 15:05:15 +0800 Subject: [PATCH] bug --- ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/birthday/BirthdayCardServiceImpl.java | 146 +++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 123 insertions(+), 23 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 5a04222..f5ccdf4 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 @@ -1,7 +1,10 @@ package com.ruoyi.member.service.impl.birthday; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.exception.ServiceException; +import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.bean.BeanUtils; import com.ruoyi.common.core.utils.uuid.IdUtils; import com.ruoyi.member.domain.dto.MerBirthdayEditDto; @@ -10,15 +13,16 @@ 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.system.api.domain.poji.member.MemberGiftRecord; 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.system.api.constant.AppErrorConstant; import com.ruoyi.system.api.domain.dto.BirthdayGiftSendDto; -import com.ruoyi.system.api.service.RemoteCouponService; -import com.ruoyi.system.api.service.RemoteOrderService; +import com.ruoyi.system.api.domain.dto.MgtBaseBathDto; +import com.ruoyi.system.api.domain.poji.member.MemberGiftRecord; +import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo; import com.ruoyi.system.api.service.RemoteShopService; import org.springframework.stereotype.Service; @@ -26,6 +30,7 @@ import java.math.BigDecimal; import java.time.LocalDate; import java.util.*; +import java.util.function.Function; import java.util.stream.Collectors; /** @@ -51,11 +56,6 @@ @Resource private MemberGiftRecordService memberGiftRecordService; - @Resource - private RemoteCouponService remoteCouponService; - - @Resource - private RemoteOrderService remoteOrderService; /** * @description 平台编辑生日卡 @@ -91,7 +91,11 @@ // 创建新的生日卡 BirthdayCard birthdayCard = new BirthdayCard(); birthdayCard.setDelFlag(0); - birthdayCard.setShopId(0L); + if(mgtBirthdayEditDto.getShopId()!=null){ + birthdayCard.setShopId(mgtBirthdayEditDto.getShopId()); + }else{ + birthdayCard.setShopId(0L); + } birthdayCard.setCardStatus(mgtBirthdayEditDto.getCardStatus()); // 根据卡状态设置开启或关闭时间 if(mgtBirthdayEditDto.getCardStatus()==1){ @@ -101,16 +105,16 @@ } // 设置创建时间 birthdayCard.setCreateTime(new Date()); - // 如果店铺ID不为空,则进行相关设置 - if(mgtBirthdayEditDto.getShopId()!=null){ + // 如果店铺ID为空,则进行相关设置 + if(mgtBirthdayEditDto.getShopId()==null){ birthdayCard.setAreaFlag(mgtBirthdayEditDto.getAreaFlag()); - if(mgtBirthdayEditDto.getAreaFlag()==2){ + if(mgtBirthdayEditDto.getAreaFlag()!=null&&mgtBirthdayEditDto.getAreaFlag()==2){ birthdayCard.setDesignatedArea(mgtBirthdayEditDto.getDesignatedArea()); }else{ birthdayCard.setDesignatedArea(null); } birthdayCard.setShopFlag(mgtBirthdayEditDto.getShopFlag()); - if(mgtBirthdayEditDto.getShopFlag()==2){ + if(mgtBirthdayEditDto.getShopFlag()!=null&&mgtBirthdayEditDto.getShopFlag()==2){ birthdayCard.setApplicableShop(mgtBirthdayEditDto.getApplicableShop()); }else{ birthdayCard.setApplicableShop(null); @@ -124,7 +128,7 @@ List<MgtBirthdayGiftDto> mgtBirthdayGiftDtoList = mgtBirthdayEditDto.getMgtBirthdayGiftDtoList(); List<BirthdayGift> birthdayGiftList = new ArrayList<>(); // 如果生日礼物列表不为空,则进行相关设置 - if(!mgtBirthdayGiftDtoList.isEmpty()) { + if(mgtBirthdayGiftDtoList!=null&&!mgtBirthdayGiftDtoList.isEmpty()) { mgtBirthdayGiftDtoList.forEach(dto -> { BirthdayGift birthdayGift = new BirthdayGift(); birthdayGift.setDelFlag(0); @@ -230,6 +234,7 @@ giftDesc = giftSj.toString(); birthdayGetVo.setGiftDesc(giftDesc); } + birthdayGetVo.setCardStatus(birthdayCard.getCardStatus()); }else{ birthdayGetVo.setCardStatus(2); } @@ -346,7 +351,7 @@ // 创建新的生日卡 BirthdayCard birthdayCard = new BirthdayCard(); birthdayCard.setDelFlag(0); - birthdayCard.setShopId(0L); + birthdayCard.setShopId(merBirthdayEditDto.getShopId()); birthdayCard.setCardStatus(merBirthdayEditDto.getCardStatus()); // 根据卡状态设置开启或关闭时间 if(merBirthdayEditDto.getCardStatus()==1){ @@ -379,7 +384,7 @@ birthdayGift.setGiftName(dto.getGiftName()); birthdayGift.setGiftNumber(dto.getGiftNumber()); birthdayGift.setMoney(dto.getMoney()); - birthdayGift.setWinningProbability(dto.getWinningProbability()); + birthdayGift.setWinningProbability(new BigDecimal("100.00")); birthdayGiftList.add(birthdayGift); }); // 批量保存生日礼物 @@ -410,6 +415,12 @@ } 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); + } + } } /** @@ -446,8 +457,8 @@ break; case 4: // 礼物类型为4,即礼品 - appBirthdayGiftVo.setGiftName(memberGiftRecord.getCouponName()); - appBirthdayGiftVo.setGiftNumber(memberGiftRecord.getCouponNumber()); + appBirthdayGiftVo.setGiftName(memberGiftRecord.getGiftName()); + appBirthdayGiftVo.setGiftNumber(memberGiftRecord.getGiftNumber()); break; default: break; @@ -491,7 +502,7 @@ if (plBirthdayCard != null && plBirthdayCard.getCardStatus()==1) { // 获取生日卡对应的生日礼物列表 List<BirthdayGift> birthdayGiftList = birthdayGiftService.listByCardId(plBirthdayCard.getCardId()); - if(!birthdayGiftList.isEmpty()){ + if(birthdayGiftList!=null&&!birthdayGiftList.isEmpty()){ // 遍历生日礼物列表 for (BirthdayGift birthdayGift : birthdayGiftList) { winningProbability = birthdayGift.getWinningProbability(); @@ -520,6 +531,9 @@ 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,即商品 @@ -528,16 +542,22 @@ 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.getCouponName()); - appBirthdayGiftVo.setGiftNumber(birthdayGift.getCouponNumber()); + appBirthdayGiftVo.setGiftName(birthdayGift.getGiftName()); + appBirthdayGiftVo.setGiftNumber(birthdayGift.getGiftNumber()); + memberGiftRecord.setGiftName(birthdayGift.getGiftName()); + memberGiftRecord.setGiftNumber(birthdayGift.getGiftNumber()); break; default: break; @@ -591,6 +611,9 @@ 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,即商品 @@ -599,16 +622,22 @@ 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.getCouponName()); - appBirthdayGiftVo.setGiftNumber(birthdayGift.getCouponNumber()); + appBirthdayGiftVo.setGiftName(birthdayGift.getGiftName()); + appBirthdayGiftVo.setGiftNumber(birthdayGift.getGiftNumber()); + memberGiftRecord.setGiftName(birthdayGift.getGiftName()); + memberGiftRecord.setGiftNumber(birthdayGift.getGiftNumber()); break; default: break; @@ -625,4 +654,75 @@ appBirthdayCardVo.setBirthdayGiftVoList(birthdayGiftVoList); return appBirthdayCardVo; } + + /** + * @description + * @author jqs + * @date 2023/7/11 18:02 + * @param page + * @param userId + * @return List<AppMemberPrizePageVo> + */ + @Override + public List<AppMemberPrizePageVo> pageAppMemberPrize(Page page, Long userId){ + List<AppMemberPrizePageVo> memberPrizePageVoList = birthdayCardMapper.pageAppMemberPrize(page, userId); + if(memberPrizePageVoList!=null&&!memberPrizePageVoList.isEmpty()){ + HashSet<Long> shopIdSet = new HashSet<>(); + for(AppMemberPrizePageVo appMemberPrizePageVo : memberPrizePageVoList){ + appMemberPrizePageVo.setVerifyCode("3-"+appMemberPrizePageVo.getPrizeId()); + if(appMemberPrizePageVo.getShopId()!=null){ + shopIdSet.add(appMemberPrizePageVo.getShopId()); + } + } + String shopJoinedString = String.join(",", shopIdSet.stream().map(Object::toString).collect(Collectors.toList())); + MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto(); + mgtBaseBathDto.setIds(shopJoinedString); + 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){ + appMemberPrizePageVo.setVerifyShopName(shopMap.get(appMemberPrizePageVo.getShopId()).getShopName()); + } + } + } + return memberPrizePageVoList; + } + + + /** + * @description 判断生日卡开启状态 + * @author jqs + * @date 2023/8/1 15:43 + * @param + * @return void + */ + @Override + public Integer checkBirthdayCard(Long shopId){ + // 获取平台生日卡信息 + 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; + } + } + 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){ + shopBirthdayCardOpen = false; + } + if(!platformBirthdayCardOpen||!shopBirthdayCardOpen){ + return 1; + }else{ + return 0; + } + } } -- Gitblit v1.7.1