huanghongfa
2021-09-02 177249c76aeea0b4bf8d8816d4994e3b445b45ce
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComBpActivityDAO.java
@@ -1,19 +1,19 @@
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.community.integral.admin.ComActActivityPeopleVO;
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 java.util.List;
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;
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_dangjian.model.dos.ComPbActivityDO;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -23,117 +23,63 @@
 **/
@Mapper
public interface ComBpActivityDAO extends BaseMapper<ComPbActivityDO> {
    //    @Select("<script> " +
//            " <where>" +
//            "<if test='nameCn != null and nameCn.trim() != &quot;&quot;'>" +
//            " </if> " +
//            "<if test='nameCn != null and nameCn.trim() != &quot;&quot;'>" +
//            " </if> " +
//            "<if test='nameCn != null and nameCn.trim() != &quot;&quot;'>" +
//            " </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() != &quot;&quot;'>" +
            "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>")
    // @Select("<script> " +
    // " <where>" +
    // "<if test='nameCn != null and nameCn.trim() != &quot;&quot;'>" +
    // " </if> " +
    // "<if test='nameCn != null and nameCn.trim() != &quot;&quot;'>" +
    // " </if> " +
    // "<if test='nameCn != null and nameCn.trim() != &quot;&quot;'>" +
    // " </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() != &quot;&quot;'>"
        + "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() != &quot;&quot;'>"
        + "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("<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() != &quot;&quot;'>" +
            "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")
    @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}")
    @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>")
    @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")
@@ -156,8 +102,10 @@
    /**
     * 根据社区id查询社区名称
     * @param communityId   社区id
     * @return  社区名字
     *
     * @param communityId
     *            社区id
     * @return 社区名字
     */
    @Select("select name from com_act where community_id=#{communityId}")
    String selectCommunityNameByCommunityId(Long communityId);