<?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.xzx.gc.user.mapper.AccountMapper">
|
<resultMap id="AccountMap" type="com.xzx.gc.model.user.AccountVo">
|
<result column="account_id" jdbcType="VARCHAR" property="accountId"/>
|
<result column="account_name" jdbcType="VARCHAR" property="accountName"/>
|
<result column="user_id" jdbcType="VARCHAR" property="userId"/>
|
<result column="pay_password" jdbcType="VARCHAR" property="payPassword"/>
|
<result column="freeze_money" jdbcType="VARCHAR" property="freezeMoney"/>
|
<result column="withdraw_money" jdbcType="VARCHAR" property="withdrawMoney"/>
|
<result column="overdraft_limit" jdbcType="VARCHAR" property="overdraftLimit"/>
|
<result column="lock_time" jdbcType="VARCHAR" property="lockTime"/>
|
</resultMap>
|
|
<resultMap id="UserInfoMap" type="com.xzx.gc.model.user.UserInfoVo">
|
<result column="nick_name" jdbcType="VARCHAR" property="nickName"/>
|
<result column="user_type" jdbcType="VARCHAR" property="userType"/>
|
<result column="user_id" jdbcType="VARCHAR" property="userId"/>
|
<result column="mobile_phone" jdbcType="VARCHAR" property="mobilePhone"/>
|
</resultMap>
|
|
|
<update id="updateAccountWarehousingPrice">
|
update xzx_account_info set
|
<if test="oldOverdrawPrice != null and oldOverdrawPrice != ''">
|
overdraft_limit=#{oldOverdrawPrice},
|
</if>
|
fixed_limit=#{newOverdrawPrice}
|
where del_flag=0
|
and user_id in
|
<foreach collection="orderIds" index="index" item="id" separator="," open="(" close=")">
|
#{id}
|
</foreach>
|
</update>
|
|
<update id="updateAccountOverdrawPrice">
|
update xzx_account_info set
|
overdraft_limit=#{newOverdrawPrice},
|
fixed_limit=#{newOverdrawPrice}
|
where del_flag=0 and overdraft_limit=#{oldOverdrawPrice}
|
and user_id in
|
<foreach collection="orderIds" index="index" item="id" separator="," open="(" close=")">
|
#{id}
|
</foreach>
|
</update>
|
|
<update id="updateCuserAccount">
|
update xzx_account_info set del_flag=0 where del_flag=1
|
<if test="userId != null and userId != ''">
|
and user_id=#{userId}
|
</if>
|
<if test="phone != null and phone != ''">
|
and account_name=#{phone}
|
</if>
|
order by account_id desc limit 1
|
</update>
|
|
<insert id="addCuserAccountRole">
|
INSERT INTO xzx_account_info(`account_id`,`account_name`, `user_id`, `pay_password`, `money`, `freeze_money`,
|
`withdraw_money`, `overdraft_limit`, `lock_time`,`fixed_limit`)
|
VALUES (#{id}, #{phone}, #{userId}, NULL, '0', '0', '0', #{money}, NULL,#{money})
|
</insert>
|
|
<update id="updateAccountLimit">
|
update xzx_account_info set fixed_limit=#{fixedLimit},overdraft_limit=#{overdraftLimit} where account_id=#{accountId}
|
</update>
|
|
<select id="queryAccountByUserIds" resultType="com.xzx.gc.model.admin.AccountMoneyModel">
|
select * from xzx_account_info
|
<if test="userFlag==1">
|
inner join xzx_user_info on xzx_account_info.user_id=xzx_user_info.user_id
|
</if>
|
|
where xzx_account_info.del_flag=0
|
<if test=" userIds != null and userIds.size() != 0 and userFlag!=1">
|
AND user_id in
|
<foreach collection="userIds" index="index" item="id" separator="," open="(" close=")">
|
#{id}
|
</foreach>
|
</if>
|
|
|
<if test="isProhibit != null and isProhibit != ''">
|
AND is_prohibit = #{isProhibit}
|
</if>
|
order by CAST(money AS DECIMAL) desc
|
</select>
|
|
<update id="updateAccountType">
|
update xzx_account_info
|
set is_prohibit = #{isProhibit}
|
where account_id = #{accountId}
|
</update>
|
|
<update id="updateAccountPartner">
|
update xzx_account_info
|
set money = #{money}
|
where user_id = #{userId}
|
</update>
|
|
<select id="getAccountByUserId" resultType="com.xzx.gc.model.admin.UserAccountModel">
|
select *
|
from xzx_account_info
|
where user_id = #{userId} and del_flag = 0
|
</select>
|
|
<update id="updateUserAccount">
|
update xzx_account_info
|
set money = #{money}, overdraft_limit = #{overdraftLimit}
|
where user_id = #{userId} and del_flag = 0
|
</update>
|
|
<delete id="deleteAccount">
|
update xzx_account_info
|
set del_flag = 1
|
where account_id = #{accountId}
|
</delete>
|
|
<select id="queryAccountByAccountId" resultType="com.xzx.gc.model.admin.AccountMoneyModel">
|
select * from xzx_account_info where account_id=#{accountId}
|
</select>
|
|
<select id="findArea" resultType="com.xzx.gc.entity.OrderInfo">
|
SELECT a.user_id "userId",a.money,c.township_id "townId",d.level_3_name "townShipName"
|
,c.longitude,c.latitude
|
from xzx_account_info a
|
inner JOIN xzx_user_info b
|
on a.user_id=b.user_id
|
left JOIN xzx_user_address_info c on b.user_id=c.user_id and c.del_flag=0 AND c.flag=1
|
left join xzx_sys_address_level_info d on c.township_id=d.level_3_id
|
where a.del_flag=0 and b.del_flag=0
|
and cast(a.money as DECIMAL(9,2))>0
|
|
</select>
|
|
|
<insert id="insertScoreDetailsRet">
|
insert into xzx_score_details (CREATED_TIME, user_id, type, original_score, change_score, current_score)
|
values (
|
#{createdTime}, #{userId}, #{type}, #{originalScore}, #{changeScore}, #{currentScore}
|
)
|
</insert>
|
|
|
|
<select id="selectOneByUserId" resultType="com.xzx.gc.entity.AccountInfo">
|
select * from xzx_account_info where user_id = #{userId}
|
</select>
|
|
<select id="selectDsitribListByQueryCol" resultType="com.xzx.gc.user.vo.DistribListVo">
|
SELECT
|
a.account_id id,
|
a.is_head isHead,
|
b.nick_name nickname,
|
b.regist_time registTime,
|
b.mobile_phone phone
|
FROM
|
xzx_account_info a
|
LEFT JOIN xzx_user_info b on a.user_id = b.user_id
|
<where>
|
1=1
|
<if test="record.queryCol != null and record.queryCol != ''">
|
and (b.nick_name like concat('%',#{record.name},'%')
|
or b.mobile_phone like concat('%',#{record.phone},'%') )
|
</if>
|
</where>
|
order by id desc
|
</select>
|
|
<select id="selectDsitribInfoListByQueryCol" resultType="com.xzx.gc.user.vo.DistribInfoListVo">
|
SELECT
|
a.account_id id,
|
b.nick_name nickname,
|
b.mobile_phone phone,
|
b.regist_time registTime,
|
a.is_head isHead,
|
(select IFNULL(count(1), 0) from xzx_user_head_relate where head_user_id = a.user_id ) cnt,
|
(select IFNULL(count(1), 0) from xzx_user_head_details where head_user_id = a.user_id ) orderCnt,
|
(select IFNULL(sum(amount), 0) from xzx_user_head_relate where head_user_id = a.user_id ) amount,
|
(select IFNULL(sum(score), 0) from xzx_user_head_relate where head_user_id = a.user_id ) score,
|
a.is_prohibit isProhibit
|
FROM
|
xzx_account_info a
|
LEFT JOIN xzx_user_info b on a.user_id = b.user_id
|
<where>
|
1=1
|
and a.is_head = 1
|
<if test="record.name != null and record.name != ''">
|
and b.nick_name like concat('%',#{record.name},'%')
|
</if>
|
<if test="record.phone != null and record.phone != ''">
|
and b.mobile_phone like concat('%',#{record.phone},'%')
|
</if>
|
<if test="record.isProhibit != null and record.isProhibit != ''">
|
and a.is_prohibit = #{record.isProhibit}
|
</if>
|
<if test="record.reserveTimeStart != null">
|
and b.regist_time >= #{record.reserveTimeStart}
|
</if>
|
|
<if test="record.reserveTimeEnd != null">
|
and b.regist_time <= #{record.reserveTimeEnd}
|
</if>
|
</where>
|
order by id desc
|
</select>
|
|
<select id="selectDistribByAccountId" resultType="com.xzx.gc.user.vo.ViewDistribInfoVo">
|
SELECT
|
a.account_id id,
|
b.nick_name nickname,
|
b.mobile_phone phone,
|
b.regist_time registTime,
|
(select IFNULL(count(1), 0) from xzx_user_head_relate where head_user_id = a.user_id ) cnt,
|
(select IFNULL(count(1), 0) from xzx_user_head_details where head_user_id = a.user_id ) orderCnt,
|
(select IFNULL(sum(amount), 0) from xzx_user_head_relate where head_user_id = a.user_id ) amount,
|
(select IFNULL(sum(score), 0) from xzx_user_head_relate where head_user_id = a.user_id ) score
|
FROM
|
xzx_account_info a
|
LEFT JOIN xzx_user_info b on a.user_id = b.user_id
|
where a.account_id = #{id}
|
</select>
|
|
<select id="selectUserHeadInfoByAccountId" resultType="com.xzx.gc.user.vo.UserHeadInfoVo">
|
SELECT
|
b.nick_name nickname,
|
b.mobile_phone phone,
|
a.CREATED_TIME createTime,
|
(select IFNULL(count(1), 0) from xzx_user_head_details where user_id = a.user_id and head_user_id = #{id}) orderCnt,
|
(select IFNULL(sum(amount), 0) from xzx_user_head_details where user_id = a.user_id and head_user_id = #{id}) amount,
|
(select IFNULL(sum(score), 0) from xzx_user_head_details where user_id = a.user_id and head_user_id = #{id}) score,
|
(SELECT
|
IFNULL(SUM(score),0) as kg
|
FROM
|
xzx_jhy_order_items WHERE order_id in ( SELECT
|
id
|
FROM
|
xzx_jhy_order WHERE order_no in ( SELECT
|
order_no
|
FROM
|
xzx_user_head_details WHERE
|
user_id = a.user_id and head_user_id = #{id} ) )) orderScore
|
FROM
|
xzx_user_head_relate a
|
LEFT JOIN xzx_user_info b on a.user_id = b.user_id
|
where a.head_user_id = #{id}
|
</select>
|
|
<select id="selectOrderItemsByUserId" resultType="com.xzx.gc.user.vo.OrderItemsVo">
|
SELECT
|
b.id orderId,
|
a.order_no orderNo,
|
a.score scoreReward,
|
a.amount amountReward,
|
c.nick_name nickname,
|
c.mobile_phone phone,
|
(select sum(score) from xzx_jhy_order_items where b.id = order_id) score,
|
(select sum(score/ 40) from xzx_jhy_order_items where b.id = order_id) amount
|
FROM
|
xzx_user_head_details a
|
LEFT JOIN xzx_jhy_order b ON a.order_no = b.order_no
|
LEFT JOIN xzx_user_info c on a.user_id = c.user_id
|
WHERE
|
a.head_user_id = #{userId}
|
order by b.CREATED_TIME desc
|
</select>
|
|
|
|
<select id="selectOrderById" resultType="com.xzx.gc.entity.JhyOrderItems">
|
SELECT
|
*
|
FROM
|
xzx_jhy_order_items a
|
where a.order_id = #{orderId}
|
</select>
|
|
<select id="distribDataList" resultType="com.xzx.gc.user.vo.DistribDataListVo">
|
SELECT
|
a.account_id id,
|
b.nick_name nickname,
|
b.mobile_phone phone,
|
b.regist_time registTime,
|
a.is_head isHead,
|
(select IFNULL(count(1), 0) from xzx_user_head_relate where head_user_id = a.user_id) cnt,
|
(select IFNULL(count(1), 0) from xzx_user_head_details where head_user_id = a.user_id
|
<if test="record.reserveTimeStart != null">
|
and CREATED_TIME >= #{record.reserveTimeStart}
|
</if>
|
|
<if test="record.reserveTimeEnd != null">
|
and CREATED_TIME <= #{record.reserveTimeEnd}
|
</if>
|
) orderCnt,
|
(select IFNULL(sum(amount), 0) from xzx_user_head_relate where head_user_id = a.user_id
|
<if test="record.reserveTimeStart != null">
|
and CREATED_TIME >= #{record.reserveTimeStart}
|
</if>
|
|
<if test="record.reserveTimeEnd != null">
|
and CREATED_TIME <= #{record.reserveTimeEnd}
|
</if>
|
) amount,
|
(select IFNULL(sum(score), 0) from xzx_user_head_relate where head_user_id = a.user_id
|
<if test="record.reserveTimeStart != null">
|
and CREATED_TIME >= #{record.reserveTimeStart}
|
</if>
|
|
<if test="record.reserveTimeEnd != null">
|
and CREATED_TIME <= #{record.reserveTimeEnd}
|
</if>
|
) score,
|
a.is_prohibit isProhibit
|
FROM
|
xzx_account_info a
|
LEFT JOIN xzx_user_info b on a.user_id = b.user_id
|
<where>
|
1=1
|
and a.is_head = 1
|
<if test="record.queryCol != null and record.queryCol != ''">
|
and (b.nick_name like concat('%',#{record.name},'%') or b.mobile_phone like concat('%',#{record.phone},'%'))
|
</if>
|
</where>
|
order by id desc
|
</select>
|
|
<select id="selectOrderByHeadUserId" resultType="java.lang.String">
|
SELECT
|
IFNULL(SUM(a.weight),0) as kg
|
FROM
|
xzx_jhy_order_items a
|
left join xzx_sys_environmental_info b on a.item_type = b.id
|
WHERE
|
b.item_unit = 'kg'
|
and a.order_id in (
|
SELECT
|
id
|
FROM
|
xzx_jhy_order
|
WHERE
|
order_no in (
|
SELECT
|
order_no
|
FROM
|
xzx_user_head_details
|
WHERE
|
head_user_id = (
|
SELECT
|
user_id
|
FROM
|
xzx_account_info
|
WHERE
|
account_id = #{accountId}
|
)
|
)
|
<if test="record!= null">
|
<if test="record.reserveTimeStart != null">
|
and CREATED_TIME >= #{record.reserveTimeStart}
|
</if>
|
|
<if test="record.reserveTimeEnd != null">
|
and CREATED_TIME <= #{record.reserveTimeEnd}
|
</if>
|
</if>
|
)
|
</select>
|
|
<select id="selectJDSLByHeadUserId" resultType="java.lang.String">
|
SELECT
|
IFNULL(SUM(a.weight),0) as jdsl
|
FROM
|
xzx_jhy_order_items a
|
left join xzx_sys_environmental_info b on a.item_type = b.id
|
WHERE
|
b.item_unit = '台' and
|
a.order_id in (
|
SELECT
|
id
|
FROM
|
xzx_jhy_order
|
WHERE order_no in (
|
SELECT
|
order_no
|
FROM
|
xzx_user_head_details
|
WHERE
|
head_user_id = (
|
SELECT
|
user_id
|
FROM
|
xzx_account_info
|
WHERE
|
account_id = #{accountId}
|
)
|
)
|
|
<if test="record!= null">
|
<if test="record.reserveTimeStart != null">
|
and CREATED_TIME >= #{record.reserveTimeStart}
|
</if>
|
|
<if test="record.reserveTimeEnd != null">
|
and CREATED_TIME <= #{record.reserveTimeEnd}
|
</if>
|
</if>
|
)
|
</select>
|
|
<select id="selectDistribDataInfoVo" resultType="com.xzx.gc.user.vo.DistribDataInfoVo">
|
SELECT
|
IFNULL(count(1), 0) cnt,
|
SUM((select IFNULL(count(1), 0) from xzx_user_head_details where head_user_id = a.user_id) ) orderCnt,
|
SUM((select IFNULL(sum(amount), 0) from xzx_user_head_details where head_user_id = a.user_id) ) amount,
|
SUM((select IFNULL(sum(score), 0) from xzx_user_head_details where head_user_id = a.user_id) ) score
|
FROM
|
xzx_account_info a
|
where
|
1=1
|
and a.is_head = 1
|
</select>
|
|
<select id="distribDataExport" resultType="com.xzx.gc.user.vo.DistribDataListVo">
|
SELECT
|
a.account_id id,
|
b.nick_name nickname,
|
b.mobile_phone phone,
|
b.regist_time registTime,
|
a.is_head isHead,
|
(select IFNULL(count(1), 0) from xzx_user_head_relate where head_user_id = a.user_id) cnt,
|
(select IFNULL(count(1), 0) from xzx_user_head_details where head_user_id = a.user_id
|
<if test="record.reserveTimeStart != null">
|
and CREATED_TIME >= #{record.reserveTimeStart}
|
</if>
|
|
<if test="record.reserveTimeEnd != null">
|
and CREATED_TIME <= #{record.reserveTimeEnd}
|
</if>) orderCnt,
|
(select IFNULL(sum(amount), 0) from xzx_user_head_relate where head_user_id = a.user_id
|
<if test="record.reserveTimeStart != null">
|
and CREATED_TIME >= #{record.reserveTimeStart}
|
</if>
|
|
<if test="record.reserveTimeEnd != null">
|
and CREATED_TIME <= #{record.reserveTimeEnd}
|
</if>) amount,
|
(select IFNULL(sum(score), 0) from xzx_user_head_relate where head_user_id = a.user_id
|
<if test="record.reserveTimeStart != null">
|
and CREATED_TIME >= #{record.reserveTimeStart}
|
</if>
|
|
<if test="record.reserveTimeEnd != null">
|
and CREATED_TIME <= #{record.reserveTimeEnd}
|
</if>) score,
|
a.is_prohibit isProhibit
|
FROM
|
xzx_account_info a
|
LEFT JOIN xzx_user_info b on a.user_id = b.user_id
|
<where>
|
1=1
|
and a.is_head = 1
|
<if test="record.queryCol != null and record.queryCol != ''">
|
and (b.nick_name like concat('%',#{record.name},'%') or b.mobile_phone like concat('%',#{record.phone},'%'))
|
</if>
|
</where>
|
order by id desc
|
</select>
|
|
<select id="selectOrderExportByHeadUserId" resultType="java.lang.String">
|
SELECT
|
IFNULL(SUM(a.weight),0) as kg
|
FROM
|
xzx_jhy_order_items a
|
left join xzx_sys_environmental_info b on a.item_type = b.id
|
WHERE
|
b.item_unit = 'kg'
|
and a.order_id in (
|
SELECT
|
id
|
FROM
|
xzx_jhy_order
|
WHERE
|
order_no in (
|
SELECT
|
order_no
|
FROM
|
xzx_user_head_details
|
WHERE
|
head_user_id = (
|
SELECT
|
user_id
|
FROM
|
xzx_account_info
|
WHERE
|
account_id = #{accountId}
|
)
|
)
|
<if test="record!= null">
|
<if test="record.reserveTimeStart != null">
|
and CREATED_TIME >= #{record.reserveTimeStart}
|
</if>
|
|
<if test="record.reserveTimeEnd != null">
|
and CREATED_TIME <= #{record.reserveTimeEnd}
|
</if>
|
</if>
|
)
|
</select>
|
|
<select id="selectJDSLExportByHeadUserId" resultType="java.lang.String">
|
SELECT
|
IFNULL(SUM(a.weight),0) as jdsl
|
FROM
|
xzx_jhy_order_items a
|
left join xzx_sys_environmental_info b on a.item_type = b.id
|
WHERE
|
b.item_unit = '台' and
|
a.order_id in (
|
SELECT
|
id
|
FROM
|
xzx_jhy_order
|
WHERE order_no in (
|
SELECT
|
order_no
|
FROM
|
xzx_user_head_details
|
WHERE
|
head_user_id = (
|
SELECT
|
user_id
|
FROM
|
xzx_account_info
|
WHERE
|
account_id = #{accountId}
|
)
|
)
|
|
<if test="record!= null">
|
<if test="record.reserveTimeStart != null">
|
and CREATED_TIME >= #{record.reserveTimeStart}
|
</if>
|
|
<if test="record.reserveTimeEnd != null">
|
and CREATED_TIME <= #{record.reserveTimeEnd}
|
</if>
|
</if>
|
)
|
</select>
|
|
<select id="selectAccountInfoByIds" resultType="com.xzx.gc.entity.AccountInfo">
|
select * from xzx_account_info
|
where account_id in
|
<foreach collection="list" index="index" item="id" separator="," open="(" close=")">
|
#{id}
|
</foreach>
|
</select>
|
|
<select id="selectAccountInfoByPhone" resultType="com.xzx.gc.entity.AccountInfo">
|
select a.* from xzx_account_info a, xzx_user_info b
|
where a.user_id=b.user_id and b.mobile_phone=#{phone}
|
</select>
|
</mapper>
|