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.
268 lines
9.1 KiB
268 lines
9.1 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.UserResiInfoDao">
|
|
|
|
<resultMap type="com.epmet.entity.UserResiInfoEntity" id="userResiInfoMap">
|
|
<result property="userId" column="USER_ID"/>
|
|
<result property="regMobile" column="REG_MOBILE"/>
|
|
<result property="surname" column="SURNAME"/>
|
|
<result property="name" column="NAME"/>
|
|
<result property="street" column="STREET"/>
|
|
<result property="district" column="DISTRICT"/>
|
|
<result property="buildingAddress" column="BUILDING_ADDRESS"/>
|
|
<result property="resiVisitId" column="RESI_VISIT_ID"/>
|
|
<result property="delFlag" column="DEL_FLAG"/>
|
|
<result property="revision" column="REVISION"/>
|
|
<result property="createdBy" column="CREATED_BY"/>
|
|
<result property="createdTime" column="CREATED_TIME"/>
|
|
<result property="updatedBy" column="UPDATED_BY"/>
|
|
<result property="updatedTime" column="UPDATED_TIME"/>
|
|
</resultMap>
|
|
|
|
<sql id="sql">
|
|
uri.id AS "id",
|
|
uri.user_id AS "userId",
|
|
uri.reg_mobile AS "regMobile",
|
|
uri.surname AS "surname",
|
|
uri.`name` AS "name",
|
|
uri.street AS "street",
|
|
uri.district AS "district",
|
|
uri.building_address AS "buildingAddress",
|
|
uri.resi_visit_id AS "resiVisitId",
|
|
uri.del_flag AS "delflag",
|
|
uri.revision AS "revision",
|
|
uri.created_by AS "createdby",
|
|
uri.created_time AS "createdtime",
|
|
uri.updated_by AS "updatedby",
|
|
uri.updated_time AS "updatedtime"
|
|
</sql>
|
|
<update id="updateByUserId">
|
|
update user_resi_info set
|
|
SURNAME = #{surname},
|
|
NAME = #{name},
|
|
STREET = #{street},
|
|
DISTRICT = #{district},
|
|
BUILDING_ADDRESS = #{buildingAddress},
|
|
ID_NUM = #{idNum}
|
|
where USER_ID = #{userId}
|
|
and DEL_FLAG = '0'
|
|
</update>
|
|
|
|
<!-- 查询用户注册信息 -->
|
|
<select id="selectUserResiInfoDTO" parameterType="com.epmet.dto.form.UserResiInfoFormDTO"
|
|
resultType="com.epmet.dto.result.UserResiInfoResultDTO">
|
|
SELECT
|
|
ubi.USER_ID,
|
|
uri.REG_MOBILE,
|
|
ubi.SURNAME,
|
|
ubi.`NAME`,
|
|
ubi.STREET,
|
|
ubi.DISTRICT,
|
|
uri.RESI_VISIT_ID,
|
|
ubi.BUILDING_ADDRESS,
|
|
CONCAT(
|
|
ubi.STREET,
|
|
'-',
|
|
ubi.SURNAME,
|
|
( CASE WHEN ubi.GENDER = '1' THEN '先生' WHEN ubi.GENDER = '2' THEN '女士' ELSE '先生/女士' END )
|
|
) AS show_name,
|
|
ubi.HEAD_IMG_URL AS head_photo,
|
|
ubi.NICKNAME as nickName
|
|
FROM
|
|
user_base_info ubi
|
|
INNER JOIN user_resi_info uri ON ( ubi.USER_ID = uri.USER_ID AND uri.DEL_FLAG = '0' )
|
|
WHERE
|
|
ubi.USER_ID =#{userId}
|
|
AND ubi.DEL_FLAG = '0'
|
|
</select>
|
|
|
|
<!-- 查询用户注册信息 不按照客户Id查询 -->
|
|
<select id="selectUserResiInfoNotByCustId" parameterType="com.epmet.dto.form.UserResiInfoFormDTO"
|
|
resultType="com.epmet.dto.result.UserResiInfoResultDTO">
|
|
SELECT
|
|
uri.USER_ID,
|
|
CONCAT(
|
|
uri.STREET,
|
|
'-',
|
|
uri.SURNAME,
|
|
( CASE WHEN uw.SEX = '1' THEN '先生' WHEN uw.SEX = '2' THEN '女士' ELSE '先生/女士' END )
|
|
) AS show_name
|
|
FROM
|
|
user_resi_info uri
|
|
LEFT JOIN user_wechat uw ON (uri.USER_ID = uw.USER_ID AND uw.DEL_FLAG = '0' AND uw.USER_ID = #{userId})
|
|
WHERE
|
|
uri.DEL_FLAG = '0'
|
|
AND uri.USER_ID = #{userId}
|
|
</select>
|
|
|
|
<select id="selectResiInfoByMobile" parameterType="string"
|
|
resultType="com.epmet.dto.UserResiInfoDTO">
|
|
SELECT
|
|
<include refid="sql"></include>
|
|
FROM user_resi_info uri
|
|
LEFT JOIN user_customer uc ON uri.USER_ID = uc.USER_ID
|
|
WHERE
|
|
uri.DEL_FLAG = '0'
|
|
AND uri.REG_MOBILE = #{regMobile,jdbcType=VARCHAR}
|
|
AND uc.CUSTOMER_ID = #{customerId,jdbcType=VARCHAR}
|
|
AND uri.CUSTOMER_ID = #{customerId,jdbcType=VARCHAR}
|
|
AND uc.IS_REGISTER = 1
|
|
</select>
|
|
|
|
<!-- 根据userId集合查询用户注册信息 -->
|
|
<select id="selectListUserResiInfoDTO" resultType="com.epmet.dto.result.UserResiInfoResultDTO">
|
|
SELECT
|
|
ubi.USER_ID,
|
|
IFNULL(uri.REG_MOBILE,ubi.MOBILE) as REG_MOBILE,
|
|
ubi.SURNAME,
|
|
ubi.`NAME`,
|
|
ubi.STREET,
|
|
ubi.DISTRICT,
|
|
ubi.BUILDING_ADDRESS,
|
|
CONCAT(
|
|
ubi.STREET,
|
|
'-',
|
|
ubi.SURNAME,
|
|
( CASE WHEN ubi.GENDER = '1' THEN '先生' WHEN ubi.GENDER = '2' THEN '女士' ELSE '先生/女士' END )
|
|
) AS show_name,
|
|
ubi.HEAD_IMG_URL as head_photo,
|
|
ubi.REAL_NAME
|
|
FROM user_base_info ubi
|
|
left join user_resi_info uri on(ubi.user_id=uri.user_id and uri.del_flag='0')
|
|
WHERE ubi.DEL_FLAG = '0'
|
|
AND ubi.USER_ID in
|
|
<foreach item="userId" collection="userIdList" separator="," open="(" close=")" index="">
|
|
#{userId}
|
|
</foreach>
|
|
</select>
|
|
|
|
<!-- 根据userId查询议题发起人 -->
|
|
<select id="selectIssueInitiator" parameterType="com.epmet.dto.form.IssueInitiatorFormDTO" resultType="com.epmet.dto.result.IssueInitiatorResultDTO">
|
|
SELECT
|
|
CONCAT(
|
|
uri.street,
|
|
'-',
|
|
uri.surname,
|
|
CASE
|
|
WHEN uw.sex = '1' THEN
|
|
'先生'
|
|
WHEN uw.sex = '2' THEN
|
|
'女士'
|
|
ELSE
|
|
'先生/女士'
|
|
END
|
|
) AS issueInitiator,
|
|
CONCAT(
|
|
uri.street,
|
|
'-',
|
|
uri.surname,
|
|
uri.NAME
|
|
) AS realUserName
|
|
FROM
|
|
user_resi_info uri
|
|
LEFT JOIN user_wechat uw ON uw.user_id = uri.user_id
|
|
WHERE
|
|
uri.user_id = #{userId}
|
|
AND uri.del_flag = 0
|
|
AND uw.del_flag = 0
|
|
</select>
|
|
|
|
<select id="issueInitiatorByBaseInfo" parameterType="com.epmet.dto.form.IssueInitiatorFormDTO" resultType="com.epmet.dto.result.IssueInitiatorResultDTO">
|
|
SELECT
|
|
CONCAT(
|
|
uri.street,
|
|
'-',
|
|
uri.surname,
|
|
CASE
|
|
WHEN uri.GENDER = '1' THEN
|
|
'先生'
|
|
WHEN uri.GENDER = '2' THEN
|
|
'女士'
|
|
ELSE
|
|
'先生/女士'
|
|
END
|
|
) AS issueInitiator,
|
|
CONCAT(
|
|
uri.street,
|
|
'-',
|
|
uri.surname,
|
|
uri.NAME
|
|
) AS realUserName
|
|
FROM
|
|
user_base_info uri
|
|
WHERE
|
|
uri.user_id = #{userId}
|
|
AND uri.del_flag = 0
|
|
</select>
|
|
|
|
<!-- 根据要用户id,查询用户注册的信息 -->
|
|
<select id="selectByUserId" resultType="com.epmet.dto.UserResiInfoDTO">
|
|
SELECT
|
|
*
|
|
FROM
|
|
user_resi_info uri
|
|
WHERE
|
|
uri.DEL_FLAG = '0'
|
|
AND uri.USER_ID = #{userId}
|
|
</select>
|
|
|
|
<select id="selectCountByIdNum" parameterType="map" resultType="java.lang.Integer">
|
|
SELECT
|
|
count(uri.id)
|
|
FROM
|
|
user_resi_info uri
|
|
WHERE
|
|
uri.DEL_FLAG = '0'
|
|
AND uri.id_num = #{idNum}
|
|
and uri.customer_id=#{customerId}
|
|
<if test="excludeUserId != null and excludeUserId != ''">
|
|
AND uri.user_id != #{excludeUserId}
|
|
</if>
|
|
</select>
|
|
|
|
<select id="selectCommonIdNumUser" parameterType="map" resultType="com.epmet.dto.UserResiInfoDTO">
|
|
SELECT
|
|
uri.*
|
|
FROM
|
|
user_resi_info uri
|
|
WHERE
|
|
uri.DEL_FLAG = '0'
|
|
and uri.customer_id=#{customerId}
|
|
AND uri.id_num = #{idNum}
|
|
</select>
|
|
|
|
<!-- 在不确定userId是工作人员还是居民时,使用此接口查询信息 -->
|
|
<select id="getStaffAndResi" resultType="com.epmet.dto.result.StaffAndResiResultDTO">
|
|
SELECT
|
|
s.USER_ID,
|
|
s.REAL_NAME,
|
|
s.GENDER,
|
|
s.MOBILE,
|
|
s.ADDRESS,
|
|
'staff' AS type
|
|
FROM customer_staff s
|
|
WHERE s.DEL_FLAG = 0
|
|
AND s.user_id IN (
|
|
<foreach collection="userIds" item="u" separator=",">
|
|
#{u}
|
|
</foreach>
|
|
)
|
|
UNION ALL
|
|
SELECT
|
|
i.USER_ID,
|
|
b.REAL_NAME,
|
|
b.GENDER,
|
|
b.MOBILE,
|
|
b.STREET AS address,
|
|
'resi' AS type
|
|
FROM user_resi_info i
|
|
INNER JOIN user_base_info b ON b.USER_ID = i.USER_ID AND b.DEL_FLAG = 0
|
|
WHERE i.DEL_FLAG = 0
|
|
AND i.user_id IN (
|
|
<foreach collection="userIds" item="u" separator=",">
|
|
#{u}
|
|
</foreach>
|
|
)
|
|
</select>
|
|
</mapper>
|
|
|