From 40df5783c32c8b2133b353b74271df3c2468d16e Mon Sep 17 00:00:00 2001 From: luozukai Date: Sat, 20 Apr 2019 17:28:34 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=AE=A1=E6=89=B9=E6=B5=81][=E4=BF=AE?= =?UTF-8?q?=E6=94=B9][=E5=BE=85=E5=AE=A1=E6=89=B9=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0variables=E8=BF=94=E5=9B=9E]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WxBillAllController.java | 37 ++++++ .../com/iformall/domain/vo/OweMerchantVo.java | 109 ++++++++++++++++++ .../com/iformall/domain/vo/WxBillAll.java | 53 +++++++++ .../java/com/iformall/enums/EnumChart.java | 2 + .../com/iformall/mapper/WxCouponMapper.java | 2 + .../iformall/mapper/WxOrderGroupMapper.java | 3 + .../service/MarkingDataReportService.java | 2 + .../iformall/service/WxBillAllService.java | 9 ++ .../com/iformall/service/WxCouponService.java | 15 +++ .../impl/MarkingDataReportServiceImpl.java | 73 ++++++++++++ .../service/impl/WxBillAllServiceImpl.java | 34 ++++++ .../service/impl/WxChartServiceImpl.java | 82 ++++++++++++- .../service/impl/WxCouponServiceImpl.java | 11 ++ .../service/impl/WxFlowServiceImpl.java | 4 + .../main/resources/mapper/WxBillAllMapper.xml | 64 ++++++++++ .../resources/mapper/WxBillOtherMapper.xml | 2 +- .../main/resources/mapper/WxCouponMapper.xml | 17 +++ .../resources/mapper/WxOrderGroupMapper.xml | 12 ++ .../main/resources/mapper/WxShopMapper.xml | 2 +- 19 files changed, 528 insertions(+), 5 deletions(-) create mode 100644 mallinkService/src/main/java/com/iformall/domain/vo/OweMerchantVo.java diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxBillAllController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxBillAllController.java index edd1d6894..1f5c80c78 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxBillAllController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxBillAllController.java @@ -2,10 +2,12 @@ package com.iformall.controller; import com.iformall.annotation.SystemControllerLog; import com.iformall.common.ResultData; +import com.iformall.domain.po.WxShop; import com.iformall.domain.vo.WxBillAll; import com.iformall.service.WxBillAllService; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -16,6 +18,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.util.List; import java.util.Map; /** @@ -70,4 +73,38 @@ public class WxBillAllController extends BaseController { } + /** + * 欠缴商户列表 + * @param wxBillAll + * @param pageNum + * @param pageSize + * @return + */ + @GetMapping("oweMerchantlist") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) + @SystemControllerLog(description = "费用收缴数据-欠缴商户列表") + public ResultData oweMerchantlist(@ModelAttribute WxBillAll wxBillAll, Integer pageNum, Integer pageSize) { + logger.debug("[" + getIpAddr() + "] WxBillAllController::oweMerchantlist"); + if (null == wxBillAll) { + wxBillAll = new WxBillAll(); + } + wxBillAll.setTenantId(getTenantId()); + Map result = wxBillAllService.getOweBillAsPage(wxBillAll, pageNum, pageSize); + return new ResultData(result); + } + + @ApiOperation("导出欠缴商户列表") + @GetMapping("/exportOweMerchantlist") + @SystemControllerLog(description = "费用收缴数据-欠缴商户列表-导出") + public void exportOweMerchantlist(@ModelAttribute WxBillAll wxBillAll, HttpServletRequest request, HttpServletResponse response) { + logger.debug("[" + getIpAddr() + "] WxBillAllController::exportOweMerchantlist"); + if (null == wxBillAll){ + wxBillAll = new WxBillAll(); + } + wxBillAll.setTenantId(getTenantId()); + wxBillAllService.exportOweMerchant(wxBillAll, request, response); + } + } diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/OweMerchantVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/OweMerchantVo.java new file mode 100644 index 000000000..aef79ec20 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/OweMerchantVo.java @@ -0,0 +1,109 @@ +package com.iformall.domain.vo; + +import cn.afterturn.easypoi.excel.annotation.Excel; + +import java.math.BigDecimal; + +public class OweMerchantVo { + + @Excel(name="商户名",width = 20,orderNum = "1") + private String name; + @Excel(name="楼座",width = 20,orderNum = "2") + private Long building; + @Excel(name="楼层",width = 20,orderNum = "3") + private Long floor; + @Excel(name="负责人",width = 20,orderNum = "4") + private String linkPerson; + @Excel(name="负责人电话",width = 20,orderNum = "5") + private String linkPhone; + @Excel(name="欠缴租金(元)",width = 20,orderNum = "6") + private BigDecimal rentOwe; + @Excel(name="欠缴物业费(元)",width = 20,orderNum = "7") + private BigDecimal propertyOwe; + @Excel(name="欠缴押金(元)",width = 20,orderNum = "8") + private BigDecimal depositOwe; + @Excel(name="其他费用(元)",width = 20,orderNum = "9") + private BigDecimal otherOwe; + @Excel(name="欠缴总额(元)",width = 20,orderNum = "10") + private BigDecimal totalOwe; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Long getBuilding() { + return building; + } + + public void setBuilding(Long building) { + this.building = building; + } + + public Long getFloor() { + return floor; + } + + public void setFloor(Long floor) { + this.floor = floor; + } + + public String getLinkPerson() { + return linkPerson; + } + + public void setLinkPerson(String linkPerson) { + this.linkPerson = linkPerson; + } + + public String getLinkPhone() { + return linkPhone; + } + + public void setLinkPhone(String linkPhone) { + this.linkPhone = linkPhone; + } + + public BigDecimal getRentOwe() { + return rentOwe; + } + + public void setRentOwe(BigDecimal rentOwe) { + this.rentOwe = rentOwe; + } + + public BigDecimal getPropertyOwe() { + return propertyOwe; + } + + public void setPropertyOwe(BigDecimal propertyOwe) { + this.propertyOwe = propertyOwe; + } + + public BigDecimal getDepositOwe() { + return depositOwe; + } + + public void setDepositOwe(BigDecimal depositOwe) { + this.depositOwe = depositOwe; + } + + public BigDecimal getOtherOwe() { + return otherOwe; + } + + public void setOtherOwe(BigDecimal otherOwe) { + this.otherOwe = otherOwe; + } + + public BigDecimal getTotalOwe() { + return totalOwe; + } + + public void setTotalOwe(BigDecimal totalOwe) { + this.totalOwe = totalOwe; + } +} diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxBillAll.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxBillAll.java index fd3d3d270..e0d57bc93 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxBillAll.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxBillAll.java @@ -53,6 +53,59 @@ public class WxBillAll { @io.swagger.annotations.ApiModelProperty(value = "租赁店铺类型", name = "rentShopType") private Integer rentShopType; + //费用收缴数据 + @io.swagger.annotations.ApiModelProperty(value = "欠缴租金", name = "rentOwe") + private Integer rentOwe; + @io.swagger.annotations.ApiModelProperty(value = "欠缴物业费", name = "propertyOwe") + private Integer propertyOwe; + @io.swagger.annotations.ApiModelProperty(value = "欠缴押金", name = "depositOwe") + private Integer depositOwe; + @io.swagger.annotations.ApiModelProperty(value = "欠缴其他费用", name = "otherOwe") + private Integer otherOwe; + @io.swagger.annotations.ApiModelProperty(value = "欠缴总额", name = "totalOwe") + private Integer totalOwe; + + + public Integer getRentOwe() { + return rentOwe; + } + + public void setRentOwe(Integer rentOwe) { + this.rentOwe = rentOwe; + } + + public Integer getPropertyOwe() { + return propertyOwe; + } + + public void setPropertyOwe(Integer propertyOwe) { + this.propertyOwe = propertyOwe; + } + + public Integer getDepositOwe() { + return depositOwe; + } + + public void setDepositOwe(Integer depositOwe) { + this.depositOwe = depositOwe; + } + + public Integer getOtherOwe() { + return otherOwe; + } + + public void setOtherOwe(Integer otherOwe) { + this.otherOwe = otherOwe; + } + + public Integer getTotalOwe() { + return totalOwe; + } + + public void setTotalOwe(Integer totalOwe) { + this.totalOwe = totalOwe; + } + public Long getId() { return id; } diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumChart.java b/mallinkService/src/main/java/com/iformall/enums/EnumChart.java index 4a8a44888..ad9546384 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumChart.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumChart.java @@ -58,6 +58,8 @@ public enum EnumChart { INDEX_SHOP_RENT(49, "商铺出租数据"), INDEX_BILL_RECE_RATE(50, "费用收缴数据"), + INDEX_COUPON_SCENE(51, "场景发券"), + INDEX_SALE_DATA(52, "营销数据"), ; public static EnumChart getEnum(Integer code) { diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java index 228023c24..206bd5d0b 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java @@ -69,5 +69,7 @@ public interface WxCouponMapper extends CommonMapper { List findCouponByTopic(WxTopic wxTopic); + Long priceCouponCancelCount(WxCoupon wxCoupon); + List findSaleCardCountHistory(WxCoupon wxCoupon); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxOrderGroupMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxOrderGroupMapper.java index cc23f29c4..6768f7cc8 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxOrderGroupMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxOrderGroupMapper.java @@ -1,8 +1,10 @@ package com.iformall.mapper; import com.iformall.common.CommonMapper; +import com.iformall.domain.po.WxCoupon; import com.iformall.domain.po.WxOrder; import com.iformall.domain.po.WxOrderGroup; +import com.iformall.domain.vo.WxCouponStatisVo; import com.iformall.domain.vo.WxOrderGroupMarketing; import java.util.List; @@ -33,5 +35,6 @@ public interface WxOrderGroupMapper extends CommonMapper { long queryOrderGroupVerifyCount(Map params); + List queryOrderGroupCountHistory(WxCoupon wxCoupon); } diff --git a/mallinkService/src/main/java/com/iformall/service/MarkingDataReportService.java b/mallinkService/src/main/java/com/iformall/service/MarkingDataReportService.java index 01e6d7e44..82f7af593 100644 --- a/mallinkService/src/main/java/com/iformall/service/MarkingDataReportService.java +++ b/mallinkService/src/main/java/com/iformall/service/MarkingDataReportService.java @@ -16,6 +16,8 @@ public interface MarkingDataReportService { Map getSceneData(String tenantId); + Map getSceneDataHistory(String tenantId,String startDate,String endDate); + PageInfo getCouponDataList(String tenantId, MarkingCouponDataReportDto markingCouponDataReportDto, Integer pageIndex, Integer pageSize); PageInfo getSceneDataList(String tenantId, MarkingCouponDataReportDto markingCouponDataReportDto, Integer pageIndex, Integer pageSize); diff --git a/mallinkService/src/main/java/com/iformall/service/WxBillAllService.java b/mallinkService/src/main/java/com/iformall/service/WxBillAllService.java index 5d479fed4..da6d55718 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxBillAllService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxBillAllService.java @@ -35,4 +35,13 @@ public interface WxBillAllService { * 发送欠缴通知邮件 */ void sendOweBillForEmail(); + + /** + * 欠缴商户分页列表 + * @return + */ + Map getOweBillAsPage(WxBillAll record, Integer pageNum, Integer pageSize); + + + void exportOweMerchant(WxBillAll record, HttpServletRequest request, HttpServletResponse response); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponService.java index 4a6fcb2a0..611ea7ea6 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponService.java @@ -139,6 +139,12 @@ public interface WxCouponService { */ List priceCouponPaymentCount(WxCoupon wxCoupon); + /** + * 有价卷退款数量 + * @return + */ + Long priceCouponCancelCount(WxCoupon wxCoupon); + String findSumPriceSaleMoney(WxCoupon wxCoupon); String findSumPricePayMent(WxCoupon wxCoupon); String findSumSubsidyMoney(WxCoupon wxCoupon); @@ -174,4 +180,13 @@ public interface WxCouponService { * @return */ Long sumJoin(WxCoupon wxCoupon); + + + + /** + * 查询售出卡数量历史 + * @return + */ + List findSaleCardCountHistory(WxCoupon wxCoupon); + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java index 70e967990..0a7fe98d4 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java @@ -11,6 +11,7 @@ import com.iformall.enums.*; import com.iformall.mapper.*; import com.iformall.service.MarkingDataReportService; import com.iformall.utils.DateUtils; +import org.apache.commons.collections.map.HashedMap; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -420,6 +421,78 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService { return new PageInfo<>(list); } + @Override + public Map getSceneDataHistory(String tenantId,String startDate, String endDate) { + Map result = new HashedMap(); + + HashMap params = new HashMap<>(); + params.put("tenantId", tenantId); + if (StringUtils.isNotBlank(startDate)) + params.put("startTime", startDate); + if (StringUtils.isNotBlank(endDate)) + params.put("endTime", endDate); + + List days = DateUtils.getTjTimeList(startDate,endDate,"0"); + TreeMap historyMap = new TreeMap<>(); + + //停车发券 + params.put("channelType", EnumCouponSendSendType.CAR_STOP.getCode()); + List carStopList = wxCouponActionLogMapper.sceneDataList(params); + Map countMap = carStopList.stream().collect(Collectors.toMap(MarkingSceneDataVo::getxTime, p -> p.getSendCount())); + for (String date:days) { + historyMap.put(date.substring(5,date.length()).replace("-","/"),"0"); + } + for (String key : countMap.keySet()) { + String keySub = key.substring(5,key.length()).replace("-","/"); + historyMap.put(keySub,countMap.get(key)); + } + result.put("carStopHistory",historyMap); + + //核销发券 + params.put("channelType", EnumCouponSendSendType.COUPON_VERIFY.getCode()); + List couponVerifyList = wxCouponActionLogMapper.sceneDataList(params); + countMap = couponVerifyList.stream().collect(Collectors.toMap(MarkingSceneDataVo::getxTime, p -> p.getSendCount())); + historyMap = new TreeMap<>(); + for (String date:days) { + historyMap.put(date.substring(5,date.length()).replace("-","/"),"0"); + } + for (String key : countMap.keySet()) { + String keySub = key.substring(5,key.length()).replace("-","/"); + historyMap.put(keySub,countMap.get(key)); + } + result.put("couponVerifyHistory",historyMap); + + //交易发券 + params.put("channelType", EnumCouponSendSendType.C_ORDER.getCode()); + List orderList = wxCouponActionLogMapper.sceneDataList(params); + countMap = orderList.stream().collect(Collectors.toMap(MarkingSceneDataVo::getxTime, p -> p.getSendCount())); + historyMap = new TreeMap<>(); + for (String date:days) { + historyMap.put(date.substring(5,date.length()).replace("-","/"),"0"); + } + for (String key : countMap.keySet()) { + String keySub = key.substring(5,key.length()).replace("-","/"); + historyMap.put(keySub,countMap.get(key)); + } + result.put("orderHistory",historyMap); + + //收银台发券 + params.put("channelType", EnumCouponSendSendType.B_MICROPAY.getCode()); + List micropayList = wxCouponActionLogMapper.sceneDataList(params); + countMap = micropayList.stream().collect(Collectors.toMap(MarkingSceneDataVo::getxTime, p -> p.getSendCount())); + historyMap = new TreeMap<>(); + for (String date:days) { + historyMap.put(date.substring(5,date.length()).replace("-","/"),"0"); + } + for (String key : countMap.keySet()) { + String keySub = key.substring(5,key.length()).replace("-","/"); + historyMap.put(keySub,countMap.get(key)); + } + result.put("micropayHistory",historyMap); + + return result; + } + @Override public Map listOrderReportByDate(WxOrderReportDto wxOrderReportDto) { diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java index e308e52e9..6492ecc16 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java @@ -7,8 +7,10 @@ import com.iformall.common.ErrorCode; import com.iformall.common.ResultData; import com.iformall.domain.po.*; import com.iformall.domain.po.msg.MailMsg; +import com.iformall.domain.vo.OweMerchantVo; import com.iformall.domain.vo.WxBillAll; import com.iformall.domain.vo.WxBillAllVo; +import com.iformall.domain.vo.WxNotRentShopVo; import com.iformall.enums.*; import com.iformall.exception.MallinkException; import com.iformall.mapper.*; @@ -20,6 +22,7 @@ import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -738,4 +741,35 @@ public class WxBillAllServiceImpl implements WxBillAllService { } } + + @Override + public Map getOweBillAsPage(WxBillAll record, Integer pageNum, Integer pageSize) { + PageInfo> pageInfo = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> wxBillAllMapper.getOweBillAsPage(record)); + Map result = new HashMap<>(); + result.put("pageInfo", pageInfo); + return result; + } + + + @Override + public void exportOweMerchant(WxBillAll record, HttpServletRequest request, HttpServletResponse response) { + List> data = wxBillAllMapper.getOweBillAsPage(record); + List list = new ArrayList<>(); + for (Map map:data) { + OweMerchantVo oweMerchantVo = new OweMerchantVo(); + oweMerchantVo.setBuilding((Long)map.get("building")); + oweMerchantVo.setDepositOwe((BigDecimal) map.get("depositOwe")); + oweMerchantVo.setFloor((Long)map.get("floor")); + oweMerchantVo.setLinkPerson((String)map.get("manager")); + oweMerchantVo.setName((String)map.get("merchantName")); + oweMerchantVo.setLinkPhone((String)map.get("managerPhone")); + oweMerchantVo.setOtherOwe((BigDecimal) map.get("otherOwe")); + oweMerchantVo.setPropertyOwe((BigDecimal) map.get("propertyOwe")); + oweMerchantVo.setRentOwe((BigDecimal) map.get("rentOwe")); + oweMerchantVo.setTotalOwe((BigDecimal) map.get("totalOwe")); + list.add(oweMerchantVo); + } + String name = "欠缴商户列表"; + excelService.exportExcel(list,null, name, OweMerchantVo.class,name+".xls",response); + } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java index 1e6f2beca..61c46961a 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java @@ -10,6 +10,7 @@ import com.iformall.domain.po.*; import com.iformall.domain.vo.*; import com.iformall.enums.*; import com.iformall.mapper.*; +import com.iformall.service.MarkingDataReportService; import com.iformall.service.WxChartDataService; import com.iformall.service.WxCouponService; import com.iformall.utils.DateUtils; @@ -69,6 +70,8 @@ public class WxChartServiceImpl implements WxChartDataService { WxBillDepositMapper wxBillDepositMapper; @Autowired WxBillOtherMapper wxBillOtherMapper; + @Autowired + MarkingDataReportService markingDataReportService; @Override public ResultData queryData(Map paramsMap) { @@ -290,6 +293,18 @@ public class WxChartServiceImpl implements WxChartDataService { return getBillReceRate(tenantId, startdate); } + //首页场景发券 + if (chart.equals(EnumChart.INDEX_COUPON_SCENE.getCode())) { + return new ResultData(markingDataReportService.getSceneDataHistory(tenantId, paramsMap.get("startdate"), paramsMap.get("enddate"))); + } + + //首页营销数据 + if (chart.equals(EnumChart.INDEX_SALE_DATA.getCode())) { + return getSaleDataHistory(tenantId, startdate,enddate); + } + + + return new ResultData(ErrorCode.REPORT_TYPE_UNKNOWN); } @@ -1873,6 +1888,7 @@ public class WxChartServiceImpl implements WxChartDataService { List paymentCountList = wxCouponService.findCouponPaymentCount(wxCoupon); List priceCouponSaleCountList = wxCouponService.priceCouponSaleCount(wxCoupon); List priceCouponPaymentCountList = wxCouponService.priceCouponPaymentCount(wxCoupon); + Long priceCouponCancelCount = wxCouponService.priceCouponCancelCount(wxCoupon); Map orderCountMap = getDateMap(wxCoupon.getStartdate(),wxCoupon.getEnddate()); Map paymentCountMap = getDateMap(wxCoupon.getStartdate(),wxCoupon.getEnddate()); @@ -1895,10 +1911,10 @@ public class WxChartServiceImpl implements WxChartDataService { result.put("paymentCountList",paymentCountMap); result.put("priceCouponSaleCountList",priceCouponSaleCountMap); result.put("priceCouponPaymentCountList",priceCouponPaymentCountMap); - result.put("sumPriceSaleMoney",wxCouponService.findSumPriceSaleMoney(wxCoupon)); result.put("sumPricePayMent",wxCouponService.findSumPricePayMent(wxCoupon)); result.put("sumSubsidyMoney",wxCouponService.findSumSubsidyMoney(wxCoupon)); + result.put("priceCouponCancelCount",priceCouponCancelCount); return new ResultData(result); } @@ -2218,7 +2234,7 @@ public class WxChartServiceImpl implements WxChartDataService { */ private ResultData getIndexShopRentData(String tenantId, String startDateStr) { HashMap datamap = new HashMap<>(); - Date startDate = DateUtils.getDateFromString(startDateStr+"-01","yyyy-MM-dd").getTime(); + Date startDate = DateUtils.getDateFromString(startDateStr,"yyyy-MM-dd").getTime(); Date endDate = DateUtils.getLastDayForMonth(startDate); WxShop query = new WxShop(); query.setTenantId(tenantId); @@ -2267,7 +2283,7 @@ public class WxChartServiceImpl implements WxChartDataService { */ private ResultData getBillReceRate(String tenantId, String startDateStr) { HashMap datamap = new HashMap<>(); - Date startDate = DateUtils.getDateFromString(startDateStr+"-01","yyyy-MM-dd").getTime(); + Date startDate = DateUtils.getDateFromString(startDateStr,"yyyy-MM-dd").getTime(); Date endDate = DateUtils.getLastDayForMonth(startDate); //租金收缴率 @@ -2403,4 +2419,64 @@ public class WxChartServiceImpl implements WxChartDataService { return new ResultData(datamap); } + + /** + * 营销数据 + * @param tenantId + * @return + */ + private ResultData getSaleDataHistory(String tenantId, String startdate,String enddate) { + Date startDate = DateUtils.getDateFromString(startdate,"yyyy-MM-dd").getTime(); + Date endDate = DateUtils.getDateFromString(enddate,"yyyy-MM-dd").getTime(); + + HashMap datamap = new HashMap<>(); + //卷数据 + HashMap params = new HashMap<>(); + params.put("tenantId", tenantId); + params.put("startTime", startDate); + params.put("endTime", endDate); + List couponDatalist = wxCouponOrderMapper.couponDataMap(params); + + List days = DateUtils.getTjTimeList(startdate,enddate,"0"); + TreeMap historyMap = new TreeMap<>(); + Map countMap = couponDatalist.stream().collect(Collectors.toMap(MarkingCouponDataReportVo::getCreateTime, p -> p.getCouponCount())); + for (String date:days) { + historyMap.put(date.substring(5,date.length()).replace("-","/"),"0"); + } + for (String key : countMap.keySet()) { + String keySub = key.substring(5,key.length()).replace("-","/"); + historyMap.put(keySub,countMap.get(key)); + } + datamap.put("couponHistory",historyMap); + + //卡数据 + WxCoupon couponQuery = new WxCoupon(); + couponQuery.setTenantId(tenantId); + couponQuery.setStartdate(startDate); + couponQuery.setEnddate(endDate); + List couponStatisVoList = wxCouponService.findSaleCardCountHistory(couponQuery); + countMap = couponStatisVoList.stream().collect(Collectors.toMap(WxCouponStatisVo::getXtime, p -> Integer.parseInt(p.getXcount()))); + historyMap = new TreeMap<>(); + for (String date:days) { + historyMap.put(date.substring(5,date.length()).replace("-","/"),"0"); + } + for (String key : countMap.keySet()) { + String keySub = key.substring(5,key.length()).replace("-","/"); + historyMap.put(keySub,countMap.get(key)); + } + datamap.put("cardHistory",historyMap); + + //砍价数据 + List pressSendHistory = wxCouponService.pressSendHistory(couponQuery); + Map pressSendHistoryMap = getDateMap(startDate,endDate); + for (WxCouponStatisVo coupon:pressSendHistory){ + pressSendHistoryMap.put(coupon.getXtime(),coupon.getXcount()); + } + datamap.put("pressSendHistory",pressSendHistoryMap); + + //拼团 + long groupCount = wxOrderGroupMapper.queryOrderGroupCount(params); + + return new ResultData(datamap); + } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java index 86e6d567c..c49362471 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java @@ -458,4 +458,15 @@ public class WxCouponServiceImpl implements WxCouponService { Long count = wxCouponMapper.sumJoin(wxCoupon); return (count==null)?0l:count; } + + @Override + public Long priceCouponCancelCount(WxCoupon wxCoupon) { + Long count = wxCouponMapper.priceCouponCancelCount(wxCoupon); + return (count==null)?0l:count; + } + + @Override + public List findSaleCardCountHistory(WxCoupon wxCoupon) { + return wxCouponMapper.findSaleCardCountHistory(wxCoupon); + } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java index 8a02406e3..10cba0455 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java @@ -526,11 +526,15 @@ public class WxFlowServiceImpl implements WxFlowService { taskInfoMap.put("businessId",mapInfo.get("businessId")); taskInfoMap.put("businessType",mapInfo.get("flowType")); List> variables = (List)mapInfo.get("variables"); //定制variables,回传 + Map variablesMap = new HashedMap(); if(CollectionUtils.isNotEmpty(variables)){ for (Map m:variables) { taskInfoMap.put((String)m.get("key"),m.get("value")); + variablesMap.put((String)m.get("key"),m.get("value")); } } + taskInfoMap.put("businessType",mapInfo.get("flowType")); + taskInfoMap.put("variables",variablesMap); result.add(taskInfoMap); } } diff --git a/mallinkService/src/main/resources/mapper/WxBillAllMapper.xml b/mallinkService/src/main/resources/mapper/WxBillAllMapper.xml index 3103566e6..b5537a8bd 100644 --- a/mallinkService/src/main/resources/mapper/WxBillAllMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillAllMapper.xml @@ -482,4 +482,68 @@ left join (select tenant_id,`name` appname from wx_appinfo app where type=1) app on bill.tenant_id=app.tenant_id where m.status=1 + + diff --git a/mallinkService/src/main/resources/mapper/WxBillOtherMapper.xml b/mallinkService/src/main/resources/mapper/WxBillOtherMapper.xml index bcfaaffef..56097a2ac 100644 --- a/mallinkService/src/main/resources/mapper/WxBillOtherMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillOtherMapper.xml @@ -107,7 +107,7 @@ diff --git a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml index 9d21962e4..7cb2d5dd7 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml @@ -752,4 +752,21 @@ where ct.`sub_target_id` = #{id} + + + + diff --git a/mallinkService/src/main/resources/mapper/WxOrderGroupMapper.xml b/mallinkService/src/main/resources/mapper/WxOrderGroupMapper.xml index 223a47889..9f265ad94 100644 --- a/mallinkService/src/main/resources/mapper/WxOrderGroupMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxOrderGroupMapper.xml @@ -165,6 +165,18 @@ + +