市北互联平台后端仓库
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.

251 lines
9.2 KiB

5 years ago
<?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.UserBadgeDao">
<!-- 更新认证徽章记录最新 -->
<update id="updateCertificateRecordIsLast">
UPDATE user_badge_certificate_record
SET is_last = 'no'
WHERE DEL_FLAG = '0'
AND BADGE_ID = #{badgeId}
AND USER_ID = #{userId}
</update>
<!-- 个人中心-取消/点亮徽章 -->
<update id="updateIsOpen">
UPDATE resi_user_badge
SET IS_OPENED = (case when IS_OPENED = 1 THEN 0 ELSE 1 END),
UPDATED_TIME = NOW()
WHERE DEL_FLAG = '0'
AND USER_ID = #{userId}
AND BADGE_ID = #{badgeId}
</update>
5 years ago
<!-- 查询已经点亮的徽章 -->
<select id="selectBadgeList" resultType="com.epmet.dto.result.UserBadgeListResultDTO">
SELECT
ub.BADGE_ID,
5 years ago
ub.IS_OPENED,
b.FIXATION_BADGE_TYPE as badgeType
FROM resi_user_badge ub
LEFT JOIN badge b ON b.ID = ub.BADGE_ID
WHERE ub.DEL_FLAG = '0'
AND b.DEL_FLAG = 0
5 years ago
AND ub.CERTIFICATION_AUTID_STATUS = 'approved'
5 years ago
AND b.CUSTOMER_ID = 'default'
5 years ago
AND b.BADGE_STATUS = 'online'
5 years ago
AND ub.USER_ID = #{userId}
ORDER BY ub.UPDATED_TIME DESC
</select>
<!-- 查询默认徽章和改名后的徽章 -->
<select id="selectAllBadge" resultType="com.epmet.dto.result.UserBadgeListResultDTO">
SELECT
id AS badgeId,
CUSTOMER_ID,
BADGE_NAME,
BADGE_ICON,
5 years ago
FIXATION_BADGE_TYPE AS badgeType
5 years ago
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 BADGE_STATUS = 'online'
AND NOT EXISTS
( SELECT ID FROM badge b WHERE CUSTOMER_ID = #{customerId} AND a.ID = b.ID)) t
ORDER BY
CREATED_TIME DESC
5 years ago
</select>
5 years ago
<!-- 查询徽章认证记录 -->
<select id="selectAuthRecord" resultType="com.epmet.dto.result.UserOperListResultDTO">
SELECT
CUSTOMER_ID,
BADGE_ID,
CERTIFICATION_IMG,
AUDIT_STATUS
FROM user_badge_certificate_record
WHERE DEL_FLAG = 0
AND IS_LAST = 'yes'
AND USER_ID = #{userId}
</select>
<!-- 根据UserId查询个人徽章点亮信息 -->
<select id="selectBadgeByUserId" resultType="com.epmet.dto.result.UserOperListResultDTO">
SELECT
BADGE_ID,
IS_OPENED
FROM resi_user_badge
WHERE
DEL_FLAG = '0'
AND CERTIFICATION_AUTID_STATUS = 'approved'
5 years ago
AND USER_ID = #{userId}
</select>
<!-- 查询单个徽章的认证记录 -->
<select id="selectBadgeAuthRecord" resultType="com.epmet.dto.result.CertificationDetailResultDTO">
SELECT
SURNAME,
NAME,
5 years ago
ID_NUM AS idcard,
( CASE WHEN AUDIT_STATUS = 'approved' THEN 'yes' ELSE 'no' END ) AS isCertificated,
MOBILE,
CERTIFICATION_IMG,
REMAEK AS remark,
CUSTOMER_ID,
BADGE_ID,
CERTIFICATION_IMG,
AUDIT_STATUS,
AUDIT_STATUS AS authResult,
AUDIT_REMARK AS authReason,
ID AS recordId
FROM
user_badge_certificate_record
WHERE
DEL_FLAG = 0
AND IS_LAST = 'yes'
AND BADGE_ID = #{badgeId}
AND USER_ID = #{userId}
</select>
<!-- 个人中心-查询徽章要显示的认证信息字段 -->
<select id="selectAuthField" resultType="com.epmet.dto.result.AuthFieldResultDTO">
SELECT
cf.CN_NAME,
cf.EN_NAME,
cf.FIELD_TYPE,
cf.IS_REQUIRED,
cf.SORT
FROM badge_certification_config_field cf
LEFT JOIN badge_certification_config cc ON cc.CERTIFICATION_TYPE = cf.CERTIFICATION_TYPE
WHERE cf.DEL_FLAG = 0
AND cc.DEL_FLAG = 0
AND cc.CUSTOMER_ID = #{customerId}
AND cc.BADGE_ID = #{badgeId}
ORDER BY cf.SORT
</select>
5 years ago
<select id="selectBadgeByBadgeId" resultType="com.epmet.dto.result.UserBadgeListResultDTO">
SELECT
ID AS badgeId,
BADGE_NAME,
BADGE_ICON,
BADGE_STATUS
FROM
(
SELECT * FROM badge
WHERE CUSTOMER_ID = #{customerId}
AND DEL_FLAG = '0'
AND ID = #{badgeId}
UNION ALL
SELECT * FROM badge a
WHERE CUSTOMER_ID = 'default'
AND a.DEL_FLAG = '0'
AND BADGE_STATUS = 'online'
AND ID = #{badgeId}
AND NOT EXISTS
( SELECT ID FROM badge b WHERE CUSTOMER_ID = #{customerId} AND a.ID = b.ID)
) t
</select>
<!-- 徽章审核记录表插入 -->
<insert id="insertUserBadgeCertificateRecord">
INSERT INTO user_badge_certificate_record (
ID,
CUSTOMER_ID,
GRID_ID,
USER_ID,
BADGE_ID,
SURNAME,
NAME,
MOBILE,
ID_NUM,
CERTIFICATION_IMG,
REMAEK,
AUDIT_STATUS,
AUDIT_REMARK,
STAFF_ID,
AUDIT_TIME,
IS_LAST,
DEL_FLAG,
REVISION,
CREATED_BY,
CREATED_TIME,
UPDATED_BY,
UPDATED_TIME
)
VALUES
(
REPLACE ( UUID(), '-', '' ),
#{customerId},
#{gridId},
#{userId},
#{badgeId},
#{surname},
#{name},
#{mobile},
#{idNum},
#{certificationImg},
#{remark},
#{auditStatus},
#{auditRemark},
#{staffId},
#{auditTime},
#{isLast},
#{delFlag},
#{revision},
#{createdBy},
NOW(),
#{updatedBy},
NOW()
)
</insert>
5 years ago
<!-- 查找用户全部的显示徽章(排序) -->
<select id="selectUserSortedBadge" resultType="com.epmet.dto.form.UserBadgeUnitFormDTO">
SELECT
userBadge.badge_id,
badgeInfo.BADGE_NAME,
badgeInfo.BADGE_ICON
FROM
resi_user_badge userBadge
LEFT JOIN (
SELECT
id AS badgeId,
CUSTOMER_ID,
BADGE_NAME,
BADGE_ICON
FROM
(
SELECT
*
FROM
badge
WHERE
CUSTOMER_ID = #{customerId}
AND DEL_FLAG = '0'
AND BADGE_STATUS = 'online'
UNION ALL
SELECT
*
FROM
badge a
WHERE
CUSTOMER_ID = 'default'
AND a.DEL_FLAG = '0'
AND BADGE_STATUS = 'online'
AND NOT EXISTS ( SELECT ID FROM badge b WHERE CUSTOMER_ID = #{customerId} AND a.ID = b.ID )
) temp
) badgeInfo ON userBadge.badge_id = badgeInfo.badgeId
WHERE
userBadge.del_flag = '0'
AND userBadge.user_id = #{userId}
AND userBadge.customer_id = #{customerId}
AND userBadge.is_opened = 1
AND userBadge.certification_autid_status = 'approved'
ORDER BY
userBadge.updated_time DESC
</select>
5 years ago
</mapper>