package com.panzhihua.service_dangjian.dao;
|
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.panzhihua.common.model.vos.LoginUserInfoVO;
|
import com.panzhihua.common.model.vos.partybuilding.PageActivityMembersVO;
|
import com.panzhihua.common.model.vos.partybuilding.PartyBuildingActivityVO;
|
import com.panzhihua.service_dangjian.model.dos.ComPbActivityDO;
|
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Select;
|
import org.apache.ibatis.annotations.Update;
|
|
import java.util.List;
|
|
/**
|
* @program: springcloud_k8s_panzhihuazhihuishequ
|
* @description: 党员活动
|
* @author: huang.hongfa weixin hhf9596 qq 959656820
|
* @create: 2020-11-30 17:59
|
**/
|
@Mapper
|
public interface ComBpActivityDAO extends BaseMapper<ComPbActivityDO> {
|
// @Select("<script> " +
|
// " <where>" +
|
// "<if test='nameCn != null and nameCn.trim() != ""'>" +
|
// " </if> " +
|
// "<if test='nameCn != null and nameCn.trim() != ""'>" +
|
// " </if> " +
|
// "<if test='nameCn != null and nameCn.trim() != ""'>" +
|
// " </if> " +
|
// " </where>" +
|
// "</script>")
|
@Select("<script> " +
|
"SELECT\n" +
|
"a.id,\n" +
|
"a.name,\n" +
|
"a.address,\n" +
|
"a.status,\n" +
|
"a.create_at releaseTimeBegin,\n" +
|
"a.activity_time_begin,\n" +
|
"a.activity_time_end,\n" +
|
"a.enroll_time_begin,\n" +
|
"a.release_time,\n" +
|
"a.enroll_time_end \n" +
|
"FROM\n" +
|
"com_pb_activity_member m\n" +
|
"JOIN com_pb_activity a ON m.activity_id = a.id \n" +
|
"WHERE\n" +
|
"m.member_id = #{id} \n" +
|
"<if test='name != null and name.trim() != ""'>" +
|
"AND a.`name` like concat (#{name},'%') \n" +
|
" </if> " +
|
"<if test='releaseTimeBegin != null '>" +
|
"AND a.create_at BETWEEN #{releaseTimeBegin} \n" +
|
"AND #{releaseTimeEnd} \n" +
|
" </if> " +
|
"<if test='activityTimeBegin != null '>" +
|
"AND a.activity_time_begin BETWEEN #{activityTimeBegin} \n" +
|
"AND #{activityTimeEnd}" +
|
" </if> " +
|
"</script>")
|
List<PartyBuildingActivityVO> listPartyMemberActivities(PartyBuildingActivityVO partyBuildingActivityVO);
|
|
|
@Select("<script> " +
|
"SELECT\n" +
|
"a.id,\n" +
|
"a.name,\n" +
|
"a.address,\n" +
|
"a.status,\n" +
|
"a.release_time,\n" +
|
"a.activity_time_begin,\n" +
|
"a.activity_time_end,\n" +
|
"a.enroll_time_begin,\n" +
|
"a.cover,\n" +
|
"if(u.type=3 ,'管理员',u.name)createByName,\n" +
|
"a.enroll_time_end \n" +
|
"FROM\n" +
|
"com_pb_activity a\n" +
|
"left join sys_user u on a.create_by=u.user_id \n" +
|
"where a.community_id=#{partyBuildingActivityVO.communityId}\n" +
|
" and a.`status` not in(5,6) \n"+
|
"<if test='partyBuildingActivityVO.name != null and partyBuildingActivityVO.name.trim() != ""'>" +
|
"and a.name = #{partyBuildingActivityVO.name} \n" +
|
" </if> " +
|
"<if test='partyBuildingActivityVO.status != null and partyBuildingActivityVO.status != 0 and partyBuildingActivityVO.isAppliets ==null '>" +
|
"AND a.`status` = #{partyBuildingActivityVO.status} \n" +
|
" </if> " +
|
"<if test='partyBuildingActivityVO.status != null and partyBuildingActivityVO.status != 0 and partyBuildingActivityVO.isAppliets !=null and partyBuildingActivityVO.isAppliets==1'>" +
|
"AND a.`status` in (3,4) \n" +
|
" </if> " +
|
"<if test='partyBuildingActivityVO.releaseTimeBegin != null '>" +
|
"AND a.release_time BETWEEN #{partyBuildingActivityVO.releaseTimeBegin} \n" +
|
"AND #{partyBuildingActivityVO.releaseTimeEnd} \n" +
|
" </if> " +
|
"<if test='partyBuildingActivityVO.activityTimeBegin != null '>" +
|
"AND a.activity_time_begin BETWEEN #{partyBuildingActivityVO.activityTimeBegin} \n" +
|
"AND #{partyBuildingActivityVO.activityTimeEnd}" +
|
" </if> " +
|
"order by a.create_at desc " +
|
"</script>")
|
IPage<PartyBuildingActivityVO> pageActivity(Page page, @Param("partyBuildingActivityVO") PartyBuildingActivityVO partyBuildingActivityVO);
|
|
@Select("select t.id from (\n" +
|
"SELECT \n" +
|
"a.participation_lowest_num,\n" +
|
"a.name,\n" +
|
"a.id,\n" +
|
"COUNT(m.id)num\n" +
|
"FROM\n" +
|
"com_pb_activity a\n" +
|
"LEFT JOIN com_pb_activity_member m ON a.id = m.activity_id\n" +
|
"WHERE a.`status` in (3,4) and TIMESTAMPDIFF(MINUTE,SYSDATE(),a.enroll_time_end)<=0\n" +
|
"GROUP BY a.id)t where t.num<t.participation_lowest_num")
|
List<Long> selectTimedTaskPartyBuildingActivity();
|
|
@Select("SELECT \n" +
|
"u.user_id\n" +
|
"FROM\n" +
|
"com_pb_activity_member m\n" +
|
"JOIN com_pb_member r on m.member_id=r.id\n" +
|
"join sys_user u on r.id_card=u.id_card and u.type=1 \n" +
|
"where m.activity_id=#{activityId}")
|
List<Long> selectTimedTaskPartyBuildingActivityUserids(Long activityId);
|
|
@Update("<script> " +
|
"update com_pb_activity set `status`=6 WHERE id in \n" +
|
"<foreach item=\"item\" collection=\"ids\" separator=\",\" open=\"(\" close=\")\" index=\"\"> \n" +
|
"#{item}\n" +
|
"</foreach>\n" +
|
"</script>")
|
int updateBatchIds(@Param("ids") List<Long> ids);
|
|
@Update("update com_pb_activity set status=2 where `status`=1 and TIMESTAMPDIFF(MINUTE,SYSDATE(),release_time)<=0")
|
int updateStatusToNotBegin();
|
|
@Update("update com_pb_activity set status=3 where `status`=2 and TIMESTAMPDIFF(MINUTE,SYSDATE(),enroll_time_begin)<=0")
|
int updateStatusToSign();
|
|
@Update("update com_pb_activity set status=(if(TIMESTAMPDIFF(MINUTE,SYSDATE(),activity_time_end)<=0,5,4)) where `status` in (3,4) and TIMESTAMPDIFF(MINUTE,SYSDATE(),enroll_time_end)<=0")
|
int updateStatusToActiveOrEnd();
|
@Select("select type,name from sys_user where user_id=#{createBy}")
|
LoginUserInfoVO selectUserInfoByUserId(Long createBy);
|
|
/**
|
* 根据社区id查询社区名称
|
* @param communityId 社区id
|
* @return 社区名字
|
*/
|
@Select("select name from com_act where community_id=#{communityId}")
|
String selectCommunityNameByCommunityId(Long communityId);
|
}
|