Преглед изворни кода

[营销分析][添加][卡营销列表]

release_toaliyun_real
luozukai пре 7 година
родитељ
комит
47ee703473
5 измењених фајлова са 118 додато и 84 уклоњено
  1. +2
    -15
      mallinkAdmin/src/main/java/com/iformall/controller/WxChartDataController.java
  2. +32
    -65
      mallinkAdmin/src/main/java/com/iformall/controller/WxCouponController.java
  3. +4
    -1
      mallinkService/src/main/java/com/iformall/enums/EnumChart.java
  4. +3
    -1
      mallinkService/src/main/java/com/iformall/service/WxChartDataService.java
  5. +77
    -2
      mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java

+ 2
- 15
mallinkAdmin/src/main/java/com/iformall/controller/WxChartDataController.java Прегледај датотеку

@@ -36,21 +36,8 @@ public class WxChartDataController extends BaseController {
@ApiImplicitParam(name = "querytime", value = "querytime", dataType = "String", paramType = "query", required = true)}) @ApiImplicitParam(name = "querytime", value = "querytime", dataType = "String", paramType = "query", required = true)})
public ResultData queryData(@RequestParam Map<String, String> params) { public ResultData queryData(@RequestParam Map<String, String> params) {
logger.debug("[" + getIpAddr() + "] WxChartDataController::queryData"); logger.debug("[" + getIpAddr() + "] WxChartDataController::queryData");
Integer chart = Integer.valueOf(params.get("chart"));
String querytime = params.get("querytime");
String startdate = DateUtils.getSystemTime("yyyy-MM-dd");
String enddate = startdate;
if (!StringUtils.isEmpty(querytime)) {
String[] split = querytime.split(",");
if (split.length == 2) {
startdate = split[0];
enddate = split[1];
} else {
startdate = split[0];
enddate = split[0];
}
}
return wxChartDataService.queryData(getTenantId(), chart, startdate, enddate);
params.put("tenantId",super.getTenantId());
return wxChartDataService.queryData(params);
} }


} }

+ 32
- 65
mallinkAdmin/src/main/java/com/iformall/controller/WxCouponController.java Прегледај датотеку

@@ -116,12 +116,13 @@ public class WxCouponController extends BaseController {
return new ResultData(wxCouponService.list(wxCoupon)); return new ResultData(wxCouponService.list(wxCoupon));
} }


@ApiOperation("卡类列表统计接口")
@GetMapping("findCountData")

@ApiOperation("卡营销列表接口")
@GetMapping("findCardCountList")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
public ResultData findCountData(@ModelAttribute WxCoupon wxCoupon, Integer pageNum, Integer pageSize) {
public ResultData findCardCountList(@ModelAttribute WxCoupon wxCoupon, Integer pageNum, Integer pageSize) {
//默认时间本月第一天,截止到当天 //默认时间本月第一天,截止到当天
Map<String,Object> result = new HashedMap(); Map<String,Object> result = new HashedMap();
if(wxCoupon.getStartdate() == null){ if(wxCoupon.getStartdate() == null){
@@ -133,80 +134,46 @@ public class WxCouponController extends BaseController {
if(wxCoupon.getEnddate() == null){ if(wxCoupon.getEnddate() == null){
wxCoupon.setEnddate(new Date()); wxCoupon.setEnddate(new Date());
} }
List<WxCoupon> saleMoneyList = wxCouponService.findSaleMoneyByDate(wxCoupon);
List<WxCoupon> paymentList = wxCouponService.findPaymentByDate(wxCoupon);
Map<String,Integer> saleMap = getDateMap(wxCoupon.getStartdate(),wxCoupon.getEnddate());
Map<String,Integer> payMentMap = getDateMap(wxCoupon.getStartdate(),wxCoupon.getEnddate());

for (WxCoupon coupon:saleMoneyList){
saleMap.put(coupon.getXtime(),coupon.getSaleAmount());
}
for (WxCoupon coupon:paymentList){
payMentMap.put(coupon.getXtime(),coupon.getSumPayment());
}
result.put("list",wxCouponService.findCountData(wxCoupon,pageNum,pageSize)); result.put("list",wxCouponService.findCountData(wxCoupon,pageNum,pageSize));
result.put("saleHistory",saleMap);
result.put("paymentHistory",payMentMap);
result.put("saleCardCount",wxCouponService.findSaleCardCount(wxCoupon));
result.put("tranCount",wxCouponService.findTranCardCount(wxCoupon));
result.put("subsidyCount",wxCouponService.findSubsidyMoney(wxCoupon));

return new ResultData(result); return new ResultData(result);
} }


@ApiOperation("卷列表统计接口") @ApiOperation("卷列表统计接口")
@GetMapping("findCouponData")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
public ResultData findCouponData(@ModelAttribute WxCoupon wxCoupon, Integer pageNum, Integer pageSize) {
@GetMapping("findCouponHistory")
public ResultData findCouponHistory(@ModelAttribute WxCoupon wxCoupon) {
//默认时间本月第一天,截止到当天 //默认时间本月第一天,截止到当天
Map<String,Object> result = new HashedMap(); Map<String,Object> result = new HashedMap();
if(wxCoupon.getStartdate() == null){
Calendar c = Calendar.getInstance();
c.add(Calendar.MONTH, 0);
c.set(Calendar.DAY_OF_MONTH,1);
wxCoupon.setStartdate(c.getTime());
}
if(wxCoupon.getEnddate() == null){
wxCoupon.setEnddate(new Date());
}
List<WxCoupon> saleMoneyList = wxCouponService.findSaleMoneyByDate(wxCoupon);
List<WxCoupon> paymentList = wxCouponService.findPaymentByDate(wxCoupon);
Map<String,Integer> saleMap = getDateMap(wxCoupon.getStartdate(),wxCoupon.getEnddate());
Map<String,Integer> payMentMap = getDateMap(wxCoupon.getStartdate(),wxCoupon.getEnddate());

for (WxCoupon coupon:saleMoneyList){
saleMap.put(coupon.getXtime(),coupon.getSaleAmount());
}
for (WxCoupon coupon:paymentList){
payMentMap.put(coupon.getXtime(),coupon.getSumPayment());
}
result.put("list",wxCouponService.findCouponData(wxCoupon,pageNum,pageSize));
result.put("saleHistory",saleMap);
result.put("paymentHistory",payMentMap);
result.put("saleCardCount",wxCouponService.findSaleCardCount(wxCoupon));
result.put("tranCount",wxCouponService.findTranCardCount(wxCoupon));
result.put("subsidyCount",wxCouponService.findSubsidyMoney(wxCoupon));
// if(wxCoupon.getStartdate() == null){
// Calendar c = Calendar.getInstance();
// c.add(Calendar.MONTH, 0);
// c.set(Calendar.DAY_OF_MONTH,1);
// wxCoupon.setStartdate(c.getTime());
// }
// if(wxCoupon.getEnddate() == null){
// wxCoupon.setEnddate(new Date());
// }
// List<WxCoupon> saleMoneyList = wxCouponService.findSaleMoneyByDate(wxCoupon);
// List<WxCoupon> paymentList = wxCouponService.findPaymentByDate(wxCoupon);
// Map<String,Integer> saleMap = getDateMap(wxCoupon.getStartdate(),wxCoupon.getEnddate());
// Map<String,Integer> payMentMap = getDateMap(wxCoupon.getStartdate(),wxCoupon.getEnddate());
//
// for (WxCoupon coupon:saleMoneyList){
// saleMap.put(coupon.getXtime(),coupon.getSaleAmount());
// }
// for (WxCoupon coupon:paymentList){
// payMentMap.put(coupon.getXtime(),coupon.getSumPayment());
// }
// result.put("saleHistory",saleMap);
// result.put("paymentHistory",payMentMap);
// result.put("saleCardCount",wxCouponService.findSaleCardCount(wxCoupon));
// result.put("tranCount",wxCouponService.findTranCardCount(wxCoupon));
// result.put("subsidyCount",wxCouponService.findSubsidyMoney(wxCoupon));


return new ResultData(result); return new ResultData(result);
} }




public static Map<String,Integer> getDateMap(Date begin, Date end) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Map<String,Integer> map = new LinkedHashMap<>();
map.put(format.format(begin),0);
Calendar calBegin = Calendar.getInstance();
calBegin.setTime(begin);
Calendar calEnd = Calendar.getInstance();
calEnd.setTime(end);
while (calBegin.getTime().before(end)) {
calBegin.add(Calendar.DAY_OF_MONTH, 1);
map.put(format.format(calBegin.getTime()),0);
}
return map;
}





} }

+ 4
- 1
mallinkService/src/main/java/com/iformall/enums/EnumChart.java Прегледај датотеку

@@ -48,7 +48,10 @@ public enum EnumChart {
HYNLCC(41, "会员年龄层次"), HYNLCC(41, "会员年龄层次"),
HYCZZ(42, "会员成长值"), HYCZZ(42, "会员成长值"),
HYSJPP(43, "会员手机品牌"), HYSJPP(43, "会员手机品牌"),
HYHYD(44, "会员活跃度"),;
HYHYD(44, "会员活跃度"),

SALE_CARD(45, "卡营销数据"),
SALE_COUPON(46, "卷营销数据");


public static EnumChart getEnum(Integer code) { public static EnumChart getEnum(Integer code) {
for (EnumChart value : values()) { for (EnumChart value : values()) {


+ 3
- 1
mallinkService/src/main/java/com/iformall/service/WxChartDataService.java Прегледај датотеку

@@ -2,7 +2,9 @@ package com.iformall.service;


import com.iformall.common.ResultData; import com.iformall.common.ResultData;


import java.util.Map;

public interface WxChartDataService { public interface WxChartDataService {
ResultData queryData(String tenantId, Integer chart, String startdate, String enddate);
ResultData queryData(Map<String, String> params);


} }

+ 77
- 2
mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java Прегледај датотеку

@@ -10,7 +10,10 @@ import com.iformall.domain.vo.*;
import com.iformall.enums.*; import com.iformall.enums.*;
import com.iformall.mapper.*; import com.iformall.mapper.*;
import com.iformall.service.WxChartDataService; import com.iformall.service.WxChartDataService;
import com.iformall.service.WxCouponService;
import com.iformall.utils.DateUtils; 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.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -55,10 +58,28 @@ public class WxChartServiceImpl implements WxChartDataService {
WxLevelConfigMapper wxLevelConfigMapper; WxLevelConfigMapper wxLevelConfigMapper;
@Autowired @Autowired
WxCUserTagsMapper wxCUserTagsMapper; WxCUserTagsMapper wxCUserTagsMapper;
@Autowired
WxCouponService wxCouponService;




@Override @Override
public ResultData queryData(String tenantId, Integer chart, String startdate, String enddate) {
public ResultData queryData(Map<String, String> paramsMap) {
String tenantId = paramsMap.get("tenantId");
Integer chart = Integer.valueOf(paramsMap.get("chart"));
String querytime = paramsMap.get("querytime");
String startdate = DateUtils.getSystemTime("yyyy-MM-dd");
String enddate = startdate;
if (!StringUtils.isEmpty(querytime)) {
String[] split = querytime.split(",");
if (split.length == 2) {
startdate = split[0];
enddate = split[1];
} else {
startdate = split[0];
enddate = split[0];
}
}

//出租率 //出租率
HashMap<String, Object> datamap = new HashMap<>(); HashMap<String, Object> datamap = new HashMap<>();
if (chart.equals(EnumChart.CZL.getCode())) { if (chart.equals(EnumChart.CZL.getCode())) {
@@ -1447,6 +1468,46 @@ public class WxChartServiceImpl implements WxChartDataService {
tagList.add(tag); tagList.add(tag);
return new ResultData(tagList); return new ResultData(tagList);
} }
//卡营销数据
if (chart.equals(EnumChart.SALE_CARD.getCode())) {
WxCoupon wxCoupon = new WxCoupon();
wxCoupon.setTitle(paramsMap.get("title"));

//默认时间本月第一天,截止到当天
Map<String,Object> result = new HashedMap();
if(startdate == null){
Calendar c = Calendar.getInstance();
c.add(Calendar.MONTH, 0);
c.set(Calendar.DAY_OF_MONTH,1);
wxCoupon.setStartdate(c.getTime());
}else{
Date startTime = DateUtils.stringToDate(startdate + " 00:00:00");
wxCoupon.setStartdate(startTime);
}
if(enddate == null){
wxCoupon.setEnddate(new Date());
}else{
Date endTime = DateUtils.stringToDate(enddate + " 23:59:59");
wxCoupon.setEnddate(endTime);
}
List<WxCoupon> saleMoneyList = wxCouponService.findSaleMoneyByDate(wxCoupon);
List<WxCoupon> paymentList = wxCouponService.findPaymentByDate(wxCoupon);
Map<String,Integer> saleMap = getDateMap(wxCoupon.getStartdate(),wxCoupon.getEnddate());
Map<String,Integer> payMentMap = getDateMap(wxCoupon.getStartdate(),wxCoupon.getEnddate());

for (WxCoupon coupon:saleMoneyList){
saleMap.put(coupon.getXtime(),coupon.getSaleAmount());
}
for (WxCoupon coupon:paymentList){
payMentMap.put(coupon.getXtime(),coupon.getSumPayment());
}
result.put("saleHistory",saleMap);
result.put("paymentHistory",payMentMap);
result.put("saleCardCount",wxCouponService.findSaleCardCount(wxCoupon));
result.put("tranCount",wxCouponService.findTranCardCount(wxCoupon));
result.put("subsidyCount",wxCouponService.findSubsidyMoney(wxCoupon));
return new ResultData(result);
}
return new ResultData(datamap); return new ResultData(datamap);
} }


@@ -1496,7 +1557,6 @@ public class WxChartServiceImpl implements WxChartDataService {
return timemap; return timemap;
} }



private long getCountByAge(EnumAgeInfo a, Calendar c, WxCUserBasicInfoDto dto) { private long getCountByAge(EnumAgeInfo a, Calendar c, WxCUserBasicInfoDto dto) {
if (a.getStart() != 0 || a.getEnd() != 0) { if (a.getStart() != 0 || a.getEnd() != 0) {
c.add(Calendar.YEAR, -a.getEnd()); c.add(Calendar.YEAR, -a.getEnd());
@@ -1531,4 +1591,19 @@ public class WxChartServiceImpl implements WxChartDataService {
return vo; return vo;
} }


public static Map<String,Integer> getDateMap(Date begin, Date end) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Map<String,Integer> map = new LinkedHashMap<>();
map.put(format.format(begin),0);
Calendar calBegin = Calendar.getInstance();
calBegin.setTime(begin);
Calendar calEnd = Calendar.getInstance();
calEnd.setTime(end);
while (calBegin.getTime().before(end)) {
calBegin.add(Calendar.DAY_OF_MONTH, 1);
map.put(format.format(calBegin.getTime()),0);
}
return map;
}

} }

Loading…
Откажи
Сачувај