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

[数据塔台][车流数据]:添加查询历史数据逻辑

release_toaliyun_real
gongbiao 7 лет назад
Родитель
Сommit
fbf7aa69f5
5 измененных файлов: 115 добавлений и 66 удалений
  1. +11
    -0
      mallinkAdmin/src/main/java/com/simple/controller/DataTowerController.java
  2. +6
    -7
      mallinkService/src/main/java/com/simple/mapper/WxCarCmdLogMapper.java
  3. +2
    -0
      mallinkService/src/main/java/com/simple/service/DataTowerService.java
  4. +34
    -4
      mallinkService/src/main/java/com/simple/service/impl/DataTowerServiceImpl.java
  5. +62
    -55
      mallinkService/src/main/resources/mapper/WxCarCmdLogMapper.xml

+ 11
- 0
mallinkAdmin/src/main/java/com/simple/controller/DataTowerController.java Просмотреть файл

@@ -34,4 +34,15 @@ public class DataTowerController extends BaseController {
}


@ApiOperation("查询车流")
@PostMapping("/queryCar")
public ResultData queryCar() {

Map<String,Object> data=dataTowerService.queryCar(getTenantId());

return new ResultData(data);
}



}

+ 6
- 7
mallinkService/src/main/java/com/simple/mapper/WxCarCmdLogMapper.java Просмотреть файл

@@ -1,17 +1,16 @@
package com.simple.mapper;

import java.util.*;
import com.simple.common.CommonMapper;
import org.apache.ibatis.annotations.Param;
import com.simple.domain.po.WxCarCmdLog;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

public interface WxCarCmdLogMapper extends CommonMapper<WxCarCmdLog, Long> {

List<WxCarCmdLog> findList(WxCarCmdLog wxCarCmdLog);

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

}

+ 2
- 0
mallinkService/src/main/java/com/simple/service/DataTowerService.java Просмотреть файл

@@ -7,4 +7,6 @@ public interface DataTowerService {

Map<String,Object> queryRunning(String tenantId);

Map<String,Object> queryCar(String tenantId);

}

+ 34
- 4
mallinkService/src/main/java/com/simple/service/impl/DataTowerServiceImpl.java Просмотреть файл

@@ -1,15 +1,15 @@
package com.simple.service.impl;

import com.simple.common.ErrorCode;
import com.simple.domain.po.WxMerchant;
import com.simple.domain.po.WxMerchantTradeDaily;
import com.simple.domain.po.WxShop;
import com.simple.mapper.WxDateAmountRecordMapper;
import com.simple.mapper.WxMerchantMapper;
import com.simple.mapper.WxMerchantTradeDailyMapper;
import com.simple.mapper.WxShopMapper;
import com.simple.enums.EnumCarCmd;
import com.simple.mapper.*;
import com.simple.service.DataTowerService;
import com.simple.utils.DateUtils;
import org.apache.log4j.Logger;
import org.apache.shiro.crypto.hash.Hash;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@@ -35,6 +35,8 @@ public class DataTowerServiceImpl implements DataTowerService {
@Autowired
WxDateAmountRecordMapper wxDateAmountRecordMapper;

@Autowired
WxCarCmdLogMapper wxCarCmdLogMapper;

@Override
public Map<String, Object> queryRunning(String tenantId) {
@@ -115,4 +117,32 @@ public class DataTowerServiceImpl implements DataTowerService {

return datamap;
}

@Override
public Map<String, Object> queryCar(String tenantId) {
HashMap<Object, Object> params = new HashMap<>();
params.put("tenantId",tenantId);
params.put("cmdType",EnumCarCmd.CAR_ETCP_CALLBACK_PARK_OUT.getCode());
String startdate = DateUtils.getTimeBefore(7, new Date());
String enddate = DateUtils.getSystemTime("yyyy-MM-dd");
params.put("startdate",startdate);
params.put("enddate",enddate);

List<Map<String,Object>> historylist=wxCarCmdLogMapper.queryHistory(params);
Map<Object, Object> collect = historylist.stream().collect(Collectors.toMap(m -> {
return m.get("create_date");
}, m -> {
return m.get("carcount");
}));

TreeMap<Object, Object> historymap = new TreeMap<>();
historymap.putAll(collect);

Map<String, Object> datamap = new HashMap<>();
datamap.put("history",historymap);

return datamap;
}


}

+ 62
- 55
mallinkService/src/main/resources/mapper/WxCarCmdLogMapper.xml Просмотреть файл

@@ -2,73 +2,80 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.simple.mapper.WxCarCmdLogMapper">
<resultMap id="BaseResultMap" type="com.simple.domain.po.WxCarCmdLog">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="tenant_id" jdbcType="VARCHAR" property="tenantId" />
<result column="vendor_type" jdbcType="INTEGER" property="vendorType" />
<result column="cmd_type" jdbcType="INTEGER" property="cmdType" />
<result column="create_date" jdbcType="TIMESTAMP" property="createDate" />
<result column="update_date" jdbcType="TIMESTAMP" property="updateDate" />
<result column="cmd_json" jdbcType="VARCHAR" property="cmdJson" />
<id column="id" jdbcType="BIGINT" property="id"/>
<result column="tenant_id" jdbcType="VARCHAR" property="tenantId"/>
<result column="vendor_type" jdbcType="INTEGER" property="vendorType"/>
<result column="cmd_type" jdbcType="INTEGER" property="cmdType"/>
<result column="create_date" jdbcType="TIMESTAMP" property="createDate"/>
<result column="update_date" jdbcType="TIMESTAMP" property="updateDate"/>
<result column="cmd_json" jdbcType="VARCHAR" property="cmdJson"/>
</resultMap>
<sql id="allColumns">
`id`,`tenant_id`,`vendor_type`,`cmd_type`,`create_date`,`update_date`,`cmd_json`
</sql>
<sql id="dynamicWhereConditions">
where 1 = 1
<if test=" null != id ">
and `id` = #{id}
</if>
<if test=" null != tenantId ">
and `tenant_id` like concat('%', #{tenantId},'%')
</if>
<if test=" null != vendorType ">
and `vendor_type` = #{vendorType}
</if>
<if test=" null != cmdType ">
and `cmd_type` = #{cmdType}
</if>
<if test=" null != createDate ">
and `create_date` = #{createDate}
</if>
<if test=" null != updateDate ">
and `update_date` = #{updateDate}
</if>
<if test=" null != cmdJson ">
and `cmd_json` like concat('%', #{cmdJson},'%')
</if>
where 1 = 1
<if test=" null != id ">
and `id` = #{id}
</if>
<if test=" null != tenantId ">
and `tenant_id` like concat('%', #{tenantId},'%')
</if>
<if test=" null != vendorType ">
and `vendor_type` = #{vendorType}
</if>
<if test=" null != cmdType ">
and `cmd_type` = #{cmdType}
</if>
<if test=" null != createDate ">
and `create_date` = #{createDate}
</if>
<if test=" null != updateDate ">
and `update_date` = #{updateDate}
</if>
<if test=" null != cmdJson ">
and `cmd_json` like concat('%', #{cmdJson},'%')
</if>
<if test=" null != ids ">
and id in
and id in
<foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")">
#{idItem}
#{idItem}
</foreach>
</if>
<if test=" null != sortColumns"> order by ${sortColumns} </if>
</if>
<if test=" null != sortColumns">order by ${sortColumns}</if>
</sql>
<select id="findList" parameterType="com.simple.domain.po.WxCarCmdLog" resultMap="BaseResultMap">
select <include refid="allColumns" /> from wx_car_cmd_log
<include refid="dynamicWhereConditions" />
select
<include refid="allColumns"/>
from wx_car_cmd_log
<include refid="dynamicWhereConditions"/>
</select>
<select id="queryHistory" resultType="hashmap" parameterType="hashmap">
select count(c.id) carcount,c.create_date from (
select id,DATE_FORMAT(create_date,'%Y-%m-%d') create_date
from wx_car_cmd_log where tenant_id = #{tenantId} and cmd_type=#{cmdType}
and create_date BETWEEN #{startdate} and #{enddate}
) c
group by c.create_date
</select>


</mapper>

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