<?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="cc.mrbird.febs.mall.mapper.HappyActivityMapper">
|
|
<select id="selectActivityPage" resultType="cc.mrbird.febs.mall.vo.ApiActivityInfoVo">
|
select
|
a.id,
|
a.address,
|
a.index_img,
|
a.code,
|
a.type,
|
a.name,
|
a.state,
|
(select count(z.id) from happy_follow z where z.source_id = a.id) as join_cnt,
|
a.start_time,
|
a.end_time
|
from happy_activity a
|
<where>
|
a.state != 0
|
and a.DELETE_FLAG = 0
|
<if test="record != null">
|
<if test="record.query != null and record.query != ''">
|
and a.name like CONCAT('%', CONCAT(#{record.query}, '%'))
|
</if>
|
<if test="record.hotState != null">
|
and a.hot_state=#{record.hotState}
|
</if>
|
<if test="record.categoryId != null">
|
and a.category_id=#{record.categoryId}
|
</if>
|
</if>
|
</where>
|
<if test="record.hotState != null">
|
order by (select count(y.id) from happy_follow y where y.source_id = a.id and type in (2,3)) desc,a.order_cnt asc
|
</if>
|
<if test="record.hotState == null">
|
order by a.order_cnt asc,a.id desc
|
</if>
|
|
</select>
|
|
<select id="getVoteRecordInPage" resultType="cc.mrbird.febs.mall.vo.ApiVoteRecordInPageVo">
|
select
|
a.member_id as memberId,
|
a.created_time as createdTime
|
from happy_follow a
|
where
|
a.type = 4
|
and a.source_option_id = #{record.sourceOptionId}
|
order by a.id desc
|
</select>
|
|
|
<update id="updateHappyActivityOptionLikeCnt" >
|
update happy_activity_option set likes_cnt = likes_cnt + 1 where id = #{id}
|
</update>
|
|
|
<update id="updateHappyActivitySurplusCnt" >
|
update happy_activity set surplus_cnt = surplus_cnt + #{cnt} where id = #{id}
|
</update>
|
|
<select id="getVoteOptionInPage" resultType="cc.mrbird.febs.mall.vo.ApiActivityOptionListVo">
|
select
|
a.id as id,
|
a.order_cnt as orderCnt,
|
a.option_name as optionName,
|
a.image as image,
|
a.likes_cnt as likesCnt
|
from happy_activity_option a
|
<where>
|
and a.state = 1
|
and a.activity_id = #{record.activityId}
|
and a.DELETE_FLAG = 0
|
<if test="record != null">
|
<if test="record.query != null and record.query != ''">
|
and (
|
a.option_name like CONCAT('%', CONCAT(#{record.query}, '%'))
|
or
|
a.order_cnt = #{record.query}
|
)
|
</if>
|
</if>
|
</where>
|
order by a.order_cnt asc
|
</select>
|
|
<select id="selectOrderInPage" resultType="cc.mrbird.febs.mall.entity.HappyActivityOrder">
|
select
|
a.*,
|
b.name as name,
|
c.name as activityName
|
from happy_activity_order a
|
left join mall_member b on a.member_id = b.id
|
left join happy_activity c on a.activity_id = c.id
|
<where>
|
and a.DELETE_FLAG = 0
|
<if test="record != null">
|
<if test="record.name != null and record.name != ''">
|
and b.name like CONCAT('%', CONCAT(#{record.name}, '%'))
|
</if>
|
<if test="record.state != null">
|
and a.state=#{record.state}
|
</if>
|
<if test="record.activityId != null">
|
and a.activity_id=#{record.activityId}
|
</if>
|
</if>
|
</where>
|
order by a.id desc
|
</select>
|
|
|
|
<select id="getVoteOptionRecordInPage" resultType="cc.mrbird.febs.mall.vo.ApiActivityOptionListVo">
|
select
|
a.id as id,
|
a.option_name as optionName,
|
a.image as image,
|
a.likes_cnt as likesCnt
|
from happy_activity_option a
|
<where>
|
and a.state = 1
|
and a.activity_id = #{record.activityId}
|
and a.DELETE_FLAG = 0
|
<if test="record != null">
|
<if test="record.query != null and record.query != ''">
|
and (
|
a.option_name like CONCAT('%', CONCAT(#{record.query}, '%'))
|
or
|
a.order_cnt = #{record.query}
|
)
|
</if>
|
</if>
|
</where>
|
order by a.likes_cnt desc
|
</select>
|
|
<select id="selectActivityCommentPage" resultType="cc.mrbird.febs.mall.vo.activity.ApiActivityCommentVo">
|
select
|
a.*,
|
b.name name,
|
b.avatar avatar
|
from happy_activity_comment a
|
left join mall_member b on b.id = a.member_id
|
<where>
|
<if test="record != null">
|
<if test="record.activityId != null and record.activityId != ''">
|
and a.activity_id = #{record.activityId}
|
</if>
|
<if test="record.commentType != null and record.commentType != '' and record.commentType == 1">
|
and a.star <![CDATA[ > ]]> 4
|
</if>
|
<if test="record.commentType != null and record.commentType != '' and record.commentType == 2">
|
and (a.star <![CDATA[ >= ]]> 3 and a.star <![CDATA[ <= ]]> 4)
|
</if>
|
<if test="record.commentType != null and record.commentType != '' and record.commentType == 3">
|
and (a.star <![CDATA[ < ]]> 3 )
|
</if>
|
</if>
|
</where>
|
group by a.id
|
order by a.created_time desc
|
</select>
|
|
|
|
<select id="getCommentListInPage" resultType="cc.mrbird.febs.mall.vo.activity.AdminActivityCommentVo">
|
select
|
a.*,
|
b.name memberName,
|
c.order_no orderNo
|
from happy_activity_comment a
|
left join mall_member b on a.member_id = b.id
|
left join happy_activity_order c on a.order_id = c.id
|
where a.activity_id = #{record.activityId}
|
order by a.created_time desc
|
</select>
|
|
</mapper>
|