Просмотр исходного кода

//offline

release_toaliyun_real
xiaohu 1 год назад
Родитель
Сommit
f00e7f6503
1 измененных файлов: 51 добавлений и 25 удалений
  1. +51
    -25
      mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java

+ 51
- 25
mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java Просмотреть файл

@@ -277,9 +277,13 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
}else{
BigDecimal orderMoneySum = wxOfflineActivityGrantAward.getRecordList().stream().map(WxOfflineActivityRecord::getOrderMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
if(EnumOfflineActivityMode.CONDITION_SUM.getCode().equals(activityItem.getModeType())){
orderMoneySum = wxOfflineActivityGrantAward.getRecordList().stream()
.filter(record -> activityItem.getRecordIds().contains(record.getId()))
.map(WxOfflineActivityRecord::getOrderMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
if(activityItem.getRecordIds() != null && !activityItem.getRecordIds().isEmpty()){
orderMoneySum = wxOfflineActivityGrantAward.getRecordList().stream()
.filter(record -> activityItem.getRecordIds().contains(record.getId()))
.map(WxOfflineActivityRecord::getOrderMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
}else{
orderMoneySum = BigDecimal.ZERO;
}
}

WxOfflineActivityAwardsItem grantAwardsItem = null;
@@ -383,9 +387,14 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
}else{
BigDecimal orderMoneySum = recordList.stream().map(WxOfflineActivityRecord::getOrderMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
if(EnumOfflineActivityMode.CONDITION_SUM.getCode().equals(activityItem.getModeType())){
orderMoneySum = recordList.stream()
.filter(record -> activityItem.getRecordIds().contains(record.getId()))
.map(WxOfflineActivityRecord::getOrderMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
if(activityItem.getRecordIds() != null && !activityItem.getRecordIds().isEmpty()){
orderMoneySum = recordList.stream()
.filter(record -> activityItem.getRecordIds().contains(record.getId()))
.map(WxOfflineActivityRecord::getOrderMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
}else{
orderMoneySum = BigDecimal.ZERO;
}

}
if(activityItem.getAwardsItemPrice() != null && activityItem.getAwardsItemPrice().compareTo(BigDecimal.ZERO) > 0){
limitCount = orderMoneySum.divide(activityItem.getAwardsItemPrice(),0, RoundingMode.HALF_DOWN).intValue();
@@ -397,7 +406,9 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
if(jointCount != 0){
Map<Integer, WxOfflineActivityAwardsModel> jointCountMap = activityItem.getActivityAwardsModelSecondList().stream().collect(toMap(WxOfflineActivityAwardsModel::getMerchantCount, Function.identity()));
WxOfflineActivityAwardsModel activityAwardsModel = jointCountMap.get(jointCount);
limitCount += activityAwardsModel.getAwardsCount();
if(activityAwardsModel != null && activityAwardsModel.getAwardsCount() != null){
limitCount += activityAwardsModel.getAwardsCount();
}
}

if(activityItem.getAwardsItemLimit() != null && activityItem.getAwardsItemLimit() > 0
@@ -429,16 +440,22 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
wxOfflineActivityGrantItem.setAwardCount(wxOfflineActivityGrantItem.getAwardCount() + 1);
}else{
WxOfflineActivityAwardsItem awardsItem = awardsItemMap.get(awardsGrade);
wxOfflineActivityGrantItem = createGrantItemFromGrant(activityItem, awardsItem);
grantItemMap.put(awardsGrade, wxOfflineActivityGrantItem);
if(awardsItem != null){
wxOfflineActivityGrantItem = createGrantItemFromGrant(activityItem, awardsItem);
grantItemMap.put(awardsGrade, wxOfflineActivityGrantItem);
}
}
}
}else{
BigDecimal orderMoneySum = recordList.stream().map(WxOfflineActivityRecord::getOrderMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
if(EnumOfflineActivityMode.CONDITION_SUM.getCode().equals(activityItem.getModeType())){
orderMoneySum = recordList.stream()
.filter(record -> activityItem.getRecordIds().contains(record.getId()))
.map(WxOfflineActivityRecord::getOrderMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
if(activityItem.getRecordIds() != null && !activityItem.getRecordIds().isEmpty()){
orderMoneySum = recordList.stream()
.filter(record -> activityItem.getRecordIds().contains(record.getId()))
.map(WxOfflineActivityRecord::getOrderMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
}else{
orderMoneySum = BigDecimal.ZERO;
}
}
Integer awardsGrade = null;
for (WxOfflineActivityAwardsModel activityAwardsModel :activityItem.getActivityAwardsModelList()){
@@ -449,8 +466,10 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
}
if(awardsGrade != null){
WxOfflineActivityAwardsItem awardsItem = awardsItemMap.get(awardsGrade);
WxOfflineActivityGrantItem wxOfflineActivityGrantItem = createGrantItemFromGrant(activityItem, awardsItem);
grantItemMap.put(awardsGrade, wxOfflineActivityGrantItem);
if(awardsItem != null){
WxOfflineActivityGrantItem wxOfflineActivityGrantItem = createGrantItemFromGrant(activityItem, awardsItem);
grantItemMap.put(awardsGrade, wxOfflineActivityGrantItem);
}
}
}

@@ -458,14 +477,17 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
if(jointCount != 0){
Map<Integer, WxOfflineActivityAwardsModel> jointCountMap = activityItem.getActivityAwardsModelSecondList().stream().collect(toMap(WxOfflineActivityAwardsModel::getMerchantCount, Function.identity()));
WxOfflineActivityAwardsModel activityAwardsModel = jointCountMap.get(jointCount);

WxOfflineActivityGrantItem wxOfflineActivityGrantItem = grantItemMap.get(activityAwardsModel.getAwardsGrade());
if(wxOfflineActivityGrantItem != null){
wxOfflineActivityGrantItem.setAwardCount(wxOfflineActivityGrantItem.getAwardCount() + 1);
}else{
WxOfflineActivityAwardsItem awardsItem = awardsItemMap.get(activityAwardsModel.getAwardsGrade());
wxOfflineActivityGrantItem = createGrantItemFromGrant(activityItem, awardsItem);
grantItemMap.put(activityAwardsModel.getAwardsGrade(), wxOfflineActivityGrantItem);
if(activityAwardsModel != null && activityAwardsModel.getAwardsGrade() != null){
WxOfflineActivityGrantItem wxOfflineActivityGrantItem = grantItemMap.get(activityAwardsModel.getAwardsGrade());
if(wxOfflineActivityGrantItem != null){
wxOfflineActivityGrantItem.setAwardCount(wxOfflineActivityGrantItem.getAwardCount() + 1);
}else{
WxOfflineActivityAwardsItem awardsItem = awardsItemMap.get(activityAwardsModel.getAwardsGrade());
if(awardsItem != null){
wxOfflineActivityGrantItem = createGrantItemFromGrant(activityItem, awardsItem);
grantItemMap.put(activityAwardsModel.getAwardsGrade(), wxOfflineActivityGrantItem);
}
}
}
}

@@ -749,9 +771,13 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
}else{
BigDecimal orderMoneySum = wxOfflineActivityGrantAward.getRecordList().stream().map(WxOfflineActivityRecord::getOrderMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
if(EnumOfflineActivityMode.CONDITION_SUM.getCode().equals(activityItem.getModeType())){
orderMoneySum = wxOfflineActivityGrantAward.getRecordList().stream()
.filter(record -> activityItem.getRecordIds().contains(record.getId()))
.map(WxOfflineActivityRecord::getOrderMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
if(activityItem.getRecordIds() != null && !activityItem.getRecordIds().isEmpty()){
orderMoneySum = wxOfflineActivityGrantAward.getRecordList().stream()
.filter(record -> activityItem.getRecordIds().contains(record.getId()))
.map(WxOfflineActivityRecord::getOrderMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
}else{
orderMoneySum = BigDecimal.ZERO;
}
}

WxOfflineActivityAwardsItem grantAwardsItem = null;


Загрузка…
Отмена
Сохранить