| @@ -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); | |||
| } | |||
| } | |||
| @@ -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); | |||
| } | |||
| } | |||
| @@ -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); | |||
| } | |||
| } | |||
| @@ -16,6 +16,8 @@ import java.util.List; | |||
| public interface WxVtwoActivityGrantExportMapper extends CommonMapper<WxVtwoActivityGrantExport, Long> { | |||
| void insertList(@Param("grantExportList")List<WxVtwoActivityGrantExport> grantExportList); | |||
| List<WxVtwoActivityGrantExport> findList(WxVtwoActivityGrantExport exportQ); | |||
| } | |||
| @@ -40,6 +40,7 @@ public interface WxVtwoActivityOrderMapper extends CommonMapper<WxVtwoActivityOr | |||
| List<WxVtwoOrderBusinessStatistics> getBusinessStatistics(WxVtwoActivityOrder record); | |||
| List<WxVtwoActivityOrder> findAuditDetailList(WxVtwoActivityOrder orderQ); | |||
| } | |||
| @@ -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<WxVtwoActivityGrantAward> { | |||
| void saveGrantAward(WxVtwoActivityGrant activityGrant); | |||
| void saveGrantAward(WxVtwoActivityGrant activityGrant,List<WxVtwoActivityAward> awardList); | |||
| } | |||
| @@ -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<WxVtwoActivit | |||
| void saveGrantExport(WxVtwoActivityGrant activityGrant, List<WxVtwoActivityGrantSettlement> settlementList); | |||
| void saveGrantExport(WxVtwoCashBackGrant activityGrant, List<WxVtwoActivityGrantSettlement> settlementList); | |||
| List<WxVtwoActivityGrantExport> findActivityGrantList(Long activityId, String tenantId); | |||
| List<ExcelExportEntity> getExportHeadList(); | |||
| } | |||
| @@ -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<WxVtwoActivityGrant> { | |||
| void handleFromOrder(String activityName, WxVtwoActivityGrant activityGrant, List<WxVtwoActivityOrder> orderList, boolean isGrant); | |||
| } | |||
| @@ -42,4 +42,12 @@ public interface WxVtwoActivityOrderService extends IService<WxVtwoActivityOrder | |||
| List<WxVtwoActivityOrder> findGrantOrder(TenantEntity tenantInfo, List<Long> idList, List<Long> filterIdList); | |||
| Integer getJointCount(Integer relatedModel, List<WxVtwoActivityOrder> orderList); | |||
| /** | |||
| * 只查询审核信息 | |||
| * @param ids | |||
| * @param tenantId | |||
| * @return | |||
| */ | |||
| Map<Long, WxVtwoActivityOrder> findAuditDetailMap(List<Long> ids, String tenantId); | |||
| } | |||
| @@ -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<WxVtwoAmountGi | |||
| void handlerGrantAwardPage(WxVtwoAmountGiftActivity amountGiftActivity, WxVtwoActivityGrant activityGrant); | |||
| void grantAward(WxVtwoAmountGiftActivity amountGiftActivity,WxVtwoActivityGrant activityGrant); | |||
| void grantExport(HttpServletRequest request, HttpServletResponse response, WxVtwoActivityGrant activityGrant); | |||
| } | |||
| @@ -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_cash_back_activity(线下返现活动)】的数据库操作Service | |||
| @@ -23,4 +26,6 @@ public interface WxVtwoCashBackActivityService extends IService<WxVtwoCashBackAc | |||
| void handlerGrantAwardPage(WxVtwoCashBackActivity cashBackActivity, WxVtwoCashBackGrant activityGrant); | |||
| void grantAward(WxVtwoCashBackActivity cashBackActivity,WxVtwoCashBackGrant activityGrant); | |||
| void grantExport(HttpServletRequest request, HttpServletResponse response, WxVtwoCashBackGrant activityGrant); | |||
| } | |||
| @@ -5,6 +5,8 @@ import com.iformall.domain.po.WxVtwoActivityOrder; | |||
| import com.iformall.domain.po.WxVtwoCashBackGrant; | |||
| import com.baomidou.mybatisplus.extension.service.IService; | |||
| import javax.servlet.http.HttpServletRequest; | |||
| import javax.servlet.http.HttpServletResponse; | |||
| import java.util.List; | |||
| /** | |||
| @@ -30,4 +30,6 @@ public interface WxVtwoPrizeDrawActivityService extends IService<WxVtwoPrizeDraw | |||
| void handlerGrantAwardPage(WxVtwoPrizeDrawActivity prizeDrawActivity, WxVtwoActivityGrant activityGrant); | |||
| void grantAward(WxVtwoPrizeDrawActivity prizeDrawActivity,WxVtwoActivityGrant activityGrant); | |||
| void grantExport(HttpServletRequest request, HttpServletResponse response, WxVtwoActivityGrant activityGrant); | |||
| } | |||
| @@ -17,6 +17,8 @@ import java.math.BigDecimal; | |||
| import java.math.RoundingMode; | |||
| import java.util.List; | |||
| import java.util.Map; | |||
| import java.util.function.Function; | |||
| import java.util.stream.Collectors; | |||
| import static java.util.stream.Collectors.counting; | |||
| import static java.util.stream.Collectors.groupingBy; | |||
| @@ -33,13 +35,10 @@ public class WxVtwoActivityGrantAwardServiceImpl extends ServiceImpl<WxVtwoActiv | |||
| @Autowired | |||
| private WxVtwoActivityGrantAwardMapper wxVtwoActivityGrantAwardMapper; | |||
| @Autowired | |||
| private WxVtwoActivityAwardService wxVtwoActivityAwardService; | |||
| @Override | |||
| public void saveGrantAward(WxVtwoActivityGrant activityGrant) { | |||
| public void saveGrantAward(WxVtwoActivityGrant activityGrant,List<WxVtwoActivityAward> awardList) { | |||
| Map<Long, WxVtwoActivityAward> activityAwardMap = wxVtwoActivityAwardService.findActivityAwardMap(activityGrant.getActivityId(), activityGrant.getTenantId()); | |||
| Map<Long, WxVtwoActivityAward> activityAwardMap = awardList.stream().collect(Collectors.toMap(WxVtwoActivityAward::getId, Function.identity())); | |||
| List<WxVtwoActivityGrantAward> grantAwardList = activityGrant.getGrantAwardList(); | |||
| boolean isAwardId = grantAwardList.stream().anyMatch(grantAward -> grantAward.getAwardId() == null); | |||
| @@ -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<WxVtwoActi | |||
| @Autowired | |||
| private WxVtwoActivityGrantExportMapper wxVtwoActivityGrantExportMapper; | |||
| @Autowired | |||
| private WxVtwoActivityOrderService wxVtwoActivityOrderService; | |||
| @Override | |||
| public void saveGrantExport(WxVtwoActivityGrant activityGrant, List<WxVtwoActivityGrantSettlement> settlementList) { | |||
| @@ -129,6 +136,90 @@ public class WxVtwoActivityGrantExportServiceImpl extends ServiceImpl<WxVtwoActi | |||
| }); | |||
| wxVtwoActivityGrantExportMapper.insertList(grantExportList); | |||
| } | |||
| @Override | |||
| public List<WxVtwoActivityGrantExport> findActivityGrantList(Long activityId, String tenantId) { | |||
| WxVtwoActivityGrantExport exportQ = new WxVtwoActivityGrantExport(); | |||
| exportQ.setTenantId(tenantId); | |||
| exportQ.setActivityId(activityId); | |||
| List<WxVtwoActivityGrantExport> exportList = wxVtwoActivityGrantExportMapper.findList(exportQ); | |||
| if(exportList != null && !exportList.isEmpty()){ | |||
| List<Long> orderIds = exportList.stream().map(e -> e.getOrderId()).distinct().collect(Collectors.toList()); | |||
| Map<Long,WxVtwoActivityOrder> 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<ExcelExportEntity> getExportHeadList() { | |||
| List<ExcelExportEntity> 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; | |||
| } | |||
| } | |||
| @@ -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<WxVtwoActivityGr | |||
| } | |||
| return true; | |||
| } | |||
| } | |||
| @@ -200,6 +200,11 @@ public class WxVtwoActivityGrantSettlementServiceImpl extends ServiceImpl<WxVtwo | |||
| .multiply(settlement.getMallShareRate().divide(new BigDecimal(100))) | |||
| .setScale(2, RoundingMode.HALF_UP)); | |||
| settlement.setOrderMerchantSharePrice(settlement.getOrderGrantPrice().subtract(settlement.getOrderMallSharePrice())); | |||
| if(grant.getTaxAmount() != null){ | |||
| settlement.setTaxAmount(grant.getTaxAmount() | |||
| .multiply(settlement.getOrderRatio().divide(new BigDecimal(100))) | |||
| .setScale(2, RoundingMode.HALF_UP)); | |||
| } | |||
| settlement.setCreateDate(grant.getUpdateDate()); | |||
| settlement.setUpdateDate(grant.getUpdateDate()); | |||
| return settlement; | |||
| @@ -364,7 +364,7 @@ public class WxVtwoActivityOrderServiceImpl extends ServiceImpl<WxVtwoActivityOr | |||
| @Override | |||
| public void exportData(HttpServletRequest request, HttpServletResponse response, WxVtwoActivityOrder record, Long activityId) { | |||
| List<WxVtwoActivityOrder> 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<WxVtwoActivityOr | |||
| return jointCount; | |||
| } | |||
| @Override | |||
| public Map<Long, WxVtwoActivityOrder> findAuditDetailMap(List<Long> ids, String tenantId) { | |||
| WxVtwoActivityOrder orderQ = new WxVtwoActivityOrder(); | |||
| orderQ.setTenantId(tenantId); | |||
| orderQ.setIds(ids); | |||
| List<WxVtwoActivityOrder> auditDetailList = wxVtwoActivityOrderMapper.findAuditDetailList(orderQ); | |||
| MallUserInfo userInfoQ = new MallUserInfo(); | |||
| userInfoQ.setTenantId(tenantId); | |||
| Map<Long, MallUserInfo> 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())); | |||
| } | |||
| } | |||
| @@ -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<WxVtwoAmoun | |||
| @Autowired | |||
| private WxVtwoActivityGrantSettlementService wxVtwoActivityGrantSettlementService; | |||
| @Autowired | |||
| private WxVtwoActivityGrantExportService wxVtwoActivityGrantExportService; | |||
| @Autowired | |||
| private ExcelService excelService; | |||
| @@ -261,8 +266,7 @@ public class WxVtwoAmountGiftActivityServiceImpl extends ServiceImpl<WxVtwoAmoun | |||
| wxVtwoActivityGrantService.handleFromOrder(amountGiftActivity.getName(),activityGrant,orderList,false); | |||
| List<WxVtwoActivityAward> activityAwardList = wxVtwoActivityAwardService.findActivityAwardList(activityGrant.getActivityId(), activityGrant.getTenantId()); | |||
| activityGrant.setAwardList(activityAwardList); | |||
| activityGrant.setAwardList(amountGiftActivity.getAwardList()); | |||
| List<WxVtwoActivityGrantAward> grantAwardList = new ArrayList<>(); | |||
| if(EnumOfflineActivityMode.ONE.getCode().equals(amountGiftActivity.getAmountModel())){ | |||
| @@ -331,11 +335,57 @@ public class WxVtwoAmountGiftActivityServiceImpl extends ServiceImpl<WxVtwoAmoun | |||
| wxVtwoActivityGrantOrderService.saveGrantOrder(activityGrant.getId(),activityGrant.getActivityId(),orderList); | |||
| wxVtwoActivityGrantAwardService.saveGrantAward(activityGrant); | |||
| wxVtwoActivityGrantAwardService.saveGrantAward(activityGrant,amountGiftActivity.getAwardList()); | |||
| wxVtwoActivityGrantSettlementService.saveGrantSettlement(activityGrant); | |||
| } | |||
| @Override | |||
| public void grantExport(HttpServletRequest request, HttpServletResponse response, WxVtwoActivityGrant activityGrant) { | |||
| List<WxVtwoActivityAward> activityAwardList = wxVtwoActivityAwardService.findActivityAwardList(activityGrant.getActivityId(), activityGrant.getTenantId()); | |||
| if(activityAwardList == null || activityAwardList.isEmpty()){ | |||
| throw new MallinkException(Result.ERROR,"未查询到活动"); | |||
| } | |||
| List<ExcelExportEntity> 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<WxVtwoActivityGrantExport> activityGrantExportList = wxVtwoActivityGrantExportService.findActivityGrantList(activityGrant.getActivityId(),activityGrant.getTenantId()); | |||
| List<Map<String, Object>> grantObjectList = new ArrayList<>(); | |||
| if(activityGrantExportList != null && !activityGrantExportList.isEmpty()){ | |||
| grantObjectList = activityGrantExportList.stream().map(e -> { | |||
| Map<String, Object> map = new HashMap<>(); | |||
| try { | |||
| Map<Long, Integer> 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); | |||
| } | |||
| } | |||
| @@ -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<WxVtwoCashBac | |||
| @Autowired | |||
| private WxVtwoActivityGrantSettlementService wxVtwoActivityGrantSettlementService; | |||
| @Autowired | |||
| private WxVtwoActivityGrantExportService wxVtwoActivityGrantExportService; | |||
| @Autowired | |||
| private ExcelService excelService; | |||
| @@ -283,6 +290,45 @@ public class WxVtwoCashBackActivityServiceImpl extends ServiceImpl<WxVtwoCashBac | |||
| wxVtwoActivityGrantSettlementService.saveGrantSettlement(activityGrant); | |||
| } | |||
| @Override | |||
| public void grantExport(HttpServletRequest request, HttpServletResponse response, WxVtwoCashBackGrant activityGrant) { | |||
| WxVtwoCashBackActivity activity = this.getById(activityGrant.getActivityId(), activityGrant.getTenantId()); | |||
| if(activity == null){ | |||
| throw new MallinkException(Result.ERROR,"未查询到活动"); | |||
| } | |||
| List<ExcelExportEntity> 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<WxVtwoActivityGrantExport> activityGrantExportList = wxVtwoActivityGrantExportService.findActivityGrantList(activityGrant.getActivityId(),activityGrant.getTenantId()); | |||
| List<Map<String, Object>> grantObjectList = new ArrayList<>(); | |||
| if(activityGrantExportList != null && !activityGrantExportList.isEmpty()){ | |||
| grantObjectList = activityGrantExportList.stream().map(e -> { | |||
| Map<String, Object> map = new HashMap<>(); | |||
| try { | |||
| map = BeanUtils.toMap(e); | |||
| } catch (Exception ex) { | |||
| } | |||
| return map; | |||
| }).collect(toList()); | |||
| } | |||
| excelService.exportExcel(headList, grantObjectList, null, "返现活动发放明细", "返现活动发放明细.xlsx",true, response); | |||
| } | |||
| } | |||
| @@ -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<WxVtwoPrizeD | |||
| @Autowired | |||
| private WxVtwoActivityGrantSettlementService wxVtwoActivityGrantSettlementService; | |||
| @Autowired | |||
| private WxVtwoActivityGrantExportService wxVtwoActivityGrantExportService; | |||
| @Autowired | |||
| private ExcelService excelService; | |||
| @@ -263,8 +269,7 @@ public class WxVtwoPrizeDrawActivityServiceImpl extends ServiceImpl<WxVtwoPrizeD | |||
| wxVtwoActivityGrantService.handleFromOrder(prizeDrawActivity.getName(),activityGrant,orderList,false); | |||
| List<WxVtwoActivityAward> activityAwardList = wxVtwoActivityAwardService.findActivityAwardList(activityGrant.getActivityId(), activityGrant.getTenantId()); | |||
| activityGrant.setAwardList(activityAwardList); | |||
| activityGrant.setAwardList(prizeDrawActivity.getAwardList()); | |||
| int limitCount = 0; | |||
| List<WxVtwoActivityGrantRule> grantRuleList = new ArrayList<>(); | |||
| @@ -349,11 +354,57 @@ public class WxVtwoPrizeDrawActivityServiceImpl extends ServiceImpl<WxVtwoPrizeD | |||
| wxVtwoActivityGrantOrderService.saveGrantOrder(activityGrant.getId(),activityGrant.getActivityId(),orderList); | |||
| wxVtwoActivityGrantAwardService.saveGrantAward(activityGrant); | |||
| wxVtwoActivityGrantAwardService.saveGrantAward(activityGrant,prizeDrawActivity.getAwardList()); | |||
| wxVtwoActivityGrantSettlementService.saveGrantSettlement(activityGrant); | |||
| } | |||
| @Override | |||
| public void grantExport(HttpServletRequest request, HttpServletResponse response, WxVtwoActivityGrant activityGrant) { | |||
| List<WxVtwoActivityAward> activityAwardList = wxVtwoActivityAwardService.findActivityAwardList(activityGrant.getActivityId(), activityGrant.getTenantId()); | |||
| if(activityAwardList == null || activityAwardList.isEmpty()){ | |||
| throw new MallinkException(Result.ERROR,"未查询到活动"); | |||
| } | |||
| List<ExcelExportEntity> 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<WxVtwoActivityGrantExport> activityGrantExportList = wxVtwoActivityGrantExportService.findActivityGrantList(activityGrant.getActivityId(),activityGrant.getTenantId()); | |||
| List<Map<String, Object>> grantObjectList = new ArrayList<>(); | |||
| if(activityGrantExportList != null && !activityGrantExportList.isEmpty()){ | |||
| grantObjectList = activityGrantExportList.stream().map(e -> { | |||
| Map<String, Object> map = new HashMap<>(); | |||
| try { | |||
| Map<Long, Integer> 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); | |||
| } | |||
| } | |||
| @@ -92,7 +92,8 @@ | |||
| #{idItem} | |||
| </foreach> | |||
| </if> | |||
| <if test=" null != sortColumns"> order by ${sortColumns} </if> | |||
| <!--<if test=" null != sortColumns"> order by ${sortColumns} </if>--> | |||
| order by grant_time desc | |||
| </sql> | |||
| <select id="findList" parameterType="com.iformall.domain.po.WxVtwoActivityGrantExport" resultMap="BaseResultMap"> | |||
| @@ -250,4 +250,13 @@ | |||
| and `parent_tenant_id` = #{parentTenantId} | |||
| </if> | |||
| </update> | |||
| <select id="findAuditDetailList" parameterType="com.iformall.domain.po.WxVtwoActivityOrder" resultMap="BaseResultMap"> | |||
| select | |||
| id,tenant_id,parent_tenant_id, | |||
| audit_status,audit_remark, | |||
| audit_by,audit_time | |||
| from wx_vtwo_activity_order | |||
| <include refid="dynamicWhereConditions" /> | |||
| </select> | |||
| </mapper> | |||