package com.panzhihua.service_community.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.community.integral.admin.ComActActivityPeopleVO;
|
import com.panzhihua.common.model.vos.partybuilding.PartyBuildingActivityVO;
|
import com.panzhihua.service_community.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"
|
+ "<if test='partyBuildingActivityVO.name != null and partyBuildingActivityVO.name.trim() != ""'>"
|
+ "and a.name = #{partyBuildingActivityVO.name} \n" + " </if> "
|
+ "<if test='partyBuildingActivityVO.isAppliets != null and partyBuildingActivityVO.isAppliets==1'>"
|
+ " and a.`status` not in(5,6) " + " </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=5 where `status` in (3,4) and TIMESTAMPDIFF(MINUTE,SYSDATE(),enroll_time_end)<=0")
|
int updateStatusToActiveOrEnd();
|
|
@Select("select id from com_pb_activity where `status` in (3,4) and TIMESTAMPDIFF(MINUTE,SYSDATE(),enroll_time_end)<=0")
|
List<Long> getTaskPbActivityEndIds();
|
|
@Select("select caas.user_id,caas.activity_id,caa.community_id from com_pb_activity_member as caas left join com_pb_activity as caa on caa.id = caas.activity_id where caa.id = #{activityId}")
|
List<ComActActivityPeopleVO> getTaskPbActivityPeopleList(@Param("activityId") Long activityId);
|
|
@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);
|
}
|