diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxVtwoAmountGiftActivityController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxVtwoAmountGiftActivityController.java index 94fba3971..13dc63fae 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxVtwoAmountGiftActivityController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxVtwoAmountGiftActivityController.java @@ -15,6 +15,7 @@ import com.iformall.enums.EnumOfflineActivityMerchantType; import com.iformall.enums.EnumOfflineActivityMode; import com.iformall.enums.EnumOfflineActivityStatus; import com.iformall.exception.MallinkException; +import com.iformall.service.WxVtwoActivityGrantService; import com.iformall.service.WxVtwoActivityOrderService; import com.iformall.service.WxVtwoAmountGiftActivityService; import com.iformall.service.WxVtwoPrizeDrawActivityService; @@ -315,4 +316,16 @@ public class WxVtwoAmountGiftActivityController extends BaseController { } } + @ApiVersion(group = SwaggerConstant.V_A_2_0) + @ApiOperation("活动发奖明细导出") + @GetMapping("/grantExport") + public void grantExport(@ModelAttribute WxVtwoActivityGrant activityGrant, HttpServletRequest request, HttpServletResponse response) { + + if(activityGrant.getActivityId() == null){ + throw new MallinkException(Result.ERROR,"活动ID 为空"); + } + activityGrant.updateTenantInfo(getTenantInfo()); + wxVtwoAmountGiftActivityService.grantExport(request,response,activityGrant); + } + } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxVtwoCashBackActivityController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxVtwoCashBackActivityController.java index d6dbc98d1..b7b75a291 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxVtwoCashBackActivityController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxVtwoCashBackActivityController.java @@ -18,6 +18,7 @@ import com.iformall.exception.MallinkException; import com.iformall.service.WxVtwoActivityOrderService; import com.iformall.service.WxVtwoAmountGiftActivityService; import com.iformall.service.WxVtwoCashBackActivityService; +import com.iformall.service.WxVtwoCashBackGrantService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -51,6 +52,7 @@ public class WxVtwoCashBackActivityController extends BaseController { @Autowired private WxVtwoActivityOrderService wxVtwoActivityOrderService; + @ApiVersion(group = SwaggerConstant.V_A_2_0) @ApiOperation("分页列表接口") @GetMapping("list") @@ -337,4 +339,16 @@ public class WxVtwoCashBackActivityController extends BaseController { } } + @ApiVersion(group = SwaggerConstant.V_A_2_0) + @ApiOperation("活动发奖明细导出") + @GetMapping("/grantExport") + public void grantExport(@ModelAttribute WxVtwoCashBackGrant activityGrant, HttpServletRequest request, HttpServletResponse response) { + + if(activityGrant.getActivityId() == null){ + throw new MallinkException(Result.ERROR,"活动ID 为空"); + } + activityGrant.updateTenantInfo(getTenantInfo()); + wxVtwoCashBackActivityService.grantExport(request,response,activityGrant); + } + } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxVtwoPrizeDrawActivityController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxVtwoPrizeDrawActivityController.java index 92e6ef4e6..a9c81149d 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxVtwoPrizeDrawActivityController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxVtwoPrizeDrawActivityController.java @@ -14,10 +14,7 @@ import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.vo.OfflineActivityAwardsItemVo; import com.iformall.enums.*; import com.iformall.exception.MallinkException; -import com.iformall.service.WxOfflineActivityGrantAwardService; -import com.iformall.service.WxOfflineActivityService; -import com.iformall.service.WxVtwoActivityOrderService; -import com.iformall.service.WxVtwoPrizeDrawActivityService; +import com.iformall.service.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -315,4 +312,16 @@ public class WxVtwoPrizeDrawActivityController extends BaseController { } } + @ApiVersion(group = SwaggerConstant.V_A_2_0) + @ApiOperation("活动发奖明细导出") + @GetMapping("/grantExport") + public void grantExport(@ModelAttribute WxVtwoActivityGrant activityGrant, HttpServletRequest request, HttpServletResponse response) { + + if(activityGrant.getActivityId() == null){ + throw new MallinkException(Result.ERROR,"活动ID 为空"); + } + activityGrant.updateTenantInfo(getTenantInfo()); + wxVtwoPrizeDrawActivityService.grantExport(request,response,activityGrant); + } + } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxVtwoActivityGrantExportMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxVtwoActivityGrantExportMapper.java index d6187278d..ffec39e70 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxVtwoActivityGrantExportMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxVtwoActivityGrantExportMapper.java @@ -16,6 +16,8 @@ import java.util.List; public interface WxVtwoActivityGrantExportMapper extends CommonMapper { void insertList(@Param("grantExportList")List grantExportList); + + List findList(WxVtwoActivityGrantExport exportQ); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxVtwoActivityOrderMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxVtwoActivityOrderMapper.java index 7b9af184b..0647a3697 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxVtwoActivityOrderMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxVtwoActivityOrderMapper.java @@ -40,6 +40,7 @@ public interface WxVtwoActivityOrderMapper extends CommonMapper getBusinessStatistics(WxVtwoActivityOrder record); + List findAuditDetailList(WxVtwoActivityOrder orderQ); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxVtwoActivityGrantAwardService.java b/mallinkService/src/main/java/com/iformall/service/WxVtwoActivityGrantAwardService.java index 4c9e8af0a..fefc4e4a2 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxVtwoActivityGrantAwardService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxVtwoActivityGrantAwardService.java @@ -1,5 +1,6 @@ package com.iformall.service; +import com.iformall.domain.po.WxVtwoActivityAward; import com.iformall.domain.po.WxVtwoActivityGrant; import com.iformall.domain.po.WxVtwoActivityGrantAward; import com.baomidou.mybatisplus.extension.service.IService; @@ -13,5 +14,5 @@ import java.util.List; */ public interface WxVtwoActivityGrantAwardService extends IService { - void saveGrantAward(WxVtwoActivityGrant activityGrant); + void saveGrantAward(WxVtwoActivityGrant activityGrant,List awardList); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxVtwoActivityGrantExportService.java b/mallinkService/src/main/java/com/iformall/service/WxVtwoActivityGrantExportService.java index f3df84bed..0e30365d2 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxVtwoActivityGrantExportService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxVtwoActivityGrantExportService.java @@ -1,5 +1,6 @@ package com.iformall.service; +import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; import com.iformall.domain.po.WxVtwoActivityGrant; import com.iformall.domain.po.WxVtwoActivityGrantExport; import com.baomidou.mybatisplus.extension.service.IService; @@ -18,4 +19,8 @@ public interface WxVtwoActivityGrantExportService extends IService settlementList); void saveGrantExport(WxVtwoCashBackGrant activityGrant, List settlementList); + + List findActivityGrantList(Long activityId, String tenantId); + + List getExportHeadList(); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxVtwoActivityGrantService.java b/mallinkService/src/main/java/com/iformall/service/WxVtwoActivityGrantService.java index 83c40ecff..fe7dfb139 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxVtwoActivityGrantService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxVtwoActivityGrantService.java @@ -4,6 +4,8 @@ import com.iformall.domain.po.WxVtwoActivityGrant; import com.baomidou.mybatisplus.extension.service.IService; import com.iformall.domain.po.WxVtwoActivityOrder; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.util.List; /** @@ -14,4 +16,5 @@ import java.util.List; public interface WxVtwoActivityGrantService extends IService { void handleFromOrder(String activityName, WxVtwoActivityGrant activityGrant, List orderList, boolean isGrant); + } diff --git a/mallinkService/src/main/java/com/iformall/service/WxVtwoActivityOrderService.java b/mallinkService/src/main/java/com/iformall/service/WxVtwoActivityOrderService.java index 8ad19d03f..1261ac2ad 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxVtwoActivityOrderService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxVtwoActivityOrderService.java @@ -42,4 +42,12 @@ public interface WxVtwoActivityOrderService extends IService findGrantOrder(TenantEntity tenantInfo, List idList, List filterIdList); Integer getJointCount(Integer relatedModel, List orderList); + + /** + * 只查询审核信息 + * @param ids + * @param tenantId + * @return + */ + Map findAuditDetailMap(List ids, String tenantId); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxVtwoAmountGiftActivityService.java b/mallinkService/src/main/java/com/iformall/service/WxVtwoAmountGiftActivityService.java index 02f48a82f..bae8ebf87 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxVtwoAmountGiftActivityService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxVtwoAmountGiftActivityService.java @@ -5,6 +5,9 @@ import com.iformall.domain.po.*; import com.baomidou.mybatisplus.extension.service.IService; import com.iformall.domain.po.base.TenantEntity; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + /** * @author xiaohu * @description 针对表【wx_vtwo_amount_gift_activity(线下满额赠礼活动)】的数据库操作Service @@ -23,4 +26,6 @@ public interface WxVtwoAmountGiftActivityService extends IService awardList) { - Map activityAwardMap = wxVtwoActivityAwardService.findActivityAwardMap(activityGrant.getActivityId(), activityGrant.getTenantId()); + Map activityAwardMap = awardList.stream().collect(Collectors.toMap(WxVtwoActivityAward::getId, Function.identity())); List grantAwardList = activityGrant.getGrantAwardList(); boolean isAwardId = grantAwardList.stream().anyMatch(grantAward -> grantAward.getAwardId() == null); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoActivityGrantExportServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoActivityGrantExportServiceImpl.java index 1890b202f..579253e91 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoActivityGrantExportServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoActivityGrantExportServiceImpl.java @@ -1,17 +1,21 @@ package com.iformall.service.impl; +import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.iformall.common.IdWorker; import com.iformall.domain.po.*; +import com.iformall.domain.po.base.BaseEntity; import com.iformall.service.WxVtwoActivityGrantExportService; import com.iformall.mapper.WxVtwoActivityGrantExportMapper; +import com.iformall.service.WxVtwoActivityOrderService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.Map; import java.util.function.Function; @@ -29,6 +33,9 @@ public class WxVtwoActivityGrantExportServiceImpl extends ServiceImpl settlementList) { @@ -129,6 +136,90 @@ public class WxVtwoActivityGrantExportServiceImpl extends ServiceImpl findActivityGrantList(Long activityId, String tenantId) { + WxVtwoActivityGrantExport exportQ = new WxVtwoActivityGrantExport(); + exportQ.setTenantId(tenantId); + exportQ.setActivityId(activityId); + List exportList = wxVtwoActivityGrantExportMapper.findList(exportQ); + + if(exportList != null && !exportList.isEmpty()){ + List orderIds = exportList.stream().map(e -> e.getOrderId()).distinct().collect(Collectors.toList()); + Map auditDetailMap = wxVtwoActivityOrderService.findAuditDetailMap(orderIds,tenantId); + for(WxVtwoActivityGrantExport export : exportList){ + WxVtwoActivityOrder order = auditDetailMap.get(export.getOrderId()); + export.setOrderAuditStatus(order.getAuditStatus()); + export.setOrderAuditRemark(order.getAuditRemark()); + export.setOrderAuditBy(order.getAuditBy()); + export.setOrderAuditName(order.getAuditByName()); + export.setOrderAuditTime(order.getAuditTime()); + } + } + return exportList; + } + + @Override + public List getExportHeadList() { + List headList = new ArrayList<>(); + ExcelExportEntity entity1 = new ExcelExportEntity("订单编号","orderNo",20); + headList.add(entity1); + ExcelExportEntity entity2 = new ExcelExportEntity("订单金额","orderAmount",20); + headList.add(entity2); + ExcelExportEntity entity3 = new ExcelExportEntity("订单地址","cusAddress",20); + headList.add(entity3); + ExcelExportEntity entity4 = new ExcelExportEntity("商户名称","merchantName",20); + headList.add(entity4); + ExcelExportEntity entity5 = new ExcelExportEntity("铺位号","merchantShopNum",20); + headList.add(entity5); + ExcelExportEntity entity6 = new ExcelExportEntity("业态","businessName",20); + headList.add(entity6); + ExcelExportEntity entity7 = new ExcelExportEntity("抽奖券编码","lotteryNum",20); + headList.add(entity7); + ExcelExportEntity entity8 = new ExcelExportEntity("抽奖券数量","lotteryCount",20); + headList.add(entity8); + ExcelExportEntity entity9 = new ExcelExportEntity("周年庆抽奖编码","anniversaryLotteryNum",20); + headList.add(entity9); + ExcelExportEntity entity10 = new ExcelExportEntity("提交时间","orderCreateTime",20); + entity10.setFormat("yyyy-MM-dd HH:mm:ss"); + headList.add(entity10); + ExcelExportEntity entity11 = new ExcelExportEntity("订单状态","orderAuditStatus",20); + entity11.setReplace(new String[]{"审核中_0", "已审批_1", "已驳回_2", "已退单_3", "已发奖_10"}); + headList.add(entity11); + ExcelExportEntity entity12 = new ExcelExportEntity("审核人","orderAuditName",20); + headList.add(entity12); + ExcelExportEntity entity13 = new ExcelExportEntity("审核时间","orderAuditTime",20); + entity13.setFormat("yyyy-MM-dd HH:mm:ss"); + headList.add(entity13); + + ExcelExportEntity entity21 = new ExcelExportEntity("客户姓名","cusName",20); + headList.add(entity21); + ExcelExportEntity entity22 = new ExcelExportEntity("客户电话","cusPhone",20); + headList.add(entity22); + ExcelExportEntity entity23 = new ExcelExportEntity("vip卡","vipNum",20); + headList.add(entity23); + ExcelExportEntity entity24 = new ExcelExportEntity("所属军团","legionName",20); + headList.add(entity24); + ExcelExportEntity entity25 = new ExcelExportEntity("所属联盟","unionName",20); + headList.add(entity25); + + + ExcelExportEntity entity31 = new ExcelExportEntity("领奖人","grantUserName",20); + headList.add(entity31); + ExcelExportEntity entity32 = new ExcelExportEntity("领奖人身份证号","grantUserCard",20); + headList.add(entity32); + ExcelExportEntity entity33 = new ExcelExportEntity("发奖人","grantByName",20); + headList.add(entity33); + ExcelExportEntity entity34 = new ExcelExportEntity("发奖时间","grantTime",20); + entity25.setFormat("yyyy-MM-dd HH:mm:ss"); + headList.add(entity34); + ExcelExportEntity entity35 = new ExcelExportEntity("签名图片","signImg",40); +// entity35.setType(BaseEntityTypeConstants.IMAGE_TYPE); +// entity35.setExportImageType(1); +// entity35.setHeight(20); + headList.add(entity35); + return headList; + } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoActivityGrantServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoActivityGrantServiceImpl.java index 0749d86b4..e8c59c701 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoActivityGrantServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoActivityGrantServiceImpl.java @@ -15,6 +15,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; @@ -79,6 +81,7 @@ public class WxVtwoActivityGrantServiceImpl extends ServiceImpl list = this.findList(record, activityId); - excelService.exportExcel(list, null, "活动订单列表", WxOfflineActivityRecord.class, "活动订单列表.xlsx", response, false); + excelService.exportExcel(list, null, "活动订单列表", WxVtwoActivityOrder.class, "活动订单列表.xlsx", response, false); } @Override @@ -421,6 +421,26 @@ public class WxVtwoActivityOrderServiceImpl extends ServiceImpl findAuditDetailMap(List ids, String tenantId) { + WxVtwoActivityOrder orderQ = new WxVtwoActivityOrder(); + orderQ.setTenantId(tenantId); + orderQ.setIds(ids); + List auditDetailList = wxVtwoActivityOrderMapper.findAuditDetailList(orderQ); + + MallUserInfo userInfoQ = new MallUserInfo(); + userInfoQ.setTenantId(tenantId); + Map userMap = mallUserInfoService.getUserMap(userInfoQ); + + for (WxVtwoActivityOrder record : auditDetailList) { + if(record.getAuditBy() != null){ + record.setAuditByName(userMap.get(record.getAuditBy()).getName()); + } + } + + return auditDetailList.stream().collect(Collectors.toMap(WxVtwoActivityOrder::getId, Function.identity())); + } + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoAmountGiftActivityServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoAmountGiftActivityServiceImpl.java index 53d9a43c0..68914b7f6 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoAmountGiftActivityServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoAmountGiftActivityServiceImpl.java @@ -1,5 +1,6 @@ package com.iformall.service.impl; +import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; @@ -15,20 +16,21 @@ import com.iformall.enums.*; import com.iformall.exception.MallinkException; import com.iformall.mapper.*; import com.iformall.service.*; +import com.iformall.utils.BeanUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.math.RoundingMode; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.function.Function; -import static java.util.stream.Collectors.toMap; +import static java.util.stream.Collectors.*; +import static java.util.stream.Collectors.toList; /** * @author xiaohu @@ -75,6 +77,9 @@ public class WxVtwoAmountGiftActivityServiceImpl extends ServiceImpl activityAwardList = wxVtwoActivityAwardService.findActivityAwardList(activityGrant.getActivityId(), activityGrant.getTenantId()); - activityGrant.setAwardList(activityAwardList); + activityGrant.setAwardList(amountGiftActivity.getAwardList()); List grantAwardList = new ArrayList<>(); if(EnumOfflineActivityMode.ONE.getCode().equals(amountGiftActivity.getAmountModel())){ @@ -331,11 +335,57 @@ public class WxVtwoAmountGiftActivityServiceImpl extends ServiceImpl activityAwardList = wxVtwoActivityAwardService.findActivityAwardList(activityGrant.getActivityId(), activityGrant.getTenantId()); + if(activityAwardList == null || activityAwardList.isEmpty()){ + throw new MallinkException(Result.ERROR,"未查询到活动"); + } + + List headList = wxVtwoActivityGrantExportService.getExportHeadList(); + for (WxVtwoActivityAward activityAward:activityAwardList){ + ExcelExportEntity entity_ = new ExcelExportEntity(activityAward.getName(),String.valueOf(activityAward.getId())+"_count",20); + headList.add(entity_); + } + + ExcelExportEntity entity1 = new ExcelExportEntity("奖品总价值","grantPrice",20); + headList.add(entity1); + ExcelExportEntity entity2 = new ExcelExportEntity("商管承担总比例","mallShareRate",20); + headList.add(entity2); + ExcelExportEntity entity3= new ExcelExportEntity("商户承担总比例","merchantShareRate",20); + headList.add(entity3); + ExcelExportEntity entity4 = new ExcelExportEntity("商管承担总金额","mallShareRate",20); + headList.add(entity4); + ExcelExportEntity entity5= new ExcelExportEntity("商户承担总金额","merchantShareRate",20); + headList.add(entity5); + ExcelExportEntity entity6= new ExcelExportEntity("备注","grantRemark",20); + headList.add(entity6); + + List activityGrantExportList = wxVtwoActivityGrantExportService.findActivityGrantList(activityGrant.getActivityId(),activityGrant.getTenantId()); + List> grantObjectList = new ArrayList<>(); + if(activityGrantExportList != null && !activityGrantExportList.isEmpty()){ + grantObjectList = activityGrantExportList.stream().map(e -> { + Map map = new HashMap<>(); + try { + Map awardCountMap = JSONObject.parseArray(e.getGrantDetail(), WxVtwoActivityGrantSettlement.class).stream().collect(groupingBy(WxVtwoActivityGrantSettlement::getAwardId, summingInt(WxVtwoActivityGrantSettlement::getAwardCount))); + map = BeanUtils.toMap(e); + for (Long awardId : awardCountMap.keySet()) { + map.put(String.valueOf(awardId) + "_count", awardCountMap.get(awardId)); + } + } catch (Exception ex) { + } + return map; + }).collect(toList()); + } + excelService.exportExcel(headList, grantObjectList, null, "赠礼活动发放明细", "赠礼活动发放明细.xlsx",true, response); + } + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoCashBackActivityServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoCashBackActivityServiceImpl.java index 7fa3f64b2..a1eb67220 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoCashBackActivityServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoCashBackActivityServiceImpl.java @@ -1,5 +1,6 @@ package com.iformall.service.impl; +import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; @@ -15,19 +16,22 @@ import com.iformall.enums.*; import com.iformall.exception.MallinkException; import com.iformall.mapper.*; import com.iformall.service.*; +import com.iformall.utils.BeanUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; -import static java.util.stream.Collectors.toList; -import static java.util.stream.Collectors.toMap; +import static java.util.stream.Collectors.*; +import static java.util.stream.Collectors.summingInt; /** * @author xiaohu @@ -74,6 +78,9 @@ public class WxVtwoCashBackActivityServiceImpl extends ServiceImpl headList = wxVtwoActivityGrantExportService.getExportHeadList(); + + ExcelExportEntity entity1 = new ExcelExportEntity("返现总金额","grantPrice",20); + headList.add(entity1); + ExcelExportEntity entity2 = new ExcelExportEntity("商管承担总比例","mallShareRate",20); + headList.add(entity2); + ExcelExportEntity entity3= new ExcelExportEntity("商户承担总比例","merchantShareRate",20); + headList.add(entity3); + ExcelExportEntity entity4 = new ExcelExportEntity("商管承担总金额","mallShareRate",20); + headList.add(entity4); + ExcelExportEntity entity5= new ExcelExportEntity("商户承担总金额","merchantShareRate",20); + headList.add(entity5); + ExcelExportEntity entity6= new ExcelExportEntity("税金额","taxAmount",20); + headList.add(entity6); + ExcelExportEntity entity10= new ExcelExportEntity("备注","grantRemark",20); + headList.add(entity10); + + List activityGrantExportList = wxVtwoActivityGrantExportService.findActivityGrantList(activityGrant.getActivityId(),activityGrant.getTenantId()); + List> grantObjectList = new ArrayList<>(); + if(activityGrantExportList != null && !activityGrantExportList.isEmpty()){ + grantObjectList = activityGrantExportList.stream().map(e -> { + Map map = new HashMap<>(); + try { + map = BeanUtils.toMap(e); + } catch (Exception ex) { + } + return map; + }).collect(toList()); + } + excelService.exportExcel(headList, grantObjectList, null, "返现活动发放明细", "返现活动发放明细.xlsx",true, response); + } + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoPrizeDrawActivityServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoPrizeDrawActivityServiceImpl.java index ac1eb8148..2f5ee281f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoPrizeDrawActivityServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoPrizeDrawActivityServiceImpl.java @@ -1,5 +1,6 @@ package com.iformall.service.impl; +import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.Wrapper; @@ -17,6 +18,7 @@ import com.iformall.enums.*; import com.iformall.exception.MallinkException; import com.iformall.mapper.*; import com.iformall.service.*; +import com.iformall.utils.BeanUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -28,6 +30,7 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.util.*; import java.util.function.Function; +import java.util.stream.Collectors; import static java.util.stream.Collectors.*; @@ -76,6 +79,9 @@ public class WxVtwoPrizeDrawActivityServiceImpl extends ServiceImpl activityAwardList = wxVtwoActivityAwardService.findActivityAwardList(activityGrant.getActivityId(), activityGrant.getTenantId()); - activityGrant.setAwardList(activityAwardList); + activityGrant.setAwardList(prizeDrawActivity.getAwardList()); int limitCount = 0; List grantRuleList = new ArrayList<>(); @@ -349,11 +354,57 @@ public class WxVtwoPrizeDrawActivityServiceImpl extends ServiceImpl activityAwardList = wxVtwoActivityAwardService.findActivityAwardList(activityGrant.getActivityId(), activityGrant.getTenantId()); + if(activityAwardList == null || activityAwardList.isEmpty()){ + throw new MallinkException(Result.ERROR,"未查询到活动"); + } + + List headList = wxVtwoActivityGrantExportService.getExportHeadList(); + for (WxVtwoActivityAward activityAward:activityAwardList){ + ExcelExportEntity entity_ = new ExcelExportEntity(activityAward.getName(),String.valueOf(activityAward.getId())+"_count",20); + headList.add(entity_); + } + + ExcelExportEntity entity1 = new ExcelExportEntity("奖品总价值","grantPrice",20); + headList.add(entity1); + ExcelExportEntity entity2 = new ExcelExportEntity("商管承担总比例","mallShareRate",20); + headList.add(entity2); + ExcelExportEntity entity3= new ExcelExportEntity("商户承担总比例","merchantShareRate",20); + headList.add(entity3); + ExcelExportEntity entity4 = new ExcelExportEntity("商管承担总金额","mallShareRate",20); + headList.add(entity4); + ExcelExportEntity entity5= new ExcelExportEntity("商户承担总金额","merchantShareRate",20); + headList.add(entity5); + ExcelExportEntity entity6= new ExcelExportEntity("备注","grantRemark",20); + headList.add(entity6); + + List activityGrantExportList = wxVtwoActivityGrantExportService.findActivityGrantList(activityGrant.getActivityId(),activityGrant.getTenantId()); + List> grantObjectList = new ArrayList<>(); + if(activityGrantExportList != null && !activityGrantExportList.isEmpty()){ + grantObjectList = activityGrantExportList.stream().map(e -> { + Map map = new HashMap<>(); + try { + Map awardCountMap = JSONObject.parseArray(e.getGrantDetail(), WxVtwoActivityGrantSettlement.class).stream().collect(groupingBy(WxVtwoActivityGrantSettlement::getAwardId, summingInt(WxVtwoActivityGrantSettlement::getAwardCount))); + map = BeanUtils.toMap(e); + for (Long awardId : awardCountMap.keySet()) { + map.put(String.valueOf(awardId) + "_count", awardCountMap.get(awardId)); + } + } catch (Exception ex) { + } + return map; + }).collect(toList()); + } + excelService.exportExcel(headList, grantObjectList, null, "抽奖活动发放明细", "抽奖活动发放明细.xlsx",true, response); + } + } diff --git a/mallinkService/src/main/resources/mapper/WxVtwoActivityGrantExportMapper.xml b/mallinkService/src/main/resources/mapper/WxVtwoActivityGrantExportMapper.xml index acb7d9347..f54478a8e 100644 --- a/mallinkService/src/main/resources/mapper/WxVtwoActivityGrantExportMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxVtwoActivityGrantExportMapper.xml @@ -92,7 +92,8 @@ #{idItem} - order by ${sortColumns} + + order by grant_time desc + select + id,tenant_id,parent_tenant_id, + audit_status,audit_remark, + audit_by,audit_time + from wx_vtwo_activity_order + +