From 31404c6459b657d06608ce48259931a3e75cbf5b Mon Sep 17 00:00:00 2001 From: xiaohu <1901900812@qq.com> Date: Thu, 17 Apr 2025 22:26:41 +0800 Subject: [PATCH] //export --- .../WxOfflineActivityGrantAwardService.java | 1 + ...xOfflineActivityGrantAwardServiceImpl.java | 861 +++++++++++++----- 2 files changed, 616 insertions(+), 246 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/WxOfflineActivityGrantAwardService.java b/mallinkService/src/main/java/com/iformall/service/WxOfflineActivityGrantAwardService.java index 49dac9ec0..8c13970b5 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxOfflineActivityGrantAwardService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxOfflineActivityGrantAwardService.java @@ -39,4 +39,5 @@ public interface WxOfflineActivityGrantAwardService { List selectListByIds(List grantIds, TenantEntity tenantEntity); void activityGrantItemCountExport(HttpServletRequest request, HttpServletResponse response, OfflineActivityAwardsItemVo offlineActivityAwardsItemVo); + } 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 23017e6e1..cdd23971d 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java @@ -758,12 +758,13 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity // throw new MallinkException(Result.ERROR, "活动项"+activityItem.getName()+"金额不满足"); // } -// boolean isRepeat = activityGrantItemList.stream() -// .collect(groupingBy(WxOfflineActivityGrantItem::getAwardItamId, counting())) -// .entrySet().stream().anyMatch(e -> e.getValue() > 1); -// if(isRepeat){ -// throw new MallinkException(Result.ERROR, "请检查活动奖项存在重复"); -// } + //所得奖项不能重复, 后续计算问题 + boolean isRepeat = activityGrantItemList.stream() + .collect(groupingBy(e -> String.valueOf(e.getAwardItamId())+String.valueOf(e.getRecordId()), counting())) + .entrySet().stream().anyMatch(e -> e.getValue() > 1); + if(isRepeat){ + throw new MallinkException(Result.ERROR, "请检查抽奖活动奖项存在重复"); + } for (WxOfflineActivityGrantItem grantGrantItem : activityGrantItemList) { if(grantGrantItem.getAwardItamId() == null){ @@ -1006,13 +1007,16 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity grantItemQ.setStatus(EnumYesOrNo.YES.getCode()); List grantItems = wxOfflineActivityGrantItemMapper.findList(grantItemQ); Map> grantItemMap = grantItems.stream().collect(groupingBy(WxOfflineActivityGrantItem::getGrantId)); + List grantRecords = wxOfflineActivityRecordGrantMapper.findGrantRecordList(wxOfflineActivity.getId(),wxOfflineActivity.getTenantId()); Map> grantRecordMap = grantRecords.stream().collect(groupingBy(OfflineActivityGrantRecord::getGrantId)); + WxOfflineActivityGrantCashBack cashBackQ = new WxOfflineActivityGrantCashBack(); cashBackQ.updateTenantInfo(wxOfflineActivity); cashBackQ.setActivityId(wxOfflineActivity.getId()); List cashBacks = wxOfflineActivityGrantCashBackMapper.findList(cashBackQ); Map> cashBackMap = cashBacks.stream().collect(groupingBy(WxOfflineActivityGrantCashBack::getGrantId)); + WxOfflineActivityGrantSettlement settlementQ = new WxOfflineActivityGrantSettlement(); settlementQ.updateTenantInfo(wxOfflineActivity); settlementQ.setActivityId(wxOfflineActivity.getId()); @@ -1093,42 +1097,200 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity for (WxOfflineActivityItem activityItem : activity.getActivityItemList()) { List granActivityItemList = granActivityItemMap.get(activityItem.getId()); + //拆成金额和联单 + List amountGrantItems = new ArrayList<>(), + countGrantItems = new ArrayList<>(); + if(granActivityItemList != null && !granActivityItemList.isEmpty()){ + Map> amonutCountMap = granActivityItemList.stream().collect(groupingBy(WxOfflineActivityGrantItem::getGrantAwardsMode)); + amountGrantItems = amonutCountMap.get(EnumOfflineActivityAwardsModeType.AMOUNT.getCode()); + countGrantItems = amonutCountMap.get(EnumOfflineActivityAwardsModeType.COUNT.getCode()); + } + List grantSettlementList = grantSettlementMap.get(activityItem.getId()); Map> grantSettlementItemMap = new HashMap<>(); if(grantSettlementList != null && !grantSettlementList.isEmpty()){ - grantSettlementItemMap = grantSettlementList.stream().collect(groupingBy(WxOfflineActivityGrantSettlement::getAwardItamId)); + grantSettlementItemMap = grantSettlementList.stream().collect(groupingBy(WxOfflineActivityGrantSettlement::getGrantItemId)); } - if(EnumOfflineActivityType.LOTTERY_DRAW.getCode().equals(activityItem.getType())){ - Map granAwardItamMap = new HashMap<>(); - if(granActivityItemList != null && !granActivityItemList.isEmpty()){ - granAwardItamMap = granActivityItemList.stream().collect(toMap(WxOfflineActivityGrantItem::getAwardItamId, Function.identity())); + if(EnumOfflineActivityType.LOTTERY_DRAW.getCode().equals(activityItem.getType())){ + Map> amountGranAwardItamMap = new HashMap<>(); + if(amountGrantItems != null && !amountGrantItems.isEmpty()){ + amountGranAwardItamMap = amountGrantItems.stream().collect(groupingBy(WxOfflineActivityGrantItem::getAwardItamId)); + } + Map countGranAwardItamMap = new HashMap<>(); + if(countGrantItems != null && !countGrantItems.isEmpty()){ + countGranAwardItamMap = countGrantItems.stream().collect(toMap(WxOfflineActivityGrantItem::getAwardItamId, Function.identity())); } for (WxOfflineActivityAwardsItem awardsItem : activityItem.getActivityAwardsItemList()) { - activityGrantObject.put(String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_activityItemName",activityItem.getName()); - activityGrantObject.put(String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_awardsItemName",awardsItem.getName()); - WxOfflineActivityGrantItem grantAwardsItem = granAwardItamMap.get(awardsItem.getId()); - if(grantAwardsItem != null){ - activityGrantObject.put(String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_awardsItemCount",grantAwardsItem.getAwardCount()); - activityGrantObject.put(String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_awardsItemPrice",grantAwardsItem.getAwardPrice()); - activityGrantObject.put(String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_mallRate",grantAwardsItem.getMallShareRate()); - activityGrantObject.put(String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_merchantRate",grantAwardsItem.getMerchantShareRate()); - } else { - activityGrantObject.put(String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_awardsItemCount",0); - activityGrantObject.put(String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_awardsItemPrice",0); - activityGrantObject.put(String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_mallRate",0); - activityGrantObject.put(String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_merchantRate",0); + List amountAwarsGrants = amountGranAwardItamMap.get(awardsItem.getId()); + if(amountAwarsGrants != null && !amountAwarsGrants.isEmpty()){ + if(EnumOfflineActivityMode.ONE.getCode().equals(activityItem.getModeType())){ + Map collect = new HashMap<>(); + try{ + collect = amountAwarsGrants.stream().collect(toMap(WxOfflineActivityGrantItem::getRecordId, Function.identity())); + }catch(Exception e){ + log.error("活动("+activityItem.getName()+")发奖异常"); + continue; + } + List> oneOrderGrant = new ArrayList<>(); + for (OfflineActivityGrantRecord offlineActivityGrantRecord : grantRecordList) { + Map orderGrant = new HashMap<>(); + WxOfflineActivityGrantItem wxOfflineActivityGrantItem = collect.get(offlineActivityGrantRecord.getRecordId()); + if(wxOfflineActivityGrantItem!=null){ + orderGrant.put("activityItemName",activityItem.getName()); + orderGrant.put("awardsItemName",wxOfflineActivityGrantItem.getAwardName()); + orderGrant.put("awardsItemCount",wxOfflineActivityGrantItem.getAwardCount()); + orderGrant.put("awardsItemPrice",wxOfflineActivityGrantItem.getAwardPrice()); + orderGrant.put("mallRate",wxOfflineActivityGrantItem.getMallShareRate()); + orderGrant.put("merchantRate",wxOfflineActivityGrantItem.getMerchantShareRate()); + List wxOfflineActivityGrantSettlements = grantSettlementItemMap.get(wxOfflineActivityGrantItem.getId()); + WxOfflineActivityGrantSettlement grantSettlement = wxOfflineActivityGrantSettlements.get(0); + orderGrant.put("mallSharePrice",grantSettlement.getRealMallSharePrice()); + orderGrant.put("merchantSharePrice",grantSettlement.getRealMerchantSharePrice()); + } + oneOrderGrant.add(orderGrant); + } + activityGrantObject.put(String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_orderAwardsList",oneOrderGrant); + }else{ + if(amountAwarsGrants.size() != 1){ + log.error("活动("+activityItem.getName()+")发奖异常"); + continue; + } + WxOfflineActivityGrantItem grantAwardsItem = amountAwarsGrants.get(0); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_activityItemName",activityItem.getName()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_awardsItemName",grantAwardsItem.getAwardName()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_awardsItemCount",grantAwardsItem.getAwardCount()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_awardsItemPrice",grantAwardsItem.getAwardPrice()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_mallRate",grantAwardsItem.getMallShareRate()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_merchantRate",grantAwardsItem.getMerchantShareRate()); + + List wxOfflineActivityGrantSettlements = grantSettlementItemMap.get(grantAwardsItem.getId()); + Map collect = wxOfflineActivityGrantSettlements.stream().collect(toMap(WxOfflineActivityGrantSettlement::getRecordId, Function.identity())); + List> sharePriceList = new ArrayList<>(); + for (OfflineActivityGrantRecord offlineActivityGrantRecord : grantRecordList) { + Map sharePriceObject = new HashMap<>(); + WxOfflineActivityGrantSettlement settlementOrder = collect.get(offlineActivityGrantRecord.getRecordId()); + if(settlementOrder != null){ + sharePriceObject.put("mallSharePrice",settlementOrder.getRealMallSharePrice()); + sharePriceObject.put("merchantSharePrice",settlementOrder.getRealMerchantSharePrice()); + }else{ + sharePriceObject.put("mallSharePrice",0); + sharePriceObject.put("merchantSharePrice",0); + } + sharePriceList.add(sharePriceObject); + } + activityGrantObject.put(String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_sharePriceList",sharePriceList); + } } - Map grantSettlementOrderMap = new HashMap<>(); - List grantSettlementItemList = grantSettlementItemMap.get(awardsItem.getId()); - if(grantSettlementItemList != null && !grantSettlementItemList.isEmpty()){ - grantSettlementOrderMap = grantSettlementItemList.stream().collect(toMap(WxOfflineActivityGrantSettlement::getRecordId, Function.identity())); + + //联单 + WxOfflineActivityGrantItem countGrantItem = countGranAwardItamMap.get(awardsItem.getId()); + if(countGrantItem != null){ + activityGrantObject.put(String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_activityItemName_c",activityItem.getName()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_awardsItemName_c",countGrantItem.getAwardName()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_awardsItemCount_c",countGrantItem.getAwardCount()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_awardsItemPrice_c",countGrantItem.getAwardPrice()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_mallRate_c",countGrantItem.getMallShareRate()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_merchantRate_c",countGrantItem.getMerchantShareRate()); + + List wxOfflineActivityGrantSettlements = grantSettlementItemMap.get(countGrantItem.getId()); + Map collect = wxOfflineActivityGrantSettlements.stream().collect(toMap(WxOfflineActivityGrantSettlement::getRecordId, Function.identity())); + List> sharePriceList = new ArrayList<>(); + for (OfflineActivityGrantRecord offlineActivityGrantRecord : grantRecordList) { + Map sharePriceObject = new HashMap<>(); + WxOfflineActivityGrantSettlement settlementOrder = collect.get(offlineActivityGrantRecord.getRecordId()); + if(settlementOrder != null){ + sharePriceObject.put("mallSharePrice",settlementOrder.getRealMallSharePrice()); + sharePriceObject.put("merchantSharePrice",settlementOrder.getRealMerchantSharePrice()); + }else{ + sharePriceObject.put("mallSharePrice",0); + sharePriceObject.put("merchantSharePrice",0); + } + sharePriceList.add(sharePriceObject); + } + activityGrantObject.put(String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_sharePriceList_c",sharePriceList); } + } + + }else if(EnumOfflineActivityType.GIFT.getCode().equals(activityItem.getType())){ + if(amountGrantItems != null && !amountGrantItems.isEmpty()){ + if(EnumOfflineActivityMode.ONE.getCode().equals(activityItem.getModeType())){ + Map collect = new HashMap<>(); + try{ + collect = amountGrantItems.stream().collect(toMap(WxOfflineActivityGrantItem::getRecordId, Function.identity())); + }catch(Exception e){ + log.error("活动("+activityItem.getName()+")发奖异常"); + continue; + } + List> oneOrderGrant = new ArrayList<>(); + for (OfflineActivityGrantRecord offlineActivityGrantRecord : grantRecordList) { + Map orderGrant = new HashMap<>(); + WxOfflineActivityGrantItem wxOfflineActivityGrantItem = collect.get(offlineActivityGrantRecord.getRecordId()); + if(wxOfflineActivityGrantItem!=null){ + orderGrant.put("activityItemName",activityItem.getName()); + orderGrant.put("awardsItemName",wxOfflineActivityGrantItem.getAwardName()); + orderGrant.put("awardsItemCount",wxOfflineActivityGrantItem.getAwardCount()); + orderGrant.put("awardsItemPrice",wxOfflineActivityGrantItem.getAwardPrice()); + orderGrant.put("mallRate",wxOfflineActivityGrantItem.getMallShareRate()); + orderGrant.put("merchantRate",wxOfflineActivityGrantItem.getMerchantShareRate()); + List wxOfflineActivityGrantSettlements = grantSettlementItemMap.get(wxOfflineActivityGrantItem.getId()); + WxOfflineActivityGrantSettlement grantSettlement = wxOfflineActivityGrantSettlements.get(0); + orderGrant.put("mallSharePrice",grantSettlement.getRealMallSharePrice()); + orderGrant.put("merchantSharePrice",grantSettlement.getRealMerchantSharePrice()); + } + oneOrderGrant.add(orderGrant); + } + activityGrantObject.put(String.valueOf(activityItem.getId())+"_orderAwardsList",oneOrderGrant); + }else{ + if(amountGrantItems.size() != 1){ + log.error("活动("+activityItem.getName()+")发奖异常"); + continue; + } + WxOfflineActivityGrantItem grantItem = amountGrantItems.get(0); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_activityItemName",activityItem.getName()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_awardsGrade",grantItem.getAwardGrade()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_awardsItemName",grantItem.getAwardName()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_awardsItemPrice",grantItem.getAwardPrice()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_mallRate",grantItem.getMallShareRate()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_merchantRate",grantItem.getMerchantShareRate()); + + List wxOfflineActivityGrantSettlements = grantSettlementItemMap.get(grantItem.getId()); + Map collect = wxOfflineActivityGrantSettlements.stream().collect(toMap(WxOfflineActivityGrantSettlement::getRecordId, Function.identity())); + List> sharePriceList = new ArrayList<>(); + for (OfflineActivityGrantRecord offlineActivityGrantRecord : grantRecordList) { + Map sharePriceObject = new HashMap<>(); + WxOfflineActivityGrantSettlement settlementOrder = collect.get(offlineActivityGrantRecord.getRecordId()); + if(settlementOrder != null){ + sharePriceObject.put("mallSharePrice",settlementOrder.getRealMallSharePrice()); + sharePriceObject.put("merchantSharePrice",settlementOrder.getRealMerchantSharePrice()); + }else{ + sharePriceObject.put("mallSharePrice",0); + sharePriceObject.put("merchantSharePrice",0); + } + sharePriceList.add(sharePriceObject); + } + activityGrantObject.put(String.valueOf(activityItem.getId())+"_sharePriceList",sharePriceList); + } + } + + //联单 + if(countGrantItems != null && !countGrantItems.isEmpty()){ + WxOfflineActivityGrantItem grantItem = countGrantItems.get(0); + + activityGrantObject.put(String.valueOf(activityItem.getId())+"_activityItemName_c",activityItem.getName()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_awardsGrade_c",grantItem.getAwardGrade()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_awardsItemName_c",grantItem.getAwardName()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_awardsItemPrice_c",grantItem.getAwardPrice()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_mallRate_c",grantItem.getMallShareRate()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_merchantRate_c",grantItem.getMerchantShareRate()); + + List wxOfflineActivityGrantSettlements = grantSettlementItemMap.get(grantItem.getId()); + Map collect = wxOfflineActivityGrantSettlements.stream().collect(toMap(WxOfflineActivityGrantSettlement::getRecordId, Function.identity())); List> sharePriceList = new ArrayList<>(); for (OfflineActivityGrantRecord offlineActivityGrantRecord : grantRecordList) { Map sharePriceObject = new HashMap<>(); - WxOfflineActivityGrantSettlement settlementOrder = grantSettlementOrderMap.get(offlineActivityGrantRecord.getRecordId()); + WxOfflineActivityGrantSettlement settlementOrder = collect.get(offlineActivityGrantRecord.getRecordId()); if(settlementOrder != null){ sharePriceObject.put("mallSharePrice",settlementOrder.getRealMallSharePrice()); sharePriceObject.put("merchantSharePrice",settlementOrder.getRealMerchantSharePrice()); @@ -1138,122 +1300,131 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity } sharePriceList.add(sharePriceObject); } - activityGrantObject.put(String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_sharePriceList",sharePriceList); - } - }else if(EnumOfflineActivityType.GIFT.getCode().equals(activityItem.getType())){ - activityGrantObject.put(String.valueOf(activityItem.getId())+"_activityItemName",activityItem.getName()); - if(granActivityItemList != null && !granActivityItemList.isEmpty()){ - WxOfflineActivityGrantItem grantItem = granActivityItemList.get(0); - activityGrantObject.put(String.valueOf(activityItem.getId())+"_awardsGrade",grantItem.getAwardGrade()); - activityGrantObject.put(String.valueOf(activityItem.getId())+"_awardsItemName",grantItem.getAwardName()); - activityGrantObject.put(String.valueOf(activityItem.getId())+"_awardsItemPrice",grantItem.getAwardPrice()); - activityGrantObject.put(String.valueOf(activityItem.getId())+"_mallRate",grantItem.getMallShareRate()); - activityGrantObject.put(String.valueOf(activityItem.getId())+"_merchantRate",grantItem.getMerchantShareRate()); - - List grantSettlementItemList = grantSettlementItemMap.get(grantItem.getAwardItamId()); - Map grantSettlementOrderMap = grantSettlementItemList.stream().collect(toMap(WxOfflineActivityGrantSettlement::getRecordId, Function.identity())); - List> sharePriceList = new ArrayList<>(); - for (OfflineActivityGrantRecord offlineActivityGrantRecord : grantRecordList) { - Map sharePriceObject = new HashMap<>(); - WxOfflineActivityGrantSettlement settlementOrder = grantSettlementOrderMap.get(offlineActivityGrantRecord.getRecordId()); - sharePriceObject.put("mallSharePrice",settlementOrder.getRealMallSharePrice()); - sharePriceObject.put("merchantSharePrice",settlementOrder.getRealMerchantSharePrice()); - sharePriceList.add(sharePriceObject); - } - activityGrantObject.put(String.valueOf(activityItem.getId())+"_sharePriceList",sharePriceList); - } - }else if(EnumOfflineActivityType.CASHBACK.getCode().equals(activityItem.getType())){ - Map> granAwardItamMap = new HashMap<>(); - if(granActivityItemList != null && !granActivityItemList.isEmpty()){ - granAwardItamMap = granActivityItemList.stream().collect(groupingBy(WxOfflineActivityGrantItem::getAwardItamId)); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_sharePriceList_c",sharePriceList); } - activityGrantObject.put(String.valueOf(activityItem.getId())+"_activityItemName",activityItem.getName()); - List granActivityItemFirstList = new ArrayList<>(); - List grantSettlementItemFirstList = new ArrayList<>(); - for (WxOfflineActivityAwardsItem awardsItem : activityItem.getActivityAwardsItemList()) { - List grantItemList1 = granAwardItamMap.get(awardsItem.getId()); - if(grantItemList1 != null && !grantItemList1.isEmpty()){ - granActivityItemFirstList.addAll(grantItemList1); - } - List grantSettlementItemList1 = grantSettlementItemMap.get(awardsItem.getId()); - if(grantSettlementItemList1 != null && !grantSettlementItemList1.isEmpty()){ - grantSettlementItemFirstList.addAll(grantSettlementItemList1); - } - } - List> cashBackOrderList = new ArrayList<>(); - if(!granActivityItemFirstList.isEmpty()){ - Map grantSettlementOrderFirstMap = grantSettlementItemFirstList.stream().collect(toMap(WxOfflineActivityGrantSettlement::getRecordId, Function.identity())); - if(granActivityItemFirstList.size() == 1){ - WxOfflineActivityGrantItem grantItem = granActivityItemFirstList.get(0); - for (OfflineActivityGrantRecord offlineActivityGrantRecord : grantRecordList) { - Map cashBackObject = new HashMap<>(); - WxOfflineActivityGrantSettlement settlement = grantSettlementOrderFirstMap.get(offlineActivityGrantRecord.getRecordId()); - cashBackObject.put("awardsItemName",grantItem.getAwardName()); - cashBackObject.put("awardsItemPrice",settlement.getRealGrantPrice()); - cashBackObject.put("mallRate",grantItem.getMallShareRate()); - cashBackObject.put("merchantRate",grantItem.getMerchantShareRate()); - cashBackObject.put("mallSharePrice",settlement.getRealMallSharePrice()); - cashBackObject.put("merchantSharePrice",settlement.getRealMerchantSharePrice()); - cashBackOrderList.add(cashBackObject); + }else if(EnumOfflineActivityType.CASHBACK.getCode().equals(activityItem.getType())){ + if(amountGrantItems != null && !amountGrantItems.isEmpty()){ + if(EnumOfflineActivityMode.ONE.getCode().equals(activityItem.getModeType())){ + Map collect = new HashMap<>(); + try{ + collect = amountGrantItems.stream().collect(toMap(WxOfflineActivityGrantItem::getRecordId, Function.identity())); + }catch(Exception e){ + log.error("活动("+activityItem.getName()+")发奖异常"); + continue; } - }else{ - Map granActivityItemFirstMap = granActivityItemFirstList.stream().collect(toMap(WxOfflineActivityGrantItem::getRecordId, Function.identity())); + List> oneOrderGrant = new ArrayList<>(); for (OfflineActivityGrantRecord offlineActivityGrantRecord : grantRecordList) { - Map cashBackObject = new HashMap<>(); - WxOfflineActivityGrantItem grantItem = granActivityItemFirstMap.get(offlineActivityGrantRecord.getRecordId()); - WxOfflineActivityGrantSettlement settlement = grantSettlementOrderFirstMap.get(offlineActivityGrantRecord.getRecordId()); - cashBackObject.put("awardsItemName",grantItem.getAwardName()); - cashBackObject.put("awardsItemPrice",settlement.getRealGrantPrice()); - cashBackObject.put("mallRate",grantItem.getMallShareRate()); - cashBackObject.put("merchantRate",grantItem.getMerchantShareRate()); - cashBackObject.put("mallSharePrice",settlement.getRealMallSharePrice()); - cashBackObject.put("merchantSharePrice",settlement.getRealMerchantSharePrice()); - cashBackOrderList.add(cashBackObject); + Map orderGrant = new HashMap<>(); + WxOfflineActivityGrantItem wxOfflineActivityGrantItem = collect.get(offlineActivityGrantRecord.getRecordId()); + if(wxOfflineActivityGrantItem!=null){ + orderGrant.put("activityItemName",activityItem.getName()); + orderGrant.put("awardsItemName",wxOfflineActivityGrantItem.getAwardName()); + orderGrant.put("cashBackRatio",wxOfflineActivityGrantItem.getCashBackRatio()); + orderGrant.put("awardsItemCount",wxOfflineActivityGrantItem.getAwardCount()); + orderGrant.put("awardsItemPrice",wxOfflineActivityGrantItem.getAwardPrice()); + orderGrant.put("mallRate",wxOfflineActivityGrantItem.getMallShareRate()); + orderGrant.put("merchantRate",wxOfflineActivityGrantItem.getMerchantShareRate()); + List wxOfflineActivityGrantSettlements = grantSettlementItemMap.get(wxOfflineActivityGrantItem.getId()); + WxOfflineActivityGrantSettlement grantSettlement = wxOfflineActivityGrantSettlements.get(0); + orderGrant.put("mallSharePrice",grantSettlement.getRealMallSharePrice()); + orderGrant.put("merchantSharePrice",grantSettlement.getRealMerchantSharePrice()); + + orderGrant.put("startingTaxPoint",wxOfflineActivityGrantItem.getStartingTaxPoint()); + orderGrant.put("taxPoints",wxOfflineActivityGrantItem.getTaxPoints()); + orderGrant.put("taxPointsAmount",wxOfflineActivityGrantItem.getTaxPointsAmount()); + if(wxOfflineActivityGrantItem.getTaxPointsAmount() != null){ + orderGrant.put("realCashBackPrice",wxOfflineActivityGrantItem.getAwardPrice().subtract(wxOfflineActivityGrantItem.getTaxPointsAmount())); + }else{ + orderGrant.put("realCashBackPrice",wxOfflineActivityGrantItem.getAwardPrice()); + } + } + oneOrderGrant.add(orderGrant); } - } - } - activityGrantObject.put(String.valueOf(activityItem.getId())+"_cashBackList",cashBackOrderList); - - WxOfflineActivityGrantItem granActivityItemSecond = null; - List grantSettlementItemSecondList = new ArrayList<>(); - if(activityItem.getActivityAwardsItemSecondList() != null && !activityItem.getActivityAwardsItemSecondList().isEmpty()){ - for (WxOfflineActivityAwardsItem awardsItem : activityItem.getActivityAwardsItemSecondList()) { - List grantItemList1 = granAwardItamMap.get(awardsItem.getId()); - if(grantItemList1 != null && !grantItemList1.isEmpty()){ - granActivityItemSecond = grantItemList1.get(0); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_orderAwardsList",oneOrderGrant); + }else{ + if(amountGrantItems.size() != 1){ + log.error("活动("+activityItem.getName()+")发奖异常"); + continue; } - List grantSettlementItemList1 = grantSettlementItemMap.get(awardsItem.getId()); - if(grantSettlementItemList1 != null && !grantSettlementItemList1.isEmpty()){ - grantSettlementItemSecondList.addAll(grantSettlementItemList1); + WxOfflineActivityGrantItem grantItem = amountGrantItems.get(0); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_activityItemName",activityItem.getName()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_awardsGrade",grantItem.getAwardGrade()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_awardsItemName",grantItem.getAwardName()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_cashBackRatio",grantItem.getCashBackRatio()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_awardsItemPrice",grantItem.getAwardPrice()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_mallRate",grantItem.getMallShareRate()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_merchantRate",grantItem.getMerchantShareRate()); + + List wxOfflineActivityGrantSettlements = grantSettlementItemMap.get(grantItem.getId()); + Map collect = wxOfflineActivityGrantSettlements.stream().collect(toMap(WxOfflineActivityGrantSettlement::getRecordId, Function.identity())); + List> sharePriceList = new ArrayList<>(); + for (OfflineActivityGrantRecord offlineActivityGrantRecord : grantRecordList) { + Map sharePriceObject = new HashMap<>(); + WxOfflineActivityGrantSettlement settlementOrder = collect.get(offlineActivityGrantRecord.getRecordId()); + if(settlementOrder != null){ + sharePriceObject.put("mallSharePrice",settlementOrder.getRealMallSharePrice()); + sharePriceObject.put("merchantSharePrice",settlementOrder.getRealMerchantSharePrice()); + }else{ + sharePriceObject.put("mallSharePrice",0); + sharePriceObject.put("merchantSharePrice",0); + } + sharePriceList.add(sharePriceObject); } + activityGrantObject.put(String.valueOf(activityItem.getId())+"_sharePriceList",sharePriceList); } } - if(granActivityItemSecond != null){ - activityGrantObject.put(String.valueOf(activityItem.getId())+"_awardsItemName",granActivityItemSecond.getAwardName()); - activityGrantObject.put(String.valueOf(activityItem.getId())+"_awardsItemPrice",granActivityItemSecond.getAwardPrice()); - activityGrantObject.put(String.valueOf(activityItem.getId())+"_mallRate",granActivityItemSecond.getMallShareRate()); - activityGrantObject.put(String.valueOf(activityItem.getId())+"_merchantRate",granActivityItemSecond.getMerchantShareRate()); - Map grantSettlementOrderSecondMap = grantSettlementItemSecondList.stream().collect(toMap(WxOfflineActivityGrantSettlement::getRecordId, Function.identity())); + //联单 + if(countGrantItems != null && !countGrantItems.isEmpty()){ + WxOfflineActivityGrantItem grantItem = countGrantItems.get(0); + + activityGrantObject.put(String.valueOf(activityItem.getId())+"_activityItemName_c",activityItem.getName()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_awardsGrade_c",grantItem.getAwardGrade()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_awardsItemName_c",grantItem.getAwardName()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_cashBackRatio_c",grantItem.getCashBackRatio()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_awardsItemPrice_c",grantItem.getAwardPrice()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_mallRate_c",grantItem.getMallShareRate()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_merchantRate_c",grantItem.getMerchantShareRate()); + + List wxOfflineActivityGrantSettlements = grantSettlementItemMap.get(grantItem.getId()); + Map collect = wxOfflineActivityGrantSettlements.stream().collect(toMap(WxOfflineActivityGrantSettlement::getRecordId, Function.identity())); List> sharePriceList = new ArrayList<>(); for (OfflineActivityGrantRecord offlineActivityGrantRecord : grantRecordList) { Map sharePriceObject = new HashMap<>(); - WxOfflineActivityGrantSettlement settlementOrder = grantSettlementOrderSecondMap.get(offlineActivityGrantRecord.getRecordId()); - sharePriceObject.put("mallSharePrice",settlementOrder.getRealMallSharePrice()); - sharePriceObject.put("merchantSharePrice",settlementOrder.getRealMerchantSharePrice()); + WxOfflineActivityGrantSettlement settlementOrder = collect.get(offlineActivityGrantRecord.getRecordId()); + if(settlementOrder != null){ + sharePriceObject.put("mallSharePrice",settlementOrder.getRealMallSharePrice()); + sharePriceObject.put("merchantSharePrice",settlementOrder.getRealMerchantSharePrice()); + }else{ + sharePriceObject.put("mallSharePrice",0); + sharePriceObject.put("merchantSharePrice",0); + } sharePriceList.add(sharePriceObject); } - activityGrantObject.put(String.valueOf(activityItem.getId())+"_sharePriceList",sharePriceList); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_sharePriceList_c",sharePriceList); + + activityGrantObject.put(String.valueOf(activityItem.getId())+"_startingTaxPoint_c",grantItem.getStartingTaxPoint()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_taxPoints_c",grantItem.getTaxPoints()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_taxPointsAmount_c",grantItem.getTaxPointsAmount()); + if(grantItem.getTaxPointsAmount() != null){ + activityGrantObject.put("_realCashBackPrice_c",grantItem.getAwardPrice().subtract(grantItem.getTaxPointsAmount())); + }else{ + activityGrantObject.put("_realCashBackPrice_c",grantItem.getAwardPrice()); + } } WxOfflineActivityGrantCashBack cashBack = grantCashMap.get(activityItem.getId()); if(cashBack != null){ - activityGrantObject.put(String.valueOf(activityItem.getId())+"_cashBackPrice",cashBack.getCashBackPrice()); - activityGrantObject.put(String.valueOf(activityItem.getId())+"_startingTaxPoint",cashBack.getStartingTaxPoint()); - activityGrantObject.put(String.valueOf(activityItem.getId())+"_taxPoints",cashBack.getTaxPoints()); - activityGrantObject.put(String.valueOf(activityItem.getId())+"_taxPointsAmount",cashBack.getTaxPointsAmount()); - activityGrantObject.put(String.valueOf(activityItem.getId())+"_realCashBackPrice",cashBack.getCashBackPrice().subtract(cashBack.getTaxPointsAmount())); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_cashBackPrice_s",cashBack.getCashBackPrice()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_startingTaxPoint_s",cashBack.getStartingTaxPoint()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_taxPoints_s",cashBack.getTaxPoints()); + activityGrantObject.put(String.valueOf(activityItem.getId())+"_taxPointsAmount_s",cashBack.getTaxPointsAmount()); + if(cashBack.getTaxPointsAmount() != null){ + activityGrantObject.put("_realCashBackPrice_s",cashBack.getCashBackPrice().subtract(cashBack.getTaxPointsAmount())); + }else{ + activityGrantObject.put("_realCashBackPrice_s",cashBack.getCashBackPrice()); + } } } } @@ -1338,34 +1509,157 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity for (WxOfflineActivityItem activityItem : activity.getActivityItemList()) { //抽奖活动 if(EnumOfflineActivityType.LOTTERY_DRAW.getCode().equals(activityItem.getType())){ + if(EnumOfflineActivityMode.ONE.getCode().equals(activityItem.getModeType())){ + for (WxOfflineActivityAwardsItem awardsItem : activityItem.getActivityAwardsItemList()) { + ExcelExportEntity entity14 = new ExcelExportEntity(null,String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_orderAwardsList",160); + List entity14_list = new ArrayList<>(); + ExcelExportEntity entity14_1 = new ExcelExportEntity("抽奖活动名称","activityItemName",20); + entity13_list.add(entity14_1); + ExcelExportEntity entity14_2 = new ExcelExportEntity("奖品名称","awardsItemName",20); + entity13_list.add(entity14_2); + ExcelExportEntity entity14_3 = new ExcelExportEntity("奖品数量","awardsItemCount",20); + entity13_list.add(entity14_3); + ExcelExportEntity entity14_4 = new ExcelExportEntity("奖品价值","awardsItemPrice",20); + entity13_list.add(entity14_4); + ExcelExportEntity entity14_5 = new ExcelExportEntity("商管承担比例(%)","mallRate",20); + entity13_list.add(entity14_5); + ExcelExportEntity entity14_6 = new ExcelExportEntity("商户承担比例(%)","merchantRate",20); + entity13_list.add(entity14_6); + ExcelExportEntity entity14_7 = new ExcelExportEntity("商管承担金额","mallSharePrice",20); + entity13_list.add(entity14_7); + ExcelExportEntity entity14_8 = new ExcelExportEntity("商户承担比例","merchantSharePrice",20); + entity13_list.add(entity14_8); + entity13.setList(entity14_list); + headList.add(entity14); + } + }else{ + for (WxOfflineActivityAwardsItem awardsItem : activityItem.getActivityAwardsItemList()) { + ExcelExportEntity entity14 = new ExcelExportEntity("抽奖活动名称", + String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_activityItemName",20); + entity14.setNeedMerge(true); + headList.add(entity14); + ExcelExportEntity entity15 = new ExcelExportEntity("奖品名称", + String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_awardsItemName",20); + entity15.setNeedMerge(true); + headList.add(entity15); + ExcelExportEntity entity16 = new ExcelExportEntity("奖品数量", + String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_awardsItemCount",20); + entity16.setNeedMerge(true); + headList.add(entity16); + ExcelExportEntity entity17 = new ExcelExportEntity("奖品价值", + String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_awardsItemPrice",20); + entity17.setNeedMerge(true); + headList.add(entity17); + ExcelExportEntity entity18 = new ExcelExportEntity("商管承担比例(%)", + String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_mallRate",20); + entity18.setNeedMerge(true); + headList.add(entity18); + ExcelExportEntity entity19 = new ExcelExportEntity("商户承担比例(%)", + String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_merchantRate",20); + entity19.setNeedMerge(true); + headList.add(entity19); + + ExcelExportEntity entity20 = new ExcelExportEntity(null, + String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_sharePriceList",40); + List entity20_list = new ArrayList<>(); + ExcelExportEntity entity20_1 = new ExcelExportEntity("商管承担金额","mallSharePrice",20); + entity20_list.add(entity20_1); + ExcelExportEntity entity20_2 = new ExcelExportEntity("商户承担金额","merchantSharePrice",20); + entity20_list.add(entity20_2); + entity20.setList(entity20_list); + headList.add(entity20); + } + } + + //联单 for (WxOfflineActivityAwardsItem awardsItem : activityItem.getActivityAwardsItemList()) { - ExcelExportEntity entity14 = new ExcelExportEntity("抽奖活动名称", - String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_activityItemName",20); + ExcelExportEntity entity14_c = new ExcelExportEntity("抽奖活动名称", + String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_activityItemName_c",20); + entity14_c.setNeedMerge(true); + headList.add(entity14_c); + ExcelExportEntity entity15_c = new ExcelExportEntity("联单奖品名称", + String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_awardsItemName_c",20); + entity15_c.setNeedMerge(true); + headList.add(entity15_c); + ExcelExportEntity entity16_c = new ExcelExportEntity("奖品数量", + String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_awardsItemCount_c",20); + entity16_c.setNeedMerge(true); + headList.add(entity16_c); + ExcelExportEntity entity17_c = new ExcelExportEntity("奖品价值", + String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_awardsItemPrice_c",20); + entity17_c.setNeedMerge(true); + headList.add(entity17_c); + ExcelExportEntity entity18_c = new ExcelExportEntity("商管承担比例(%)", + String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_mallRate_c",20); + entity18_c.setNeedMerge(true); + headList.add(entity18_c); + ExcelExportEntity entity19_c = new ExcelExportEntity("商户承担比例(%)", + String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_merchantRate_c",20); + entity19_c.setNeedMerge(true); + headList.add(entity19_c); + + ExcelExportEntity entity20_c = new ExcelExportEntity(null, + String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_sharePriceList_c",40); + List entity20_list = new ArrayList<>(); + ExcelExportEntity entity20_c_1 = new ExcelExportEntity("商管承担金额","mallSharePrice",20); + entity20_list.add(entity20_c_1); + ExcelExportEntity entity20_c_2 = new ExcelExportEntity("商户承担金额","merchantSharePrice",20); + entity20_list.add(entity20_c_2); + entity20_c.setList(entity20_list); + headList.add(entity20_c); + } + } + //满额赠礼活动 + else if (EnumOfflineActivityType.GIFT.getCode().equals(activityItem.getType())) { + if(EnumOfflineActivityMode.ONE.getCode().equals(activityItem.getModeType())){ + ExcelExportEntity entity14 = new ExcelExportEntity(null,String.valueOf(activityItem.getId())+"_orderAwardsList",160); + List entity14_list = new ArrayList<>(); + ExcelExportEntity entity14_1 = new ExcelExportEntity("满额赠礼活动名称","activityItemName",20); + entity13_list.add(entity14_1); + ExcelExportEntity entity14_2 = new ExcelExportEntity("礼品名称","awardsItemName",20); + entity13_list.add(entity14_2); +// ExcelExportEntity entity14_3 = new ExcelExportEntity("奖品数量","awardsItemCount",20); +// entity13_list.add(entity14_3); + ExcelExportEntity entity14_4 = new ExcelExportEntity("礼品价值","awardsItemPrice",20); + entity13_list.add(entity14_4); + ExcelExportEntity entity14_5 = new ExcelExportEntity("商管承担比例(%)","mallRate",20); + entity13_list.add(entity14_5); + ExcelExportEntity entity14_6 = new ExcelExportEntity("商户承担比例(%)","merchantRate",20); + entity13_list.add(entity14_6); + ExcelExportEntity entity14_7 = new ExcelExportEntity("商管承担金额","mallSharePrice",20); + entity13_list.add(entity14_7); + ExcelExportEntity entity14_8 = new ExcelExportEntity("商户承担比例","merchantSharePrice",20); + entity13_list.add(entity14_8); + entity13.setList(entity14_list); + headList.add(entity14); + }else{ + ExcelExportEntity entity14 = new ExcelExportEntity("满额赠礼活动名称", + String.valueOf(activityItem.getId())+"_activityItemName",20); entity14.setNeedMerge(true); headList.add(entity14); - ExcelExportEntity entity15 = new ExcelExportEntity("奖品名称", - String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_awardsItemName",20); - entity15.setNeedMerge(true); - headList.add(entity15); - ExcelExportEntity entity16 = new ExcelExportEntity("数量", - String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_awardsItemCount",20); +// ExcelExportEntity entity15 = new ExcelExportEntity("礼品等级", +// String.valueOf(activityItem.getId())+"_awardsGrade",20); +// entity15.setNeedMerge(true); +// headList.add(entity15); + ExcelExportEntity entity16 = new ExcelExportEntity("礼品名称", + String.valueOf(activityItem.getId())+"_awardsItemName",20); entity16.setNeedMerge(true); headList.add(entity16); - ExcelExportEntity entity17 = new ExcelExportEntity("抽奖价值", - String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_awardsItemPrice",20); + ExcelExportEntity entity17 = new ExcelExportEntity("礼品价值", + String.valueOf(activityItem.getId())+"_awardsItemPrice",20); entity17.setNeedMerge(true); headList.add(entity17); ExcelExportEntity entity18 = new ExcelExportEntity("商管承担比例(%)", - String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_mallRate",20); + String.valueOf(activityItem.getId())+"_mallRate",20); entity18.setNeedMerge(true); headList.add(entity18); ExcelExportEntity entity19 = new ExcelExportEntity("商户承担比例(%)", - String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_merchantRate",20); + String.valueOf(activityItem.getId())+"_merchantRate",20); entity19.setNeedMerge(true); headList.add(entity19); ExcelExportEntity entity20 = new ExcelExportEntity(null, - String.valueOf(activityItem.getId())+"_"+String.valueOf(awardsItem.getId())+"_sharePriceList",40); + String.valueOf(activityItem.getId())+"_sharePriceList",40); List entity20_list = new ArrayList<>(); ExcelExportEntity entity20_1 = new ExcelExportEntity("商管承担金额","mallSharePrice",20); entity20_list.add(entity20_1); @@ -1374,116 +1668,191 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity entity20.setList(entity20_list); headList.add(entity20); } - } - //满额赠礼活动 - else if (EnumOfflineActivityType.GIFT.getCode().equals(activityItem.getType())) { - ExcelExportEntity entity14 = new ExcelExportEntity("满额赠礼活动名称", - String.valueOf(activityItem.getId())+"_activityItemName",20); - entity14.setNeedMerge(true); - headList.add(entity14); - ExcelExportEntity entity15 = new ExcelExportEntity("礼品等级", - String.valueOf(activityItem.getId())+"_awardsGrade",20); - entity15.setNeedMerge(true); - headList.add(entity15); - ExcelExportEntity entity16 = new ExcelExportEntity("礼品名称", - String.valueOf(activityItem.getId())+"_awardsItemName",20); - entity16.setNeedMerge(true); - headList.add(entity16); - ExcelExportEntity entity17 = new ExcelExportEntity("礼品价值", - String.valueOf(activityItem.getId())+"_awardsItemPrice",20); - entity17.setNeedMerge(true); - headList.add(entity17); - ExcelExportEntity entity18 = new ExcelExportEntity("商管承担比例(%)", - String.valueOf(activityItem.getId())+"_mallRate",20); - entity18.setNeedMerge(true); - headList.add(entity18); - ExcelExportEntity entity19 = new ExcelExportEntity("商户承担比例(%)", - String.valueOf(activityItem.getId())+"_merchantRate",20); - entity19.setNeedMerge(true); - headList.add(entity19); - - ExcelExportEntity entity20 = new ExcelExportEntity(null, - String.valueOf(activityItem.getId())+"_sharePriceList",40); - List entity20_list = new ArrayList<>(); - ExcelExportEntity entity20_1 = new ExcelExportEntity("商管承担金额","mallSharePrice",20); - entity20_list.add(entity20_1); - ExcelExportEntity entity20_2 = new ExcelExportEntity("商户承担金额","merchantSharePrice",20); - entity20_list.add(entity20_2); - entity20.setList(entity20_list); - headList.add(entity20); + + //联单 + ExcelExportEntity entity14_c = new ExcelExportEntity("满额赠礼活动名称", + String.valueOf(activityItem.getId())+"_activityItemName_c",20); + entity14_c.setNeedMerge(true); + headList.add(entity14_c); +// ExcelExportEntity entity15_c = new ExcelExportEntity("联单礼品等级", +// String.valueOf(activityItem.getId())+"_awardsGrade_c",20); +// entity15_c.setNeedMerge(true); +// headList.add(entity15_c); + ExcelExportEntity entity16_c = new ExcelExportEntity("联单礼品名称", + String.valueOf(activityItem.getId())+"_awardsItemName_c",20); + entity16_c.setNeedMerge(true); + headList.add(entity16_c); + ExcelExportEntity entity17_c = new ExcelExportEntity("礼品价值", + String.valueOf(activityItem.getId())+"_awardsItemPrice_c",20); + entity17_c.setNeedMerge(true); + headList.add(entity17_c); + ExcelExportEntity entity18_c = new ExcelExportEntity("商管承担比例(%)", + String.valueOf(activityItem.getId())+"_mallRate_c",20); + entity18_c.setNeedMerge(true); + headList.add(entity18_c); + ExcelExportEntity entity19_c = new ExcelExportEntity("商户承担比例(%)", + String.valueOf(activityItem.getId())+"_merchantRate_c",20); + entity19_c.setNeedMerge(true); + headList.add(entity19_c); + + ExcelExportEntity entity20_c = new ExcelExportEntity(null, + String.valueOf(activityItem.getId())+"_sharePriceList_c",40); + List entity20_c_list = new ArrayList<>(); + ExcelExportEntity entity20_c_1 = new ExcelExportEntity("商管承担金额","mallSharePrice",20); + entity20_c_list.add(entity20_c_1); + ExcelExportEntity entity20_c_2 = new ExcelExportEntity("商户承担金额","merchantSharePrice",20); + entity20_c_list.add(entity20_c_2); + entity20_c.setList(entity20_c_list); + headList.add(entity20_c); } //返现活动 else if (EnumOfflineActivityType.CASHBACK.getCode().equals(activityItem.getType())) { - ExcelExportEntity entity14 = new ExcelExportEntity("返现活动名称", - String.valueOf(activityItem.getId())+"_activityItemName",20); - entity14.setNeedMerge(true); - headList.add(entity14); - - ExcelExportEntity entity15 = new ExcelExportEntity(null, - String.valueOf(activityItem.getId())+"_cashBackList",120); - List entity15_list = new ArrayList<>(); - ExcelExportEntity entity15_1 = new ExcelExportEntity("返现奖项名称","awardsItemName",20); - entity15_list.add(entity15_1); - ExcelExportEntity entity15_2 = new ExcelExportEntity("返现金额","awardsItemPrice",20); - entity15_list.add(entity15_2); - ExcelExportEntity entity15_3 = new ExcelExportEntity("商管承担比例(%)","mallRate",20); - entity15_list.add(entity15_3); - ExcelExportEntity entity15_4 = new ExcelExportEntity("商户承担比例(%)","merchantRate",20); - entity15_list.add(entity15_4); - ExcelExportEntity entity15_5 = new ExcelExportEntity("商管承担金额","mallSharePrice",20); - entity15_list.add(entity15_5); - ExcelExportEntity entity15_6 = new ExcelExportEntity("商户承担金额","merchantSharePrice",20); - entity15_list.add(entity15_6); - entity15.setList(entity15_list); - headList.add(entity15); - - ExcelExportEntity entity16 = new ExcelExportEntity("联单奖项名称", - String.valueOf(activityItem.getId())+"_awardsItemName",20); - entity16.setNeedMerge(true); - headList.add(entity16); - ExcelExportEntity entity17 = new ExcelExportEntity("联单返现金额", - String.valueOf(activityItem.getId())+"_awardsItemPrice",20); - entity17.setNeedMerge(true); - headList.add(entity17); - ExcelExportEntity entity18 = new ExcelExportEntity("商管承担比例(%)", - String.valueOf(activityItem.getId())+"_mallRate",20); - entity18.setNeedMerge(true); - headList.add(entity18); - ExcelExportEntity entity19 = new ExcelExportEntity("商户承担比例(%)", - String.valueOf(activityItem.getId())+"_merchantRate",20); - entity19.setNeedMerge(true); - headList.add(entity19); - - ExcelExportEntity entity20 = new ExcelExportEntity(null, - String.valueOf(activityItem.getId())+"_sharePriceList",40); - List entity20_list = new ArrayList<>(); - ExcelExportEntity entity20_1 = new ExcelExportEntity("商管承担金额","mallSharePrice",20); - entity20_list.add(entity20_1); - ExcelExportEntity entity20_2 = new ExcelExportEntity("商户承担金额","merchantSharePrice",20); - entity20_list.add(entity20_2); - entity20.setList(entity20_list); - headList.add(entity20); - - ExcelExportEntity entity21 = new ExcelExportEntity("应返现总额", - String.valueOf(activityItem.getId())+"_cashBackPrice",20); - entity21.setNeedMerge(true); - headList.add(entity21); - ExcelExportEntity entity22 = new ExcelExportEntity("起征税点金额", - String.valueOf(activityItem.getId())+"_startingTaxPoint",20); - entity22.setNeedMerge(true); - headList.add(entity22); - ExcelExportEntity entity23 = new ExcelExportEntity("税点比例(%)", - String.valueOf(activityItem.getId())+"_taxPoints",20); - entity23.setNeedMerge(true); - headList.add(entity23); - ExcelExportEntity entity24 = new ExcelExportEntity("税点金额", - String.valueOf(activityItem.getId())+"_taxPointsAmount",20); - entity24.setNeedMerge(true); - headList.add(entity24); - ExcelExportEntity entity25 = new ExcelExportEntity("实际返现金额", - String.valueOf(activityItem.getId())+"_realCashBackPrice",20); - entity25.setNeedMerge(true); - headList.add(entity25); + if(EnumOfflineActivityMode.ONE.getCode().equals(activityItem.getModeType())){ + ExcelExportEntity entity14 = new ExcelExportEntity(null,String.valueOf(activityItem.getId())+"_orderAwardsList",220); + List entity14_list = new ArrayList<>(); + ExcelExportEntity entity14_1 = new ExcelExportEntity("返现活动名称","activityItemName",20); + entity13_list.add(entity14_1); + ExcelExportEntity entity14_2 = new ExcelExportEntity("返现奖项名称","awardsItemName",20); + entity13_list.add(entity14_2); + ExcelExportEntity entity14_3 = new ExcelExportEntity("订单返现比例(%)","cashBackRatio",20); + entity13_list.add(entity14_3); +// ExcelExportEntity entity14_3 = new ExcelExportEntity("奖品数量","awardsItemCount",20); +// entity13_list.add(entity14_3); + ExcelExportEntity entity14_4 = new ExcelExportEntity("返现金额","awardsItemPrice",20); + entity13_list.add(entity14_4); + ExcelExportEntity entity14_5 = new ExcelExportEntity("商管承担比例(%)","mallRate",20); + entity13_list.add(entity14_5); + ExcelExportEntity entity14_6 = new ExcelExportEntity("商户承担比例(%)","merchantRate",20); + entity13_list.add(entity14_6); + ExcelExportEntity entity14_7 = new ExcelExportEntity("商管承担金额","mallSharePrice",20); + entity13_list.add(entity14_7); + ExcelExportEntity entity14_8 = new ExcelExportEntity("商户承担金额","merchantSharePrice",20); + entity13_list.add(entity14_8); + ExcelExportEntity entity14_9 = new ExcelExportEntity("税点金额起点","startingTaxPoint",20); + entity13_list.add(entity14_9); + ExcelExportEntity entity14_10 = new ExcelExportEntity("税点比例(%)","taxPoints",20); + entity13_list.add(entity14_10); + ExcelExportEntity entity14_11 = new ExcelExportEntity("税点金额","taxPointsAmount",20); + entity13_list.add(entity14_11); + ExcelExportEntity entity14_12 = new ExcelExportEntity("订单实际返现金额","realCashBackPrice",20); + entity13_list.add(entity14_12); + entity13.setList(entity14_list); + headList.add(entity14); + }else{ + ExcelExportEntity entity14 = new ExcelExportEntity("返现活动名称", + String.valueOf(activityItem.getId())+"_activityItemName",20); + entity14.setNeedMerge(true); + headList.add(entity14); +// ExcelExportEntity entity15 = new ExcelExportEntity("礼品等级", +// String.valueOf(activityItem.getId())+"_awardsGrade",20); +// entity15.setNeedMerge(true); +// headList.add(entity15); + ExcelExportEntity entity16 = new ExcelExportEntity("返现奖项名称", + String.valueOf(activityItem.getId())+"_awardsItemName",20); + entity16.setNeedMerge(true); + headList.add(entity16); + ExcelExportEntity entity16_ = new ExcelExportEntity("订单返现比例(%)", + String.valueOf(activityItem.getId())+"_cashBackRatio",20); + entity16_.setNeedMerge(true); + headList.add(entity16_); + ExcelExportEntity entity17 = new ExcelExportEntity("返现金额", + String.valueOf(activityItem.getId())+"_awardsItemPrice",20); + entity17.setNeedMerge(true); + headList.add(entity17); + ExcelExportEntity entity18 = new ExcelExportEntity("商管承担比例(%)", + String.valueOf(activityItem.getId())+"_mallRate",20); + entity18.setNeedMerge(true); + headList.add(entity18); + ExcelExportEntity entity19 = new ExcelExportEntity("商户承担比例(%)", + String.valueOf(activityItem.getId())+"_merchantRate",20); + entity19.setNeedMerge(true); + headList.add(entity19); + + ExcelExportEntity entity20 = new ExcelExportEntity(null, + String.valueOf(activityItem.getId())+"_sharePriceList",40); + List entity20_list = new ArrayList<>(); + ExcelExportEntity entity20_1 = new ExcelExportEntity("商管承担金额","mallSharePrice",20); + entity20_list.add(entity20_1); + ExcelExportEntity entity20_2 = new ExcelExportEntity("商户承担金额","merchantSharePrice",20); + entity20_list.add(entity20_2); + entity20.setList(entity20_list); + headList.add(entity20); + } + //联单 + ExcelExportEntity entity14_c = new ExcelExportEntity("返现活动名称", + String.valueOf(activityItem.getId())+"_activityItemName_c",20); + entity14_c.setNeedMerge(true); + headList.add(entity14_c); + ExcelExportEntity entity15_c = new ExcelExportEntity("联单奖项名称", + String.valueOf(activityItem.getId())+"_awardsItemName_c",20); + entity15_c.setNeedMerge(true); + headList.add(entity15_c); + ExcelExportEntity entity16_c = new ExcelExportEntity("联单返现比例(%)", + String.valueOf(activityItem.getId())+"_cashBackRatio_c",20); + entity16_c.setNeedMerge(true); + headList.add(entity16_c); + ExcelExportEntity entity17_c = new ExcelExportEntity("联单返现金额", + String.valueOf(activityItem.getId())+"_awardsItemPrice_c",20); + entity17_c.setNeedMerge(true); + headList.add(entity17_c); + ExcelExportEntity entity18_c = new ExcelExportEntity("商管承担比例(%)", + String.valueOf(activityItem.getId())+"_mallRate_c",20); + entity18_c.setNeedMerge(true); + headList.add(entity18_c); + ExcelExportEntity entity19_c = new ExcelExportEntity("商户承担比例(%)", + String.valueOf(activityItem.getId())+"_merchantRate_c",20); + entity19_c.setNeedMerge(true); + headList.add(entity19_c); + + ExcelExportEntity entity20_c = new ExcelExportEntity(null, + String.valueOf(activityItem.getId())+"_sharePriceList_c",40); + List entity20_c_list = new ArrayList<>(); + ExcelExportEntity entity20_c_1 = new ExcelExportEntity("商管承担金额","mallSharePrice",20); + entity20_c_list.add(entity20_c_1); + ExcelExportEntity entity20_c_2 = new ExcelExportEntity("商户承担金额","merchantSharePrice",20); + entity20_c_list.add(entity20_c_2); + entity20_c.setList(entity20_c_list); + headList.add(entity20_c); + + if(EnumOfflineActivityMode.ONE.getCode().equals(activityItem.getModeType())){ + ExcelExportEntity entity22 = new ExcelExportEntity("起征税点金额", + String.valueOf(activityItem.getId())+"_startingTaxPoint_c",20); + entity22.setNeedMerge(true); + headList.add(entity22); + ExcelExportEntity entity23 = new ExcelExportEntity("税点比例(%)", + String.valueOf(activityItem.getId())+"_taxPoints_c",20); + entity23.setNeedMerge(true); + headList.add(entity23); + ExcelExportEntity entity24 = new ExcelExportEntity("税点金额", + String.valueOf(activityItem.getId())+"_taxPointsAmount_c",20); + entity24.setNeedMerge(true); + headList.add(entity24); + ExcelExportEntity entity25 = new ExcelExportEntity("联单实际返现金额", + String.valueOf(activityItem.getId())+"_realCashBackPrice_c",20); + entity25.setNeedMerge(true); + headList.add(entity25); + }else{ + ExcelExportEntity entity26 = new ExcelExportEntity("应返现总额", + String.valueOf(activityItem.getId())+"_cashBackPrice_s",20); + entity26.setNeedMerge(true); + headList.add(entity26); + ExcelExportEntity entity27 = new ExcelExportEntity("起征税点金额", + String.valueOf(activityItem.getId())+"_startingTaxPoint_s",20); + entity27.setNeedMerge(true); + headList.add(entity27); + ExcelExportEntity entity28 = new ExcelExportEntity("税点比例(%)", + String.valueOf(activityItem.getId())+"_taxPoints_s",20); + entity28.setNeedMerge(true); + headList.add(entity28); + ExcelExportEntity entity29 = new ExcelExportEntity("税点金额", + String.valueOf(activityItem.getId())+"_taxPointsAmount_s",20); + entity29.setNeedMerge(true); + headList.add(entity29); + ExcelExportEntity entity30 = new ExcelExportEntity("实际返现金额", + String.valueOf(activityItem.getId())+"_realCashBackPrice_s",20); + entity30.setNeedMerge(true); + headList.add(entity30); + } } }