package com.panzhihua.service_dangjian.dao;
|
|
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.PartyBuildingComPbDynVO;
|
import com.panzhihua.service_dangjian.model.dos.ComPbDynDO;
|
|
/**
|
* @program: springcloud_k8s_panzhihuazhihuishequ
|
* @description: 动态
|
* @author: huang.hongfa weixin hhf9596 qq 959656820
|
* @create: 2020-12-01 15:49
|
**/
|
@Mapper
|
public interface ComPbDynDAO extends BaseMapper<ComPbDynDO> {
|
// @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" + "d.id,\n" + "d.title, d.jump_url, d.jump_type,\n" + "COUNT( u.id ) readingVolume,\n" + "d.`status`,\n"
|
+ "d.publish_at,\n" + "d.content,\n" + "d.cover,\n" + "d.cover_mode,\n" + "d.dyn_type,\n" + "d.create_at,t.name as communityName \n"
|
+ "FROM\n" + "com_pb_dyn d\n" + "LEFT JOIN com_pb_dyn_user u ON d.id = u.dyn_id left join com_act t on d.community_id = t.community_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.dynType != null and partyBuildingComPbDynVO.dynType != 0'>"
|
+ "and d.dyn_type = #{partyBuildingComPbDynVO.dynType} \n" + " </if> "
|
+ "<if test='partyBuildingComPbDynVO.title != null and partyBuildingComPbDynVO.title.trim() != ""'>"
|
+ "and d.title like concat(#{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.publish_at desc" + "</script>")
|
IPage<PartyBuildingComPbDynVO> pageYnamic(Page page,
|
@Param("partyBuildingComPbDynVO") 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, \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);
|
}
|