| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- <?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="shop.alien.mapper.StoreStaffReviewMapper">
- <!-- 评价列表查询结果映射 -->
- <resultMap id="StoreStaffReviewVoResultMap" type="shop.alien.entity.store.vo.StoreStaffReviewVo">
- <id column="id" property="id" />
- <result column="user_id" property="userId" />
- <result column="user_name" property="userName" />
- <result column="user_avatar" property="userAvatar" />
- <result column="staff_user_id" property="staffUserId" />
- <result column="staff_name" property="staffName" />
- <result column="staff_avatar" property="staffAvatar" />
- <result column="overall_rating" property="overallRating" />
- <result column="service_attitude_rating" property="serviceAttitudeRating" />
- <result column="response_time_rating" property="responseTimeRating" />
- <result column="professional_ability_rating" property="professionalAbilityRating" />
- <result column="review_content" property="reviewContent" />
- <result column="review_images" property="reviewImagesJson" />
- <result column="is_anonymous" property="isAnonymous" />
- <result column="like_count" property="likeCount" />
- <result column="comment_count" property="commentCount" />
- <result column="is_liked" property="isLiked" />
- <result column="created_time" property="createdTime" />
- <result column="appeal_id" property="appealId" />
- </resultMap>
- <!-- 分页查询评价列表(包含用户和员工信息) -->
- <select id="getReviewListWithUser" resultMap="StoreStaffReviewVoResultMap">
- SELECT
- ssr.id,
- ssr.user_id,
- CASE
- WHEN ssr.is_anonymous = 1 THEN '匿名用户'
- ELSE lu.user_name
- END AS user_name,
- CASE
- WHEN ssr.is_anonymous = 1 THEN NULL
- ELSE lu.user_image
- END AS user_avatar,
- ssr.staff_user_id,
- sp.personnel_name AS staff_name,
- si.img_url AS staff_avatar,
- ssr.overall_rating,
- ssr.service_attitude_rating,
- ssr.response_time_rating,
- ssr.professional_ability_rating,
- ssr.review_content,
- ssr.is_anonymous,
- ssr.like_count,
- ssr.comment_count,
- ssr.review_images,
- CASE
- WHEN #{currentUserId} IS NOT NULL AND llr.id IS NOT NULL THEN 1
- ELSE 0
- END AS is_liked,
- ssr.created_time,
- ssr.appeal_id
- FROM store_staff_review ssr
- LEFT JOIN life_user lu ON lu.id = ssr.user_id AND lu.delete_flag = 0
- LEFT JOIN store_personnel sp ON sp.id = ssr.staff_user_id AND sp.delete_flag = 0
- LEFT JOIN store_img si ON si.id = sp.img_id AND si.delete_flag = 0
- LEFT JOIN life_like_record llr ON CONVERT(llr.huifu_id, CHAR) = CONVERT(ssr.id, CHAR)
- AND llr.type = '9'
- AND CONVERT(llr.dianzan_id, CHAR) = CONVERT(#{currentUserId}, CHAR)
- AND llr.delete_flag = 0
- WHERE ssr.delete_flag = 0
- <if test="staffUserId != null">
- AND ssr.staff_user_id = #{staffUserId}
- </if>
- <if test="userId != null">
- AND ssr.user_id = #{userId}
- </if>
- ORDER BY ssr.created_time DESC
- </select>
- <!-- 根据评价ID查询评价详情(包含用户和员工信息) -->
- <select id="getReviewDetailById" resultMap="StoreStaffReviewVoResultMap">
- SELECT
- ssr.id,
- ssr.user_id,
- CASE
- WHEN ssr.is_anonymous = 1 THEN '匿名用户'
- ELSE lu.user_name
- END AS user_name,
- CASE
- WHEN ssr.is_anonymous = 1 THEN NULL
- ELSE lu.user_image
- END AS user_avatar,
- ssr.staff_user_id,
- sp.personnel_name AS staff_name,
- si.img_url AS staff_avatar,
- ssr.overall_rating,
- ssr.service_attitude_rating,
- ssr.response_time_rating,
- ssr.professional_ability_rating,
- ssr.review_content,
- ssr.is_anonymous,
- ssr.like_count,
- ssr.comment_count,
- ssr.review_images,
- CASE
- WHEN #{currentUserId} IS NOT NULL AND llr.id IS NOT NULL THEN 1
- ELSE 0
- END AS is_liked,
- ssr.created_time,
- ssr.appeal_id
- FROM store_staff_review ssr
- LEFT JOIN life_user lu ON lu.id = ssr.user_id AND lu.delete_flag = 0
- LEFT JOIN store_personnel sp ON sp.id = ssr.staff_user_id AND sp.delete_flag = 0
- LEFT JOIN store_img si ON si.id = sp.img_id AND si.delete_flag = 0
- LEFT JOIN life_like_record llr ON CONVERT(llr.huifu_id, CHAR) = CONVERT(ssr.id, CHAR)
- AND llr.type = '9'
- AND CONVERT(llr.dianzan_id, CHAR) = CONVERT(#{currentUserId}, CHAR)
- AND llr.delete_flag = 0
- WHERE ssr.delete_flag = 0
- AND ssr.id = #{reviewId}
- LIMIT 1
- </select>
- </mapper>
|