huanghongfa
2021-02-01 b3c6911c1e78563dc04998dd7bfb510130a9fcec
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActMicroWishDAO.java
New file
@@ -0,0 +1,150 @@
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.community.ComActMicroWishVO;
import com.panzhihua.common.model.vos.community.TodoEventsVO;
import com.panzhihua.service_community.model.dos.ComActMicroWishDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 微心愿
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-12-07 14:27
 **/
@Mapper
public interface ComActMicroWishDAO extends BaseMapper<ComActMicroWishDO> {
    @Select("<script> " +
            "SELECT\n" +
            "w.id,\n" +
            "u.name sponsor_name,\n" +
            "u.image_url ,\n" +
            "w.sponsor_phone,\n" +
            "w.wish_name,\n" +
            "w.`status`,\n" +
            "w.`feedback_at`,\n" +
            "w.`examine_at`,\n" +
            "w.`distribution_at`,\n" +
            "w.`evaluate_at`,\n" +
            "w.`photo_path_list`,\n" +
            "count(wu.id)star_num,\n" +
            "w.`detail`,\n" +
            "w.form,\n" +
            "w.reject_reason,\n" +
            "su.`name` responsible_name,\n" +
            "w.score,\n" +
            "w.create_at \n" +
            "FROM\n" +
            "com_act_micro_wish w\n" +
            "left join com_act_micro_wish_user wu on w.id=wu.micro_wish_id "+
            "JOIN sys_user u ON w.sponsor_id = u.user_id \n" +
            "<if test='comActMicroWishVO.sponsorName != null and comActMicroWishVO.sponsorName.trim() != &quot;&quot;'>" +
            "AND u.name like concat(#{comActMicroWishVO.sponsorName},'%')  \n" +
            " </if> " +
            "<if test='comActMicroWishVO.responsibleName == null or comActMicroWishVO.responsibleName.trim() == &quot;&quot;'>" +
            "LEFT JOIN sys_user su ON w.responsible_id = su.user_id \n" +
            " </if> " +
            "<if test='comActMicroWishVO.responsibleName != null and comActMicroWishVO.responsibleName.trim() != &quot;&quot;'>" +
            " JOIN sys_user su ON w.responsible_id = su.user_id \n" +
            "AND su.`name` like concat(#{comActMicroWishVO.responsibleName},'%')  \n" +
            " </if> " +
            " <where>" +
            "<if test='comActMicroWishVO.communityId != null and comActMicroWishVO.communityId != 0'>" +
            " and w.community_id=#{comActMicroWishVO.communityId} \n" +
            " </if> " +
            "<if test='comActMicroWishVO.sponsorPhone != null and comActMicroWishVO.sponsorPhone.trim() != &quot;&quot;'>" +
            "AND w.sponsor_phone like concat(#{comActMicroWishVO.sponsorPhone},'%')  \n" +
            " </if> " +
            "<if test='comActMicroWishVO.status != null and comActMicroWishVO.status!=0 and comActMicroWishVO.isPageMyWish==null'>" +
            "AND w.`status` = #{comActMicroWishVO.status} \n" +
            " </if> " +
            "<if test='comActMicroWishVO.status != null and comActMicroWishVO.status!=0 and comActMicroWishVO.isPageMyWish!=null and comActMicroWishVO.status==1'>" +
            "AND w.`status` in (1,2) \n" +
            " </if> " +
            "<if test='comActMicroWishVO.createBegin != null '>" +
            "AND w.create_at BETWEEN #{comActMicroWishVO.createBegin} \n" +
            "AND #{comActMicroWishVO.createEnd}" +
            " </if> " +
            "<if test='comActMicroWishVO.isApplets != null and comActMicroWishVO.isApplets != 0'>" +
            "AND w.status  in (3,6) \n" +
            " </if> " +
            "<if test='comActMicroWishVO.userId != null and comActMicroWishVO.userId != 0'>" +
            "AND w.sponsor_id  =#{comActMicroWishVO.userId} \n" +
            " </if> " +
            "<if test='comActMicroWishVO.backUserId != null and comActMicroWishVO.backUserId != 0 and  comActMicroWishVO.status==3 '>" +
            "AND w.responsible_id  =#{comActMicroWishVO.backUserId} \n" +
            " </if> " +
            "<if test='comActMicroWishVO.backUserId != null and comActMicroWishVO.backUserId != 0 and  comActMicroWishVO.status==0 '>" +
            "and (w.status in(1,2,4,5,6) or (w.status=3 and w.responsible_id  =#{comActMicroWishVO.backUserId}))\n" +
            " </if> " +
            " </where>" +
            " group by w.id  \n"+
            "ORDER BY w.`status` asc, w.create_at desc "+
            "</script>")
    IPage<ComActMicroWishVO> pageMicroWish(Page page, @Param("comActMicroWishVO") ComActMicroWishVO comActMicroWishVO);
    @Select("SELECT\n" +
            "w.id,\n" +
            "u.name sponsor_name,\n" +
            "w.create_at,\n" +
            "u.image_url,\n" +
            "w.sponsor_phone,\n" +
            "w.`status`,\n" +
            "w.`sponsor_id`,\n" +
            "w.wish_name,\n" +
            "count(wu.id)starNum,\n" +
            "w.detail,\n" +
            "w.photo_path_list,\n" +
            "su.`name` responsible_name,\n" +
            "w.form,\n" +
            "w.reject_reason,\n" +
            "w.examine_at,\n" +
            "w.finish,\n" +
            "w.finish_photo_path_list,\n" +
            "w.finish_at,\n" +
            "w.score,\n" +
            "w.feedback,\n" +
            "w.feedback_at,\n" +
            "w.feedback_photo_path_list,\n" +
            "w.distribution_at,\n" +
            "w.evaluate_at,\n" +
            "w.evaluate \n" +
            "FROM\n" +
            "com_act_micro_wish w\n" +
            "JOIN sys_user u ON w.sponsor_id = u.user_id\n" +
            "LEFT JOIN sys_user su ON w.responsible_id = su.user_id \n" +
            "LEFT JOIN com_act_micro_wish_user wu ON w.id = wu.micro_wish_id \n" +
            "WHERE\n" +
            "w.id =#{id}"+
            " group by w.id "
    )
    ComActMicroWishVO detailMicroWish(Long id);
    @Select("SELECT\n" +
            "'2' type\n" +
            "FROM\n" +
            "com_act_micro_wish w \n" +
            "WHERE\n" +
            "w.community_id = #{communityId} \n" +
            "AND w.`status` = 1\n" +
            "\n" +
            "union all \n" +
            "\n" +
            "SELECT\n" +
            "'2' type\n" +
            "FROM\n" +
            "\tcom_act_micro_wish w \n" +
            "WHERE\n" +
            "\tw.community_id = #{communityId} \n" +
            "\tAND w.`status` = 3 \n" +
            "\tAND w.form = 1 \n" +
            "\tAND w.responsible_id = #{userId} \n" +
            "GROUP BY\n" +
            "\tw.community_id\n")
    List<TodoEventsVO> selectNeedToDo(@Param("communityId") Long communityId, @Param("userId") Long userId);
}