From 86579f21ded7a639f9d6edcf3becdf51dc3a3e41 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Mon, 19 Dec 2022 11:57:14 +0800 Subject: [PATCH] 20221219 1、创建订单增加商品ID的入参 2、增加每日购买次数和购买商品会员等级判断 3、注册会员,设置了会员等级 4、商品接口增加了补贴金额和星级字段,增加总评价数量和总评价星数 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 30 ++++++++++++++++++++++++++++++ 1 files changed, 30 insertions(+), 0 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java index c05d958..113348b 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java @@ -25,6 +25,7 @@ import cc.mrbird.febs.pay.service.UnipayService; import cc.mrbird.febs.rabbit.producter.AgentProducer; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; @@ -43,6 +44,7 @@ import java.math.BigDecimal; import java.text.DecimalFormat; +import java.text.SimpleDateFormat; import java.util.*; /** @@ -77,11 +79,39 @@ private final MallMemberBankSignMapper mallMemberBankSignMapper; private final MallMemberBankMapper mallMemberBankMapper; private final MallShopApplyMapper mallShopApplyMapper; + private final DataDictionaryCustomMapper dataDictionaryCustomMapper; @Override @Transactional(rollbackFor = Exception.class) public Long createOrder(AddOrderDto addOrderDto) { MallMember member = LoginUserUtil.getLoginUser(); + /** + * 根据会员星级判断是否可以购买该商品 + */ + MallMember mallMember = memberMapper.selectById(member.getId()); + String accountLevel = mallMember.getAccountLevel(); + Integer memberLevelCode = MemberAccountLevelEnum.NORMAL.getMemberLevelCode(accountLevel); + //获取商品星级 + MallGoods goods = mallGoodsMapper.selectById(addOrderDto.getGoodsId()); + String starRating = goods.getStarRating(); + Integer goodsStarCode = StarRatingEnum.NORMAL.getGoodsStarCode(starRating); + if(memberLevelCode < goodsStarCode){ + throw new FebsException("会员等级不够"); + } + /** + * 会员一天最多下单次数 + */ + DataDictionaryCustom buyTimesDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.BUY_TIMES.getType(), DataDictionaryEnum.BUY_TIMES.getCode()); + Integer buyTimes = Integer.parseInt(buyTimesDic.getValue()); + + DateTime date = DateUtil.date(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String yyyyMMdd = sdf.format(date); + Integer times = this.baseMapper.selectCountByCreateTimeAndMemberId(yyyyMMdd,member.getId()); + if(buyTimes <= times){ + throw new FebsException("会员今日已无法购买"); + } // MallAddressInfo address = mallAddressInfoMapper.selectAddressInfoByMemberIdAndId(member.getId(), addOrderDto.getAddressId()); // if (address == null) { -- Gitblit v1.9.1