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">
2021-08-27 16:01:16 +08:00
<mapper namespace= "com.xhpc.order.mapper.XhpcChargeOrderMapper" >
2021-08-04 11:22:15 +08:00
2021-08-27 16:01:16 +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" />
2021-08-09 12:15:00 +08:00
<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" />
2021-08-09 12:15:00 +08:00
<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" />
2021-08-17 11:41:46 +08:00
<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,
2021-09-09 11:02:28 +08:00
rto.charging_time_number as chargingTimeNumber,
2021-09-23 12:06:14 +08:00
concat(rto.pile_number,"",rto.gun_number)as serialNumber,
2021-08-12 15:54:28 +08:00
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,
2021-09-18 10:47:28 +08:00
IFNULL(cp.type,'1') as type,
2021-08-12 15:54:28 +08:00
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-18 10:47:28 +08:00
left join xhpc_charging_pile as cp on cp.serial_number = rto.pile_number and cp.status =0 and cp.del_flag=0
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
2021-08-13 19:12:07 +08:00
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>
2021-08-16 19:24:26 +08:00
<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>
2021-08-27 16:01:16 +08:00
<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>
2021-08-17 11:41:46 +08:00
<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 " >
2021-08-09 12:15:00 +08:00
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 " >
2021-08-17 11:41:46 +08:00
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 " >
2021-09-09 11:02:28 +08:00
power,
</if>
<if test= "null != createTime " >
create_time
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>
2021-08-17 11:41:46 +08:00
<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 " >
2021-08-09 12:15:00 +08:00
#{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 " >
2021-08-17 11:41:46 +08:00
#{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 " >
2021-09-09 11:02:28 +08:00
#{power},
</if>
<if test= "null != createTime " >
#{createTime}
2021-08-05 20:30:16 +08:00
</if>
</trim>
</insert>
2021-08-27 16:01:16 +08:00
<update id= "updateXhpcChargeOrder" parameterType= "com.xhpc.order.domain.XhpcChargeOrder" >
2021-08-09 12:15:00 +08:00
update xhpc_charge_order
2021-08-19 18:56:23 +08:00
<set >
2021-08-17 11:41:46 +08:00
<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>
2021-08-23 19:59:57 +08:00
<if test= "startTime != null" > start_time = #{startTime},</if>
2021-08-09 12:15:00 +08:00
<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>
2021-08-17 11:41:46 +08:00
<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}
2021-08-09 12:15:00 +08:00
</update>
2021-08-05 16:17:04 +08:00
<select id= "getHistotyChargeOrderStatusList" resultType= "map" >
2021-08-09 21:18:02 +08:00
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>
2021-08-27 16:01:16 +08:00
<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 < = now() and end_time > =now() order by update_time desc
</select>
2021-08-16 19:24:26 +08:00
2021-08-27 16:01:16 +08:00
<select id= "getChargingOrderId" resultMap= "XhpcChargeOrderResult" >
select *
from xhpc_charge_order
where charge_order_id = #{chargingOrderId}
2021-08-16 19:24:26 +08:00
</select>
2021-08-17 20:33:10 +08:00
<select id= "getOperatorMessage" resultType= "map" >
select
operator_id as operatorId,
commission_type as commissionType,
2021-09-23 12:06:14 +08:00
operator_id_evcs as operatorIdEvcs,
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,
2021-09-09 11:02:28 +08:00
communication_protocol_version as communicationProtocolVersion,
2021-08-19 15:40:17 +08:00
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 " >
2021-09-14 11:53:51 +08:00
remark,
</if>
<if test= "null != orderData " >
2021-10-08 15:41:14 +08:00
order_data
2021-08-24 13:59:16 +08:00
</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 " >
2021-09-14 11:53:51 +08:00
#{remark},
</if>
<if test= "null != orderData " >
2021-10-08 15:41:14 +08:00
#{orderData}
2021-08-24 13:59:16 +08:00
</if>
</trim>
</insert>
2021-08-25 15:27:57 +08:00
<insert id= "addUserAccountStatement" >
2021-08-27 16:01:16 +08:00
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>
2021-09-18 10:47:28 +08:00
<select id= "getXhpcChargingPile" resultType= "map" >
2021-10-22 18:09:11 +08:00
select charging_pile_id as chargingPileId,
IFNULL(type, '1') as type
from xhpc_charging_pile
where charging_pile_id = (select charging_pile_id from xhpc_terminal where terminal_id = #{terminalId})
2021-09-18 10:47:28 +08:00
</select>
2021-10-22 14:37:29 +08:00
<select id= "getXhpcChargeOrderStatus" resultMap= "XhpcChargeOrderResult" >
2021-10-22 18:09:11 +08:00
select *
from xhpc_charge_order
where del_flag = 0
and status = #{status}
and source = #{source}
and datediff(now(), create_time) > 1
2021-10-22 14:37:29 +08:00
</select>
2021-10-22 18:09:11 +08:00
<insert id= "addBy3rd" >
insert into xhpc_charge_order
(internet_serial_number,
2021-10-26 17:16:00 +08:00
serial_number,
2021-11-10 17:14:27 +08:00
<if test= " driverId != null and driverId != ''" >
driver_id,
</if>
<if test= "chargingAmt != null and chargingAmt != ''" >
charging_amt,
</if>
2021-10-22 18:09:11 +08:00
<if test= "plateNum != null and plateNum != ''" >
2021-10-26 17:16:00 +08:00
Plate_num,
2021-10-22 18:09:11 +08:00
</if>
2021-11-12 10:52:46 +08:00
status,source,create_time,
<if test= "rateModelId != null and rateModelId != ''" >
rate_model_id,
</if>
<if test= "terminalId != null and terminalId != ''" >
terminal_id,
</if>
<if test= "power != null and power != ''" >
power,
</if>
<if test= "chargingStationId != null and chargingStationId != ''" >
charging_station_id,
</if>
<if test= "chargingMode != null and chargingMode != ''" >
charging_mode
</if> )
2021-10-22 18:09:11 +08:00
values
(#{internetSerialNumber},
#{serialNum},
2021-11-10 17:14:27 +08:00
<if test= "driverId != null and driverId != ''" >
#{driverId},
</if>
<if test= "chargingAmt != null and chargingAmt != ''" >
#{chargingAmt},
</if>
2021-10-22 18:09:11 +08:00
<if test= "plateNum != null and plateNum != ''" >
#{plateNum},
</if>
2021-11-12 10:52:46 +08:00
#{status},1,#{createTime}
<if test= "rateModelId != null and rateModelId != ''" >
,#{rateModelId}
</if>
<if test= "terminalId != null and terminalId != ''" >
,#{terminalId}
</if>
<if test= "power != null and power != ''" >
,#{power}
</if>
<if test= "chargingStationId != null and chargingStationId != ''" >
,#{chargingStationId}
</if>
<if test= "chargingMode != null and chargingMode != ''" >
,#{chargingMode}
</if>
)
2021-10-22 18:09:11 +08:00
</insert>
2021-11-12 10:52:46 +08:00
<select id= "selectDate3rdNeedBy" resultType= "map" >
select xt.charging_station_id as chargingStationId,
xt.terminal_id as terminalId,
xt.rate_model_id as rateModelId,
power
from xhpc_terminal as xt
left join xhpc_charging_pile as xcp
on xcp.serial_number = substring(#{serialNumber}, 1, 14)
where xt.serial_number = #{serialNumber}
</select>
<select id= "select3rdNameBy" resultType= "java.lang.String" >
select name
from xhpc_internet_user
where operator_id_evcs = #{operatorIdEvcs}
</select>
2021-11-10 10:01:48 +08:00
2021-08-27 16:01:16 +08:00
</mapper>