| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="com.kym.mapper.miniapp.ChargeOrderMapper">
- <!-- 通用查询映射结果 -->
- <resultMap id="BaseResultMap" type="com.kym.entity.miniapp.ChargeOrder">
- <id column="id" property="id"/>
- <result column="user_id" property="userId"/>
- <result column="station_id" property="stationId"/>
- <result column="start_charge_seq" property="startChargeSeq"/>
- <result column="connector_id" property="connectorId"/>
- <result column="is_booking" property="isBooking"/>
- <result column="start_time" property="startTime"/>
- <result column="end_time" property="endTime"/>
- <result column="soc" property="soc"/>
- <result column="total_power" property="totalPower"/>
- <result column="total_money" property="totalMoney"/>
- <result column="elec_money" property="elecMoney"/>
- <result column="service_money" property="serviceMoney"/>
- <result column="sum_period" property="sumPeriod"/>
- <result column="charge_detail" property="chargeDetail"/>
- <result column="order_status" property="orderStatus"/>
- <result column="charge_status" property="chargeStatus"/>
- <result column="stop_reason" property="stopReason"/>
- <result column="invoice_status" property="invoiceStatus"/>
- <result column="invoice_id" property="invoiceId"/>
- <result column="create_time" property="createTime"/>
- <result column="update_time" property="updateTime"/>
- </resultMap>
- <resultMap id="CustomChargeOrderMap" type="com.kym.entity.admin.vo.CustomOrderVo">
- <result column="user_id" property="userId"/>
- <result column="mobile_phone" property="mobilePhone"/>
- <result column="start_charge_seq" property="startChargeSeq"/>
- <result column="station_id" property="stationId"/>
- <result column="connector_id" property="connectorId"/>
- <result column="is_booking" property="isBooking"/>
- <result column="start_time" property="startTime"/>
- <result column="end_time" property="endTime"/>
- <result column="total_power" property="totalPower"/>
- <result column="total_money" property="totalMoney"/>
- <result column="elec_money" property="elecMoney"/>
- <result column="service_money" property="serviceMoney"/>
- <result column="pay_amount" property="payAmount"/>
- <result column="discount_amount" property="discountAmount"/>
- <result column="service_money_discount" property="serviceMoneyDiscount"/>
- <result column="order_status" property="orderStatus"/>
- <result column="charge_status" property="chargeStatus"/>
- <result column="stop_reason" property="stopReason"/>
- <result column="invoice_status" property="invoiceStatus"/>
- <result column="invoice_id" property="invoiceId"/>
- </resultMap>
- <resultMap id="StationStatMap" type="com.kym.entity.admin.vo.StationStatVo">
- <!-- <result column="station_id" property="stationId"/>-->
- <result column="start_time" property="startTime"/>
- <result column="total_orders" property="totalOrders"/>
- <result column="total_power" property="totalPower"/>
- <result column="total_money" property="totalMoney"/>
- <result column="elec_money" property="elecMoney"/>
- <result column="service_money" property="serviceMoney"/>
- </resultMap>
- <!-- 通用查询结果列 -->
- <sql id="Base_Column_List">
- id, user_id, station_id, start_charge_seq, connector_id, is_booking,start_time, end_time, soc, total_power, total_money, elec_money, service_money,pay_amount,discount_amount,service_money_discount, sum_period, charge_detail, order_status, charge_status, stop_reason, invoice_status,invoice_id,create_time, update_time
- </sql>
- <select id="statChargeOrders" resultType="java.util.Map"
- parameterType="com.kym.entity.admin.queryParams.CustomChargeOrdersQueryParam">
- SELECT
- count(*) totalOrders,
- sum(t1.total_power) totalPower,
- sum(t1.total_money) totalMoney,
- sum(t1.elec_money) elecMoney,
- sum(t1.service_money) serviceMoney
- FROM
- t_charge_order t1
- LEFT JOIN t_user t2
- ON t1.user_id = t2.id
- <where>
- <if test="params.userId != null">
- and t2.user_id = #{params.userId}
- </if>
- <if test="params.mobilePhone != null and params.mobilePhone != ''">
- and t2.mobile_phone = #{params.mobilePhone}
- </if>
- <if test="params.connectorId != null and params.connectorId != ''">
- and t1.connector_id = #{params.connectorId}
- </if>
- <if test="params.startChargeSeq != null and params.startChargeSeq != ''">
- and t1.start_charge_seq = #{params.startChargeSeq}
- </if>
- <if test="params.stationId != null and params.stationId != ''">
- and t1.station_id = #{params.stationId}
- </if>
- <if test="params.orderStatus != null">
- and t1.order_status = #{params.orderStatus}
- </if>
- <if test="params.startDate != null">
- and t1.start_time >= #{params.startDate}
- </if>
- <if test="params.endDate != null">
- and t1.start_time <= #{params.endDate}
- </if>
- </where>
- </select>
- <select id="listChargeOrders" resultMap="CustomChargeOrderMap"
- parameterType="com.kym.entity.admin.queryParams.CustomChargeOrdersQueryParam">
- SELECT
- t1.user_id,
- t2.mobile_phone,
- t1.start_charge_seq,
- t1.station_id,
- t1.connector_id,
- t1.start_time,
- t1.end_time,
- t1.total_power,
- t1.total_money,
- t1.elec_money,
- t1.service_money,
- t1.pay_amount,
- t1.discount_amount,
- t1.service_money_discount,
- t1.order_status,
- t1.charge_status,
- t1.invoice_status,
- t1.stop_reason
- FROM
- t_charge_order t1
- LEFT JOIN t_user t2
- ON t1.user_id = t2.id
- <where>
- <if test="params.userId != null">
- and t2.user_id = #{params.userId}
- </if>
- <if test="params.mobilePhone != null and params.mobilePhone != ''">
- and t2.mobile_phone = #{params.mobilePhone}
- </if>
- <if test="params.connectorId != null and params.connectorId != ''">
- and t1.connector_id = #{params.connectorId}
- </if>
- <if test="params.stationId != null and params.stationId != ''">
- and t1.station_id = #{params.stationId}
- </if>
- <if test="params.startChargeSeq != null and params.startChargeSeq != ''">
- and t1.start_charge_seq = #{params.startChargeSeq}
- </if>
- <if test="params.chargeStatus != null">
- and t1.charge_status = #{params.chargeStatus}
- </if>
- <if test="params.orderStatus != null">
- and t1.order_status = #{params.orderStatus}
- </if>
- <if test="params.startDate != null">
- and t1.start_time >= #{params.startDate}
- </if>
- <if test="params.endDate != null">
- and t1.start_time <= #{params.endDate}
- </if>
- <if test="params.invoiceStatus != null">
- and t1.invoice_status = #{params.invoiceStatus}
- </if>
- <if test="params.stopReason != null">
- and t1.stop_reason = #{params.stopReason}
- </if>
- </where>
- order by t1.start_time desc
- </select>
- <select id="stationStat" resultMap="StationStatMap" parameterType="com.kym.entity.admin.queryParams.StatQueryParam">
- SELECT
- <if test="params.stationId != null and params.stationId != ''">
- t1.station_id,
- </if>
- <if test="params.type == null or params.type == 'day'">
- DATE_FORMAT(t1.start_time, '%Y-%m-%d')
- </if>
- <if test="params.type != null and params.type == 'month'">
- DATE_FORMAT(t1.start_time, '%Y-%m')
- </if>
- stat_time,
- count(t1.id) total_orders,
- SUM(t1.total_power) total_power,
- SUM(t1.total_money) total_money,
- SUM(t1.elec_money) elec_money,
- SUM(t1.service_money) service_money
- FROM
- (SELECT
- *
- FROM
- t_charge_order
- <where>
- <if test="params.stationId != null and params.stationId != ''">
- and station_id = #{params.stationId}
- </if>
- </where>
- ) t1
- GROUP BY stat_time
- <trim prefix="having" suffixOverrides="and">
- <if test="params.startTime != null">
- stat_time >= #{params.startTime} and
- </if>
- <if test="params.endTime != null">
- stat_time <= #{params.endTime} and
- </if>
- </trim>
- order by stat_time desc
- </select>
- <select id="stationTodayStat" resultType="java.util.Map" parameterType="String">
- SELECT
- COUNT(DISTINCT (t1.user_id)) chargeUsers,
- COUNT(t1.id) totalOrders,
- IFNULL (SUM(t1.total_power),0) totalPower,
- IFNULL(SUM(t1.total_money),0) totalMoney,
- IFNULL(SUM(t1.elec_money),0) elecMoney,
- IFNULL(SUM(t1.service_money),0) serviceMoney
- FROM
- (SELECT
- *
- FROM
- t_charge_order
- <where>
- <if test="stationId != null and stationId != ''">
- AND station_id = #{stationId}
- </if>
- AND start_time >= DATE_FORMAT(NOW(), '%Y-%m-%d 00:00:00')
- AND start_time <= DATE_FORMAT(NOW(), '%Y-%m-%d 23:59:59')) t1
- </where>
- </select>
- </mapper>
|