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

//。。

release_toaliyun_real
xiaohu 1 год назад
Родитель
Сommit
c5805f05f9
2 измененных файлов: 30 добавлений и 9 удалений
  1. +3
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivityItem.java
  2. +27
    -9
      mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java

+ 3
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivityItem.java Просмотреть файл

@@ -157,6 +157,9 @@ public class WxOfflineActivityItem extends TenantEntity {
*/
@TableField(exist = false)
private List<WxOfflineActivityAwardsItem> activityAwardsItemList;
/**
* 联单奖项
*/
@TableField(exist = false)
private List<WxOfflineActivityAwardsItem> activityAwardsItemSecondList;
/**


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

@@ -621,7 +621,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
private void handlerGrantData(WxOfflineActivity activity,WxOfflineActivityGrantAward wxOfflineActivityGrantAward,boolean isForPage){

List<WxOfflineActivityRecord> wxOfflineActivityRecords = null;
if (null != wxOfflineActivityGrantAward.getRecordIds() && wxOfflineActivityGrantAward.getRecordIds().size() > 0 ) {
if (null != wxOfflineActivityGrantAward.getRecordIds() && !wxOfflineActivityGrantAward.getRecordIds().isEmpty()) {
wxOfflineActivityRecords = wxOfflineActivityRecordMapper.selectBatchIds(wxOfflineActivityGrantAward.getRecordIds());
}else {
WxOfflineActivityRecord recordQ = new WxOfflineActivityRecord();
@@ -683,22 +683,21 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
}

private void handlerGrantItem(WxOfflineActivity activity, WxOfflineActivityGrantAward wxOfflineActivityGrantAward){
if(wxOfflineActivityGrantAward.getActivityItemList() == null){
if(wxOfflineActivityGrantAward.getActivityItemList() == null || wxOfflineActivityGrantAward.getActivityItemList().isEmpty()){
throw new MallinkException(Result.ERROR, "请检查活动项参数");
}
Map<Long, WxOfflineActivityItem> grantActivityItemMap = new HashMap<>();
if(wxOfflineActivityGrantAward.getActivityItemList() != null && !wxOfflineActivityGrantAward.getActivityItemList().isEmpty()){
grantActivityItemMap = wxOfflineActivityGrantAward.getActivityItemList().stream().collect(toMap(WxOfflineActivityItem::getId, Function.identity()));
}
Map<Long, WxOfflineActivityItem> grantActivityItemMap = wxOfflineActivityGrantAward.getActivityItemList().stream().collect(toMap(WxOfflineActivityItem::getId, Function.identity()));

List<WxOfflineActivityItem> activityItemList = wxOfflineActivityItemService.getActivityItemList(activity.getId(), activity.getTenantId());

int i = 0;//检查活动奖项

for (WxOfflineActivityItem activityItem : activityItemList) {

Map<Long, WxOfflineActivityAwardsItem> awardsItemMap = activityItem.getActivityAwardsItemList().stream().collect(toMap(WxOfflineActivityAwardsItem::getId, Function.identity()));
WxOfflineActivityItem grantActivityItem = grantActivityItemMap.get(activityItem.getId());
if(grantActivityItem == null){
continue;
}
Map<Long, WxOfflineActivityAwardsItem> awardsItemMap = activityItem.getActivityAwardsItemList().stream().collect(toMap(WxOfflineActivityAwardsItem::getId, Function.identity()));
//订单参数处理
if(EnumOfflineActivityMode.CONDITION_SUM.getCode().equals(activityItem.getModeType())){
if(grantActivityItem.getRecordIds() == null || grantActivityItem.getRecordIds().isEmpty()){
@@ -740,7 +739,16 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
if(awardsItem == null){
throw new MallinkException(Result.ERROR, "请检查活动"+activityItem.getName()+"奖项参数");
}
handlerGrantItem(grantGrantItem,EnumOfflineActivityAwardsModeType.AMOUNT,activity,activityItem,awardsItem);
//todo 区分订单、金额、联单 handlerGrantRule()
EnumOfflineActivityAwardsModeType modeType = EnumOfflineActivityAwardsModeType.AMOUNT;
if(grantGrantItem.getRecordId() == null || grantGrantItem.getRecordId().equals(0L)){
grantGrantItem.setRecordId(null);
}else if(grantGrantItem.getRecordId().equals(-1L)){
grantGrantItem.setRecordId(null);
modeType = EnumOfflineActivityAwardsModeType.COUNT;
}

handlerGrantItem(grantGrantItem,modeType,activity,activityItem,awardsItem);
}
activityItem.setActivityGrantItemList(activityGrantItemList);

@@ -774,6 +782,16 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
grantRule.setActivityItemName(activityItem.getName());
grantRule.setActivityItemType(activityItem.getType());
grantRule.setAwardsItemLimit(awardsItemLimit);

if(EnumOfflineActivityAwardsModeType.AMOUNT.equals(modeType)){
if(grantRule.getRecordId() == null){
grantRule.setRecordId(0L);
}
} else if (EnumOfflineActivityAwardsModeType.COUNT.equals(modeType)) {
grantRule.setRecordId(-1L);
}

}

private void handlerGrantItem(WxOfflineActivityGrantItem grantGrantItem,EnumOfflineActivityAwardsModeType modeType,WxOfflineActivity activity,WxOfflineActivityItem activityItem,WxOfflineActivityAwardsItem awardsItem){


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