lidongdong
2023-11-14 ce4a770744d7a0b4e4ea3b5101556b94e72bdf1c
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComPbDynDAO.java
@@ -1,15 +1,15 @@
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.partybuilding.PartyBuildingComPbDynVO;
import com.panzhihua.common.model.vos.partybuilding.PartyCommitteeVO;
import com.panzhihua.service_dangjian.model.dos.ComPbDynDO;
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 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.partybuilding.west.PartyBuildingComPbDynVO;
import com.panzhihua.service_dangjian.model.dos.ComPbDynDO;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -19,48 +19,35 @@
 **/
@Mapper
public interface ComPbDynDAO extends BaseMapper<ComPbDynDO> {
//    @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> " +
//     " <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" +
            "d.id,\n" +
            "d.title,\n" +
            "COUNT( u.id ) readingVolume,\n" +
            "d.`status`,\n" +
            "d.publish_at,\n" +
            "d.content,\n" +
            "d.create_at \n" +
            "FROM\n" +
            "com_pb_dyn d\n" +
            "LEFT JOIN com_pb_dyn_user u ON d.id = u.dyn_id \n" +
            "where d.type=#{partyBuildingComPbDynVO.type}  \n" +
            "<if test='partyBuildingComPbDynVO.communityId != null and partyBuildingComPbDynVO.communityId != 0'>" +
            "and d.community_id = #{partyBuildingComPbDynVO.communityId} \n" +
            " </if> " +
            "<if test='partyBuildingComPbDynVO.title != null and partyBuildingComPbDynVO.title.trim() != &quot;&quot;'>" +
            "and d.title = #{partyBuildingComPbDynVO.title} \n" +
            " </if> " +
            "<if test='partyBuildingComPbDynVO.status != null and partyBuildingComPbDynVO.status != 0'>" +
            "AND d.`status` = #{partyBuildingComPbDynVO.status} \n" +
            " </if> " +
            "<if test='partyBuildingComPbDynVO.publishAtBegin != null '>" +
            "AND d.publish_at BETWEEN #{partyBuildingComPbDynVO.publishAtBegin} \n" +
            "AND #{partyBuildingComPbDynVO.publishAtEnd} \n" +
            " </if> " +
            "GROUP BY\n" +
            "d.id\n" +
            "ORDER BY d.create_at desc"+
            "</script>")
    IPage<PartyBuildingComPbDynVO> pageYnamic(Page page, @Param("partyBuildingComPbDynVO") PartyBuildingComPbDynVO partyBuildingComPbDynVO);
    @Update("update com_pb_dyn set `status`=(if(DATEDIFF(SYSDATE(),publish_at)>0,2,1)) WHERE `status`=1")
    IPage<PartyBuildingComPbDynVO> pageYnamic(Page page,
        @Param("partyBuildingComPbDynVO") PartyBuildingComPbDynVO partyBuildingComPbDynVO);
    IPage<com.panzhihua.common.model.vos.partybuilding.PartyBuildingComPbDynVO> pageYnamics(Page page,
                         @Param("partyBuildingComPbDynVO") com.panzhihua.common.model.vos.partybuilding.PartyBuildingComPbDynVO partyBuildingComPbDynVO);
    @Update("update com_pb_dyn set `status`=2  WHERE `status`=1 and TIMESTAMPDIFF(MINUTE,SYSDATE(),publish_at)<=0")
    int timedTaskPartyBuildingStatus();
    @Select("<script> " + "SELECT\n" + " distinct COUNT( u.id ) readingVolume,\n"
        + " d.community_id, d.content, d.cover, d.cover_mode, d.create_at, d.create_by, d.dyn_type, d.id, d.publish_at, d.status, d.title, d.type,d.policy_type, \n"
        + " act.name as createByName,d.jump_type,d.jump_url " + "FROM\n"
        + "com_pb_dyn d LEFT JOIN com_act act ON d.community_id = act.community_id  \n"
        + "LEFT JOIN com_pb_dyn_user u ON d.id = u.dyn_id " + "where d.id = #{id} " + " group by d.id " + "</script>")
    PartyBuildingComPbDynVO selectVoById(@Param("id") Long id);
}