From 78e1ed981dcabb519fbc56bc27171a7af44b9494 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Wed, 03 Jan 2024 10:33:47 +0800
Subject: [PATCH] 修改推荐人
---
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java | 2 +
src/main/resources/templates/febs/views/modules/goods/goodsCouponUpdate.html | 14 +++++++
src/main/java/cc/mrbird/febs/mall/vo/AdminMallGoodsCouponVo.java | 1
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 36 +++++++++++------
src/main/java/cc/mrbird/febs/mall/entity/MallGoodsCoupon.java | 6 +++
src/main/resources/templates/febs/views/modules/goods/goodsCouponAdd.html | 13 ++++++
src/main/java/cc/mrbird/febs/mall/dto/CouponRuleAddDto.java | 1
7 files changed, 60 insertions(+), 13 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/CouponRuleAddDto.java b/src/main/java/cc/mrbird/febs/mall/dto/CouponRuleAddDto.java
index 1e08024..df45fb4 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/CouponRuleAddDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/CouponRuleAddDto.java
@@ -17,6 +17,7 @@
@NotNull(message = "过期天数不能为空")
@Min(value = 0, message = "整数字段不能小于0")
private Integer expireDay;
+ private Integer type;
//满1000减100,满0减50;
//满足金额
@NotNull(message = "满足金额不能为空")
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallGoodsCoupon.java b/src/main/java/cc/mrbird/febs/mall/entity/MallGoodsCoupon.java
index d4a760c..1cffe8d 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/MallGoodsCoupon.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallGoodsCoupon.java
@@ -14,6 +14,10 @@
private String name;
//过期天数
private Integer expireDay;
+ //类型 1:满100只减10 2:每满100减10
+ private Integer type;
+ public static final Integer TYPE_ONE = 1;
+ public static final Integer TYPE_TWO = 2;
//1:未生效 2:生效中
private Integer state;
//满1000减100,满0减50;
@@ -21,4 +25,6 @@
private BigDecimal costAmount;
//减免金额
private BigDecimal realAmount;
+
+
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java
index 28e95b3..6592d6d 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java
@@ -2,6 +2,7 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
+import cc.mrbird.febs.common.utils.AppContants;
import cc.mrbird.febs.mall.conversion.MallGoodsConversion;
import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.entity.*;
@@ -863,6 +864,7 @@
mallGoodsCoupon.setName(name);
mallGoodsCoupon.setExpireDay(couponRuleAddDto.getExpireDay());
mallGoodsCoupon.setCostAmount(couponRuleAddDto.getCostAmount());
+ mallGoodsCoupon.setType(MallGoodsCoupon.TYPE_ONE);
mallGoodsCoupon.setRealAmount(couponRuleAddDto.getRealAmount());
mallGoodsCouponMapper.insert(mallGoodsCoupon);
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 a38156f..7b70a02 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
@@ -201,14 +201,6 @@
//卷是否和商品绑定
Long skuGoodsId = sku.getGoodsId();
Long couponId = mallMemberCoupon.getCouponId();
- List<CouponGoods> couponGoods = couponGoodsMapper.selectByGoodIdAndCouponId(skuGoodsId, couponId);
- if(ObjectUtil.isEmpty(couponGoods)){
- throw new FebsException(sku.getGoodsName()+"无法使用"+mallMemberCoupon.getCouponName());
- }
-// Long goodsId = mallMemberCoupon.getGoodsId();
-// if(goodsId != sku.getGoodsId()){
-// throw new FebsException(sku.getGoodsName()+"无法使用"+mallMemberCoupon.getCouponName());
-// }
MallGoodsCoupon mallGoodsCoupon = mallGoodsCouponMapper.selectById(mallMemberCoupon.getCouponId());
if(ObjectUtil.isEmpty(mallGoodsCoupon)){
throw new FebsException(mallGoodsCoupon.getName()+"无法使用");
@@ -217,10 +209,26 @@
if(2 != stateCoupon){
throw new FebsException(mallGoodsCoupon.getName()+"无法使用");
}
+ List<CouponGoods> couponGoods = couponGoodsMapper.selectByGoodIdAndCouponId(skuGoodsId, couponId);
+ if(ObjectUtil.isEmpty(couponGoods)){
+ throw new FebsException(sku.getGoodsName()+"无法使用"+mallMemberCoupon.getCouponName());
+ }
+// Long goodsId = mallMemberCoupon.getGoodsId();
+// if(goodsId != sku.getGoodsId()){
+// throw new FebsException(sku.getGoodsName()+"无法使用"+mallMemberCoupon.getCouponName());
+// }
BigDecimal costAmount = mallGoodsCoupon.getCostAmount();
BigDecimal realAmount = mallGoodsCoupon.getRealAmount();
if(amount.compareTo(costAmount) >= 0){
- amount = (amount.subtract(realAmount).compareTo(BigDecimal.ZERO) > 0 ? amount.subtract(realAmount) : BigDecimal.ZERO);
+ Integer type = mallGoodsCoupon.getType();
+ if(MallGoodsCoupon.TYPE_TWO == type){
+ BigDecimal divideTime = amount.divide(costAmount, 0, BigDecimal.ROUND_DOWN);//累计减免次数
+ BigDecimal multiply = divideTime.multiply(realAmount);//实际减免金额
+ amount = (amount.subtract(multiply).compareTo(BigDecimal.ZERO) > 0 ? amount.subtract(multiply) : BigDecimal.ZERO);
+ }
+ if(MallGoodsCoupon.TYPE_ONE == type){
+ amount = (amount.subtract(realAmount).compareTo(BigDecimal.ZERO) > 0 ? amount.subtract(realAmount) : BigDecimal.ZERO);
+ }
orderItem.setMemberCouponId(memberCouponId);
mallMemberCoupon.setState(2);
mallMemberCouponMapper.updateById(mallMemberCoupon);
@@ -280,6 +288,12 @@
//过期时间修改成24小时
agentProducer.sendOrderCancelDelayMsg(orderInfo.getId(), 24 * 60 * 60 * 1000L);
return orderInfo.getId();
+ }
+
+ public static void main(String[] args) {
+ BigDecimal bigDecimal = new BigDecimal(980);
+ BigDecimal divide = bigDecimal.divide(new BigDecimal(100), 0, BigDecimal.ROUND_DOWN);
+ System.out.println(divide);
}
@@ -922,10 +936,6 @@
}
return new FebsResponse().success();
- }
-
- public static void main(String[] args) {
- System.out.print(AgentLevelEnum.ZERO_LEVEL.name());
}
}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminMallGoodsCouponVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminMallGoodsCouponVo.java
index 9b68a3b..e6872f5 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/AdminMallGoodsCouponVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminMallGoodsCouponVo.java
@@ -18,6 +18,7 @@
@NotNull(message = "过期天数不能为空")
@Min(value = 0, message = "整数字段不能小于0")
private Integer expireDay;
+ private Integer type;
//满1000减100,满0减50;
//满足金额
@NotNull(message = "满足金额不能为空")
diff --git a/src/main/resources/templates/febs/views/modules/goods/goodsCouponAdd.html b/src/main/resources/templates/febs/views/modules/goods/goodsCouponAdd.html
index c8ce3c3..7281f70 100644
--- a/src/main/resources/templates/febs/views/modules/goods/goodsCouponAdd.html
+++ b/src/main/resources/templates/febs/views/modules/goods/goodsCouponAdd.html
@@ -34,6 +34,13 @@
<blockquote class="layui-elem-quote blue-border">规则</blockquote>
<div class="layui-form-item">
+ <label class="layui-form-label">满减规则:</label>
+ <div class="layui-input-block">
+ <input type="radio" name="type" value="1" title="满减卷。满100只减10" checked/>
+ <input type="radio" name="type" value="2" title="累计满减卷。每满100减10" />
+ </div>
+ </div>
+ <div class="layui-form-item">
<label class="layui-form-label febs-form-item-require">满足:</label>
<div class="layui-input-inline" style="width: 80px">
<input type="text" name="costAmount" lay-verify="required" autocomplete="off" class="layui-input" >
@@ -131,6 +138,12 @@
form.on('submit(coupon-rule-add-form-submit)', function (data) {
+ let type = data.field.type;
+ let costAmount = data.field.costAmount;
+ if(type == 2 && costAmount <= 0){
+ febs.alert.warn("累计满减卷,满足金额不能为0");
+ return false;
+ }
let couponRuleList = couponRule.getValue();
if (couponRuleList.length > 0) {
var couponIds = [];
diff --git a/src/main/resources/templates/febs/views/modules/goods/goodsCouponUpdate.html b/src/main/resources/templates/febs/views/modules/goods/goodsCouponUpdate.html
index 5f29717..705a4ae 100644
--- a/src/main/resources/templates/febs/views/modules/goods/goodsCouponUpdate.html
+++ b/src/main/resources/templates/febs/views/modules/goods/goodsCouponUpdate.html
@@ -33,6 +33,13 @@
<blockquote class="layui-elem-quote blue-border">规则</blockquote>
<div class="layui-form-item">
+ <label class="layui-form-label">满减规则:</label>
+ <div class="layui-input-block">
+ <input type="radio" name="type" value="1" title="满减卷。满100只减10" checked/>
+ <input type="radio" name="type" value="2" title="累计满减卷。每满100减10" />
+ </div>
+ </div>
+ <div class="layui-form-item">
<label class="layui-form-label febs-form-item-require">满足:</label>
<div class="layui-input-inline" style="width: 80px">
<input type="text" name="costAmount" lay-verify="required" autocomplete="off" class="layui-input" >
@@ -135,6 +142,7 @@
form.val("coupon-rule-update-form", {
"id": couponRule.id,
"name": couponRule.name,
+ "type": couponRule.type,
"expireDay": couponRule.expireDay,
"costAmount": couponRule.costAmount,
"realAmount": couponRule.realAmount
@@ -143,6 +151,12 @@
}
form.on('submit(coupon-rule-update-form-submit)', function (data) {
+ let type = data.field.type;
+ let costAmount = data.field.costAmount;
+ if(type == 2 && costAmount <= 0){
+ febs.alert.warn("累计满减卷,满足金额不能为0");
+ return false;
+ }
let couponRuleList = couponRuleGoodsIds.getValue();
if (couponRuleList.length > 0) {
var couponIds = [];
--
Gitblit v1.9.1