From ff511676851316a4dfeecf37714f108e81b02e44 Mon Sep 17 00:00:00 2001 From: xiaohu <1901900812@qq.com> Date: Wed, 14 Aug 2024 13:30:02 +0800 Subject: [PATCH] //OfflineActivity --- .../WxOfflineActivityGrantController.java | 6 ++-- ...xOfflineActivityGrantAwardServiceImpl.java | 29 +++++++++++++------ 2 files changed, 23 insertions(+), 12 deletions(-) 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 a256a0134..7d75661c8 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityGrantController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityGrantController.java @@ -112,9 +112,9 @@ public class WxOfflineActivityGrantController extends BaseController { if(wxOfflineActivityGrantAward.getRecordIds() == null || wxOfflineActivityGrantAward.getRecordIds().isEmpty()){ return new ResultData(Result.ERROR,"请选择订单"); } - if(StringUtil.isBlank(wxOfflineActivityGrantAward.getSignImg())){ - return new ResultData(Result.ERROR,"签名为空"); - } +// if(StringUtil.isBlank(wxOfflineActivityGrantAward.getSignImg())){ +// return new ResultData(Result.ERROR,"签名为空"); +// } TenantEntity tenantEntity = getTenantInfo(); wxOfflineActivityGrantAward.updateTenantInfo(tenantEntity); wxOfflineActivityGrantAward.setCreateBy(getUserId()); 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 f893048b2..524c4ab10 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java @@ -30,6 +30,8 @@ import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; +import static java.util.stream.Collectors.*; + /** * @author xiaohu * @description 针对表【wx_offline_activity_grant_award(线下活动发放奖励)】的数据库操作Service实现 @@ -199,10 +201,13 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity && activityItem.getAwardsItemLimit() < limitCount){ limitCount = activityItem.getAwardsItemLimit(); } + if(limitCount == 0){ + activityItem.setIsMeet(false); + } activityItem.setRealAwardsItemLimit(limitCount); } else if(EnumOfflineActivityType.GIFT.getCode().equals(activityItem.getType())){ - List sortAwardsItemList = activityItem.getActivityAwardsItemList().stream().sorted(Comparator.comparing(WxOfflineActivityAwardsItem::getMinAmount)).collect(Collectors.toList()); + List sortAwardsItemList = activityItem.getActivityAwardsItemList().stream().sorted(Comparator.comparing(WxOfflineActivityAwardsItem::getMinAmount)).collect(toList()); WxOfflineActivityAwardsItem grantAwardsItem = null; for(WxOfflineActivityAwardsItem awardsItem : sortAwardsItemList){ if((awardsItem.getMinAmount() == null || wxOfflineActivityGrantAward.getOrderMoneySum().compareTo(awardsItem.getMinAmount()) >= 0) @@ -321,7 +326,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity private void handlerGrantItem(WxOfflineActivity activity, WxOfflineActivityGrantAward wxOfflineActivityGrantAward){ List activityItemList = wxOfflineActivityItemService.getActivityItemList(activity.getId(), activity.getTenantId()); - Map activityItemMap = activityItemList.stream().collect(Collectors.toMap(WxOfflineActivityItem::getId, Function.identity())); + Map activityItemMap = activityItemList.stream().collect(toMap(WxOfflineActivityItem::getId, Function.identity())); int i = 0;//检查活动奖项 for (WxOfflineActivityItem grantActivityItem : wxOfflineActivityGrantAward.getActivityItemList()) { @@ -337,8 +342,14 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity continue; // throw new MallinkException(Result.ERROR, "请检查活动奖项参数"); } + boolean isRepeat = activityGrantItemList.stream() + .collect(groupingBy(WxOfflineActivityGrantItem::getAwardItamId, counting())) + .entrySet().stream().anyMatch(e -> e.getValue() > 1); + if(isRepeat){ + throw new MallinkException(Result.ERROR, "请检查活动奖项存在重复"); + } - Map awardsItemMap = activityItem.getActivityAwardsItemList().stream().collect(Collectors.toMap(WxOfflineActivityAwardsItem::getId, Function.identity())); + Map awardsItemMap = activityItem.getActivityAwardsItemList().stream().collect(toMap(WxOfflineActivityAwardsItem::getId, Function.identity())); for (WxOfflineActivityGrantItem grantGrantItem : activityGrantItemList) { i++; @@ -361,7 +372,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity && activityItem.getAwardsItemLimit() < limitCount){ limitCount = activityItem.getAwardsItemLimit(); } - if(limitCount != 0 && activityGrantItemList.stream().mapToInt(WxOfflineActivityGrantItem::getAwardCount).sum()>limitCount){ + if(activityGrantItemList.stream().mapToInt(WxOfflineActivityGrantItem::getAwardCount).sum()>limitCount){ throw new MallinkException(Result.ERROR, "活动项"+activityItem.getName()+"奖券超过限制"); } @@ -514,7 +525,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity grantItemQ.updateTenantInfo(grantAward); grantItemQ.setGrantId(grantId); List grantItemList = wxOfflineActivityGrantItemMapper.findList(grantItemQ); - Map> activityItemGrantMap = grantItemList.stream().collect(Collectors.groupingBy(WxOfflineActivityGrantItem::getActivityItemId)); + Map> activityItemGrantMap = grantItemList.stream().collect(groupingBy(WxOfflineActivityGrantItem::getActivityItemId)); for (WxOfflineActivityItem activityItem : grantAward.getActivityItemList()) { List grantActivityItemList = activityItemGrantMap.get(activityItem.getId()); if (grantActivityItemList == null || grantActivityItemList.isEmpty()) { @@ -554,7 +565,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity grantItemQ.updateTenantInfo(wxOfflineActivity); grantItemQ.setActivityId(wxOfflineActivity.getId()); List grantItem = wxOfflineActivityGrantItemMapper.findList(grantItemQ); - Map> grantItemMap = grantItem.stream().collect(Collectors.groupingBy(WxOfflineActivityGrantItem::getGrantId)); + Map> grantItemMap = grantItem.stream().collect(groupingBy(WxOfflineActivityGrantItem::getGrantId)); for (WxOfflineActivityGrantAward grantAward : grantAwardList) { List recordList = wxOfflineActivityRecordMapper.findGrantList(grantAward.getId(),grantAward.getTenantId()); List grantItemList = grantItemMap.get(grantAward.getId()); @@ -564,7 +575,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity for (WxOfflineActivityRecord record : recordList) { merchantOrder.add(record.getOrderNo()+"["+merchantMap.get(record.getMerchantId())+"]"); } - activityGrantObject.put("merchantOrder",merchantOrder.stream().collect(Collectors.joining(";"))); + activityGrantObject.put("merchantOrder",merchantOrder.stream().collect(joining(";"))); activityGrantObject.put("orderMoneySum",grantAward.getOrderMoneySum()); activityGrantObject.put("cusName",grantAward.getCusName()); activityGrantObject.put("cusPhone",grantAward.getCusPhone()); @@ -572,13 +583,13 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity activityGrantObject.put("realCard",grantAward.getRealCard()); activityGrantObject.put("createByName",grantAward.getCreateBy()!=null?userMap.get(grantAward.getCreateBy()).getName():""); activityGrantObject.put("createDate",DateUtils.date2String(grantAward.getCreateDate())); - Map> granActivityItemMap = grantItemList.stream().collect(Collectors.groupingBy(WxOfflineActivityGrantItem::getActivityItemId)); + Map> granActivityItemMap = grantItemList.stream().collect(groupingBy(WxOfflineActivityGrantItem::getActivityItemId)); for (WxOfflineActivityItem activityItem : activity.getActivityItemList()) { List granActivityItemList = granActivityItemMap.get(activityItem.getId()); if(EnumOfflineActivityType.LOTTERY_DRAW.getCode().equals(activityItem.getType())){ Map granAwardItamMap = new HashMap<>(); if(granActivityItemList != null && !granActivityItemList.isEmpty()){ - granAwardItamMap = granActivityItemList.stream().collect(Collectors.toMap(WxOfflineActivityGrantItem::getAwardItamId, Function.identity())); + granAwardItamMap = granActivityItemList.stream().collect(toMap(WxOfflineActivityGrantItem::getAwardItamId, Function.identity())); } for (WxOfflineActivityAwardsItem awardsItem : activityItem.getActivityAwardsItemList()) { WxOfflineActivityGrantItem grantAwardsItem = granAwardItamMap.get(awardsItem.getId());