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

//。。

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) @TableField(exist = false)
private List<WxOfflineActivityAwardsItem> activityAwardsItemList; private List<WxOfflineActivityAwardsItem> activityAwardsItemList;
/**
* 联单奖项
*/
@TableField(exist = false) @TableField(exist = false)
private List<WxOfflineActivityAwardsItem> activityAwardsItemSecondList; 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){ private void handlerGrantData(WxOfflineActivity activity,WxOfflineActivityGrantAward wxOfflineActivityGrantAward,boolean isForPage){


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


private void handlerGrantItem(WxOfflineActivity activity, WxOfflineActivityGrantAward wxOfflineActivityGrantAward){ private void handlerGrantItem(WxOfflineActivity activity, WxOfflineActivityGrantAward wxOfflineActivityGrantAward){
if(wxOfflineActivityGrantAward.getActivityItemList() == null){
if(wxOfflineActivityGrantAward.getActivityItemList() == null || wxOfflineActivityGrantAward.getActivityItemList().isEmpty()){
throw new MallinkException(Result.ERROR, "请检查活动项参数"); 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()); List<WxOfflineActivityItem> activityItemList = wxOfflineActivityItemService.getActivityItemList(activity.getId(), activity.getTenantId());


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


for (WxOfflineActivityItem activityItem : activityItemList) { for (WxOfflineActivityItem activityItem : activityItemList) {

Map<Long, WxOfflineActivityAwardsItem> awardsItemMap = activityItem.getActivityAwardsItemList().stream().collect(toMap(WxOfflineActivityAwardsItem::getId, Function.identity()));
WxOfflineActivityItem grantActivityItem = grantActivityItemMap.get(activityItem.getId()); 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(EnumOfflineActivityMode.CONDITION_SUM.getCode().equals(activityItem.getModeType())){
if(grantActivityItem.getRecordIds() == null || grantActivityItem.getRecordIds().isEmpty()){ if(grantActivityItem.getRecordIds() == null || grantActivityItem.getRecordIds().isEmpty()){
@@ -740,7 +739,16 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
if(awardsItem == null){ if(awardsItem == null){
throw new MallinkException(Result.ERROR, "请检查活动"+activityItem.getName()+"奖项参数"); 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); activityItem.setActivityGrantItemList(activityGrantItemList);


@@ -774,6 +782,16 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
grantRule.setActivityItemName(activityItem.getName()); grantRule.setActivityItemName(activityItem.getName());
grantRule.setActivityItemType(activityItem.getType()); grantRule.setActivityItemType(activityItem.getType());
grantRule.setAwardsItemLimit(awardsItemLimit); 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){ private void handlerGrantItem(WxOfflineActivityGrantItem grantGrantItem,EnumOfflineActivityAwardsModeType modeType,WxOfflineActivity activity,WxOfflineActivityItem activityItem,WxOfflineActivityAwardsItem awardsItem){


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