459 lines
18 KiB
XML
Raw Normal View History

2021-08-04 11:22:15 +08:00
<?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.xhpc.order.mapper.XhpcChargeOrderMapper">
2021-08-04 11:22:15 +08:00
<resultMap type="com.xhpc.order.domain.XhpcChargeOrder" id="XhpcChargeOrderResult">
2021-08-04 11:22:15 +08:00
<result column="charge_order_id" property="chargeOrderId"/>
<result column="charging_station_id" property="chargingStationId"/>
<result column="user_id" property="userId"/>
<result column="terminal_id" property="terminalId"/>
<result column="internet_serial_number" property="internetSerialNumber"/>
<result column="serial_number" property="serialNumber"/>
<result column="start_soc" property="startSoc"/>
<result column="end_soc" property="endSoc"/>
2021-08-04 11:22:15 +08:00
<result column="source" property="source"/>
<result column="status" property="status"/>
<result column="del_flag" property="delFlag"/>
<result column="create_time" property="createTime"/>
<result column="create_by" property="createBy"/>
<result column="update_time" property="updateTime"/>
<result column="update_by" property="updateBy"/>
<result column="remark" property="remark"/>
<result column="rate_model_id" property="rateModelId"/>
<result column="charging_mode" property="chargingMode"/>
<result column="start_time" property="startTime"/>
<result column="end_time" property="endTime"/>
<result column="charging_time" property="chargingTime"/>
<result column="charging_degree" property="chargingDegree"/>
<result column="type" property="type"/>
<result column="erro_remark" property="erroRemark"/>
<result column="amount_charged" property="amountCharged"/>
2021-08-19 10:53:11 +08:00
<result column="power" property="power"/>
2021-08-25 18:45:52 +08:00
<result column="charging_time_number" property="chargingTimeNumber"/>
2021-08-04 11:22:15 +08:00
</resultMap>
2021-08-05 16:17:04 +08:00
<resultMap id="BaseResultMap" type="com.xhpc.common.domain.XhpcTerminal">
<result property="terminalId" column="terminal_id"/>
<result property="chargingPileId" column="charging_pile_id"/>
<result property="chargingStationId" column="charging_station_id"/>
<result property="name" column="name"/>
<result property="serialNumber" column="serial_number"/>
<result property="pileSerialNumber" column="pile_serial_number"/>
<result property="gunStatus" column="gun_status"/>
<result property="workStatus" column="work_status"/>
<result property="status" column="status"/>
<result property="delFlag" column="del_flag"/>
2021-08-05 20:30:16 +08:00
<result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/>
<result property="updateTime" column="update_time"/>
<result property="updateBy" column="update_by"/>
<result property="remark" column="remark"/>
<result property="rateModelId" column="rate_model_id"/>
2021-08-05 16:17:04 +08:00
</resultMap>
2021-08-05 20:30:16 +08:00
2021-08-27 19:41:23 +08:00
<resultMap id="XhpcRateMap" type="com.xhpc.common.domain.XhpcRate">
<result property="rateId" column="rate_id"/>
<result property="chargingStationId" column="charging_station_id"/>
<result property="name" column="name"/>
<result property="powerFee" column="power_fee"/>
<result property="serviceFee" column="service_fee"/>
<result property="status" column="status"/>
<result property="delFlag" column="del_flag"/>
<result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/>
<result property="updateTime" column="update_time"/>
<result property="updateBy" column="update_by"/>
<result property="remark" column="remark"/>
<result property="rateValue" column="rate_value"/>
</resultMap>
2021-08-11 16:25:10 +08:00
<select id="getHistotyChargeOrderMessage" resultType="int">
select
count(charge_order_id)
from xhpc_charge_order
where user_id = #{userId} and status=0 and del_flag =0
2021-08-04 11:22:15 +08:00
</select>
2021-08-05 16:17:04 +08:00
2021-08-12 15:54:28 +08:00
<select id="getMessage" resultType="map">
select
rto.real_time_order_id as realTimeOrderId,
rto.charging_order_id as chargingOrderId,
rto.voltage as voltage,
rto.gun_number as seriaNumber,
rto.electric_current as electricCurrent,
(select power from xhpc_charging_pile where charging_pile_id=
2021-09-02 20:08:21 +08:00
(select charging_pile_id from xhpc_charging_pile where serial_number=rto.pile_number and del_flag=0 LIMIT 1))power,
2021-08-12 15:54:28 +08:00
rto.soc as soc,
rto.gun_number as gunNumber,
rto.charging_degree as chargingDegree,
rto.charging_time as chargingTime,
rto.remaining_time as remainingTime,
rto.amount_charged as amountCharged,
au.balance as balance
from xhpc_real_time_order as rto
LEFT JOIN xhpc_app_user as au on au.app_user_id = rto.user_id
2021-09-02 20:08:21 +08:00
where rto.charging_order_id =(select charge_order_id from xhpc_charge_order where status =0 and source = 0 and user_id=#{userId} ORDER BY create_time desc LIMIT 1)
and rto.user_id=#{userId}
ORDER BY rto.create_time DESC limit 1
2021-08-12 15:54:28 +08:00
</select>
2021-08-11 16:25:10 +08:00
2021-08-05 16:17:04 +08:00
<select id="getUserMessage" resultType="map">
select
app_user_id as appUserId,
balance as balance,
2021-08-17 17:33:57 +08:00
phone as phone,
2021-08-26 19:35:19 +08:00
soc as soc,
2021-08-05 16:17:04 +08:00
is_refund_application as isRefundApplication
from xhpc_app_user
where del_flag=0 and app_user_id=#{userId}
2021-08-05 16:17:04 +08:00
</select>
2021-08-25 15:27:57 +08:00
<update id="updateUserBalance">
update xhpc_app_user set balance=#{balance} where app_user_id=#{userId}
</update>
<select id="countXhpcRealTimeOrder" resultType="String">
select charge_order_id as chargeOrderId from xhpc_charge_order where user_id =#{userId} and status=0 and del_flag =0 limit 1
2021-08-05 16:17:04 +08:00
</select>
<select id="countXhpcChargeOrder" resultType="int">
select count(charge_order_id) from xhpc_charge_order where user_id =#{userId} and status =2 and del_flag =0
</select>
<select id="getXhpcTerminalSerialNumber" resultMap="BaseResultMap">
2021-08-12 15:54:28 +08:00
select * from xhpc_terminal where serial_number=#{serialNumber} and del_flag=0 limit 1
2021-08-05 16:17:04 +08:00
</select>
<insert id="addXhpcChargeOrder" parameterType="com.xhpc.order.domain.XhpcChargeOrder" useGeneratedKeys="true"
2021-08-05 20:30:16 +08:00
keyProperty="chargeOrderId">
insert into xhpc_charge_order
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="null != chargingStationId ">
charging_station_id,
</if>
<if test="null != userId ">
user_id,
</if>
<if test="null != terminalId ">
terminal_id,
</if>
<if test="null != internetSerialNumber ">
internet_serial_number,
</if>
<if test="null != serialNumber ">
serial_number,
</if>
<if test="null != startSoc ">
start_soc,
</if>
<if test="null != endSoc ">
end_soc,
</if>
2021-08-05 20:30:16 +08:00
<if test="null != source ">
source,
</if>
<if test="null != status ">
status,
</if>
<if test="null != delFlag ">
del_flag,
</if>
<if test="null != rateModelId ">
rate_model_id,
</if>
<if test="null != chargingMode ">
charging_mode,
</if>
<if test="null != startTime ">
start_time,
</if>
<if test="null != endTime ">
end_time,
</if>
<if test="null != chargingTime ">
charging_time,
</if>
<if test="null != chargingDegree ">
charging_degree,
</if>
<if test="null != type ">
type,
</if>
<if test="null != erroRemark ">
erro_remark,
</if>
<if test="null != amountCharged ">
2021-08-19 10:53:11 +08:00
amount_charged,
</if>
<if test="null != power ">
power
2021-08-05 20:30:16 +08:00
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="null != chargingStationId ">
#{chargingStationId},
</if>
<if test="null != userId ">
#{userId},
</if>
<if test="null != terminalId ">
#{terminalId},
</if>
<if test="null != internetSerialNumber ">
#{internetSerialNumber},
</if>
<if test="null != serialNumber ">
#{serialNumber},
</if>
<if test="null != startSoc ">
#{startSoc},
</if>
<if test="null != endSoc ">
#{endSoc},
</if>
2021-08-05 20:30:16 +08:00
<if test="null != source ">
#{source},
</if>
<if test="null != status ">
#{status},
</if>
<if test="null != delFlag ">
#{delFlag},
</if>
<if test="null != rateModelId ">
#{rateModelId},
</if>
<if test="null != chargingMode ">
#{chargingMode},
</if>
<if test="null != startTime ">
#{startTime},
</if>
<if test="null != endTime ">
#{endTime},
</if>
<if test="null != chargingTime ">
#{chargingTime},
</if>
<if test="null != chargingDegree ">
#{chargingDegree},
</if>
<if test="null != type ">
#{type},
</if>
<if test="null != erroRemark ">
#{erroRemark},
</if>
<if test="null != amountCharged ">
2021-08-19 10:53:11 +08:00
#{amountCharged},
</if>
<if test="null != power ">
#{power}
2021-08-05 20:30:16 +08:00
</if>
</trim>
</insert>
<update id="updateXhpcChargeOrder" parameterType="com.xhpc.order.domain.XhpcChargeOrder">
update xhpc_charge_order
2021-08-19 18:56:23 +08:00
<set>
<if test="startSoc != null">start_soc = #{startSoc},</if>
2021-08-12 15:54:28 +08:00
<if test="endSoc != null">end_soc = #{endSoc},</if>
2021-08-19 18:56:23 +08:00
<if test="status != null">status=#{status},</if>
2021-08-12 15:54:28 +08:00
<if test="remark != null">remark = #{remark},</if>
<if test="startTime != null">start_time = #{startTime},</if>
<if test="endTime != null">end_time = #{endTime},</if>
<if test="chargingTime != null">charging_time = #{chargingTime},</if>
<if test="chargingDegree != null">charging_degree = #{chargingDegree},</if>
<if test="type != null">type = #{type},</if>
2021-08-19 10:53:11 +08:00
<if test="power != null">power = #{power},</if>
<if test="erroRemark != null">erro_remark = #{erroRemark},</if>
2021-08-25 18:45:52 +08:00
<if test="amountCharged != null">amount_charged = #{amountCharged},</if>
<if test="chargingTimeNumber != null">charging_time_number = #{chargingTimeNumber}</if>
2021-08-19 18:56:23 +08:00
</set>
where charge_order_id = #{chargeOrderId}
</update>
2021-08-05 16:17:04 +08:00
<select id="getHistotyChargeOrderStatusList" resultType="map">
select
cor.charge_order_id as chargeOrderId,
cor.create_time as createTime,
cor.serial_number as serialNumber,
cs.name as chargingStationName,
ter.name as terminalName,
ho.history_order_id as historyOrderId,
ho.act_price as actPrice,
cor.charging_time as chargingTime,
cor.charging_degree as chargingDegree,
cor.status as status
from xhpc_charge_order as cor
left join xhpc_charging_station as cs on cs.charging_station_id = cor.charging_station_id
left join xhpc_terminal as ter on ter.terminal_id=cor.terminal_id
left join xhpc_history_order as ho on ho.charge_order_id = cor.charge_order_id
where cor.status =2 and cor.del_flag =0 and cor.user_id=#{userId}
order by cor.update_time desc
2021-08-05 16:17:04 +08:00
</select>
<select id="getSerialNumberMessage" resultMap="XhpcChargeOrderResult">
select *
from xhpc_charge_order
where serial_number = #{serialNumber}
limit 1
2021-08-12 15:54:28 +08:00
</select>
<select id="getCount" resultType="int">
2021-08-30 15:49:42 +08:00
select count(charge_order_id) from xhpc_charge_order where user_id=#{userId} and del_flag =0 and (status !=1 or status !=3)
<if test="chargeOrderId !=null">
and charge_order_id=#{chargeOrderId}
</if>
2021-08-12 15:54:28 +08:00
</select>
<select id="getPromotion" resultType="map">
select discount,state from xhpc_promotion where del_flag=0 and status=0 and type=0 and start_time &lt;= now() and end_time &gt;=now() order by update_time desc
</select>
<select id="getChargingOrderId" resultMap="XhpcChargeOrderResult">
select *
from xhpc_charge_order
where charge_order_id = #{chargingOrderId}
</select>
2021-08-17 20:33:10 +08:00
<select id="getOperatorMessage" resultType="map">
select
operator_id as operatorId,
commission_type as commissionType,
2021-08-26 19:35:19 +08:00
soc as soc,
2021-08-17 20:33:10 +08:00
platform_commission_rate as platformCommissionRate,
maintenance_commission_rate as maintenanceCommissionRate
from xhpc_operator where operator_id=(select operator_id from xhpc_charging_station where charging_station_id=#{chargingStationId})
</select>
2021-08-18 14:01:42 +08:00
2021-08-19 15:40:17 +08:00
<select id="getXhpcChargingPileById" resultType="map">
select
charging_pile_id as chargingPileId,
power as power
from xhpc_charging_pile where charging_pile_id=#{chargingPileid}
2021-08-19 10:53:11 +08:00
</select>
2021-08-24 13:59:16 +08:00
<insert id="addXhpcOrderRedisRecord" parameterType="com.xhpc.order.domain.XhpcOrderRedisRecord" useGeneratedKeys="true"
keyProperty="orderRedisRecordId">
insert into xhpc_order_redis_record
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="null != chargeOrderId ">
charge_order_id,
</if>
<if test="null != historyOrderOd ">
history_order_id,
</if>
<if test="null != endSoc ">
end_soc,
</if>
<if test="null != status ">
status,
</if>
<if test="null != balance ">
balance,
</if>
<if test="null != tel ">
tel,
</if>
<if test="null != startSoc ">
start_soc,
</if>
<if test="null != startResult ">
start_result,
</if>
<if test="null != realtimeDataList ">
realtime_data_list,
</if>
<if test="null != remainingTime ">
remaining_time,
</if>
<if test="null != rateModelId ">
rate_model_id,
</if>
<if test="null != delFlag ">
del_flag,
</if>
<if test="null != createTime ">
create_time,
</if>
<if test="null != createBy ">
create_by,
</if>
<if test="null != updateTime ">
update_time,
</if>
<if test="null != updateBy ">
update_by,
</if>
<if test="null != remark ">
remark
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="null != chargeOrderId ">
#{chargeOrderId},
</if>
<if test="null != historyOrderOd ">
#{historyOrderOd},
</if>
<if test="null != endSoc ">
#{endSoc},
</if>
<if test="null != status ">
#{status},
</if>
<if test="null != balance ">
#{balance},
</if>
<if test="null != tel ">
#{tel},
</if>
<if test="null != startSoc ">
#{startSoc},
</if>
<if test="null != startResult ">
#{startResult},
</if>
<if test="null != realtimeDataList ">
#{realtimeDataList},
</if>
<if test="null != remainingTime ">
#{remainingTime},
</if>
<if test="null != rateModelId ">
#{rateModelId},
</if>
<if test="null != delFlag ">
#{delFlag},
</if>
<if test="null != createTime ">
#{createTime},
</if>
<if test="null != createBy ">
#{createBy},
</if>
<if test="null != updateTime ">
#{updateTime},
</if>
<if test="null != updateBy ">
#{updateBy},
</if>
<if test="null != remark ">
#{remark}
</if>
</trim>
</insert>
2021-08-25 15:27:57 +08:00
<insert id="addUserAccountStatement">
INSERT INTO xhpc_user_account_statement(user_id, amount, remaining_sum, charge_order_id, type, create_time)
values (#{userId}, #{amount}, #{remainingSum}, #{chargeOrderId}, #{type}, #{date})
2021-08-25 15:27:57 +08:00
</insert>
2021-08-27 19:41:23 +08:00
<select id="getRateModelId" resultMap="XhpcRateMap">
select * from xhpc_rate where rate_model_id=#{rateModelId} and status=0 and del_flag=0
</select>
</mapper>