|
|
|
@@ -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; |
|
|
|
} |
|
|
|
|