diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityGrantController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityGrantController.java index 45ea3a053..adf27a1c5 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityGrantController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityGrantController.java @@ -102,8 +102,16 @@ public class WxOfflineActivityGrantController extends BaseController { } TenantEntity tenantEntity = getTenantInfo(); wxOfflineActivityGrantAward.updateTenantInfo(tenantEntity); - wxOfflineActivityGrantAwardService.handlerGrantAwardPage(wxOfflineActivityGrantAward); - return new ResultData(wxOfflineActivityGrantAward); + try{ + wxOfflineActivityGrantAwardService.handlerGrantAwardPage(wxOfflineActivityGrantAward); + return new ResultData(wxOfflineActivityGrantAward); + }catch(MallinkException e){ + logger.error(e.getMessage()); + return new ResultData(e.getErrorCode(), e.getMessage()); + }catch(Exception e){ + logger.error("异常:" + e); + return new ResultData(ErrorCode.SYS_SERVER_ERROR); + } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java index b64f59a32..a7b93f069 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java @@ -181,21 +181,22 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity //订单参数处理 List activityItemList = wxOfflineActivityItemService.getActivityItemList(activity.getId(), activity.getTenantId()); + Map> activityItemRecordMap = new HashMap<>(); if(wxOfflineActivityGrantAward.getActivityItemList() != null && !wxOfflineActivityGrantAward.getActivityItemList().isEmpty()){ - Map> ActivityItemRecordMap = wxOfflineActivityGrantAward.getActivityItemList().stream().collect(toMap(WxOfflineActivityItem::getId, WxOfflineActivityItem::getRecordIds)); - for (WxOfflineActivityItem activityItem : activityItemList) { - if(EnumOfflineActivityMode.CONDITION_SUM.getCode().equals(activityItem.getModeType())){ - List records = ActivityItemRecordMap.get(activityItem.getId()); - if(records == null || records.isEmpty()){ - throw new MallinkException(Result.ERROR, "发奖未选择订单"); - } - activityItem.setRecordIds(records); - List collect = wxOfflineActivityGrantAward.getRecordList().stream() - .filter(record -> activityItem.getRecordIds().contains(record.getId())).collect(toList()); - activityItem.setRecordList(collect); - }else{ - activityItem.setRecordList(wxOfflineActivityGrantAward.getRecordList()); + activityItemRecordMap = wxOfflineActivityGrantAward.getActivityItemList().stream().collect(toMap(WxOfflineActivityItem::getId, WxOfflineActivityItem::getRecordIds)); + } + for (WxOfflineActivityItem activityItem : activityItemList) { + if(EnumOfflineActivityMode.CONDITION_SUM.getCode().equals(activityItem.getModeType())){ + List records = activityItemRecordMap.get(activityItem.getId()); + if(records == null || records.isEmpty()){ + throw new MallinkException(Result.ERROR, "发奖未选择订单"); } + activityItem.setRecordIds(records); + List collect = wxOfflineActivityGrantAward.getRecordList().stream() + .filter(record -> activityItem.getRecordIds().contains(record.getId())).collect(toList()); + activityItem.setRecordList(collect); + }else{ + activityItem.setRecordList(wxOfflineActivityGrantAward.getRecordList()); } } wxOfflineActivityGrantAward.setActivityItemList(activityItemList); @@ -687,17 +688,18 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity if(wxOfflineActivityGrantAward.getActivityItemList() == null){ throw new MallinkException(Result.ERROR, "请检查活动项参数"); } - Map grantActivityItemMap = wxOfflineActivityGrantAward.getActivityItemList().stream().collect(toMap(WxOfflineActivityItem::getId, Function.identity())); + Map grantActivityItemMap = new HashMap<>(); + if(wxOfflineActivityGrantAward.getActivityItemList() != null && !wxOfflineActivityGrantAward.getActivityItemList().isEmpty()){ + grantActivityItemMap = wxOfflineActivityGrantAward.getActivityItemList().stream().collect(toMap(WxOfflineActivityItem::getId, Function.identity())); + } List activityItemList = wxOfflineActivityItemService.getActivityItemList(activity.getId(), activity.getTenantId()); - int i = 0;//检查活动奖项 for (WxOfflineActivityItem activityItem : activityItemList) { Map awardsItemMap = activityItem.getActivityAwardsItemList().stream().collect(toMap(WxOfflineActivityAwardsItem::getId, Function.identity())); - WxOfflineActivityItem grantActivityItem = grantActivityItemMap.get(activityItem.getId()); //订单参数处理 if(EnumOfflineActivityMode.CONDITION_SUM.getCode().equals(activityItem.getModeType())){