You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

168 lines
5.6 KiB

<?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.epmet.dao.UserWechatDao">
<!-- 根据userId更新 用户-微信关系表里的属性 -->
<update id="updateByUserId" parameterType="com.epmet.dto.UserWechatDTO">
UPDATE user_wechat
<set>
<if test='null != city and "" != city '>
CITY = #{city},
</if>
<if test='null != wxOpenId and "" != wxOpenId'>
WX_OPEN_ID = #{wxOpenId},
</if>
<if test='null != unionId and "" != unionId'>
WX_UNION_ID = #{unionId},
</if>
<if test='null != nickname and "" != nickname '>
NICKNAME = #{nickname},
</if>
<if test='null != country and "" != country '>
COUNTRY = #{country},
</if>
<if test='null != headImgUrl and "" != headImgUrl'>
HEAD_IMG_URL = #{headImgUrl},
</if>
<if test='null != province and "" != province '>
PROVINCE = #{province},
</if>
<if test='null != sex'>
SEX = #{sex},
</if>
UPDATED_BY = #{updatedBy},
UPDATED_TIME = #{updatedTime}
</set>
WHERE
USER_ID = #{userId}
</update>
5 years ago
<!-- 修改user_weChat信息 -->
<update id="editByUserId">
UPDATE user_wechat
<set>
<if test="name != null and name != '' ">
NICKNAME = #{name},
</if>
<if test="mobile != null and mobile != '' ">
MOBILE = #{mobile},
</if>
UPDATED_BY = #{userId},
UPDATED_TIME = NOW()
</set>
WHERE
DEL_FLAG = 0
AND USER_ID = #{userId}
</update>
<!-- 根据app、openId查询用户是否存在 -->
<select id="selectUserDTOByOpenId" parameterType="com.epmet.dto.form.WxLoginUserInfoFormDTO" resultType="com.epmet.dto.UserDTO">
SELECT
u.*
FROM
USER u
LEFT JOIN user_wechat uw ON (
u.id = uw.USER_ID
AND uw.WX_OPEN_ID = #{openId})
WHERE
u.DEL_FLAG = '0'
AND uw.DEL_FLAG = '0'
AND u.FROM_APP = #{app}
</select>
<select id="selectByUserId" parameterType="string" resultType="com.epmet.entity.UserWechatEntity">
SELECT *
FROM
USER_WECHAT
WHERE
DEL_FLAG = '0'
AND
USER_ID = #{userId}
</select>
<!-- 根据userId查询头像 -->
<select id="selectUserHeadPhotoByUserId" resultType="com.epmet.dto.UserHeadPhotoDTO">
SELECT
user_id AS userId,
IFNULL(head_img_url,'') AS userHeadPhoto
FROM
user_base_info
WHERE
user_id in
<foreach collection="list" item="item" open="(" separator="," close=")">
#{item.userId}
</foreach>
AND del_flag = 0
</select>
<!-- 查询已经授权的微信用户信息 -->
<select id="selectAll" resultType="com.epmet.dto.UserWechatDTO">
SELECT
*
FROM
user_wechat uw
WHERE
uw.DEL_FLAG = '0'
AND uw.NICKNAME IS NOT NULL
</select>
<!-- 查询人员信息,排序,包括陌生人与注册居民,没有注册居民则只有微信昵称 -->
<!-- 不显示没有认证过志愿者的陌生人,以Surname判断是否注册志愿者 -->
<select id="selectResiAndStrangerInfo" resultType="com.epmet.dto.result.CustomerUser4PointResultDTO">
SELECT
wechat.USER_ID,
IFNULL(wechat.NICKNAME,'') AS userNickname,
IFNULL(base.HEAD_IMG_URL,'') AS userHeadPhoto,
IFNULL(base.REAL_NAME,'') AS userName
FROM
user_wechat wechat
LEFT JOIN
user_base_info base on wechat.USER_ID = base.USER_ID
WHERE
wechat.DEL_FLAG = '0'
AND (wechat.NICKNAME IS NOT NULL OR wechat.NICKNAME <![CDATA[ <> ]]> '')
AND (base.SURNAME IS NOT NULL OR base.SURNAME <![CDATA[ <> ]]> '')
<foreach collection="userIds" item="item" open="AND (" separator=" OR " close=" )">
wechat.USER_ID = #{item}
</foreach>
5 years ago
<if test='null != realName and "" != realName'>
AND (base.REAL_NAME LIKE concat('%',#{realName},'%') OR wechat.NICKNAME LIKE concat('%',#{realName},'%'))
</if>
ORDER BY
base.REAL_NAME , wechat.NICKNAME
</select>
<!-- 查询出注册了居民但是不在user_base_info表的-->
<select id="selectNotInUserBaseInfoTemp" resultType="com.epmet.dto.UserWechatDTO">
SELECT
*
FROM
user_wechat uw
WHERE
uw.USER_ID IN (
SELECT DISTINCT
uri.USER_ID
FROM
user_resi_info uri
WHERE
uri.USER_ID NOT IN ( SELECT uri.USER_ID FROM user_base_info uri where uri.DEL_FLAG='0')
AND uri.DEL_FLAG = '0'
)
AND uw.DEL_FLAG = '0'
and uw.NICKNAME is not null
</select>
5 years ago
<!-- 根据app、uid查询用户是否存在 -->
<select id="selectUserDTOByUid" resultType="com.epmet.dto.UserDTO">
SELECT u.*
FROM USER u
LEFT JOIN user_wechat uw ON u.id = uw.USER_ID AND uw.WX_OPEN_ID = #{uid}
WHERE
u.DEL_FLAG = '0'
AND uw.DEL_FLAG = '0'
AND u.FROM_APP = #{app}
</select>
</mapper>