ChargeOrderMapper.xml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.kym.mapper.miniapp.ChargeOrderMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="BaseResultMap" type="com.kym.entity.miniapp.ChargeOrder">
  6. <id column="id" property="id"/>
  7. <result column="company_id" property="companyId" />
  8. <result column="user_id" property="userId"/>
  9. <result column="station_id" property="stationId"/>
  10. <result column="start_charge_seq" property="startChargeSeq"/>
  11. <result column="connector_id" property="connectorId"/>
  12. <result column="is_booking" property="isBooking"/>
  13. <result column="start_time" property="startTime"/>
  14. <result column="end_time" property="endTime"/>
  15. <result column="soc" property="soc"/>
  16. <result column="total_power" property="totalPower"/>
  17. <result column="total_money" property="totalMoney"/>
  18. <result column="elec_money" property="elecMoney"/>
  19. <result column="service_money" property="serviceMoney"/>
  20. <result column="pay_amount" property="payAmount"/>
  21. <result column="discount_type" property="discountType"/>
  22. <result column="discount_amount" property="discountAmount"/>
  23. <result column="service_money_discount" property="serviceMoneyDiscount"/>
  24. <result column="pay_service_amount" property="payServiceAmount"/>
  25. <result column="sum_period" property="sumPeriod"/>
  26. <result column="charge_detail" property="chargeDetail"/>
  27. <result column="order_status" property="orderStatus"/>
  28. <result column="charge_status" property="chargeStatus"/>
  29. <result column="stop_reason" property="stopReason"/>
  30. <result column="invoice_status" property="invoiceStatus"/>
  31. <result column="invoice_id" property="invoiceId"/>
  32. <result column="create_time" property="createTime"/>
  33. <result column="update_time" property="updateTime"/>
  34. </resultMap>
  35. <resultMap id="CustomChargeOrderMap" type="com.kym.entity.admin.vo.CustomOrderVo">
  36. <result column="user_id" property="userId"/>
  37. <result column="mobile_phone" property="mobilePhone"/>
  38. <result column="start_charge_seq" property="startChargeSeq"/>
  39. <result column="station_id" property="stationId"/>
  40. <result column="connector_id" property="connectorId"/>
  41. <result column="is_booking" property="isBooking"/>
  42. <result column="start_time" property="startTime"/>
  43. <result column="end_time" property="endTime"/>
  44. <result column="total_power" property="totalPower"/>
  45. <result column="total_money" property="totalMoney"/>
  46. <result column="elec_money" property="elecMoney"/>
  47. <result column="service_money" property="serviceMoney"/>
  48. <result column="pay_amount" property="payAmount"/>
  49. <result column="discount_type" property="discountType"/>
  50. <result column="discount_amount" property="discountAmount"/>
  51. <result column="service_money_discount" property="serviceMoneyDiscount"/>
  52. <result column="pay_service_amount" property="payServiceAmount"/>
  53. <result column="order_status" property="orderStatus"/>
  54. <result column="charge_status" property="chargeStatus"/>
  55. <result column="stop_reason" property="stopReason"/>
  56. <result column="invoice_status" property="invoiceStatus"/>
  57. <result column="invoice_id" property="invoiceId"/>
  58. </resultMap>
  59. <resultMap id="StationStatMap" type="com.kym.entity.admin.vo.StationStatVo">
  60. <!-- <result column="station_id" property="stationId"/>-->
  61. <result column="start_time" property="startTime"/>
  62. <result column="total_orders" property="totalOrders"/>
  63. <result column="total_power" property="totalPower"/>
  64. <result column="total_money" property="totalMoney"/>
  65. <result column="elec_money" property="elecMoney"/>
  66. <result column="service_money" property="serviceMoney"/>
  67. <result column="pay_service_amount" property="payServiceAmount"/>
  68. </resultMap>
  69. <!-- 通用查询结果列 -->
  70. <sql id="Base_Column_List">
  71. id, company_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_type,discount_amount,service_money_discount, sum_period, charge_detail, order_status, charge_status, stop_reason, invoice_status,invoice_id,create_time, update_time
  72. </sql>
  73. <select id="statChargeOrders" resultType="java.util.Map"
  74. parameterType="com.kym.entity.admin.queryParams.CustomChargeOrdersQueryParam">
  75. SELECT
  76. count(*) totalOrders,
  77. sum(t1.total_power) totalPower,
  78. sum(t1.total_money) totalMoney,
  79. sum(t1.elec_money) elecMoney,
  80. sum(t1.service_money) serviceMoney,
  81. sum(t1.service_money_discount) serviceMoneyDiscount,
  82. (sum(t1.service_money) - sum(t1.service_money_discount)) payServiceAmount
  83. FROM
  84. t_charge_order t1
  85. LEFT JOIN t_user t2
  86. ON t1.user_id = t2.id
  87. <where>
  88. <if test="params.userId != null">
  89. and t1.user_id = #{params.userId}
  90. </if>
  91. <if test="params.mobilePhone != null and params.mobilePhone != ''">
  92. and t2.mobile_phone = #{params.mobilePhone}
  93. </if>
  94. <if test="params.connectorId != null and params.connectorId != ''">
  95. and t1.connector_id = #{params.connectorId}
  96. </if>
  97. <if test="params.startChargeSeq != null and params.startChargeSeq != ''">
  98. and t1.start_charge_seq = #{params.startChargeSeq}
  99. </if>
  100. <if test="params.stationId != null and params.stationId != ''">
  101. and t1.station_id = #{params.stationId}
  102. </if>
  103. <if test="params.orderStatus != null">
  104. and t1.order_status = #{params.orderStatus}
  105. </if>
  106. <if test="params.startDate != null">
  107. and t1.start_time &gt;= #{params.startDate}
  108. </if>
  109. <if test="params.endDate != null">
  110. and t1.start_time &lt;= #{params.endDate}
  111. </if>
  112. </where>
  113. </select>
  114. <select id="listChargeOrders" resultMap="CustomChargeOrderMap"
  115. parameterType="com.kym.entity.admin.queryParams.CustomChargeOrdersQueryParam">
  116. SELECT
  117. t1.user_id,
  118. t2.mobile_phone,
  119. t1.start_charge_seq,
  120. t1.station_id,
  121. t1.connector_id,
  122. t1.start_time,
  123. t1.end_time,
  124. t1.total_power,
  125. t1.total_money,
  126. t1.elec_money,
  127. t1.service_money,
  128. t1.pay_amount,
  129. t1.discount_amount,
  130. t1.service_money_discount,
  131. (t1.service_money - t1.service_money_discount) pay_service_amount,
  132. t1.order_status,
  133. t1.charge_status,
  134. t1.invoice_status,
  135. t1.stop_reason
  136. FROM
  137. t_charge_order t1
  138. LEFT JOIN t_user t2
  139. ON t1.user_id = t2.id
  140. <where>
  141. <if test="params.userId != null">
  142. and t1.user_id = #{params.userId}
  143. </if>
  144. <if test="params.mobilePhone != null and params.mobilePhone != ''">
  145. and t2.mobile_phone = #{params.mobilePhone}
  146. </if>
  147. <if test="params.connectorId != null and params.connectorId != ''">
  148. and t1.connector_id = #{params.connectorId}
  149. </if>
  150. <if test="params.stationId != null and params.stationId != ''">
  151. and t1.station_id = #{params.stationId}
  152. </if>
  153. <if test="params.startChargeSeq != null and params.startChargeSeq != ''">
  154. and t1.start_charge_seq = #{params.startChargeSeq}
  155. </if>
  156. <if test="params.chargeStatus != null">
  157. and t1.charge_status = #{params.chargeStatus}
  158. </if>
  159. <if test="params.orderStatus != null">
  160. and t1.order_status = #{params.orderStatus}
  161. </if>
  162. <if test="params.startDate != null">
  163. and t1.start_time &gt;= #{params.startDate}
  164. </if>
  165. <if test="params.endDate != null">
  166. and t1.start_time &lt;= #{params.endDate}
  167. </if>
  168. <if test="params.invoiceStatus != null">
  169. and t1.invoice_status = #{params.invoiceStatus}
  170. </if>
  171. <if test="params.stopReason != null">
  172. and t1.stop_reason = #{params.stopReason}
  173. </if>
  174. </where>
  175. order by t1.start_time desc
  176. </select>
  177. <select id="stationStat" resultMap="StationStatMap" parameterType="com.kym.entity.admin.queryParams.StatQueryParam">
  178. SELECT
  179. <if test="params.stationId != null and params.stationId != ''">
  180. t1.station_id,
  181. </if>
  182. <if test="params.type == null or params.type == 'day'">
  183. DATE_FORMAT(t1.start_time, '%Y-%m-%d')
  184. </if>
  185. <if test="params.type != null and params.type == 'month'">
  186. DATE_FORMAT(t1.start_time, '%Y-%m')
  187. </if>
  188. stat_time,
  189. count(t1.id) total_orders,
  190. SUM(t1.total_power) total_power,
  191. SUM(t1.total_money) total_money,
  192. SUM(t1.elec_money) elec_money,
  193. SUM(t1.service_money) service_money,
  194. (SUM(t1.service_money) - SUM(t1.service_money_discount)) pay_service_amount
  195. FROM
  196. (SELECT
  197. *
  198. FROM
  199. t_charge_order
  200. <where>
  201. <if test="params.stationId != null and params.stationId != ''">
  202. and station_id = #{params.stationId}
  203. </if>
  204. </where>
  205. ) t1
  206. GROUP BY stat_time
  207. <trim prefix="having" suffixOverrides="and">
  208. <if test="params.startTime != null">
  209. stat_time &gt;= #{params.startTime} and
  210. </if>
  211. <if test="params.endTime != null">
  212. stat_time &lt;= #{params.endTime} and
  213. </if>
  214. </trim>
  215. order by stat_time desc
  216. </select>
  217. <select id="stationTodayStat" resultType="java.util.Map" parameterType="String">
  218. SELECT
  219. COUNT(DISTINCT (t1.user_id)) chargeUsers,
  220. COUNT(t1.id) totalOrders,
  221. IFNULL (SUM(t1.total_power),0) totalPower,
  222. IFNULL(SUM(t1.total_money),0) totalMoney,
  223. IFNULL(SUM(t1.pay_amount),0) payAmount,
  224. IFNULL(SUM(t1.elec_money),0) elecMoney,
  225. IFNULL(SUM(t1.service_money),0) serviceMoney,
  226. (IFNULL(SUM(t1.service_money),0) - IFNULL(SUM(t1.service_money_discount),0)) payServiceAmount
  227. FROM
  228. (SELECT
  229. *
  230. FROM
  231. t_charge_order
  232. <where>
  233. <if test="stationId != null and stationId != ''">
  234. AND station_id = #{stationId}
  235. </if>
  236. AND start_time &gt;= DATE_FORMAT(NOW(), '%Y-%m-%d 00:00:00')
  237. AND start_time &lt;= DATE_FORMAT(NOW(), '%Y-%m-%d 23:59:59')) t1
  238. </where>
  239. </select>
  240. </mapper>