<?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.ruoyi.errand.mapper.AppUserMapper">
|
|
|
<select id="getOrderPage" resultType="com.ruoyi.errand.object.vo.app.OrderPageVO">
|
SELECT
|
tc.id AS communityId,
|
tc.name AS communityName,
|
tc.fee_amount AS feeAmount,
|
tab.id AS addressBookId,
|
tab.recipient_name AS recipientName,
|
tab.recipient_phone AS recipientPhone,
|
tab.address_detail AS addressDetail,
|
tau.phone as phone,
|
tau.vip_id AS vipId,
|
tau.first_order as isFirstOrder,
|
tau.end_time as endTime
|
FROM
|
t_app_user tau
|
LEFT JOIN
|
t_community tc ON
|
tc.id=tau.community_id
|
AND tc.del_flag = 0
|
AND tc.status = 0
|
LEFT JOIN
|
t_address_book tab
|
ON tau.id = tab.app_user_id
|
and tc.id = tab.community_id
|
AND tc.del_flag = 0
|
AND tc.status = 0
|
WHERE
|
tau.id = #{userId}
|
ORDER BY tab.is_default DESC , tab.create_time DESC
|
|
|
|
</select>
|
<select id="getMyInfo" resultType="com.ruoyi.errand.object.vo.app.AppUserInfoVO">
|
select
|
tau.avatar,
|
tau.name,
|
tau.phone,
|
tau.sex,
|
tau.vip_id,
|
tvs.vip_name as vipName,
|
tau.endTime
|
from
|
t_app_user tau
|
left join
|
t_vip_setting tvs on tau.vip_id = tvs.id
|
where
|
tau.del_flag=0
|
and tau.id = #{id}
|
</select>
|
|
<select id="countByCreateTimeBefore" resultType="java.lang.Integer">
|
SELECT COUNT(*) FROM t_app_user WHERE create_time <= #{end} and del_flag=0 and status !=3
|
</select>
|
|
<select id="countByCreateTimeBetween" resultType="java.lang.Integer">
|
SELECT COUNT(*) FROM t_app_user WHERE create_time BETWEEN #{start} AND #{end} and del_flag=0 and status !=3
|
</select>
|
|
<select id="countGroupByDate" resultType="java.util.Map">
|
SELECT
|
CASE #{datePattern}
|
WHEN 'HH时' THEN DATE_FORMAT(create_time, '%H时')
|
WHEN 'EEEE' THEN ELT(DAYOFWEEK(create_time), '星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六')
|
WHEN 'dd日' THEN DATE_FORMAT(create_time, '%d日')
|
WHEN 'MM月' THEN DATE_FORMAT(create_time, '%m月')
|
WHEN 'yyyy-MM-dd' THEN DATE_FORMAT(create_time, '%Y-%m-%d')
|
ELSE DATE_FORMAT(create_time, '%Y-%m-%d')
|
END AS `date`,
|
COUNT(*) AS `count`
|
FROM t_app_user
|
WHERE create_time BETWEEN #{start} AND #{end}
|
and del_flag=0 and status !=3
|
GROUP BY
|
CASE #{datePattern}
|
WHEN 'HH时' THEN DATE_FORMAT(create_time, '%H时')
|
WHEN 'EEEE' THEN ELT(DAYOFWEEK(create_time), '星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六')
|
WHEN 'dd日' THEN DATE_FORMAT(create_time, '%d日')
|
WHEN 'MM月' THEN DATE_FORMAT(create_time, '%m月')
|
WHEN 'yyyy-MM-dd' THEN DATE_FORMAT(create_time, '%Y-%m-%d')
|
ELSE DATE_FORMAT(create_time, '%Y-%m-%d')
|
END
|
ORDER BY create_time
|
</select>
|
<select id="getCourierByCommunityId" resultType="java.util.Map">
|
select
|
tau.id as `id`,
|
tau.wx_openid as `openid`,
|
tc.phone as `phone`
|
from
|
t_community_courier tcc
|
left join t_app_user tau on tcc.courier_id = tau.courier_id
|
left join t_courier tc on tcc.courier_id = tc.id
|
where
|
tcc.community_id=#{communityId}
|
|
</select>
|
<select id="getAppUserPageList" resultType="com.ruoyi.errand.object.vo.sys.AppUserPageListVO">
|
SELECT
|
id,
|
name,
|
phone,
|
CASE WHEN end_time IS NOT NULL AND end_time > CURRENT_TIMESTAMP THEN 1 ELSE 0 END AS isVip,
|
create_time,
|
status
|
FROM
|
t_app_user
|
where
|
del_flag=0
|
<if test="dto.name!=null and '' != dto.name ">
|
and name like concat('%',#{dto.name},'%')
|
</if>
|
<if test="dto.phone!=null and '' != dto.phone">
|
and phone like concat('%',#{dto.phone},'%')
|
</if>
|
<if test="dto.isVip!=null and dto.isVip == 1">
|
and end_time > CURRENT_TIMESTAMP
|
</if>
|
<if test="dto.isVip!=null and dto.isVip == 0">
|
and end_time < CURRENT_TIMESTAMP or end_time is null
|
</if>
|
<if test="dto.status!=null ">
|
and status =#{status}
|
</if>
|
</select>
|
|
</mapper>
|