<?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.stylefeng.guns.modular.system.dao.TPubWithdrawalMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TPubWithdrawal">
|
<id column="id" property="id" />
|
<result column="userId" property="userId" />
|
<result column="handleTime" property="handleTime" />
|
<result column="balance" property="balance" />
|
<result column="money" property="money" />
|
<result column="state" property="state" />
|
<result column="remark" property="remark" />
|
<result column="code" property="code" />
|
<result column="name" property="name" />
|
<result column="userType" property="userType" />
|
<result column="insertTime" property="insertTime" />
|
<result column="flag" property="flag" />
|
<result column="withdrawalType" property="withdrawalType" />
|
</resultMap>
|
|
<!-- 通用查询结果列 -->
|
<sql id="Base_Column_List">
|
id, userId, handleTime, balance, money, state, remark, code, name, userType, insertTime, flag, withdrawalType
|
</sql>
|
|
<!--根据条件查询提现列表-->
|
<select id="getWithdrawalList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page">
|
SELECT * FROM (SELECT
|
case when pw.userType = 1 then uu.nickName when pw.userType = 2 then dd.`name` else '' end as userName,
|
case when pw.userType = 1 then uu.phone when pw.userType = 2 then dd.phone else '' end as userPhone,
|
case when pw.userType = 1 then uu.companyId when pw.userType = 2 then dd.companyId else '' end as companyId,
|
pw.*
|
FROM t_pub_withdrawal as pw
|
LEFT JOIN t_user as uu on uu.id = pw.userId
|
LEFT JOIN t_driver as dd on dd.id = pw.userId) as o
|
<where>
|
o.flag != 3
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
AND (o.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
<if test="name != null and name != ''">
|
and o.name LIKE CONCAT('%',#{name},'%')
|
</if>
|
<if test="withdrawalType != null and withdrawalType != ''">
|
and o.withdrawalType = #{withdrawalType}
|
</if>
|
</where>
|
order by o.id desc
|
</select>
|
<select id="getReportWithdrawalList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page">
|
SELECT * FROM (SELECT
|
case when pw.userType = 1 then uu.nickName when pw.userType = 2 then dd.`name` else '' end as userName,
|
case when pw.userType = 1 then uu.phone when pw.userType = 2 then dd.phone else '' end as userPhone,
|
pw.*
|
FROM t_pub_withdrawal as pw
|
LEFT JOIN t_user as uu on uu.id = pw.userId
|
LEFT JOIN t_driver as dd on dd.id = pw.userId) as o
|
<where>
|
o.flag != 3 and userType=2 and state=2
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
AND (o.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
<if test="userId != null and userId != ''">
|
and find_in_set(userId, #{userId})
|
</if>
|
</where>
|
order by o.id desc
|
</select>
|
<select id="getReportWithdrawalListEx" resultType="map">
|
SELECT * FROM (SELECT
|
case when pw.userType = 1 then uu.nickName when pw.userType = 2 then dd.`name` else '' end as userName,
|
case when pw.userType = 1 then uu.phone when pw.userType = 2 then dd.phone else '' end as userPhone,
|
pw.*
|
FROM t_pub_withdrawal as pw
|
LEFT JOIN t_user as uu on uu.id = pw.userId
|
LEFT JOIN t_driver as dd on dd.id = pw.userId) as o
|
<where>
|
o.flag != 3 and userType=2 and state=2
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
AND (o.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
<if test="userId != null and userId != ''">
|
and find_in_set(userId, #{userId})
|
</if>
|
</where>
|
order by o.id desc
|
</select>
|
<select id="getSumMoney" resultType="map">
|
SELECT SUM(money) money,SUM(realGetMoney) realGetMoney FROM t_pub_withdrawal WHERE
|
flag != 3 and userType=2 and state=2
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
AND (insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
<if test="userId != null and userId != ''">
|
and find_in_set(userId, #{userId})
|
</if>
|
</select>
|
|
|
<select id="orderWithdrawalDetailsList" resultType="map">
|
select
|
a.id,
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as insertTime,
|
b.`name`,
|
b.phone,
|
(a.balance - a.money) as balance,
|
a.money,
|
a.realGetMoney,
|
a.balance as oldBalance,
|
(a.money - a.realGetMoney) as poundage,
|
a.success_time successTime
|
from t_pub_withdrawal a
|
left join t_driver b on (a.userType = 2 and a.userId = b.id)
|
where a.flag != 3 and a.state = 2 and a.userType = 2
|
<if test="null != type">
|
and a.type = #{type}
|
</if>
|
<if test="null != companyId">
|
and b.companyId = #{companyId}
|
</if>
|
<if test="null != driverName and '' != driverName">
|
and b.`name` like CONCAT('%', #{driverName}, '%')
|
</if>
|
<if test="null != driverPhone and '' != driverPhone">
|
and b.phone like CONCAT('%', #{driverPhone}, '%')
|
</if>
|
<if test="null != startTime and '' != startTime and null != endTime and '' != endTime">
|
and a.insertTime between #{startTime} and #{endTime}
|
</if>
|
order by a.insertTime desc
|
<if test="null != offset and null != limit">
|
limit #{offset}, #{limit}
|
</if>
|
</select>
|
|
|
<select id="orderWithdrawalDetailsListCount" resultType="int">
|
select
|
count(1)
|
from t_pub_withdrawal a
|
left join t_driver b on (a.userType = 2 and a.userId = b.id)
|
where a.flag != 3 and a.state = 2 and a.userType = 2
|
<if test="null != type">
|
and a.type = #{type}
|
</if>
|
<if test="null != companyId">
|
and b.companyId = #{companyId}
|
</if>
|
<if test="null != driverName and '' != driverName">
|
and b.`name` like CONCAT('%', #{driverName}, '%')
|
</if>
|
<if test="null != driverPhone and '' != driverPhone">
|
and b.phone like CONCAT('%', #{driverPhone}, '%')
|
</if>
|
<if test="null != startTime and '' != startTime and null != endTime and '' != endTime">
|
and a.insertTime between #{startTime} and #{endTime}
|
</if>
|
</select>
|
<select id="getPoundage" resultType="java.lang.Double">
|
select percentage from t_sys_withdrawal_poundage where companyId =#{objectId}
|
</select>
|
</mapper>
|