254 lines
12 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.payment.mapper.XhpcRechargeOrderMapper">
<resultMap type="com.xhpc.common.domain.XhpcRechargeOrder" id="XhpcRechargeOrderResult">
<result column="recharge_order_id" property="rechargeOrderId" />
<result column="user_id" property="userId" />
<result column="recharge_order_number" property="rechargeOrderNumber"/>
<result column="prepay_id" property="prepayId" />
<result column="alipay_number" property="alipayNumber" />
<result column="amount" property="amount" />
<result column="type" property="type" />
<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="source" property="source" />
</resultMap>
<insert id="insert" parameterType="com.xhpc.common.domain.XhpcRechargeOrder" useGeneratedKeys="true"
keyProperty="rechargeOrderId">
INSERT INTO xhpc_recharge_order
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="null != userId and '' != userId">
user_id,
</if>
<if test="null != rechargeOrderNumber and '' != rechargeOrderNumber">
recharge_order_number,
</if>
<if test="null != prepayId and '' != prepayId">
prepay_id,
</if>
<if test="null != alipayNumber and '' != alipayNumber">
alipay_number,
</if>
<if test="null != amount and '' != amount">
amount,
</if>
<if test="null != type and '' != type">
type,
</if>
<if test="null != status and '' != status">
status,
</if>
<if test="null != delFlag and '' != delFlag">
del_flag,
</if>
<if test="null != createTime ">
create_time,
</if>
<if test="null != createBy and '' != createBy">
create_by,
</if>
<if test="null != updateTime">
update_time,
</if>
<if test="null != updateBy and '' != updateBy">
update_by,
</if>
<if test="null != remark and '' != remark">
remark,
</if>
<if test="null != source">
source
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="null != userId and '' != userId">
#{userId},
</if>
<if test="null != rechargeOrderNumber and '' != rechargeOrderNumber">
#{rechargeOrderNumber},
</if>
<if test="null != prepayId and '' != prepayId">
#{prepayId},
</if>
<if test="null != alipayNumber and '' != alipayNumber">
#{alipayNumber},
</if>
<if test="null != amount and '' != amount">
#{amount},
</if>
<if test="null != type and '' != type">
#{type},
</if>
<if test="null != status and '' != status">
#{status},
</if>
<if test="null != delFlag and '' != delFlag">
#{delFlag},
</if>
<if test="null != createTime ">
#{createTime},
</if>
<if test="null != createBy and '' != createBy">
#{createBy},
</if>
<if test="null != updateTime">
#{updateTime},
</if>
<if test="null != updateBy and '' != updateBy">
#{updateBy},
</if>
<if test="null != remark and '' != remark">
#{remark},
</if>
<if test="null != source">
#{source}
</if>
</trim>
</insert>
<update id="update" parameterType="com.xhpc.common.domain.XhpcRechargeOrder">
UPDATE xhpc_recharge_order
<set>
<if test="null != userId and '' != userId">user_id = #{userId},</if>
<if test="null != rechargeOrderNumber and '' != rechargeOrderNumber">recharge_order_number =
#{rechargeOrderNumber},
</if>
<if test="null != prepayId and '' != prepayId">prepay_id = #{prepayId},</if>
<if test="null != alipayNumber and '' != alipayNumber">alipay_number = #{alipayNumber},</if>
<if test="null != amount ">amount = #{amount},</if>
<if test="null != type">type = #{type},</if>
<if test="null != status ">status = #{status},</if>
<if test="null != delFlag and '' != delFlag">del_flag = #{delFlag},</if>
<if test="null != createTime ">create_time = #{createTime},</if>
<if test="null != createBy and '' != createBy">create_by = #{createBy},</if>
<if test="null != updateTime">update_time = #{updateTime},</if>
<if test="null != updateBy and '' != updateBy">update_by = #{updateBy},</if>
<if test="null != remark and '' != remark">remark = #{remark}</if>
</set>
WHERE recharge_order_id = #{rechargeOrderId}
</update>
<select id="info" parameterType="java.lang.Long" resultType="java.util.Map">
select xro.recharge_order_id rechargeOrderId ,xro.recharge_order_number rechargeOrderNumber,
xro.alipay_number alipayNumber ,xro.prepay_id prepayid,xro.user_id userId,xro.amount,
xro.type ,xro.`status`,xro.create_time createTime,xro.source source,xau.phone,sdd.dict_label statusName
from xhpc_recharge_order xro
LEFT JOIN xhpc_app_user xau on xau.app_user_id = xro.user_id
LEFT JOIN sys_dict_data sdd on sdd.`dict_type` = 'recharge_order_status' and sdd.dict_value = xro.`status`
where xro.del_flag = 0 and xro.recharge_order_id = #{rechargeOrderId}
</select>
<select id="page" parameterType="java.lang.Long" resultType="java.util.Map">
select
xro.recharge_order_id rechargeOrderId ,xro.recharge_order_number rechargeOrderNumber,
xro.alipay_number alipayNumber ,xro.prepay_id prepayid,xro.user_id userId,xro.amount,
xro.type ,xro.`status`,xro.create_time createTime,xro.source source,
xau.phone,cop.account communityAccount,cup.account customersAccount,
sdd.dict_label statusName
from xhpc_recharge_order xro
LEFT JOIN xhpc_app_user xau on xau.app_user_id = xro.user_id and xro.source =0
LEFT JOIN xhpc_community_personnel cop on cop.community_personnel_id = xro.user_id and xro.source =2
LEFT JOIN xhpc_customers_personnel cup on cup.customers_personnel_id = xro.user_id and xro.source =3
LEFT JOIN sys_dict_data sdd on sdd.`dict_type` = 'recharge_order_status' and sdd.dict_value = xro.`status`
<if test="source == null and phone != null and phone != ''">
inner join (
select xau.app_user_id from xhpc_app_user as xau inner join (select user_id from xhpc_recharge_order where source=0) us1 on us1.user_id=xau.app_user_id where xau.phone like concat('%', #{phone}, '%')
union
select xcop.community_personnel_id as app_user_id from xhpc_community_personnel as xcop inner join (select user_id from xhpc_recharge_order where source=2) us2 on us2.user_id=xcop.community_personnel_id where xcop.phone like concat('%', #{phone}, '%')
union
select xcup.customers_personnel_id as app_user_id from xhpc_customers_personnel as xcup inner join (select user_id from xhpc_recharge_order where source=3) us3 on us3.user_id = xcup.customers_personnel_id where xcup.phone like concat('%', #{phone}, '%')
) ut on ut.app_user_id = xro.user_id
</if>
where xro.del_flag = 0
<if test="source != null and phone != null and phone != ''">
<if test="source==0 ">
and xro.source=#{source} and xau.phone like concat('%', #{phone}, '%')
</if>
<if test="source=2">
and xro.source=#{source} and cop.account like concat('%', #{phone}, '%')
</if>
<if test="source=3">
and xro.source=#{source} and cup.account like concat('%', #{phone}, '%')
</if>
</if>
<if test="source != null">
and xro.source=#{source}
</if>
<if test="rechargeOrderNumber != null and rechargeOrderNumber != ''">
and xro.recharge_order_number like concat('%', #{rechargeOrderNumber}, '%')
</if>
<if test="status != null and status != ''">
and xro.status like concat('%', #{status}, '%')
</if>
<if test="createTimeStart != null and createTimeStart != ''"><!-- 开始时间检索 -->
AND xro.create_time &gt;= #{createTimeStart}
</if>
<if test="createTimeEnd != null and createTimeEnd != ''"><!-- 结束时间检索 -->
AND xro.create_time &lt;= #{createTimeEnd}
</if>
<if test="type != null and type != ''">
AND xro.type = #{type}
</if>
<if test="userId != null">
and xro.user_id=#{userId}
</if>
ORDER BY xro.create_time DESC
</select>
<select id="sumMoney" resultType="String">
select sum(xro.amount) amount
from xhpc_recharge_order xro
LEFT JOIN xhpc_app_user xau on xau.app_user_id = xro.user_id
LEFT JOIN sys_dict_data sdd on sdd.`dict_type` = 'recharge_order_status' and sdd.dict_value = xro.`status`
where xro.del_flag = 0
<if test="phone != null and phone != ''">
and xau.phone like concat('%', #{phone}, '%')
</if>
<if test="rechargeOrderNumber != null and rechargeOrderNumber != ''">
and xro.recharge_order_number like concat('%', #{rechargeOrderNumber}, '%')
</if>
<if test="status != null and status != ''">
and xro.status like concat('%', #{status}, '%')
</if>
<if test="createTimeStart != null and createTimeStart != ''"><!-- 开始时间检索 -->
AND xro.create_time &gt;= #{createTimeStart}
</if>
<if test="createTimeEnd != null and createTimeEnd != ''"><!-- 结束时间检索 -->
AND xro.create_time &lt;= #{createTimeEnd}
</if>
<if test="type != null and type != ''">
AND xro.type = #{type}
</if>
<if test="source != null">
AND xro.source = #{source}
</if>
<if test="userId != null">
and xro.user_id=#{userId}
</if>
ORDER BY xro.create_time DESC
</select>
<select id="infoRechargeOrderNumber" parameterType="java.lang.String" resultMap="XhpcRechargeOrderResult">
select *
from xhpc_recharge_order xro
where xro.del_flag = 0 and xro.recharge_order_number = #{rechargeOrderNumber}
</select>
<update id="updateRechargeOrderStatus">
update xhpc_recharge_order set del_flag =1 where status=0 and TIMESTAMPDIFF(MINUTE,create_time,now())>30
</update>
</mapper>