Просмотр исходного кода

[拼团营销分析][添加][业务]

release_toaliyun_real
gongbiao 7 лет назад
Родитель
Сommit
f8a3a14495
2 измененных файлов: 75 добавлений и 4 удалений
  1. +3
    -1
      mallinkService/src/main/java/com/iformall/enums/EnumChart.java
  2. +72
    -3
      mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java

+ 3
- 1
mallinkService/src/main/java/com/iformall/enums/EnumChart.java Просмотреть файл

@@ -51,7 +51,9 @@ public enum EnumChart {
HYHYD(44, "会员活跃度"),

SALE_CARD(45, "卡营销数据"),
SALE_COUPON(46, "卷营销数据");
SALE_COUPON(46, "卷营销数据"),
SALE_PRESS(47, "砍价营销数据"),
SALE_GROUP(48, "拼团营销数据"),;

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


+ 72
- 3
mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java Просмотреть файл

@@ -60,7 +60,8 @@ public class WxChartServiceImpl implements WxChartDataService {
WxCUserTagsMapper wxCUserTagsMapper;
@Autowired
WxCouponService wxCouponService;

@Autowired
WxOrderGroupMapper wxOrderGroupMapper;

@Override
public ResultData queryData(Map<String, String> paramsMap) {
@@ -1571,6 +1572,74 @@ public class WxChartServiceImpl implements WxChartDataService {
result.put("sumSubsidyMoney",wxCouponService.findSumSubsidyMoney(wxCoupon));
return new ResultData(result);
}

//拼团营销数据
if (chart.equals(EnumChart.SALE_GROUP.getCode())) {
Map<String, Object> params = new HashMap<>();
params.put("tenantId", tenantId);
//默认时间本月第一天,截止到当天
Map<String, Object> result = new HashMap<>();
Date startTime = new Date();
Date endTime = startTime;
if (startdate == null) {
Calendar c = Calendar.getInstance();
c.add(Calendar.MONTH, 0);
c.set(Calendar.DAY_OF_MONTH, 1);
startTime = c.getTime();
params.put("startdate", startTime);
} else {
startTime = DateUtils.stringToDate(startdate + " 00:00:00");
params.put("startdate", startTime);
}
if (enddate == null) {
params.put("enddate", endTime);
} else {
endTime = DateUtils.stringToDate(enddate + " 23:59:59");
params.put("enddate", endTime);
}

List<Map<String, Object>> successlist = wxOrderGroupMapper.queryOrderGroupSuccessCountAndTime(params);
List<Map<String, Object>> verifyList = wxOrderGroupMapper.queryOrderGroupVerifyCountAndTime(params);

Map<String, Long> successMap = getDateMap(startTime, endTime);
Map<String, Long> verifyMap = getDateMap(startTime, endTime);

long successCount = wxOrderGroupMapper.queryOrderGroupSuccessCount(params);
long groupCount = wxOrderGroupMapper.queryOrderGroupCount(params);
long peopleCount = wxOrderGroupMapper.queryOrderGroupPeopleCount(params);
double transferRatio = 0;
if (groupCount > 0) {
double transfer = (double) successCount / groupCount * 100;
transferRatio = new BigDecimal(transfer).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
}

Map<String, Long> successListMap = successlist.parallelStream().collect(Collectors.toMap(x -> {
return x.get("time").toString();
}, x -> {
return (long) x.get("total");
}));

Map<String, Long> verifyListMap = successlist.parallelStream().collect(Collectors.toMap(x -> {
return x.get("time").toString();
}, x -> {
return (long) x.get("total");
}));

successMap.putAll(successListMap);
verifyMap.putAll(verifyMap);

result.put("successList", successMap);
result.put("verifyList", verifyMap);

result.put("successCount", successCount);
result.put("groupCount", groupCount);
result.put("peopleCount", peopleCount);
result.put("transferRatio", transferRatio);

return new ResultData(result);
}


return new ResultData(datamap);
}

@@ -1657,14 +1726,14 @@ public class WxChartServiceImpl implements WxChartDataService {
public static Map<String,Long> getDateMap(Date begin, Date end) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Map<String,Long> map = new LinkedHashMap<>();
map.put(format.format(begin),0l);
map.put(format.format(begin), 0L);
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()),0l);
map.put(format.format(calBegin.getTime()), 0L);
}
return map;
}


Загрузка…
Отмена
Сохранить