| | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.panzhihua.common.model.vos.community.ComActActivityVO; |
| | | import com.panzhihua.common.model.vos.community.CommunityActivitiesVO; |
| | | import com.panzhihua.common.model.vos.community.CommunityGovernanceTrendsVO; |
| | | import com.panzhihua.common.model.vos.partybuilding.PageActivityMembersVO; |
| | | import com.panzhihua.service_community.model.dos.ComActActivityDO; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | |
| | | import org.apache.ibatis.annotations.Select; |
| | | import org.apache.ibatis.annotations.Update; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | "count(if(s.is_volunteer=0,s.id,null))participant_now,\n"+ |
| | | "a.participant_max,\n" + |
| | | "a.sign_up_begin,\n" + |
| | | "a.sign_up_end\n" + |
| | | "a.sign_up_end,\n" + |
| | | "ca.name as communityName \n" + |
| | | "FROM\n" + |
| | | "com_act_activity a \n" + |
| | | "join sys_user u on a.sponsor_id=u.user_id\n" + |
| | | "left join com_act_act_sign s on a.id=s.activity_id \n"+ |
| | | " where a.community_id=#{comActActivityVO.communityId}" + |
| | | "<if test='comActActivityVO.activityName != null and comActActivityVO.activityName.trim() != ""'>" + |
| | | " and a.activity_name = #{comActActivityVO.activityName} \n" + |
| | | "left join com_act ca on a.community_id=ca.community_id \n"+ |
| | | " where 1=1 " + |
| | | |
| | | "<if test='comActActivityVO.choice == 0 '>" + |
| | | "AND a.community_id=#{comActActivityVO.communityId}\n" + |
| | | " </if> " + |
| | | "<if test='comActActivityVO.status != null and comActActivityVO.status !=0'>" + |
| | | |
| | | "<if test='comActActivityVO.activityName != null and comActActivityVO.activityName.trim() != ""'>" + |
| | | " and a.activity_name like concat(#{comActActivityVO.activityName},'%') \n" + |
| | | " </if> " + |
| | | "<if test='comActActivityVO.status != null and comActActivityVO.status !=0 and comActActivityVO.isIng==null'>" + |
| | | "AND a.`status` = #{comActActivityVO.status} \n" + |
| | | " </if> " + |
| | | "<if test='comActActivityVO.status != null and comActActivityVO.status !=0 and comActActivityVO.isIng!=null and comActActivityVO.isIng==1'>" + |
| | | "AND a.`status` in (3,4) \n" + |
| | | " </if> " + |
| | | "<if test='comActActivityVO.isApplets != null and comActActivityVO.isApplets ==1'>" + |
| | | "AND a.`status` != 1 AND a.`status` != 6 \n" + |
| | | " </if> " + |
| | | "<if test='comActActivityVO.beginAt != null '>" + |
| | | "AND a.begin_at <![CDATA[ >= ]]> #{comActActivityVO.beginAt} AND a.end_at <![CDATA[ <= ]]> #{comActActivityVO.endAt} \n" + |
| | | " </if> " + |
| | | "<if test='comActActivityVO.type != null and comActActivityVO.type==1 '>" + |
| | | "AND a.volunteer_max!=0 \n" + |
| | | " </if> " + |
| | | "<if test='comActActivityVO.type != null and comActActivityVO.type==2 '>" + |
| | | "AND a.participant_max!=0 \n" + |
| | | " </if> " + |
| | | " group by a.id "+ |
| | | " order by a.status asc,a.publish_at desc "+ |
| | | "</script>") |
| | | IPage<ComActActivityVO> pageActivity( Page page, @Param("comActActivityVO") ComActActivityVO comActActivityVO); |
| | | |
| | | @Select("SELECT \n" + |
| | | "u.name sponsorName,\n" + |
| | | "ca.name communityName,\n" + |
| | | "count(if(s.is_volunteer=1,s.id,null))volunteer_now,\n"+ |
| | | "count(if(s.is_volunteer=0,s.id,null))participant_now,\n"+ |
| | | "a.* \n" + |
| | |
| | | "com_act_activity a \n" + |
| | | "join sys_user u on a.sponsor_id=u.user_id \n"+ |
| | | "left join com_act_act_sign s on a.id=s.activity_id \n"+ |
| | | "left join com_act ca on a.community_id=ca.community_id \n"+ |
| | | "where a.id=#{id} \n"+ |
| | | " group by a.id " |
| | | ) |
| | |
| | | "s.create_at DESC") |
| | | IPage<ComActActivityVO> pageMyActivity(Page page, @Param("comActActivityVO") ComActActivityVO comActActivityVO); |
| | | |
| | | @Select("select t.activity_name,t.id,t.end_at,t.cover,t.status from com_act_act_sign s join sys_user u on s.user_id=u.user_id and u.phone=#{phone} and s.is_volunteer=1 " + |
| | | @Select("select " + |
| | | "t.activity_name," + |
| | | "t.id," + |
| | | "t.end_at," + |
| | | "t.begin_at," + |
| | | "t.cover," + |
| | | "t.status " + |
| | | "from com_act_act_sign s " + |
| | | "join sys_user u on s.user_id=u.user_id and u.phone=#{phone} and s.is_volunteer=1 " + |
| | | "join com_act_activity t on s.activity_id=t.id and t.status=5") |
| | | List<ComActActivityVO> listActivityByPhone(String phone); |
| | | @Select("select t.id from (\n" + |
| | |
| | | "com_act_activity a \n" + |
| | | "LEFT JOIN com_act_act_sign s on a.id=s.activity_id \n" + |
| | | "WHERE\n" + |
| | | "a.`status` in(3,4) and DATEDIFF(SYSDATE(),a.sign_up_end)>=0\n" + |
| | | "a.`status` in(3,4) and TIMESTAMPDIFF(MINUTE,SYSDATE(),a.sign_up_end)<=0\n" + |
| | | "GROUP BY a.id)t WHERE t.usernum<participant_min or t.volunteernum<volunteer_min") |
| | | List<Long> selectTimedTaskActActivity(); |
| | | |
| | |
| | | "</script>") |
| | | int updateIdBatch(@Param("longs") List<Long> longs); |
| | | |
| | | @Update("update com_act_activity set `status`=2 where `status`=1 and DATEDIFF(SYSDATE(),publish_at)>=0") |
| | | @Update("update com_act_activity set `status`=2 where `status`=1 and TIMESTAMPDIFF(MINUTE,SYSDATE(),publish_at)<=0") |
| | | int updateStatusToNotBegin(); |
| | | |
| | | @Update("update com_act_activity set `status`=3 where `status`=2 and DATEDIFF(SYSDATE(),sign_up_begin)>=0") |
| | | @Update("update com_act_activity set `status`=3 where `status`=2 and TIMESTAMPDIFF(MINUTE,SYSDATE(),sign_up_begin)<=0") |
| | | int updateStatusToBeginSign(); |
| | | |
| | | @Update("update com_act_activity set `status`=(if(DATEDIFF(SYSDATE(),end_at)>=0,5,4)) where `status`=3 and DATEDIFF(SYSDATE(),begin_at)>=0") |
| | | @Update("update com_act_activity set `status`=5 where `status` in (3,4) and TIMESTAMPDIFF(MINUTE,SYSDATE(),sign_up_end)<=0") |
| | | int updateStatusToBeginActiveOrEnd(); |
| | | @Select("<script> " + |
| | | "select t.* from (\n" + |
| | | "SELECT \n" + |
| | | "a.id,\n" + |
| | | "a.activity_name,\n" + |
| | | "u.`name` sponsorName,\n" + |
| | | "a.activity_addr,\n" + |
| | | "a.participant_max,\n" + |
| | | "count(if(s.is_volunteer=1,null,s.id))participant_now,\n"+ |
| | | "a.volunteer_max,\n" + |
| | | "count(if(s.is_volunteer=1,s.id,null))volunteer_now,\n"+ |
| | | "a.`status`,\n" + |
| | | "a.publish_at,\n" + |
| | | "a.begin_at,\n" + |
| | | "a.end_at,\n" + |
| | | "a.sign_up_begin,\n" + |
| | | "a.sign_up_end\n" + |
| | | "FROM\n" + |
| | | "\tcom_act_activity a \n" + |
| | | "\tLEFT JOIN sys_user u on a.sponsor_id=u.user_id\n" + |
| | | "\tLEFT JOIN com_act_act_sign s on a.id=s.activity_id\n" + |
| | | "WHERE\n" + |
| | | "\t a.`status` = 1 and a.community_id=#{comActActivityVO.communityId}\n" + |
| | | "<if test='comActActivityVO.activityName != null and comActActivityVO.activityName !=""'>" + |
| | | "\tand a.activity_name LIKE concat( #{comActActivityVO.activityName}, '%' ) \n" + |
| | | " </if> " + |
| | | "<if test='comActActivityVO.status != null and comActActivityVO.status !=0 and comActActivityVO.status !=1'>" + |
| | | "AND a.`status` = 99 \n" + |
| | | " </if> " + |
| | | "<if test='comActActivityVO.beginAt != null '>" + |
| | | "AND a.begin_at <![CDATA[ >= ]]> #{comActActivityVO.beginAt} AND a.end_at <![CDATA[ <= ]]> #{comActActivityVO.endAt} \n" + |
| | | " </if> " + |
| | | "group by a.id\n" + |
| | | "\t\n" + |
| | | "\tunion all\n" + |
| | | "select t1.* from (\n"+ |
| | | "\t\n" + |
| | | "\tSELECT \n" + |
| | | "a.id,\n" + |
| | | "a.activity_name,\n" + |
| | | "u.`name` sponsorName,\n" + |
| | | "a.activity_addr,\n" + |
| | | "a.participant_max,\n" + |
| | | "count(if(s.is_volunteer=1,null,s.id))participant_now,\n"+ |
| | | "a.volunteer_max,\n" + |
| | | "count(if(s.is_volunteer=1,s.id,null))volunteer_now,\n"+ |
| | | "a.`status`,\n" + |
| | | "a.publish_at,\n" + |
| | | "a.begin_at,\n" + |
| | | "a.end_at,\n" + |
| | | "a.sign_up_begin,\n" + |
| | | "a.sign_up_end\n" + |
| | | "FROM\n" + |
| | | "\tcom_act_activity a \n" + |
| | | "\tLEFT JOIN sys_user u on a.sponsor_id=u.user_id\n" + |
| | | "\tLEFT JOIN com_act_act_sign s on a.id=s.activity_id\n" + |
| | | "WHERE\n" + |
| | | "\t a.`status` != 1 and a.community_id=#{comActActivityVO.communityId}\n" + |
| | | "<if test='comActActivityVO.activityName != null and comActActivityVO.activityName !=""'>" + |
| | | "\tand a.activity_name LIKE concat( #{comActActivityVO.activityName}, '%' ) \n" + |
| | | " </if> " + |
| | | "<if test='comActActivityVO.status != null and comActActivityVO.status !=0 '>" + |
| | | "AND a.`status` = #{comActActivityVO.status} \n" + |
| | | " </if> " + |
| | | "<if test='comActActivityVO.beginAt != null '>" + |
| | | "AND a.begin_at <![CDATA[ >= ]]> #{comActActivityVO.beginAt} AND a.end_at <![CDATA[ <= ]]> #{comActActivityVO.endAt} \n" + |
| | | " </if> " + |
| | | " group by a.id order by a.publish_at desc)t1 )t"+ |
| | | "</script>") |
| | | IPage<ComActActivityVO> pageActivityCommunityBack(Page page, @Param("comActActivityVO") ComActActivityVO comActActivityVO); |
| | | |
| | | @Update("update com_act_activity set `status`=4 where `status`=3 and TIMESTAMPDIFF(MINUTE,SYSDATE(),sign_up_end)<=0") |
| | | int updateStatusToBeginAfterSingEnd(); |
| | | @Select("select GROUP_CONCAT(t.x1,',',t.x2,',',t.x3,',',t.x4) from (\n" + |
| | | "SELECT\n" + |
| | | "(select COUNT(d.id) from com_act_discuss d where d.community_id=#{communityId})x1,\n" + |
| | | "(select COUNT(w.id) from com_act_micro_wish w where w.community_id=#{communityId})x2,\n" + |
| | | "(select COUNT(p.id) from com_act_easy_photo p where p.community_id=#{communityId})x3,\n" + |
| | | "\tCOUNT( a.id ) x4\n" + |
| | | "FROM\n" + |
| | | "\tcom_pb_activity a \n" + |
| | | "WHERE\n" + |
| | | "\t a.community_id =#{communityId})t") |
| | | String selectCommunityGovernanceTrendsVO(Long communityId); |
| | | @Select("\n" + |
| | | "\tSELECT\n" + |
| | | "\t(select COUNT(d.id) from com_act_discuss d where DATE_FORMAT(d.create_at,'%Y-%m-%d')=DATE_FORMAT(#{date},'%Y-%m-%d') and d.community_id=#{communityId})discuss,\n" + |
| | | "\t(select COUNT(w.id) from com_act_micro_wish w where DATE_FORMAT(w.create_at,'%Y-%m-%d')=DATE_FORMAT(#{date},'%Y-%m-%d') and w.community_id=#{communityId})microWish,\n" + |
| | | "\t(select COUNT(p.id) from com_act_easy_photo p where DATE_FORMAT(p.create_at,'%Y-%m-%d')=DATE_FORMAT(#{date},'%Y-%m-%d') and p.community_id=#{communityId})eashPhoto,\n" + |
| | | "\t(select COUNT(pa.id) from com_pb_activity pa where DATE_FORMAT(pa.create_at,'%Y-%m-%d')=DATE_FORMAT(#{date},'%Y-%m-%d') and pa.community_id=#{communityId})pbActivity,\n" + |
| | | "\t\tCOUNT( a.id ) actActivity\n" + |
| | | "\tFROM\n" + |
| | | "\t\tcom_pb_activity a \n" + |
| | | "\tWHERE\n" + |
| | | "\t\tDATE_FORMAT( a.create_at, '%Y-%m-%d' )=DATE_FORMAT(#{date},'%Y-%m-%d') \n" + |
| | | "\t\tAND a.community_id =#{communityId}") |
| | | CommunityActivitiesVO selectCommunityActivitiesVO(@Param("communityId") Long communityId, @Param("date")Date date); |
| | | } |