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.
382 lines
15 KiB
382 lines
15 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.elink.esua.epdc.dao.UserDao">
|
|
|
|
<delete id="deleteAuditFailureByOpenId">
|
|
DELETE FROM epdc_user WHERE WX_OPEN_ID = #{wxOpenId} AND STATE = '2'
|
|
</delete>
|
|
|
|
<select id="selectOneInfoById" resultType="com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO">
|
|
SELECT
|
|
eu.ID AS id,
|
|
eu.NICKNAME AS nickname,
|
|
eu.FACE_IMG AS faceImg,
|
|
eu.MOBILE AS mobile,
|
|
eu.IDENTITY_NO AS identityNo,
|
|
eugr.ALL_DEPT_NAMES AS deptName,
|
|
eu.REAL_NAME AS realName,
|
|
eu.ROAD AS road,
|
|
eu.VILLAGE_NAME AS villageName,
|
|
eu.DWELLING_PLACE AS dwellingPlace,
|
|
eu.PARTY_FLAG AS partyFlag
|
|
FROM
|
|
epdc_user eu
|
|
Left Join (select * from epdc_user_grid_relation where USER_ID = #{id} order by UPDATED_TIME desc limit 0,1) eugr
|
|
on(eu.id=eugr.USER_ID)
|
|
WHERE
|
|
eu.ID = #{id}
|
|
</select>
|
|
<select id="deleteByUnionId">
|
|
DELETE
|
|
FROM
|
|
epdc_user
|
|
WHERE
|
|
WX_UNION_ID = #{wxUnionId}
|
|
AND STATE = '2'
|
|
</select>
|
|
|
|
<select id="getUserRegisterAuditResult"
|
|
resultType="com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterAuditMsgResultDTO">
|
|
SELECT
|
|
u.ID,
|
|
u.MOBILE,
|
|
u.REMARK,
|
|
u.REAL_NAME,
|
|
DATE_FORMAT( u.CREATED_TIME, '%Y-%m-%d %H:%i:%s' ) AS CREATED_TIME,
|
|
DATE_FORMAT( u.REGISTER_TIME, '%Y-%m-%d %H:%i:%s' ) AS REGISTER_TIME,
|
|
u.WX_OPEN_ID,
|
|
u.STATE,
|
|
f.ID AS wxFormIdId,
|
|
f.WX_FORM_ID
|
|
FROM
|
|
epdc_user u
|
|
LEFT JOIN epdc_user_wx_form_id f ON u.WX_OPEN_ID = f.WX_OPEN_ID
|
|
AND f.DEL_FLAG = '0'
|
|
WHERE
|
|
u.DEL_FLAG = '0' AND u.ID = #{userId}
|
|
ORDER BY f.CREATED_TIME DESC
|
|
LIMIT 1
|
|
</select>
|
|
<select id="selectListUserDto" resultType="com.elink.esua.epdc.dto.UserDTO">
|
|
SELECT
|
|
u.id,
|
|
u.REAL_NAME,
|
|
u.NICKNAME,
|
|
u.MOBILE,
|
|
u.REGISTER_TIME,
|
|
u.CREATED_TIME,
|
|
IDENTITY_NO,
|
|
ADDRESS,
|
|
STATE,
|
|
PARTY_FLAG,
|
|
ug.ALL_DEPT_NAMES AS myGridName
|
|
FROM
|
|
epdc_user u
|
|
LEFT JOIN epdc_user_grid_relation ug ON u.ID = ug.USER_ID
|
|
where
|
|
u.del_flag = '0'
|
|
<if test="startTime != '' and endTime != ''">and u.CREATED_TIME between #{startTime} and #{endTime}</if>
|
|
<if test="state != '' and state != null">and u.state = #{state}</if>
|
|
<if test="realName != '' and realName != null">and u.real_name like '%${realName}%'</if>
|
|
<if test="nickname != '' and nickname != null">and u.NICKNAME like '%${nickname}%'</if>
|
|
<if test="mobile != '' and mobile != null">and u.mobile like '%${mobile}%'</if>
|
|
<if test="identityNo != '' and identityNo != null">and u.identity_no like '%${identityNo}%'</if>
|
|
<if test="partyFlag != '' and partyFlag != null">and u.party_flag = #{partyFlag}</if>
|
|
<if test="streetId != '' and streetId != null">
|
|
AND (find_in_set(#{streetId},ug.PARENT_DEPT_IDS)
|
|
OR find_in_set(#{streetId},ug.ALL_DEPT_IDS))
|
|
</if>
|
|
<if test="communityId != '' and communityId != null">
|
|
AND (find_in_set(#{communityId},ug.PARENT_DEPT_IDS)
|
|
OR find_in_set(#{communityId},ug.ALL_DEPT_IDS))
|
|
</if>
|
|
<if test="gridId != '' and gridId != null">
|
|
and (ug.grid_id = #{gridId}
|
|
OR find_in_set(#{gridId},ug.ALL_DEPT_IDS))
|
|
</if>
|
|
GROUP BY
|
|
u.ID
|
|
ORDER BY
|
|
u.register_time desc
|
|
</select>
|
|
<!-- 根据userId获取居民详情(已认证或待认证(提交信息待审核)的居民用户) -->
|
|
<resultMap id="EpdcResidentDetailResultDtoMap"
|
|
type="com.elink.esua.epdc.dto.epdc.result.EpdcResidentDetailResultDTO">
|
|
<id column="id" property="userId"/>
|
|
<result column="REAL_NAME" property="realName"/>
|
|
<result column="IDENTITY_NO" property="identityNo"/>
|
|
<result column="VILLAGE_NAME" property="villageName"/>
|
|
<result column="ROAD" property="road"/>
|
|
<result column="DWELLING_PLACE" property="dwellingPlace"/>
|
|
<result column="PARTY_FLAG" property="partyFlag"/>
|
|
<result column="state" property="state"/>
|
|
<result column="mobile" property="mobile"/>
|
|
<collection property="gridList" ofType="com.elink.esua.epdc.dto.epdc.result.EpdcResidentDetailGridResultDTO">
|
|
<result column="completeName" property="completeName"/>
|
|
<result column="leaderFlag" property="leaderFlag"/>
|
|
</collection>
|
|
</resultMap>
|
|
<!--获取居民详情-->
|
|
<select id="residentDetailByUserId" resultMap="EpdcResidentDetailResultDtoMap">
|
|
SELECT
|
|
eu.id,
|
|
eu.REAL_NAME,
|
|
eu.IDENTITY_NO,
|
|
eu.VILLAGE_NAME,
|
|
eu.ROAD,
|
|
eu.DWELLING_PLACE,
|
|
eu.PARTY_FLAG ,
|
|
eu.state,
|
|
eu.mobile,
|
|
eugr.ALL_DEPT_NAMES as completeName,
|
|
eugr.LEADER_FLAG as leaderFlag
|
|
FROM
|
|
epdc_user eu
|
|
left join (select * from epdc_user_grid_relation where USER_ID = #{userId} order by UPDATED_TIME desc limit 0,1) eugr
|
|
on(eu.id=eugr.USER_ID)
|
|
WHERE
|
|
eu.DEL_FLAG = '0'
|
|
AND eu.id =#{userId}
|
|
</select>
|
|
|
|
<select id="selectListOfInviteUsers" resultType="com.elink.esua.epdc.dto.epdc.result.EpdcUserGroupInviteResultDTO">
|
|
SELECT
|
|
u.ID AS userId,
|
|
u.NICKNAME,
|
|
u.FACE_IMG AS userAvatar,
|
|
u.PARTY_FLAG AS partyMember,
|
|
u.MOBILE
|
|
FROM
|
|
epdc_user_grid_relation gr
|
|
LEFT JOIN epdc_user u ON u.ID = gr.USER_ID
|
|
AND u.DEL_FLAG = '0'
|
|
WHERE
|
|
gr.DEL_FLAG = '0'
|
|
AND gr.GRID_ID = #{gridId}
|
|
AND u.ID IS NOT NULL
|
|
AND gr.USER_ID NOT IN
|
|
<foreach item="userId" collection="userIds" open="(" separator="," close=")">
|
|
#{userId}
|
|
</foreach>
|
|
<if test="mobile != null and mobile != ''">
|
|
and u.MOBILE like concat('%', #{mobile}, '%')
|
|
</if>
|
|
<if test="road != null and road != ''">
|
|
and u.ROAD like concat('%', #{road}, '%')
|
|
</if>
|
|
<if test="lastName != null and lastName != ''">
|
|
and u.LAST_NAME like concat('%', #{lastName}, '%')
|
|
</if>
|
|
ORDER BY
|
|
CONVERT ( u.NICKNAME USING gbk ) ASC,
|
|
u.REGISTER_TIME
|
|
</select>
|
|
|
|
<resultMap id="partMemberDetail" type="com.elink.esua.epdc.dto.epdc.result.EpdcPartyMemberDetailDto">
|
|
<id column="userId" property="userId"/>
|
|
<result column="realName" property="realName"/>
|
|
<result column="identityNo" property="identityNo"/>
|
|
<result column="road" property="road"/>
|
|
<result column="villageName" property="villageName"/>
|
|
<result column="dwellingPlace" property="dwellingPlace"/>
|
|
<result column="authenticatedFlag" property="authenticatedFlag"/>
|
|
<result column="streetName" property="streetName"/>
|
|
<result column="communityName" property="communityName"/>
|
|
<result column="gridName" property="gridName"/>
|
|
<result column="partyFlag" property="partyFlag"/>
|
|
<result column="cadreFlag" property="cadreFlag"/>
|
|
<collection property="gridList" ofType="com.elink.esua.epdc.dto.epdc.result.EpdcResidentDetailGridResultDTO">
|
|
<result column="completeName" property="completeName"/>
|
|
<result column="leaderFlag" property="leaderFlag"/>
|
|
</collection>
|
|
<collection property="tagNameList" ofType="java.lang.String">
|
|
<result column="tagName"/>
|
|
</collection>
|
|
</resultMap>
|
|
|
|
<!-- 获取党员详情(已认证或未认证的党员用户) -->
|
|
<select id="partyMemberDetailByUserId" resultMap="partMemberDetail">
|
|
SELECT
|
|
eu.ID AS userId,
|
|
eu.REAL_NAME AS realName,
|
|
eu.IDENTITY_NO AS identityNo,
|
|
eu.ROAD AS road,
|
|
eu.MOBILE as mobile,
|
|
eu.VILLAGE_NAME AS villageName,
|
|
eu.DWELLING_PLACE as dwellingPlace,
|
|
'1' as authenticatedFlag,
|
|
SUBSTRING_INDEX(SUBSTRING_INDEX(epm.ALL_DEPT_NAMES,'-',-3),'-',1) as streetName,
|
|
SUBSTRING_INDEX(SUBSTRING_INDEX(epm.ALL_DEPT_NAMES,'-',-2),'-',1)as communityName,
|
|
SUBSTRING_INDEX(epm.ALL_DEPT_NAMES,'-',-1) as gridName,
|
|
eu.PARTY_FLAG as partyFlag,
|
|
epm.CADRE_FLAG as cadreFlag,
|
|
epm.ALL_DEPT_NAMES as completeName,
|
|
eugr.LEADER_FLAG as leaderFlag,
|
|
eut.TAG_NAME as tagName
|
|
FROM
|
|
epdc_party_members epm
|
|
LEFT JOIN epdc_user eu ON eu.IDENTITY_NO = epm.IDENTITY_NO
|
|
LEFT JOIN epdc_party_tag_relation eptr ON eptr.PARTY_ID = epm.ID
|
|
LEFT JOIN epdc_user_tag eut ON eut.ID = eptr.TAG_ID
|
|
AND eut.DEL_FLAG = '0'
|
|
LEFT JOIN epdc_user_grid_relation eugr on eugr.USER_ID = eu.ID
|
|
WHERE
|
|
eu.DEL_FLAG = '0'
|
|
AND epm.DEL_FLAG = '0'
|
|
AND eu.ID = #{userId}
|
|
</select>
|
|
<!--党员认证失败-->
|
|
<select id="partyMemberDetailFaild" resultMap="partMemberDetail">
|
|
SELECT
|
|
eu.ID AS userId,
|
|
eu.REAL_NAME AS realName,
|
|
eu.IDENTITY_NO AS identityNo,
|
|
eu.ROAD AS road,
|
|
eu.VILLAGE_NAME AS villageName,
|
|
eu.DWELLING_PLACE AS dwellingPlace,
|
|
'0' AS authenticatedFlag,
|
|
SUBSTRING_INDEX(SUBSTRING_INDEX(epaf.ALL_DEPT_NAMES,'-',-3),'-',1) as streetName,
|
|
SUBSTRING_INDEX(SUBSTRING_INDEX(epaf.ALL_DEPT_NAMES,'-',-2),'-',1)as communityName,
|
|
SUBSTRING_INDEX(epaf.ALL_DEPT_NAMES,'-',-1) as gridName,
|
|
eu.PARTY_FLAG AS partyFlag,
|
|
epaf.CADRE_FLAG AS cadreFlag,
|
|
epaf.ALL_DEPT_NAMES AS completeName,
|
|
eugr.LEADER_FLAG AS leaderFlag,
|
|
eut.TAG_NAME AS tagName
|
|
FROM
|
|
epdc_party_authentication_failed epaf
|
|
LEFT JOIN epdc_user eu ON eu.ID = epaf.USER_ID
|
|
LEFT JOIN epdc_user_tag_relation eutr ON eutr.USER_ID = eu.ID
|
|
LEFT JOIN epdc_user_tag eut ON eut.ID = eutr.TAG_ID
|
|
AND eut.DEL_FLAG = '0'
|
|
LEFT JOIN epdc_user_grid_relation eugr ON eugr.USER_ID = eu.ID
|
|
WHERE
|
|
eu.DEL_FLAG = '0'
|
|
AND epaf.DEL_FLAG = '0'
|
|
AND eu.ID = #{userId}
|
|
</select>
|
|
|
|
<!-- 通过用户ID获取党员身份证号 -->
|
|
<select id="getPartyMemberIdNoByUserID" resultType="java.lang.String">
|
|
SELECT
|
|
eu.IDENTITY_NO
|
|
FROM
|
|
epdc_user eu
|
|
WHERE
|
|
eu.DEL_FLAG = '0'
|
|
AND eu.id = #{userId}
|
|
</select>
|
|
|
|
<!--获取用户列表-->
|
|
<select id="selectWorkUserList" resultType="com.elink.esua.epdc.dto.epdc.result.EpdcWorkUserResultDTO">
|
|
SELECT
|
|
u.ID as userId,
|
|
u.NICKNAME as nickname,
|
|
u.REGISTER_TIME as registerTime,
|
|
u.FACE_IMG as faceImg
|
|
FROM
|
|
epdc_user_grid_relation ug
|
|
LEFT JOIN epdc_user u ON ug.USER_ID = u.ID
|
|
WHERE
|
|
u.PARTY_FLAG = #{partyFlag}
|
|
AND u.STATE = #{authenticatedFlag}
|
|
AND u.DEL_FLAG = '0'
|
|
AND ug.DEL_FLAG = '0'
|
|
<choose>
|
|
<when test="gridId != null and gridId > 0">AND ug.GRID_ID = #{gridId}</when>
|
|
<otherwise>
|
|
AND ug.GRID_ID in
|
|
<foreach collection="gridIdList" item="item" open="(" separator="," close=")">
|
|
#{item}
|
|
</foreach>
|
|
</otherwise>
|
|
</choose>
|
|
GROUP BY
|
|
u.ID
|
|
ORDER BY u.CREATED_TIME DESC
|
|
LIMIT #{pageIndex},#{pageSize}
|
|
</select>
|
|
|
|
<!--查询待认证用户数量-->
|
|
<select id="selectCountUnauthorizedAmount" resultType="Integer">
|
|
SELECT
|
|
COUNT(DISTINCT(u.ID))
|
|
FROM
|
|
epdc_user_grid_relation ug
|
|
LEFT JOIN epdc_user u ON u.ID = ug.USER_ID
|
|
WHERE u.DEL_FLAG = '0' AND ug.DEL_FLAG = '0' AND u.STATE = '1'
|
|
<choose>
|
|
<when test="gridId != null and gridId > 0">AND ug.GRID_ID = #{gridId}</when>
|
|
<otherwise>
|
|
AND ug.GRID_ID in
|
|
<foreach collection="gridIdList" item="item" open="(" separator="," close=")">
|
|
#{item}
|
|
</foreach>
|
|
</otherwise>
|
|
</choose>
|
|
</select>
|
|
|
|
<!-- 获取用户列表:党员认证失败 -->
|
|
<select id="selectPartyAuthenticationFailedList" parameterType="com.elink.esua.epdc.dto.epdc.form.EpdcWorkUserFromDTO"
|
|
resultType="com.elink.esua.epdc.dto.epdc.result.EpdcWorkUserResultDTO">
|
|
SELECT
|
|
u.ID as userId,
|
|
u.NICKNAME as nickname,
|
|
u.REGISTER_TIME as registerTime,
|
|
u.FACE_IMG as faceImg
|
|
FROM
|
|
epdc_user_grid_relation ug
|
|
LEFT JOIN epdc_user u ON ug.USER_ID = u.ID
|
|
WHERE u.DEL_FLAG = '0'
|
|
AND ug.DEL_FLAG = '0'
|
|
<if test="partyFlag ='0' and authenticatedFlag ='1'">
|
|
and EXISTS(select m.USER_ID
|
|
from epdc_party_authentication_failed m
|
|
where m.USER_ID=u.id)
|
|
</if>
|
|
<choose>
|
|
<when test="gridId != null and gridId > 0">AND ug.GRID_ID = #{gridId}</when>
|
|
<otherwise>
|
|
<if test="gridIdList!=null and gridIdList.size()>0">
|
|
AND ug.GRID_ID in
|
|
<foreach collection="gridIdList" item="item" open="(" separator="," close=")">
|
|
#{item}
|
|
</foreach>
|
|
</if>
|
|
</otherwise>
|
|
</choose>
|
|
GROUP BY
|
|
u.ID
|
|
ORDER BY u.CREATED_TIME DESC
|
|
LIMIT #{pageIndex},#{pageSize}
|
|
</select>
|
|
|
|
<!-- 根据网格id查询网格下所有的用户 -->
|
|
<select id="selectListGridUserResultDTO" parameterType="map" resultType="com.elink.esua.epdc.dto.epdc.result.EpdcGridUserResultDTO">
|
|
SELECT
|
|
eu.id AS userId,
|
|
eu.NICKNAME,
|
|
eu.FACE_IMG AS userAvatar,
|
|
eu.MOBILE,
|
|
r.LEADER_FLAG AS lordFlag,
|
|
eu.PARTY_FLAG AS partyMember,
|
|
10 as STATE,
|
|
NULL AS auditOpinion,
|
|
r.GRID_ID AS gridId
|
|
FROM
|
|
epdc_user_grid_relation r
|
|
LEFT JOIN epdc_user eu ON r.USER_ID = eu.ID
|
|
WHERE
|
|
r.DEL_FLAG = '0'
|
|
AND eu.DEL_FLAG = '0'
|
|
and (eu.PARTY_FLAG='1' or r.LEADER_FLAG='1')
|
|
<if test="gridIdList!=null and gridIdList.size()>0">
|
|
AND r.GRID_ID in
|
|
<foreach collection="gridIdList" index="index" item="gridId" open="(" separator="," close=")">
|
|
#{gridId}
|
|
</foreach>
|
|
</if>
|
|
</select>
|
|
|
|
</mapper>
|
|
|