Browse Source

/.

release_toaliyun_real
xhxu 4 years ago
parent
commit
97b2a70a3b
4 changed files with 71 additions and 5 deletions
  1. +1
    -1
      mallinkService/src/main/java/com/iformall/enums/EnumChart.java
  2. +2
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxCUserCarMapper.java
  3. +53
    -4
      mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java
  4. +15
    -0
      mallinkService/src/main/resources/mapper/WxCUserCarMapper.xml

+ 1
- 1
mallinkService/src/main/java/com/iformall/enums/EnumChart.java View File

@@ -20,7 +20,7 @@ public enum EnumChart {
JYZXXZTCHY(13, "近一周新增停车会员"),
JYZXSJFCL(14, "近一周线上缴费车辆"),
JYZXSJFJE(15, "近一周线上缴费金额"),
// JYZXZHYS(16, "近一周新增会员数"),弃用了
JYZXZHYS(16, "近一周新增会员统计"),
ZRCDYH(17, "昨日触达用户"),
JRQJYSJ(18, "今日券交易数据"),
JRCJYX(19, "今日场景营销"),


+ 2
- 0
mallinkService/src/main/java/com/iformall/mapper/WxCUserCarMapper.java View File

@@ -16,4 +16,6 @@ public interface WxCUserCarMapper extends CommonMapper<WxCUserCar, Long> {

long queryCarCount(HashMap<String,Object> carParams);

List<Map<String, Object>> queryCarCountHistory(HashMap<String,Object> params);

}

+ 53
- 4
mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java View File

@@ -187,6 +187,8 @@ public class WxChartServiceImpl implements WxChartDataService {
WxBillOtherMapper wxBillOtherMapper;
@Autowired
WxBillAllMapper wxBillAllMapper;
@Autowired
WxCUserCarMapper wxCUserCarMapper;

@Lazy
@@ -313,10 +315,10 @@ public class WxChartServiceImpl implements WxChartDataService {
if (chart.equals(EnumChart.JYZXSJFJE.getCode())) {
return getCarPayCountInWeek(tenantEntity);
}
//近一周新增会员
// if (chart.equals(EnumChart.JYZXZHYS.getCode())) {
// return getCarNewMemberCountInWeek(tenantEntity);
// }
//近一周新增会员统计
if (chart.equals(EnumChart.JYZXZHYS.getCode())) {
return getCarNewMemberCountInWeek(tenantEntity);
}
//// --- 车流 -- END
//昨日触达用户
if (chart.equals(EnumChart.ZRCDYH.getCode())) {
@@ -1064,6 +1066,53 @@ public class WxChartServiceImpl implements WxChartDataService {
return new ResultData(datamap);
}

/**
* 车流 - 近一周新增会员统计
* @param tenantEntity
* @return
*/
private ResultData getCarNewMemberCountInWeek(TenantEntity tenantEntity) {
// List<TenantEntity> tenantEntitys = wxMallMapper.getTenantEntitys(tenantEntity);
HashMap<String, Object> datamap = new HashMap<>();
HashMap<String, Object> weekParams = new HashMap<>();
// weekParams.put("tenantEntitys", tenantEntitys);
weekParams.put("tenantId", tenantEntity.getTenantId());
weekParams.put("finalTenantId", tenantEntity.getFinalTenantId());
if (StringUtils.isNotBlank(tenantEntity.getParentTenantId())) {
weekParams.put("parentTenantId", tenantEntity.getParentTenantId());
}
String oneWeekStartdate = DateUtils.getTimeBefore(7, new Date());
String oneWeekEndDate = DateUtils.getTimeBefore(1, new Date());
weekParams.put("startdate", oneWeekStartdate + " 00:00:00");
weekParams.put("enddate", oneWeekEndDate + " 23:59:59");
weekParams.put("cmdType", EnumCarCmd.CAR_ETCP_CALLBACK_PAY_MANUAL.getCode());
List<Map<String, Object>> carCountHistory = wxCUserCarMapper.queryCarCountHistory(weekParams);
Map<String, Object> weekCarCollect = carCountHistory.stream().collect(Collectors.toMap(m -> {
return (String) m.get("create_time");
}, m -> {
return m.get("count");
}));
List<String> days = DateUtils.getTjTimeList(oneWeekStartdate, oneWeekEndDate, "0");
List<String> timeList = new ArrayList<>();
List<Object> valList = new ArrayList<>();
for (String date : days) {
String newdate = date.substring(5, date.length()).replace("-", "/");
Object o = weekCarCollect.get(newdate);
timeList.add(newdate);
if (o == null) {
valList.add(0L);
} else {
valList.add(o);
}
}

Map map = new HashMap();
map.put("index", timeList);
map.put("val", valList);
datamap.put("oneWeekNewCarUserHistory", map);
return new ResultData(datamap);
}

/**
* 近一周线上缴费车辆
* @param tenantEntity


+ 15
- 0
mallinkService/src/main/resources/mapper/WxCUserCarMapper.xml View File

@@ -117,4 +117,19 @@
and create_date between #{startdate} and #{enddate}
</select>

<select id="queryCarCountHistory" resultType="hashmap" parameterType="hashmap">
SELECT count(DISTINCT c.id) count, c.create_time FROM
(SELECT ubi.id as id, DATE_FORMAT(uc.create_date, '%m/%d') create_time
FROM wx_c_user_car uc, wx_c_user_basic_info ubi
WHERE uc.c_user_id = ubi.id
<if test=" null != tenantId and '' != tenantId">
and uc.tenant_id = #{tenantId}
</if>
<if test=" null != parentTenantId and '' != parentTenantId">
and uc.parent_tenant_id = #{parentTenantId}
</if>
AND ubi.create_date BETWEEN #{startdate} AND #{enddate}) c
GROUP BY c.create_time ORDER BY c.create_time
</select>

</mapper>

Loading…
Cancel
Save