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.
398 lines
16 KiB
398 lines
16 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.BadgeDao">
|
|
|
|
<resultMap type="com.epmet.entity.BadgeEntity" id="badgeMap">
|
|
<result property="id" column="ID"/>
|
|
<result property="customerId" column="CUSTOMER_ID"/>
|
|
<result property="badgeName" column="BADGE_NAME"/>
|
|
<result property="badgeIcon" column="BADGE_ICON"/>
|
|
<result property="fixationBadgeType" column="FIXATION_BADGE_TYPE"/>
|
|
<result property="badgeStatus" column="BADGE_STATUS"/>
|
|
<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>
|
|
<insert id="insertBadge">
|
|
INSERT INTO badge
|
|
(`ID`,
|
|
`CUSTOMER_ID`,
|
|
`BADGE_NAME`,
|
|
`BADGE_ICON`,
|
|
`FIXATION_BADGE_TYPE`,
|
|
`BADGE_STATUS`,
|
|
`SORT`,
|
|
`DEL_FLAG`,
|
|
`REVISION`,
|
|
`CREATED_BY`,
|
|
`CREATED_TIME`,
|
|
`UPDATED_BY`,
|
|
`UPDATED_TIME`)
|
|
VALUES
|
|
(#{id},
|
|
#{customerId},
|
|
#{badgeName},
|
|
#{badgeIcon},
|
|
#{fixationBadgeType},
|
|
#{badgeStatus},
|
|
#{sort},
|
|
#{delFlag},
|
|
#{revision},
|
|
#{createdBy},
|
|
#{createdTime},
|
|
#{updatedBy},
|
|
#{updatedTime});
|
|
|
|
</insert>
|
|
<update id="updateBadge" parameterType="com.epmet.entity.BadgeEntity">
|
|
update badge set
|
|
BADGE_NAME = #{badgeName},
|
|
BADGE_ICON = #{badgeIcon},
|
|
BADGE_STATUS = #{badgeStatus}
|
|
where ID = #{id} AND CUSTOMER_ID = #{customerId}
|
|
|
|
</update>
|
|
<update id="deleteBadge">
|
|
update badge set
|
|
DEL_FLAG = '1'
|
|
where ID = #{badgeId} AND CUSTOMER_ID = #{customerId}
|
|
</update>
|
|
<select id="selectList" resultType="com.epmet.dto.result.BadgeListResultDTO">
|
|
SELECT
|
|
ID AS "badgeId",
|
|
BADGE_NAME,
|
|
BADGE_ICON,
|
|
BADGE_STATUS,
|
|
FIXATION_BADGE_TYPE AS "type"
|
|
FROM
|
|
(
|
|
SELECT * FROM badge
|
|
WHERE CUSTOMER_ID = #{customerId} AND DEL_FLAG = '0'
|
|
UNION ALL
|
|
SELECT * FROM badge a
|
|
WHERE CUSTOMER_ID = 'default' AND a.DEL_FLAG = '0'
|
|
AND NOT EXISTS
|
|
( SELECT ID FROM badge b WHERE CUSTOMER_ID = #{customerId} AND a.ID = b.ID)) t
|
|
ORDER BY
|
|
SORT
|
|
</select>
|
|
<select id="getDuplicateName" resultType="com.epmet.dto.result.BadgeListResultDTO">
|
|
SELECT
|
|
*
|
|
FROM
|
|
(SELECT
|
|
ID AS "badgeId",
|
|
BADGE_NAME,
|
|
BADGE_ICON,
|
|
BADGE_STATUS
|
|
FROM
|
|
(
|
|
SELECT * FROM badge
|
|
WHERE CUSTOMER_ID = #{customerId} AND DEL_FLAG = '0'
|
|
UNION ALL
|
|
SELECT * FROM badge a
|
|
WHERE CUSTOMER_ID = 'default' AND a.DEL_FLAG = '0'
|
|
AND NOT EXISTS
|
|
( SELECT ID FROM badge b WHERE CUSTOMER_ID = #{customerId} AND a.BADGE_NAME = b.BADGE_NAME)) t) a
|
|
WHERE BADGE_NAME = #{badgeName}
|
|
</select>
|
|
<select id="selectDetail" resultType="com.epmet.dto.result.BadgeDetailResultDTO">
|
|
SELECT
|
|
*
|
|
FROM
|
|
(SELECT
|
|
ID AS "badgeId",
|
|
BADGE_NAME,
|
|
BADGE_ICON,
|
|
BADGE_STATUS
|
|
FROM
|
|
(
|
|
SELECT * FROM badge
|
|
WHERE CUSTOMER_ID = #{customerId} AND DEL_FLAG = '0'
|
|
UNION ALL
|
|
SELECT * FROM badge a
|
|
WHERE CUSTOMER_ID = 'default' AND a.DEL_FLAG = '0'
|
|
AND NOT EXISTS
|
|
( SELECT ID FROM badge b WHERE CUSTOMER_ID = #{customerId} AND a.BADGE_NAME = b.BADGE_NAME )) t) a
|
|
WHERE badgeId = #{badgeId}
|
|
</select>
|
|
<select id="getDuplicateNameForEdit" resultType="com.epmet.dto.result.BadgeListResultDTO">
|
|
SELECT
|
|
*
|
|
FROM
|
|
(SELECT
|
|
ID AS "badgeId",
|
|
BADGE_NAME,
|
|
BADGE_ICON,
|
|
BADGE_STATUS
|
|
FROM
|
|
(
|
|
SELECT * FROM badge
|
|
WHERE CUSTOMER_ID = #{customerId} AND DEL_FLAG = '0'
|
|
UNION ALL
|
|
SELECT * FROM badge a
|
|
WHERE CUSTOMER_ID = 'default' AND a.DEL_FLAG = '0'
|
|
AND NOT EXISTS
|
|
( SELECT ID FROM badge b WHERE CUSTOMER_ID = #{customerId} AND a.BADGE_NAME = b.BADGE_NAME )) t) a
|
|
WHERE BADGE_NAME = #{badgeName} AND badgeId != #{badgeId}
|
|
</select>
|
|
<select id="selectBadgeInfo" resultType="com.epmet.entity.BadgeEntity">
|
|
select ID,CUSTOMER_ID,BADGE_NAME,BADGE_ICON,FIXATION_BADGE_TYPE,SORT,BADGE_STATUS from badge where DEL_FLAG = '0' AND CUSTOMER_ID =
|
|
#{customerId} AND ID = #{badgeId}
|
|
</select>
|
|
<select id="selectAuditingList" resultType="com.epmet.dto.result.BadgeAuditingResultDTO">
|
|
SELECT
|
|
ubcr.ID AS recordId,
|
|
ubcr.badge_id AS "badgeId",
|
|
badge.BADGE_NAME,
|
|
badge.BADGE_ICON,
|
|
ubcr.USER_ID,
|
|
ubi.REAL_NAME AS "userName",
|
|
ubi.HEAD_IMG_URL AS userAvatar,
|
|
unix_timestamp(ubcr.CREATED_TIME) AS "createTime"
|
|
FROM
|
|
user_badge_certificate_record ubcr
|
|
LEFT JOIN user_base_info ubi ON ubcr.USER_ID = ubi.USER_ID AND ubi.DEL_FLAG = '0'
|
|
LEFT JOIN (SELECT
|
|
ID,
|
|
BADGE_NAME,
|
|
BADGE_ICON,
|
|
BADGE_STATUS
|
|
FROM
|
|
(
|
|
SELECT * FROM badge
|
|
WHERE CUSTOMER_ID = #{customerId} AND DEL_FLAG = '0'
|
|
UNION ALL
|
|
SELECT * FROM badge a
|
|
WHERE CUSTOMER_ID = 'default' AND a.DEL_FLAG = '0'
|
|
AND NOT EXISTS
|
|
( SELECT ID FROM badge b WHERE CUSTOMER_ID = #{customerId} AND a.ID = b.ID AND b.DEL_FLAG = '0')) t) badge ON ubcr.BADGE_ID = badge.ID
|
|
WHERE
|
|
AUDIT_STATUS = 'auditing'
|
|
AND ubcr.DEL_FLAG = '0'
|
|
AND ubcr.CUSTOMER_ID = #{customerId}
|
|
AND ubcr.GRID_ID = #{gridId}
|
|
ORDER BY ubcr.CREATED_TIME DESC
|
|
LIMIT #{pageNo}, #{pageSize}
|
|
</select>
|
|
<select id="selectAuditRecord" resultType="com.epmet.dto.result.BadgeAuditRecordResultDTO">
|
|
SELECT
|
|
ubcr.ID AS recordId,
|
|
ubcr.badge_id AS "badgeId",
|
|
badge.BADGE_NAME,
|
|
badge.BADGE_ICON,
|
|
ubcr.USER_ID,
|
|
ubcr.AUDIT_STATUS,
|
|
ubi.REAL_NAME AS "userName",
|
|
ubi.HEAD_IMG_URL AS userAvatar,
|
|
unix_timestamp(ubcr.CREATED_TIME) AS "createTime"
|
|
FROM
|
|
user_badge_certificate_record ubcr
|
|
LEFT JOIN user_base_info ubi ON ubcr.USER_ID = ubi.USER_ID AND ubi.DEL_FLAG = '0'
|
|
LEFT JOIN (SELECT
|
|
ID,
|
|
BADGE_NAME,
|
|
BADGE_ICON,
|
|
BADGE_STATUS
|
|
FROM
|
|
(
|
|
SELECT * FROM badge
|
|
WHERE CUSTOMER_ID = #{customerId} AND DEL_FLAG = '0'
|
|
UNION ALL
|
|
SELECT * FROM badge a
|
|
WHERE CUSTOMER_ID = 'default' AND a.DEL_FLAG = '0'
|
|
AND NOT EXISTS
|
|
( SELECT ID FROM badge b WHERE CUSTOMER_ID = #{customerId} AND a.ID = b.ID AND b.DEL_FLAG = '0')) t) badge ON ubcr.BADGE_ID = badge.ID
|
|
WHERE
|
|
AUDIT_STATUS != 'auditing'
|
|
AND ubcr.DEL_FLAG = '0'
|
|
AND ubcr.CUSTOMER_ID = #{customerId}
|
|
AND ubcr.GRID_ID = #{gridId}
|
|
ORDER BY ubcr.CREATED_TIME DESC
|
|
LIMIT #{pageNo}, #{pageSize}
|
|
</select>
|
|
|
|
<!-- 查询客户的徽章 -->
|
|
<select id="selectCustomerBadgePool" resultType="com.epmet.dto.result.UserBadgeListResultDTO">
|
|
SELECT
|
|
temp.badgeId,
|
|
temp.BADGE_ICON,
|
|
temp.BADGE_NAME,
|
|
temp.CUSTOMER_ID,
|
|
temp.UPDATED_TIME
|
|
FROM(
|
|
SELECT
|
|
ID AS badgeId,
|
|
CUSTOMER_ID,
|
|
BADGE_NAME ,
|
|
BADGE_ICON ,
|
|
UPDATED_TIME
|
|
FROM
|
|
BADGE
|
|
WHERE
|
|
DEL_FLAG = '0'
|
|
AND BADGE_STATUS = 'online'
|
|
AND CUSTOMER_ID = #{customerId}
|
|
|
|
UNION
|
|
|
|
SELECT
|
|
outter.ID AS badgeId,
|
|
outter.CUSTOMER_ID,
|
|
outter.BADGE_NAME,
|
|
outter.BADGE_ICON,
|
|
outter.UPDATED_TIME
|
|
FROM
|
|
BADGE outter
|
|
WHERE
|
|
DEL_FLAG = '0'
|
|
AND BADGE_STATUS = 'online'
|
|
AND CUSTOMER_ID = 'default'
|
|
AND NOT EXISTS ( SELECT id FROM badge WHERE del_flag = '0' AND customer_id = #{customerId} AND ID = outter.ID AND badge_status = 'online' )
|
|
) AS temp ORDER BY temp.UPDATED_TIME DESC
|
|
</select>
|
|
|
|
<!-- 根据网格id, 查询每个网格有多少个徽章申请 -->
|
|
<select id="queryGridAuditingBadgeCount" resultType="com.epmet.dto.result.GridAuditingBadgeCountResultDTO">
|
|
SELECT
|
|
m.GRID_ID as gridId,
|
|
count(1) as count
|
|
FROM
|
|
user_badge_certificate_record m
|
|
WHERE
|
|
m.DEL_FLAG = '0'
|
|
AND m.AUDIT_STATUS = 'auditing'
|
|
<foreach collection="gridIdList" item="gridId" open="AND ( " separator=" OR " close=" ) ">
|
|
m.GRID_ID =#{gridId}
|
|
</foreach>
|
|
group by m.GRID_ID
|
|
</select>
|
|
|
|
<select id="getPartyBadgeId" resultType="java.lang.String">
|
|
SELECT
|
|
ID
|
|
FROM
|
|
badge
|
|
WHERE
|
|
DEL_FLAG = '0'
|
|
<if test="customerId != null and customerId != '' ">
|
|
AND (CUSTOMER_ID = #{customerId,jdbcType=VARCHAR} OR CUSTOMER_ID = 'default')
|
|
</if>
|
|
<if test="customerId == null and customerId == '' ">
|
|
AND CUSTOMER_ID = 'default'
|
|
</if>
|
|
AND FIXATION_BADGE_TYPE = 'party'
|
|
order by CREATED_TIME desc LIMIT 1
|
|
</select>
|
|
|
|
<select id="selectNextSort" resultType="int">
|
|
SELECT
|
|
ifnull(max(sort),0)+1
|
|
FROM
|
|
badge
|
|
WHERE
|
|
DEL_FLAG = '0'
|
|
AND (CUSTOMER_ID = #{customerId,jdbcType=VARCHAR} OR CUSTOMER_ID = 'default')
|
|
</select>
|
|
|
|
<!-- 查询徽章名称 -->
|
|
<select id="selectBadgeName" resultType="java.lang.String">
|
|
SELECT
|
|
BADGE_NAME
|
|
FROM badge
|
|
WHERE DEL_FLAG = 0
|
|
AND (CUSTOMER_ID = 'default' OR CUSTOMER_ID = #{customerId})
|
|
AND ID = #{badgeId}
|
|
ORDER BY CREATED_TIME DESC
|
|
LIMIT 1
|
|
</select>
|
|
|
|
<!--根据徽章查询居民列表-->
|
|
<select id="listUsersByBadge" resultType="com.epmet.dto.result.ListUserByBadgeResultDTO">
|
|
select
|
|
resi_user_badge.USER_ID,
|
|
resi_user_badge.GRID_ID,
|
|
user_base_info.REAL_NAME,
|
|
user_base_info.HEAD_IMG_URL
|
|
from resi_user_badge
|
|
inner join badge on (badge.BADGE_KEY = #{badgeKey}
|
|
and resi_user_badge.CUSTOMER_ID=#{customerId}
|
|
and resi_user_badge.CERTIFICATION_AUTID_STATUS = 'approved'
|
|
and resi_user_badge.DEL_FLAG = 0
|
|
and resi_user_badge.BADGE_ID = badge.ID
|
|
and badge.DEL_FLAG = 0)
|
|
inner join user_base_info
|
|
on (user_base_info.USER_ID = resi_user_badge.USER_ID
|
|
and user_base_info.DEL_FLAG = 0)
|
|
|
|
</select>
|
|
|
|
<!-- 查询网格下的徽章审核个数 -->
|
|
<select id="badgeAuditReset" resultType="java.lang.Integer">
|
|
SELECT
|
|
COUNT(ID)
|
|
FROM user_badge_certificate_record
|
|
WHERE DEL_FLAG = '0'
|
|
AND AUDIT_STATUS = 'auditing'
|
|
AND GRID_ID = #{gridId}
|
|
</select>
|
|
|
|
<!-- pc端徽章审核-分页列表 -->
|
|
<select id="auditPageList" parameterType="map" resultType="com.epmet.dto.result.BadgeAuditRecordResultDTO">
|
|
SELECT
|
|
ubcr.ID AS recordId,
|
|
ubcr.badge_id AS "badgeId",
|
|
badge.BADGE_NAME,
|
|
badge.BADGE_ICON,
|
|
ubcr.USER_ID,
|
|
ubcr.AUDIT_STATUS,
|
|
ubi.REAL_NAME AS "userName",
|
|
ubi.HEAD_IMG_URL AS userAvatar,
|
|
unix_timestamp(ubcr.CREATED_TIME) AS "createTime",
|
|
ubcr.GRID_ID as gridId,
|
|
'' as gridName,
|
|
ubcr.AUDIT_STATUS as auditStatus
|
|
FROM
|
|
user_badge_certificate_record ubcr
|
|
LEFT JOIN user_base_info ubi ON ubcr.USER_ID = ubi.USER_ID AND ubi.DEL_FLAG = '0'
|
|
LEFT JOIN (SELECT
|
|
ID,
|
|
BADGE_NAME,
|
|
BADGE_ICON,
|
|
BADGE_STATUS
|
|
FROM
|
|
(
|
|
SELECT * FROM badge
|
|
WHERE CUSTOMER_ID = #{customerId} AND DEL_FLAG = '0'
|
|
<if test='null != badgeId and "" != badgeId'>
|
|
and id = #{badgeId}
|
|
</if>
|
|
UNION ALL
|
|
SELECT * FROM badge a
|
|
WHERE CUSTOMER_ID = 'default' AND a.DEL_FLAG = '0'
|
|
<if test='null != badgeId and "" != badgeId'>
|
|
and a.id = #{badgeId}
|
|
</if>
|
|
AND NOT EXISTS
|
|
( SELECT ID FROM badge b WHERE CUSTOMER_ID = #{customerId} AND a.ID = b.ID AND b.DEL_FLAG = '0')) t) badge ON ubcr.BADGE_ID = badge.ID
|
|
WHERE ubcr.DEL_FLAG = '0'
|
|
AND ubcr.CUSTOMER_ID = #{customerId}
|
|
<if test='null != agencyId and "" != agencyId'>
|
|
and ubcr.AGENCY_ID= #{agencyId}
|
|
</if>
|
|
<if test='null != gridId and "" != gridId'>
|
|
AND ubcr.GRID_ID = #{gridId}
|
|
</if>
|
|
<if test='null != badgeId and "" != badgeId'>
|
|
and ubcr.badge_id =#{badgeId}
|
|
</if>
|
|
<if test='null != auditStatus and "" != auditStatus'>
|
|
and ubcr.AUDIT_STATUS = #{auditStatus}
|
|
</if>
|
|
ORDER BY ubcr.CREATED_TIME DESC
|
|
</select>
|
|
</mapper>
|