| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462 |
- <?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="platform.modules.sys.dao.ActivityRegistrationDao">
- <select id="getRegistrationNumber" resultType="java.lang.Integer">
- SELECT
- count(id)
- FROM
- ac_activity_registration
- WHERE
- activity_id = #{activityId}
- AND review_state = 1
- </select>
- <select id="findRegistrationPage" parameterType="java.lang.Integer"
- resultType="platform.modules.sys.entity.ActivityRegistration">
- SELECT
- reg.id id,
- zuser.name user_name,
- reg.name name,
- reg.phone phone,
- reg.mail mail,
- reg.position position,
- reg.registration_way registration_way,
- reg.review_state review_state,
- reg.registration_time registration_time,
- reg.user_type user_type,
- reg.user_id user_id
- FROM
- ac_activity_registration reg
- LEFT JOIN (
- SELECT
- z.id id,
- s.name name,
- '4' type
- FROM
- s_street s
- JOIN z_user z ON z.street_id = s.id
- UNION
- SELECT
- z.id id,
- y.name name,
- '1' type
- FROM
- y_info y
- JOIN z_user z ON z.build_id = y.id
- UNION
- SELECT
- z.id id,
- c.company_name name,
- '3' type
- FROM
- y_company c
- JOIN z_user z ON z.company_id = c.id
- UNION
- SELECT
- z.id id,
- '政府' name,
- '0' type
- FROM
- sys_department s
- JOIN z_user z ON z.department_id = s.id
- UNION
- SELECT
- id,
- '个人' name,
- '5' type
- FROM
- z_user u
- ) zuser ON reg.user_id = zuser.id
- AND reg.user_type = zuser.type
- WHERE
- reg.activity_id = #{activityId}
- order by
- zuser.name,reg.create_time desc
- </select>
- <select id="findSginPage" parameterType="java.lang.Integer"
- resultType="platform.modules.sys.entity.ActivityRegistration">
- SELECT
- reg.id id,
- zuser.name user_name,
- reg.name name,
- reg.phone phone,
- reg.mail mail,
- reg.position position,
- reg.registration_way registration_way,
- reg.review_state review_state,
- reg.sign_state sign_state,
- reg.registration_time registration_time
- FROM
- ac_activity_registration reg
- LEFT JOIN (
- SELECT
- z.id id,
- s.name name,
- '4' type
- FROM
- s_street s
- JOIN z_user z ON z.street_id = s.id
- UNION
- SELECT
- z.id id,
- y.name name,
- '1' type
- FROM
- y_info y
- JOIN z_user z ON z.build_id = y.id
- UNION
- SELECT
- z.id id,
- c.company_name name,
- '3' type
- FROM
- y_company c
- JOIN z_user z ON z.company_id = c.id
- UNION
- SELECT
- z.id id,
- '政府' name,
- '0' type
- FROM
- sys_department s
- JOIN z_user z ON z.department_id = s.id
- ) zuser ON reg.user_id = zuser.id
- AND reg.user_type = zuser.type
- WHERE
- reg.activity_id = #{activityId}
- </select>
- <select id="findMyActivityPage" parameterType="platform.modules.sys.entity.ActivityRegistration"
- resultType="platform.modules.sys.entity.ActivityRegistration">
- select * from (
- SELECT
- reg.id id,
- detail.id activity_id,
- detail.activity_title activity_title,
- detail.activity_starttime activity_starttime,
- detail.activity_endtime activity_endtime,
- detail.activity_state activity_state,
- reg.name name,
- reg.phone phone,
- reg.mail mail,
- reg.position position,
- reg.registration_time registration_time,
- reg.review_state review_state,
- reg.sign_state sign_state,
- reg.user_id user_id,
- (select count(feedback.id) from ac_activity_feedback feedback
- WHERE feedback.activity_id = detail.id
- and feedback.user_id = #{activity.user_id}) feedbackNum
- FROM
- ac_activity_registration reg
- LEFT JOIN ac_activity_detail detail ON reg.activity_id = detail.id
- <if test="activity.activity_state == '3'.toString() ">
- JOIN ac_activity_feedback feedback ON feedback.activity_id = detail.id
- </if>
- <if test="activity.activity_state == '2'.toString() ">
- JOIN ac_activity_feedback feedback ON feedback.activity_id = detail.id
- </if>
- ) t
- WHERE
- user_id = #{activity.user_id}
- AND activity_state != '0'
- <if test="activity.activity_title != null and activity.activity_title != '' ">
- AND activity_title LIKE CONCAT('%',#{activity.activity_title},'%')
- </if>
- <if test="activity.activity_state == '0'.toString() ">
- AND review_state = "0"
- </if>
- <if test="activity.activity_state == '1'.toString() ">
- AND review_state = "1"
- AND (sign_state != "0" or sign_state is null)
- </if>
- <if test="activity.activity_state == '2'.toString() ">
- AND review_state = "1"
- AND sign_state = "0"
- AND feedbackNum <![CDATA[<=]]> 0
- </if>
- <if test="activity.activity_state == '3'.toString() ">
- AND review_state = "1"
- AND feedbackNum <![CDATA[>]]> 0
- </if>
- <if test="activity.activity_state == '4'.toString() ">
- AND (activity_state = "2" or review_state = "3" or review_state = "2")
- </if>
- <if test="activity.user_name != null and activity.user_name != '' ">
- AND name LIKE CONCAT('%',#{activity.user_name},'%')
- </if>
- </select>
- <update id="updateReviewStateBatch" parameterType="java.lang.String">
- update ac_activity_registration
- SET review_state = 0
- WHERE
- <if test="idList !=null and idList !=''">
- id in
- <foreach collection="idList" open="(" close=")" separator="," item="id">
- #{id}
- </foreach>
- </if>
- </update>
- <update id="updateStateBatch" parameterType="java.lang.String">
- update ac_activity_registration
- <set>
- <if test="activity.review_state != null and activity.review_state != '' ">
- review_state = #{activity.review_state},
- </if>
- <if test="activity.sign_state != null and activity.sign_state != '' ">
- sign_state = #{activity.sign_state},
- </if>
- </set>
- WHERE
- 1=1
- <if test="activity.review_state != null and activity.review_state != '' ">
- and review_state = '0'
- </if>
- <if test="activity.sign_state != null and activity.sign_state != '' ">
- and ISNULL(sign_state)
- </if>
- <if test="idList !=null and idList.size > 0 ">
- and id in
- <foreach collection="idList" open="(" close=")" separator="," item="id">
- #{id}
- </foreach>
- </if>
- </update>
- <update id="updateState" parameterType="platform.modules.sys.entity.ActivityRegistration">
- update ac_activity_registration
- <set>
- <if test="activity.review_state != null and activity.review_state != '' ">
- review_state = #{activity.review_state},
- </if>
- <if test="activity.sign_state != null and activity.sign_state != '' ">
- sign_state = #{activity.sign_state},
- </if>
- </set>
- WHERE
- 1=1
- <if test="activity.review_state != null and activity.review_state != '' ">
- and review_state = '0'
- </if>
- <if test="activity.sign_state != null and activity.sign_state != '' ">
- and ISNULL(sign_state)
- </if>
- and id = #{activity.id}
- </update>
- <select id="findByRelationIdAndType" parameterType="java.lang.String"
- resultType="platform.modules.sys.entity.ActivityRegistration">
- SELECT
- *
- FROM
- ac_activity_registration reg
- WHERE
- reg.del_flag = 0
- and reg.user_type = #{type}
- and reg.relation_id =#{rel}
- and reg.activity_id =#{activity_id}
- ORDER BY
- reg.create_time ASC
- </select>
- <select id="findRegistrationExport" parameterType="java.lang.Integer"
- resultType="platform.modules.sys.report.ActivityRegistrationExports">
- SELECT
- reg.id id,
- zuser.name user_name,
- reg.name name,
- reg.phone phone,
- reg.mail mail,
- reg.position position,
- reg.registration_way registration_way,
- reg.review_state review_state,
- reg.registration_time registration_time,
- reg.user_type user_type,
- reg.user_id user_id
- FROM
- ac_activity_registration reg
- LEFT JOIN (
- SELECT
- z.id id,
- s.name name,
- '4' type
- FROM
- s_street s
- JOIN z_user z ON z.street_id = s.id
- UNION
- SELECT
- z.id id,
- y.name name,
- '1' type
- FROM
- y_info y
- JOIN z_user z ON z.build_id = y.id
- UNION
- SELECT
- z.id id,
- c.company_name name,
- '3' type
- FROM
- y_company c
- JOIN z_user z ON z.company_id = c.id
- UNION
- SELECT
- z.id id,
- '政府' name,
- '0' type
- FROM
- sys_department s
- JOIN z_user z ON z.department_id = s.id
- ) zuser ON reg.user_id = zuser.id
- AND reg.user_type = zuser.type
- WHERE
- reg.activity_id = #{activityId}
- order by
- zuser.name,reg.create_time desc
- </select>
- <update id="adortRegister">
- UPDATE ac_activity_registration SET review_state = 3 WHERE id IN
- <foreach collection="list" item="id" index="index" open="(" close=")" separator=",">
- #{id}
- </foreach>
- </update>
- <select id="getActivityRegistration" resultType="platform.modules.sys.entity.ActivityRegistration">
- SELECT
- id,
- `name`,
- phone,
- mail,
- `position`,
- registration_time,
- CASE
- review_state
- WHEN 0 THEN
- '待审核'
- WHEN 1 THEN
- '通过'
- WHEN 2 THEN
- '退回' ELSE '取消报名'
- END review_state
- FROM
- ac_activity_registration
- WHERE
- activity_id = #{activityId}
- AND user_id = #{userId}
- </select>
- <select id="findPendingActivity" resultType="platform.modules.sys.entity.ActivityDetail">
- SELECT
- DISTINCT(ar.activity_id),ad.*
- FROM
- ac_activity_registration ar
- LEFT JOIN ac_activity_detail ad ON ad.id = ar.activity_id
- WHERE
- ar.del_flag = 0 AND ad.del_flag = 0 AND ad.activity_state = 1
- AND ar.user_id = #{userId} AND ar.review_state = 1
- AND ad.activity_starttime > NOW()
- </select>
- <select id="findCommentActivity" resultType="platform.modules.sys.entity.ActivityDetail">
- SELECT
- DISTINCT
- ( ar.activity_id ),
- ad.*
- FROM
- ac_activity_registration ar
- LEFT JOIN ac_activity_detail ad ON ad.id = ar.activity_id
- WHERE
- ar.del_flag = 0 AND ad.del_flag = 0 AND ad.activity_state = 1 AND ar.user_id = #{userId}
- AND ar.review_state = 1 AND ar.sign_state = 0
- AND (SELECT content FROM ac_activity_feedback WHERE activity_id = ad.id AND user_id = #{userId}) IS NULL
- AND ad.activity_endtime <![CDATA[ < ]]> NOW( )
- </select>
- <select id="findExpiredActivity" resultType="platform.modules.sys.entity.ActivityDetail">
- SELECT
- DISTINCT
- ( ar.activity_id ),
- ad.*
- FROM
- ac_activity_registration ar
- LEFT JOIN ac_activity_detail ad ON ad.id = ar.activity_id
- WHERE
- ar.del_flag = 0 AND ad.del_flag = 0 AND ad.activity_state = 1 AND ar.user_id = #{userId}
- AND (ar.review_state = 3 OR ar.sign_state = 1 OR ad.activity_state = 2)
- </select>
- <select id="findCompletedActivity" resultType="platform.modules.sys.entity.ActivityDetail">
- SELECT
- DISTINCT
- ( ar.activity_id ),
- ad.*
- FROM
- ac_activity_registration ar
- LEFT JOIN ac_activity_detail ad ON ad.id = ar.activity_id
- WHERE
- ar.del_flag = 0 AND ad.del_flag = 0 AND ad.activity_state = 1 AND ar.user_id = #{userId}
- AND ar.review_state = 1 AND ar.sign_state = 0
- AND (SELECT content FROM ac_activity_feedback WHERE activity_id = ad.id AND user_id = #{userId}) IS NOT NULL
- AND ad.activity_endtime <![CDATA[ < ]]> NOW( )
- </select>
- <select id="findPushActivity" resultType="platform.modules.sys.entity.ActivityDetail">
- SELECT
- ad.*
- FROM
- ac_activity_push ap
- LEFT JOIN ac_activity_detail ad ON ad.id = ap.activity_id
- WHERE
- ap.del_flag = 0
- AND ad.del_flag = 0
- AND ap.user_id = #{userId}
- </select>
- <select id="findCollectionActivity" resultType="platform.modules.sys.entity.ActivityDetail">
- SELECT
- IF
- (
- ad.activity_starttime > now( ),
- IF
- ( ( SELECT DISTINCT review_state FROM ac_activity_registration WHERE activity_id = ad.id AND review_state!=3 AND user_id = #{userId} ) = 1, 'pending', 'expired' ),
- IF
- (
- ad.activity_endtime <![CDATA[ < ]]> now( ),
- IF
- ( ( SELECT DISTINCT sign_state FROM ac_activity_registration WHERE activity_id = ad.id AND user_id = #{userId} ) = 1, 'expired', 'comment' ),
- IF
- (
- ( SELECT DISTINCT sign_state FROM ac_activity_registration WHERE activity_id = ad.id AND user_id = #{userId} ) = 1,
- 'expired',
- IF
- ( ( SELECT content FROM ac_activity_feedback WHERE activity_id = ad.id AND user_id = #{userId} ) IS NULL, 'comment', 'completed' )
- )
- )
- ) AS activity_type_status,
- ad.*
- FROM
- ac_activity_favourite af
- LEFT JOIN ac_activity_detail ad ON ad.id = af.activity_id
- WHERE
- af.del_flag = 0
- AND ad.del_flag = 0
- AND af.user_id = #{userId}
- </select>
- </mapper>
|