Browse Source

Merge branch 'release_toaliyun_real' of https://git.malls.iformall.com/server/formallProject into release_toaliyun_real

release_toaliyun_real
winter 1 year ago
parent
commit
b4e58f3ca6
4 changed files with 42 additions and 2 deletions
  1. +4
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivityAwardsItem.java
  2. +4
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivityGrantItem.java
  3. +1
    -1
      mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivityRecord.java
  4. +33
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java

+ 4
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivityAwardsItem.java View File

@@ -79,12 +79,16 @@ public class WxOfflineActivityAwardsItem extends TenantEntity {
*/
@TableField(value = "mall_share_rate")
private BigDecimal mallShareRate;
@TableField(exist = false)
private BigDecimal mallSharePrice;

/**
* 商户分担比例
*/
@TableField(value = "merchant_share_rate")
private BigDecimal merchantShareRate;
@TableField(exist = false)
private BigDecimal merchantSharePrice;

/**
* 创建时间


+ 4
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivityGrantItem.java View File

@@ -129,12 +129,16 @@ public class WxOfflineActivityGrantItem extends TenantEntity {
*/
@TableField(value = "mall_share_rate")
private BigDecimal mallShareRate;
@TableField(exist = false)
private BigDecimal mallSharePrice;

/**
* 商户分担比例
*/
@TableField(value = "merchant_share_rate")
private BigDecimal merchantShareRate;
@TableField(exist = false)
private BigDecimal merchantSharePrice;

/**
* 创建时间


+ 1
- 1
mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivityRecord.java View File

@@ -179,7 +179,7 @@ public class WxOfflineActivityRecord extends TenantEntity {
/**
* 审核时间
*/
@Excel(name = "审核意见", width = 20, format = "yyyy-MM-dd HH:mm:ss", orderNum = "10")
@Excel(name = "审核时间", width = 20, format = "yyyy-MM-dd HH:mm:ss", orderNum = "10")
@TableField(value = "audit_time")
private Date auditTime;



+ 33
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java View File

@@ -16,6 +16,8 @@ import com.iformall.mapper.*;
import com.iformall.service.*;
import com.iformall.utils.DateUtils;
import com.iformall.utils.DownFileUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -23,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.net.MalformedURLException;
import java.net.URL;
import java.text.NumberFormat;
@@ -40,6 +43,8 @@ import static java.util.stream.Collectors.*;
@Service
public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivityGrantAwardService{

private static final Logger log = LoggerFactory.getLogger(WxOfflineActivityGrantAwardServiceImpl.class);

@Autowired
private WxOfflineActivityGrantAwardMapper wxOfflineActivityGrantAwardMapper;

@@ -202,8 +207,13 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
limitCount = activityItem.getAwardsItemLimit();
}
activityItem.setRealAwardsItemLimit(limitCount);
//计算商户商管分别承担金额
handlerAwardsSharePrice(activityItem.getActivityAwardsItemList());
}
else if(EnumOfflineActivityType.GIFT.getCode().equals(activityItem.getType())){
//计算商户商管分别承担金额
handlerAwardsSharePrice(activityItem.getActivityAwardsItemList());

List<WxOfflineActivityAwardsItem> sortAwardsItemList = activityItem.getActivityAwardsItemList().stream().sorted(Comparator.comparing(WxOfflineActivityAwardsItem::getMinAmount)).collect(toList());
WxOfflineActivityAwardsItem grantAwardsItem = null;
for(WxOfflineActivityAwardsItem awardsItem : sortAwardsItemList){
@@ -233,7 +243,9 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
grantItem.setAwardPrice(grantAwardsItem.getPrice());
grantItem.setMoneyRule(grantAwardsItem.getMoneyRule());
grantItem.setMallShareRate(grantAwardsItem.getMallShareRate());
grantItem.setMallSharePrice(grantAwardsItem.getMallSharePrice());
grantItem.setMerchantShareRate(grantAwardsItem.getMerchantShareRate());
grantItem.setMerchantSharePrice(grantAwardsItem.getMerchantSharePrice());
activityItem.setActivityGrantItemList(Collections.singletonList(grantItem));
}
else if (EnumOfflineActivityType.CASHBACK.getCode().equals(activityItem.getType())) {
@@ -256,10 +268,24 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
awardsItem.setPrice(cashBackPriceTen.multiply(new BigDecimal(10)));
}
}
//计算商户商管分别承担金额
handlerAwardsSharePrice(activityItem.getActivityAwardsItemList());
}
}
}

private void handlerAwardsSharePrice(List<WxOfflineActivityAwardsItem> awardsItemList){
if(awardsItemList == null || awardsItemList.isEmpty()){
return;
}
for(WxOfflineActivityAwardsItem awardsItem : awardsItemList){
awardsItem.setMallSharePrice(awardsItem.getPrice()
.multiply(awardsItem.getMallShareRate().divide(new BigDecimal(100)))
.setScale(0, RoundingMode.HALF_UP));
awardsItem.setMerchantSharePrice(awardsItem.getPrice().subtract(awardsItem.getMallSharePrice()));
}
}

@Override
@Transactional(rollbackFor = Exception.class)
public void grantAward(WxOfflineActivityGrantAward wxOfflineActivityGrantAward) {
@@ -466,7 +492,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
grantGrantItem.setAwardMaxAmount(awardsItem.getMaxAmount());
grantGrantItem.setAwardsItemRule(activityItem.getAwardsItemRule());
grantGrantItem.setCashBackRatio(awardsItem.getCashBackRatio());
grantGrantItem.setAwardPrice(awardsItem.getPrice().multiply(new BigDecimal(grantGrantItem.getAwardCount())).setScale(2, BigDecimal.ROUND_HALF_UP));
grantGrantItem.setAwardPrice(awardsItem.getPrice().multiply(new BigDecimal(grantGrantItem.getAwardCount())).setScale(2, RoundingMode.HALF_UP));
grantGrantItem.setMoneyRule(awardsItem.getMoneyRule());
grantGrantItem.setMallShareRate(awardsItem.getMallShareRate());
grantGrantItem.setMerchantShareRate(awardsItem.getMerchantShareRate());
@@ -552,6 +578,12 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
activityItem.setIsMeet(false);
continue;
}
for (WxOfflineActivityGrantItem grantItem : grantActivityItemList) {
grantItem.setMallSharePrice(grantItem.getAwardPrice()
.multiply(grantItem.getMallShareRate().divide(new BigDecimal(100)))
.setScale(0, RoundingMode.HALF_UP));
grantItem.setMerchantSharePrice(grantItem.getAwardPrice().subtract(grantItem.getMallSharePrice()));
}
activityItem.setIsMeet(true);
activityItem.setActivityGrantItemList(grantActivityItemList);
}


Loading…
Cancel
Save