|
|
|
@@ -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){ |
|
|
|
|