diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCashBackActivityController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCashBackActivityController.java index cdab31690..b23c16edf 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCashBackActivityController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCashBackActivityController.java @@ -7,12 +7,14 @@ import com.iformall.common.ResultData; import com.iformall.controller.base.BaseController; import com.iformall.domain.po.WxCUserBasicInfo; import com.iformall.domain.po.WxCashBackActivity; +import com.iformall.domain.po.WxCashBackActivityItem; import com.iformall.domain.po.WxCashBackActivityRecord; import com.iformall.domain.po.WxCashOut; import com.iformall.domain.po.WxCoupon; import com.iformall.domain.po.WxMerchant; import com.iformall.domain.po.base.BaseEntity.SortField; import com.iformall.domain.po.base.TenantEntity; +import com.iformall.enums.EnumCashBackActivityItemRule; import com.iformall.enums.EnumCashBackActivityRecordStatus; import com.iformall.enums.EnumCashBackActivityStatus; import com.iformall.enums.EnumCashOutStatus; @@ -121,6 +123,20 @@ public class WxCashBackActivityController extends BaseController { if (null == wxCashBackActivity.getItemList() || wxCashBackActivity.getItemList().size() <= 0 ) { return new ResultData(Result.ERROR,"规则不能为空"); } + List itemList = wxCashBackActivity.getItemList(); + for (WxCashBackActivityItem i : itemList) { + if (i.getMoneyRule().intValue() == EnumCashBackActivityItemRule.MALL_ONLY.getCode().intValue()) { + i.setMallBackRate(i.getTotalBackRate()); + i.setMerchantBackRate(new BigDecimal(0)); + }else if (i.getMoneyRule().intValue() == EnumCashBackActivityItemRule.MERCHANT_ONLY.getCode().intValue()) { + i.setMallBackRate(new BigDecimal(0)); + i.setMerchantBackRate(i.getTotalBackRate()); + }else if (i.getMoneyRule().intValue() == EnumCashBackActivityItemRule.SHARE.getCode().intValue()) { + if (i.getMallBackRate().add(i.getMerchantBackRate()).intValue() != 100) { + return new ResultData(Result.ERROR,"分担规则下,商户和商管的比例总和需要为100%"); + } + } + } if (null == wxCashBackActivity.getMerchantList() || wxCashBackActivity.getMerchantList().size() <= 0 ) { return new ResultData(Result.ERROR,"商户不能为空"); } diff --git a/mallinkAdmin/src/main/resources/db/migration/V20240200001.sql b/mallinkAdmin/src/main/resources/db/migration/V20240200001.sql index 8b280e3fc..f1d2c0409 100644 --- a/mallinkAdmin/src/main/resources/db/migration/V20240200001.sql +++ b/mallinkAdmin/src/main/resources/db/migration/V20240200001.sql @@ -8,7 +8,7 @@ CREATE TABLE `wx_cash_back_activity` ( `status` smallint(2) NOT NULL DEFAULT '0' COMMENT '状态(0:未上架 1:已上架)', `create_date` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_date` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', - `limit_money` int(11) NOT NULL COMMENT '最低订单金额', + `limit_money` decimal(10,3) NOT NULL COMMENT '最低订单金额', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='卡券'; diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCashBackActivity.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCashBackActivity.java index eb60fdeb2..6cc1155c0 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCashBackActivity.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCashBackActivity.java @@ -7,6 +7,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; +import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -33,7 +34,7 @@ public class WxCashBackActivity extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value = "结束时间", name = "endTime") private Date endTime; @io.swagger.annotations.ApiModelProperty(value = "最低订单金额", name = "limitMoney") - private Integer limitMoney; + private BigDecimal limitMoney; @TableField(exist = false) private Integer validTime; diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumCashBackActivityItemRule.java b/mallinkService/src/main/java/com/iformall/enums/EnumCashBackActivityItemRule.java index 06f122ed6..e98aa5250 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumCashBackActivityItemRule.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumCashBackActivityItemRule.java @@ -1,5 +1,6 @@ package com.iformall.enums; +import java.math.BigDecimal; /** * @author gongbiao @@ -34,4 +35,5 @@ public enum EnumCashBackActivityItemRule { public String getMessage() { return message; } + } diff --git a/mallinkService/src/main/resources/mapper/WxCashBackActivityMapper.xml b/mallinkService/src/main/resources/mapper/WxCashBackActivityMapper.xml index 165e8a661..ae5dd415f 100644 --- a/mallinkService/src/main/resources/mapper/WxCashBackActivityMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCashBackActivityMapper.xml @@ -11,7 +11,7 @@ - +