943 lines
35 KiB
XML
943 lines
35 KiB
XML
<?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">
|
|
|
|
<resultMap type="com.xhpc.order.domain.XhpcChargeOrder" id="XhpcChargeOrderResult">
|
|
<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"/>
|
|
<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"/>
|
|
<result column="power" property="power"/>
|
|
<result column="charging_time_number" property="chargingTimeNumber"/>
|
|
<result column="tenant_id" property="tenantId"/>
|
|
<result column="charging_capacity" property="chargingCapacity"/>
|
|
<result column="suncha_status" property="sunchaStatus"/>
|
|
<result column="Plate_num" property="plateNum"/>
|
|
<result column="driver_id" property="driverId"/>
|
|
|
|
</resultMap>
|
|
|
|
<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"/>
|
|
<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"/>
|
|
</resultMap>
|
|
|
|
<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>
|
|
|
|
|
|
<select id="getHistotyChargeOrderMessageMap" resultType="map">
|
|
select
|
|
charge_order_id as chargeOrderId,
|
|
status
|
|
from xhpc_charge_order
|
|
where user_id = #{userId}
|
|
and del_flag =0
|
|
and internet_serial_number=#{thirdCode}
|
|
<if test="tenantId !=null and tenantId !=''">
|
|
and tenant_id=#{tenantId}
|
|
</if>
|
|
and source =#{userType}
|
|
</select>
|
|
|
|
<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
|
|
<if test="tenantId !=null and tenantId !=''">
|
|
and tenant_id=#{tenantId}
|
|
</if>
|
|
<if test="sunchaStatus ==1">
|
|
and suncha_status !=0
|
|
</if>
|
|
and source =#{userType}
|
|
</select>
|
|
|
|
<select id="getUserTypeSunchaSwitch" resultType="int">
|
|
<if test="userType==0">
|
|
select suncha_switch from xhpc_app_user where app_user_id=#{userId} and del_flag =0
|
|
</if>
|
|
<if test="userType==2">
|
|
select suncha_switch from xhpc_community_personnel where community_personnel_id=#{userId} and del_flag =0
|
|
</if>
|
|
<if test="userType==3">
|
|
select suncha_switch from xhpc_customers_personnel where customers_personnel_id=#{userId} and del_flag =0
|
|
</if>
|
|
</select>
|
|
|
|
|
|
|
|
<select id="getMessage" resultType="map">
|
|
select
|
|
rto.real_time_order_id as realTimeOrderId,
|
|
rto.charging_order_id as chargingOrderId,
|
|
rto.voltage as voltage,
|
|
rto.charging_time_number as chargingTimeNumber,
|
|
concat(rto.pile_number,"",rto.gun_number)as serialNumber,
|
|
rto.electric_current as electricCurrent,
|
|
(select power from xhpc_charging_pile where charging_pile_id=
|
|
(select charging_pile_id from xhpc_charging_pile where serial_number=rto.pile_number and del_flag=0 LIMIT 1))power,
|
|
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,
|
|
IFNULL(cp.type,'1') as type,
|
|
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
|
|
left join xhpc_charging_pile as cp on cp.serial_number = rto.pile_number and cp.status =0 and cp.del_flag=0
|
|
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
|
|
</select>
|
|
|
|
<select id="getUserMessage" resultType="map">
|
|
select
|
|
app_user_id as appUserId,
|
|
weixin_open_id as weixinOpenId,
|
|
alipay_open_id as alipayOpenId,
|
|
balance as balance,
|
|
phone as phone,
|
|
soc as soc,
|
|
is_refund as isRefund,
|
|
weixin_open_id as weixinOpenId,
|
|
alipay_open_id as alipayOpenId,
|
|
is_refund_application as isRefundApplication
|
|
from xhpc_app_user
|
|
where del_flag=0 and app_user_id=#{userId}
|
|
</select>
|
|
|
|
<update id="updateUserBalance">
|
|
update xhpc_app_user set balance=#{balance} where app_user_id=#{userId}
|
|
</update>
|
|
|
|
<update id="updateUserSunchaBalance">
|
|
update xhpc_app_user
|
|
<set>
|
|
<if test="sunchaStatus==1">a_balance = #{balance}</if>
|
|
<if test="sunchaStatus==2">b_balance = #{balance}</if>
|
|
</set>
|
|
where app_user_id=#{userId}
|
|
</update>
|
|
|
|
<update id="updateCommunityBalance">
|
|
update xhpc_community_personnel set surplus_money=#{balance} where community_personnel_id=#{userId}
|
|
</update>
|
|
|
|
<update id="updateCommunitySunchaBalance">
|
|
update xhpc_community_personnel
|
|
<set>
|
|
<if test="sunchaStatus==1">a_balance = #{balance}</if>
|
|
<if test="sunchaStatus==2">b_balance = #{balance}</if>
|
|
</set>
|
|
where community_personnel_id=#{userId}
|
|
</update>
|
|
|
|
<update id="updateCustomersBalance">
|
|
update xhpc_customers_personnel set surplus_money=#{balance} where customers_personnel_id=#{userId}
|
|
</update>
|
|
|
|
<update id="updateCustomersSunchaBalance">
|
|
update xhpc_customers_personnel
|
|
<set>
|
|
<if test="sunchaStatus==1">a_balance = #{balance}</if>
|
|
<if test="sunchaStatus==2">b_balance = #{balance}</if>
|
|
</set>
|
|
where customers_personnel_id=#{userId}
|
|
</update>
|
|
|
|
<update id="updateAppInternetUserBalance">
|
|
update xhpc_app_internet_user set balance=#{balance} where app_internet_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 and source =0
|
|
<if test="source !=null and source !=''">
|
|
and source=#{source}
|
|
</if>
|
|
<if test="tenantId !=null and tenantId !=''">
|
|
and tenant_id=#{tenantId}
|
|
</if>
|
|
limit 1
|
|
</select>
|
|
|
|
<select id="countXhpcChargeOrder" resultType="int">
|
|
select count(charge_order_id)
|
|
from xhpc_charge_order
|
|
where user_id =#{userId}
|
|
and status =2 and source =0 and del_flag =0
|
|
<if test="source !=null and source !=''">
|
|
and source=#{source}
|
|
</if>
|
|
<if test="tenantId !=null and tenantId !=''">
|
|
and tenant_id=#{tenantId}
|
|
</if>
|
|
</select>
|
|
|
|
<select id="getXhpcTerminalSerialNumber" resultMap="BaseResultMap">
|
|
select * from xhpc_terminal
|
|
where serial_number=#{serialNumber}
|
|
<if test="tenantId !=null and ''!=tenantId">
|
|
and tenant_id=#{tenantId}
|
|
</if>
|
|
and del_flag=0 limit 1
|
|
</select>
|
|
|
|
<insert id="addXhpcChargeOrder" parameterType="com.xhpc.order.domain.XhpcChargeOrder" useGeneratedKeys="true"
|
|
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>
|
|
<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 ">
|
|
amount_charged,
|
|
</if>
|
|
<if test="null != power ">
|
|
power,
|
|
</if>
|
|
<if test="null != createTime ">
|
|
create_time,
|
|
</if>
|
|
<if test="null != tenantId and tenantId !=''">
|
|
tenant_id,
|
|
</if>
|
|
<if test="null != driverId and driverId !=''">
|
|
driver_id,
|
|
</if>
|
|
<if test="null != chargingAmt ">
|
|
charging_amt,
|
|
</if>
|
|
<if test="null != PlateNum and PlateNum !=''">
|
|
Plate_num,
|
|
</if>
|
|
<if test="null != evcsOrderNo and evcsOrderNo !=''">
|
|
evcs_order_no,
|
|
</if>
|
|
<if test="null != vinNormal and vinNormal !=''">
|
|
vin_normal,
|
|
</if>
|
|
<if test="null != chargingCapacity">
|
|
charging_capacity,
|
|
</if>
|
|
<if test="null != sunchaStatus">
|
|
suncha_status,
|
|
</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>
|
|
<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 ">
|
|
#{amountCharged},
|
|
</if>
|
|
<if test="null != power ">
|
|
#{power},
|
|
</if>
|
|
<if test="null != createTime ">
|
|
#{createTime},
|
|
</if>
|
|
<if test="null != tenantId and tenantId !=''">
|
|
#{tenantId},
|
|
</if>
|
|
<if test="null != driverId and driverId !=''">
|
|
#{driverId},
|
|
</if>
|
|
<if test="null != chargingAmt ">
|
|
#{chargingAmt},
|
|
</if>
|
|
<if test="null != PlateNum and PlateNum !=''">
|
|
#{PlateNum},
|
|
</if>
|
|
<if test="null != evcsOrderNo and evcsOrderNo !=''">
|
|
#{evcsOrderNo},
|
|
</if>
|
|
<if test="null != vinNormal and vinNormal !=''">
|
|
#{vinNormal},
|
|
</if>
|
|
<if test="null != chargingCapacity">
|
|
#{chargingCapacity},
|
|
</if>
|
|
<if test="null != sunchaStatus">
|
|
#{sunchaStatus},
|
|
</if>
|
|
</trim>
|
|
</insert>
|
|
|
|
<update id="updateXhpcChargeOrder" parameterType="com.xhpc.order.domain.XhpcChargeOrder">
|
|
update xhpc_charge_order
|
|
<set>
|
|
<if test="startSoc != null">start_soc = #{startSoc},</if>
|
|
<if test="endSoc != null">end_soc = #{endSoc},</if>
|
|
<if test="status != null">status=#{status},</if>
|
|
<if test="source != null">source=#{source},</if>
|
|
<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>
|
|
<if test="power != null">power = #{power},</if>
|
|
<if test="erroRemark != null">erro_remark = #{erroRemark},</if>
|
|
<if test="amountCharged != null">amount_charged = #{amountCharged},</if>
|
|
<if test="rateModelId != null">rate_model_id = #{rateModelId},</if>
|
|
<if test="chargingTimeNumber != null">charging_time_number = #{chargingTimeNumber},</if>
|
|
<if test="null != driverId and driverId !=''">driver_id =#{driverId},</if>
|
|
<if test="null != chargingAmt ">charging_amt= #{chargingAmt},</if>
|
|
<if test="null != PlateNum and PlateNum !=''">Plate_num= #{PlateNum},</if>
|
|
<if test="null != evcsOrderNo and evcsOrderNo !=''">evcs_order_no= #{evcsOrderNo},</if>
|
|
</set>
|
|
where charge_order_id = #{chargeOrderId}
|
|
</update>
|
|
|
|
<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,
|
|
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
|
|
where cor.status =2
|
|
and cor.del_flag =0
|
|
and cor.user_id=#{userId}
|
|
<if test="tenantId !=null and tenantId !=''">
|
|
and cor.tenant_id =#{tenantId}
|
|
</if>
|
|
<if test="userType !=null">
|
|
and cor.source =#{userType}
|
|
</if>
|
|
order by cor.update_time desc
|
|
</select>
|
|
|
|
<select id="getSerialNumberMessage" resultMap="XhpcChargeOrderResult">
|
|
select *,Plate_num as plateNum
|
|
from xhpc_charge_order
|
|
where serial_number = #{serialNumber}
|
|
limit 1
|
|
</select>
|
|
|
|
<select id="getCount" resultType="int">
|
|
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>
|
|
<if test="tenantId !=null and tenantId !=''">
|
|
and tenant_id=#{tenantId}
|
|
</if>
|
|
<if test="source !=null">
|
|
and source=#{source}
|
|
</if>
|
|
</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>
|
|
|
|
<select id="getChargingOrderId" resultMap="XhpcChargeOrderResult">
|
|
select *
|
|
from xhpc_charge_order
|
|
where charge_order_id = #{chargingOrderId}
|
|
</select>
|
|
|
|
<select id="getOperatorMessage" resultType="map">
|
|
select
|
|
operator_id as operatorId,
|
|
commission_type as commissionType,
|
|
operator_id_evcs as operatorIdEvcs,
|
|
duty_paragraph as dutyParagraph,
|
|
soc as soc,
|
|
platform_commission_rate as platformCommissionRate,
|
|
(select name from xhpc_charging_station where charging_station_id=#{chargingStationId}) chargingStationName,
|
|
maintenance_commission_rate as maintenanceCommissionRate
|
|
from xhpc_operator
|
|
|
|
where operator_id=(select operator_id from xhpc_charging_station where charging_station_id=#{chargingStationId})
|
|
</select>
|
|
|
|
<select id="getXhpcUserVehicleMessage" resultType="map">
|
|
select
|
|
vehicle_id as vehicleId,
|
|
app_user_id as appUserId,
|
|
vehicle_name as vehicleName
|
|
from xhpc_user_vehicle where source =#{source} and app_user_id =#{userId} and del_flag=0
|
|
and vin_blacklist !=1 order by type desc,create_time desc LIMIT 1
|
|
</select>
|
|
<select id="getXhpcChargingPileById" resultType="map">
|
|
select
|
|
cp.charging_pile_id as chargingPileId,
|
|
cs.operator_id as operatorId,
|
|
opn.corp_no as corpNo,
|
|
cp.communication_protocol_version as communicationProtocolVersion,
|
|
cp.power as power
|
|
from xhpc_charging_pile as cp
|
|
left join xhpc_charging_station as cs on cs.charging_station_id = cp.charging_station_id
|
|
left join xhpc_operator as opn on opn.operator_id = cs.operator_id
|
|
where cp.charging_pile_id=#{chargingPileid}
|
|
<if test="tenantId !=null and tenantId !=''">
|
|
and cp.tenant_id=#{tenantId}
|
|
</if>
|
|
</select>
|
|
|
|
<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>
|
|
<if test="null != orderData ">
|
|
order_data
|
|
</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>
|
|
<if test="null != orderData ">
|
|
#{orderData}
|
|
</if>
|
|
</trim>
|
|
</insert>
|
|
|
|
<insert id="insertUserAccountStatement">
|
|
INSERT INTO xhpc_user_account_statement(user_id, amount, remaining_sum, charge_order_id, type, create_time,source)
|
|
values (#{userId}, #{amount}, #{remainingSum}, #{chargeOrderId}, #{type}, #{date},#{source})
|
|
</insert>
|
|
|
|
<select id="getRateModelId" resultMap="XhpcRateMap">
|
|
select *
|
|
from xhpc_rate
|
|
where rate_model_id = #{rateModelId}
|
|
</select>
|
|
|
|
<select id="getXhpcChargingPile" resultType="map">
|
|
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} and del_flag =0) and del_flag =0
|
|
</select>
|
|
|
|
<select id="getXhpcChargeOrderStatus" resultType="map">
|
|
select
|
|
xco.charge_order_id as chargeOrderId,
|
|
(select max(real_time_order_id) from xhpc_real_time_order where charging_order_id = xco.charge_order_id LIMIT 1) realTimeOrderId
|
|
from xhpc_charge_order as xco
|
|
where xco.del_flag = 0
|
|
and xco.status = #{status}
|
|
and NOW() > DATE_ADD(xco.create_time, INTERVAL #{number} HOUR)
|
|
</select>
|
|
|
|
|
|
<insert id="addBy3rd" parameterType="com.xhpc.order.domain.XhpcChargeOrder" useGeneratedKeys="true"
|
|
keyProperty="chargeOrderId">
|
|
insert into xhpc_charge_order
|
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
|
<if test="null != internetSerialNumber ">
|
|
internet_serial_number,
|
|
</if>
|
|
<if test="null != serialNum ">
|
|
serial_number,
|
|
</if>
|
|
<if test="null != driverId ">
|
|
driver_id,
|
|
</if>
|
|
<if test="null != chargingAmt ">
|
|
charging_amt,
|
|
</if>
|
|
<if test="null != plateNum ">
|
|
plate_num,
|
|
</if>
|
|
<if test="null != status ">
|
|
status,
|
|
</if>
|
|
<if test="null != createTime ">
|
|
create_time,
|
|
</if>
|
|
<if test="null != rateModelId ">
|
|
rate_model_id,
|
|
</if>
|
|
<if test="null != terminalId ">
|
|
terminal_id,
|
|
</if>
|
|
<if test="null != power ">
|
|
power,
|
|
</if>
|
|
<if test="null != chargingStationId ">
|
|
charging_station_id,
|
|
</if>
|
|
<if test="null != chargingMode ">
|
|
charging_mode,
|
|
</if>
|
|
<if test="null != source ">
|
|
source,
|
|
</if>
|
|
<if test="null != userId ">
|
|
user_id
|
|
</if>
|
|
</trim>
|
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
|
<if test="null != internetSerialNumber ">
|
|
#{internetSerialNumber},
|
|
</if>
|
|
<if test="null != serialNum ">
|
|
#{serialNum},
|
|
</if>
|
|
<if test="null != driverId ">
|
|
#{driverId},
|
|
</if>
|
|
<if test="null != chargingAmt ">
|
|
#{chargingAmt},
|
|
</if>
|
|
<if test="null != plateNum ">
|
|
#{plateNum},
|
|
</if>
|
|
<if test="null != status ">
|
|
#{status},
|
|
</if>
|
|
<if test="null != createTime ">
|
|
#{createTime},
|
|
</if>
|
|
<if test="null != rateModelId ">
|
|
#{rateModelId},
|
|
</if>
|
|
<if test="null != terminalId ">
|
|
#{terminalId},
|
|
</if>
|
|
<if test="null != power ">
|
|
#{power},
|
|
</if>
|
|
<if test="null != chargingStationId ">
|
|
#{chargingStationId},
|
|
</if>
|
|
<if test="null != chargingMode ">
|
|
#{chargingMode},
|
|
</if>
|
|
<if test="null != source ">
|
|
#{source},
|
|
</if>
|
|
<if test="null != userId ">
|
|
#{userId}
|
|
</if>
|
|
</trim>
|
|
</insert>
|
|
|
|
<select id="selectDate3rdNeedBy" resultType="map">
|
|
select xt.charging_station_id as chargingStationId,
|
|
xt.terminal_id as terminalId,
|
|
cs.rate_model_id as rateModelId,
|
|
xcp.power as power
|
|
from xhpc_terminal as xt
|
|
left join xhpc_charging_pile as xcp on xcp.serial_number = substring(#{serialNumber}, 1, 14)
|
|
left join xhpc_charging_station as cs on xt.charging_station_id = cs.charging_station_id
|
|
where xt.serial_number = #{serialNumber} and xt.del_flag = 0
|
|
</select>
|
|
|
|
<select id="select3rdNameBy" resultType="map">
|
|
|
|
select name, internet_user_id as userId
|
|
from xhpc_internet_user
|
|
where operator_id_evcs = #{operatorIdEvcs}
|
|
</select>
|
|
|
|
<update id="updateStatus">
|
|
update xhpc_charge_order set status=#{status}
|
|
<if test="erroRemark !=null and erroRemark !=''">
|
|
and erro_remark=#{erroRemark}
|
|
</if>
|
|
where status=0 and charge_order_id = #{chargeOrderId}
|
|
</update>
|
|
|
|
<select id="getFourTimsStatus" resultMap="XhpcChargeOrderResult">
|
|
select * from xhpc_charge_order where now() >DATE_ADD(create_time,interval 4 hour) and status=0
|
|
</select>
|
|
|
|
<select id="getChargeOrderStatus" resultType="map">
|
|
select charging_station_id chargingStationId,serial_number serialNumber from xhpc_charge_order where status =2
|
|
</select>
|
|
<select id="getSerialNumberLike" resultType="int">
|
|
select count(charge_order_id) from xhpc_charge_order where serial_number like concat('%', #{serialNumber}, '%') and charge_order_id > #{chargeOrderId} and status=1
|
|
</select>
|
|
|
|
<update id="updateStatusNull">
|
|
update xhpc_charge_order set status=2 where status is null and create_time < NOW() - INTERVAL 30 MINUTE
|
|
</update>
|
|
|
|
<update id="updateStatusNegativeOne">
|
|
update xhpc_charge_order set status=2 where status=-1 and source=1 and create_time < NOW() - INTERVAL 30 MINUTE
|
|
</update>
|
|
|
|
|
|
|
|
<select id="getSerialNumberOrder" resultType="map">
|
|
SELECT
|
|
serial_number serialNumber
|
|
FROM
|
|
xhpc_charge_order
|
|
WHERE
|
|
charge_order_id = (
|
|
SELECT MAX(charge_order_id) FROM xhpc_charge_order WHERE terminal_id = (
|
|
SELECT terminal_id FROM xhpc_terminal WHERE serial_number =#{serialNumber} AND del_flag = 0 )
|
|
)
|
|
</select>
|
|
|
|
<select id="getXhpcBarrierGate" resultType="map">
|
|
select
|
|
xcs.charging_station_id as id,
|
|
xcs.name as name,
|
|
xcs.address as address,
|
|
xcs.longitude as longitude,
|
|
xcs.latitude as latitude,
|
|
xbg.barrier_gate_id as barrierGateId,
|
|
xbg.url as url,
|
|
xbg.charging_station_number as chargingStationNumber
|
|
from xhpc_charging_station xcs
|
|
left join xhpc_barrier_gate xbg on xcs.barrier_gate_id = xbg.barrier_gate_id and xbg.del_flag =0 and xbg.status =0
|
|
where charging_station_id =#{chargingStationId}
|
|
</select>
|
|
|
|
<select id="getvVinNumber" resultType="map">
|
|
select
|
|
app_user_id as appUerId,
|
|
source as source
|
|
from xhpc_user_vehicle where (vin_spec_code =#{vinNumber} or vin_spec_code =#{reverseVinNumber}) and del_flag =0 and source !=1 and status =1 and vin_blacklist =0 order by create_time desc limit 1
|
|
</select>
|
|
|
|
|
|
<select id="getChargingStationById" resultType="map">
|
|
select
|
|
xcs.charging_station_id as id,
|
|
xcs.name as name,
|
|
xcs.address as address,
|
|
xcs.longitude as longitude,
|
|
xcs.latitude as latitude,
|
|
xcs.area_code as areaCode
|
|
from xhpc_charging_station xcs
|
|
where xcs.charging_station_id =#{chargingStationId}
|
|
</select>
|
|
|
|
<update id="updateXhpcAppUser">
|
|
update xhpc_app_user set a_balance=#{aBalance}, b_balance =#{bBalance} where app_user_id=#{userId}
|
|
</update>
|
|
|
|
<update id="updateXhpcCommunityPersonnel">
|
|
update xhpc_community_personnel set a_balance=#{aBalance}, b_balance =#{bBalance} where community_personnel_id=#{userId}
|
|
</update>
|
|
|
|
<update id="updateXhpcCustomersPersonnel">
|
|
update xhpc_customers_personnel set a_balance=#{aBalance}, b_balance =#{bBalance} where customers_personnel_id=#{userId}
|
|
</update>
|
|
|
|
<select id="getBlacklistUser" resultType="int">
|
|
select count(blacklist_id)
|
|
from xhpc_blacklist
|
|
where distinguish =1
|
|
and (
|
|
<choose>
|
|
<when test="phone !=null and phone !='' and vin !=null and vin !='' and plateNnum !=null and plateNnum !=''">
|
|
phone=#{phone} or vin =#{vin} or plate_num=#{plateNnum}
|
|
</when>
|
|
<when test="phone !=null and phone !='' and vin !=null and vin !=''">
|
|
phone=#{phone} or vin =#{vin}
|
|
</when>
|
|
<when test="vin !=null and vin !='' and plateNnum !=null and plateNnum !=''">
|
|
vin =#{vin} or plate_num=#{plateNnum}
|
|
</when>
|
|
<when test="phone !=null and phone !='' and plateNnum !=null and plateNnum !=''">
|
|
phone=#{phone} or plate_num=#{plateNnum}
|
|
</when>
|
|
<when test="phone !=null and phone !=''">
|
|
phone=#{phone}
|
|
</when>
|
|
<when test="vin !=null and vin !=''">
|
|
vin =#{vin}
|
|
</when>
|
|
<otherwise>
|
|
plate_num=#{plateNnum}
|
|
</otherwise>
|
|
</choose>
|
|
)
|
|
and blacklist_id in (select mechanism_id from xhpc_mechanism where source =2 and del_flag =0 and charging_station_id =#{chargingStationId} )
|
|
and start_time <= #{time} and end_time >= #{time}
|
|
</select>
|
|
|
|
<select id="getXhpcTerminalList" resultType="map">
|
|
select serial_number as serialNumber
|
|
from xhpc_terminal
|
|
where del_flag = 0
|
|
<if test="'' !=chargingStationId and chargingStationId !=null">
|
|
and charging_station_id =#{chargingStationId}
|
|
</if>
|
|
<if test="''!=chargingPileId and chargingPileId !=null">
|
|
and charging_pile_id =#{chargingPileId}
|
|
</if>
|
|
<if test="type==1">
|
|
and charging_station_id in (select charging_station_id from xhpc_charging_station where operator_id=#{userId})
|
|
</if>
|
|
<if test="type==2">
|
|
and charging_station_id in (select charging_station_id from xhpc_user_privilege where user_id=#{userId})
|
|
</if>
|
|
</select>
|
|
</mapper>
|