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