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.
 
 
 
 
 

219 lines
8.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.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>
<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
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
CREATED_TIME DESC
</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 * 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,
badge.BADGE_NAME,
badge.BADGE_ICON,
ubcr.USER_ID,
ubi.REAL_NAME AS "userName",
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
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}
ORDER BY ubcr.CREATED_TIME DESC
LIMIT #{pageNo}, #{pageSize}
</select>
<select id="selectAuditRecord" resultType="com.epmet.dto.result.BadgeAuditRecordResultDTO">
SELECT
ubcr.ID,
badge.BADGE_NAME,
badge.BADGE_ICON,
ubcr.USER_ID,
ubi.REAL_NAME AS "userName",
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
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}
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>
</mapper>