移风店镇项目初始化
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.
 
 
 
 
 

399 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",
CUSTOMER_ID as customerId
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>