huanghongfa
2021-06-21 a429d8ffa31825c7cca7e005bc9ce8f85c15f1f6
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActEasyPhotoDAO.java
@@ -5,12 +5,14 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.vos.community.ComActEasyPhotoVO;
import com.panzhihua.common.model.vos.community.TodoEventsVO;
import com.panzhihua.common.model.vos.screen.*;
import com.panzhihua.service_community.model.dos.ComActEasyPhotoDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
import java.util.Map;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -21,39 +23,49 @@
@Mapper
public interface ComActEasyPhotoDAO extends BaseMapper<ComActEasyPhotoDO> {
    @Select("<script> " +
            "select t.* from ("+
            "SELECT\n" +
            "p.id,\n" +
            "u.`name` sponsor_name,\n" +
            "u.phone sponsor_phone,\n" +
            "u.phone phone,\n" +
            "count(pu.id)giveThumbsUpNum,\n" +
            "u.image_url,\n" +
            "p.happen_addr,\n" +
            "su.`name` handler_name,\n" +
            "p.`status`,\n" +
            "p.`detail`,\n" +
            "p.`is_need_feed_back`,\n" +
            "p.`photo_path_list`,\n" +
            "p.create_at,\n" +
            "p.feedback_at,\n" +
            "p.is_report,\n" +
            "p.is_publicity,\n" +
            "p.examine_at \n" +
            "FROM\n" +
            "com_act_easy_photo p\n" +
            "JOIN sys_user u ON p.sponsor_id = u.user_id \n" +
            "<if test='comActEasyPhotoVO.sponsorName != null and comActEasyPhotoVO.sponsorName.trim() != &quot;&quot;'>" +
            "AND u.`name` like concat(#{comActEasyPhotoVO.sponsorName},'%')  \n" +
            " </if> " +
            "<if test='comActEasyPhotoVO.userId != null and comActEasyPhotoVO.userId != 0'>" +
            "AND u.`user_id` = #{comActEasyPhotoVO.userId} \n" +
            " </if> " +
            "left join  com_act_easy_photo_user pu ON p.id = pu.easy_photo_id \n" +
            "<if test='comActEasyPhotoVO.sponsorName != null and comActEasyPhotoVO.sponsorName.trim() != &quot;&quot;'>" +
            "AND u.`name` = #{comActEasyPhotoVO.sponsorName} \n" +
            " </if> " +
            "<if test='comActEasyPhotoVO.handlerName == null or comActEasyPhotoVO.handlerName.trim() == &quot;&quot;'>" +
            "left JOIN sys_user su ON p.handler_id = su.user_id \n" +
            "<if test='comActEasyPhotoVO.handlerName != null and comActEasyPhotoVO.handlerName.trim() != &quot;&quot;'>" +
            "AND su.`name` = #{comActEasyPhotoVO.handlerName} \n" +
            " </if> " +
            "where p.status !=2"+
            "<if test='comActEasyPhotoVO.handlerName != null and comActEasyPhotoVO.handlerName.trim() != &quot;&quot;'>" +
            " JOIN sys_user su ON p.handler_id = su.user_id \n" +
            " </if> " +
            "<if test='comActEasyPhotoVO.handlerName != null and comActEasyPhotoVO.handlerName.trim() != &quot;&quot;'>" +
            "AND su.`name` like concat(#{comActEasyPhotoVO.handlerName},'%')  \n" +
            " </if> " +
            "where p.del_tag = 0 and p.status !=2"+
            "<if test='comActEasyPhotoVO.communityId != null and comActEasyPhotoVO.communityId != 0'>" +
            "  and p.community_id=#{comActEasyPhotoVO.communityId} " +
            " </if> " +
            "<if test='comActEasyPhotoVO.happenAddr != null and comActEasyPhotoVO.happenAddr.trim() != &quot;&quot;'>" +
            "AND p.happen_addr = #{comActEasyPhotoVO.happenAddr} \n" +
            "AND p.happen_addr like concat(#{comActEasyPhotoVO.happenAddr},'%')  \n" +
            " </if> " +
            "<if test='comActEasyPhotoVO.status != null and comActEasyPhotoVO.status!=0' >" +
            "AND p.`status` = #{comActEasyPhotoVO.status} \n" +
@@ -72,31 +84,40 @@
            "SELECT\n" +
            "p.id,\n" +
            "u.`name` sponsor_name,\n" +
            "u.phone sponsor_phone,\n" +
            "u.phone phone,\n" +
            "count(pu.id)giveThumbsUpNum,\n" +
            "u.image_url,\n" +
            "p.happen_addr,\n" +
            "su.`name` handler_name,\n" +
            "p.`status`,\n" +
            "p.`detail`,\n" +
            "p.`is_need_feed_back`,\n" +
            "p.`photo_path_list`,\n" +
            "p.create_at,\n" +
            "p.feedback_at,\n" +
            "p.is_report,\n" +
            "p.is_publicity,\n" +
            "p.examine_at \n" +
            "FROM\n" +
            "com_act_easy_photo p\n" +
            "JOIN sys_user u ON p.sponsor_id = u.user_id \n" +
            "<if test='comActEasyPhotoVO.sponsorName != null and comActEasyPhotoVO.sponsorName.trim() != &quot;&quot;'>" +
            "AND u.`name` like concat(#{comActEasyPhotoVO.sponsorName},'%')  \n" +
            " </if> " +
            "<if test='comActEasyPhotoVO.userId != null and comActEasyPhotoVO.userId != 0'>" +
            "AND u.`user_id` = #{comActEasyPhotoVO.userId} \n" +
            " </if> " +
            "left join  com_act_easy_photo_user pu ON p.id = pu.easy_photo_id \n" +
            "<if test='comActEasyPhotoVO.sponsorName != null and comActEasyPhotoVO.sponsorName.trim() != &quot;&quot;'>" +
            "AND u.`name` = #{comActEasyPhotoVO.sponsorName} \n" +
            " </if> " +
            "<if test='comActEasyPhotoVO.handlerName == null or comActEasyPhotoVO.handlerName.trim() == &quot;&quot;'>" +
            "left JOIN sys_user su ON p.handler_id = su.user_id \n" +
            "<if test='comActEasyPhotoVO.handlerName != null and comActEasyPhotoVO.handlerName.trim() != &quot;&quot;'>" +
            "AND su.`name` = #{comActEasyPhotoVO.handlerName} \n" +
            " </if> " +
            "where  p.status=2 and p.is_need_feed_back=1 " +
            "<if test='comActEasyPhotoVO.handlerName != null and comActEasyPhotoVO.handlerName.trim() != &quot;&quot;'>" +
            " JOIN sys_user su ON p.handler_id = su.user_id \n" +
            " </if> " +
            "<if test='comActEasyPhotoVO.handlerName != null and comActEasyPhotoVO.handlerName.trim() != &quot;&quot;'>" +
            "AND su.`name` like concat(#{comActEasyPhotoVO.handlerName},'%') \n" +
            " </if> " +
            "where  p.del_tag = 0 and  p.status=2 and p.is_need_feed_back=1 " +
            "<if test='comActEasyPhotoVO.backUserId != null and comActEasyPhotoVO.backUserId != 0'>" +
            "and p.handler_id=#{comActEasyPhotoVO.backUserId}"+
            " </if> " +
@@ -104,7 +125,7 @@
            "  and p.community_id=#{comActEasyPhotoVO.communityId} " +
            " </if> " +
            "<if test='comActEasyPhotoVO.happenAddr != null and comActEasyPhotoVO.happenAddr.trim() != &quot;&quot;'>" +
            "AND p.happen_addr = #{comActEasyPhotoVO.happenAddr} \n" +
            "AND p.happen_addr like concat(#{comActEasyPhotoVO.happenAddr},'%')  \n" +
            " </if> " +
            "<if test='comActEasyPhotoVO.status != null and comActEasyPhotoVO.status!=0' >" +
            "AND p.`status` = #{comActEasyPhotoVO.status} \n" +
@@ -117,20 +138,28 @@
            "AND p.sponsor_id =#{comActEasyPhotoVO.sponsorId} \n" +
            " </if> " +
            " group by p.id "+
            ")t order by t.create_at desc "+
            "</script>")
    IPage<ComActEasyPhotoVO> pageEasyPhoto(Page page, @Param("comActEasyPhotoVO") ComActEasyPhotoVO comActEasyPhotoVO);
    @Select("SELECT \n" +
            "p.id,\n" +
            "p.sponsor_id,\n" +
            "p.feedback_at,\n" +
            "p.examine_at,\n" +
            "p.create_at,\n" +
            "u.`name` sponsorName,\n" +
            "u.nick_name userNickName,\n" +
            "su.`name` handlerName,\n" +
            "u.`image_url`,\n" +
            "u.phone,\n" +
            "p.detail,\n" +
            "p.is_need_feed_back,\n" +
            "p.examine_at,\n" +
            "p.status,\n" +
            "p.reject_reason,\n" +
            "p.is_hide,\n" +
            "p.happen_addr,\n" +
            "p.addr_remark,\n" +
            "su.`name`,\n" +
            "p.handle_result,\n" +
            "p.photo_path_list,\n" +
@@ -141,32 +170,103 @@
            "JOIN sys_user u on p.sponsor_id=u.user_id\n" +
            "LEFT JOIN sys_user su on p.handler_id=su.user_id\n" +
            "LEFT JOIN com_act_easy_photo_user pu on p.id=pu.easy_photo_id\n" +
            "WHERE p.id=#{id}")
            "WHERE p.del_tag = 0 and p.id=#{id}")
    ComActEasyPhotoVO detailEasyPhoto(Long id);
    @Select("SELECT\n" +
            "'随手拍' FUNCTION,\n" +
            "'待审核' behavior,\n" +
            "'新增随手拍动态待审核' words \n" +
            "'1' type\n" +
            "FROM\n" +
            "com_act_easy_photo p \n" +
            " com_act_easy_photo p \n" +
            "WHERE\n" +
            "p.community_id = #{communityId} \n" +
            "AND p.STATUS = 1 \n" +
            "GROUP BY\n" +
            "p.community_id\n" +
            " p.del_tag = 0 and p.community_id = #{communityId} \n" +
            "AND p.STATUS = 1 \n"+
            "\n" +
            "union all \n" +
            "\n" +
            "SELECT\n" +
            "'随手拍' FUNCTION,\n" +
            "'需要进行反馈' behavior,\n" +
            "'随手拍有待反馈动态' words \n" +
            "'1' type\n" +
            "FROM\n" +
            "com_act_easy_photo p \n" +
            "  com_act_easy_photo p \n" +
            "WHERE\n" +
            "p.community_id = #{communityId} \n" +
            "AND p.`status` = 2 and p.is_need_feed_back=1 and p.handler_id=#{userId}\n" +
            "GROUP BY\n" +
            "p.community_id")
            " p.del_tag = 0 and p.community_id = #{communityId} \n" +
            "AND p.`status` = 2 and p.is_need_feed_back=1 and p.handler_id=#{userId}\n"
            )
    List<TodoEventsVO> selectNeedToDo(@Param("communityId") Long communityId, @Param("userId") Long userId);
    @Select("<script> " +
            "SELECT\n" +
            "p.id,\n" +
            "u.`name` sponsor_name,\n" +
            "u.`nick_name` userNickName,\n" +
            "u.phone sponsor_phone,\n" +
            "count(DISTINCT pu.id)giveThumbsUpNum,\n" +
            "count(DISTINCT c.id)commentNum,\n" +
            "u.image_url,\n" +
            "p.happen_addr,\n" +
            "su.`name` handler_name,\n" +
            "p.`status`,\n" +
            "p.`is_hide`,\n" +
            "p.`detail`,\n" +
            "p.`is_need_feed_back`,\n" +
            "p.`photo_path_list`,\n" +
            "p.create_at,\n" +
            "p.feedback_at,\n" +
            "p.examine_at \n" +
            "FROM\n" +
            "com_act_easy_photo p\n" +
            "JOIN sys_user u ON p.sponsor_id = u.user_id \n" +
            "left join  com_act_easy_photo_user pu ON p.id = pu.easy_photo_id \n" +
            "left JOIN sys_user su ON p.handler_id = su.user_id \n" +
            "left JOIN com_act_easy_photo_comment c ON p.id = c.easy_photo_id \n" +
            " <where>" +
            " p.del_tag = 0  "  +
            "<if test='comActEasyPhotoVO.communityId != null and comActEasyPhotoVO.communityId != 0'>" +
            "  and p.community_id=#{comActEasyPhotoVO.communityId} " +
            " </if> " +
            "<if test='comActEasyPhotoVO.status != null and comActEasyPhotoVO.status!=0' >" +
            "AND p.`status` = #{comActEasyPhotoVO.status} \n" +
            " </if> " +
            "<if test='comActEasyPhotoVO.sponsorId != null and comActEasyPhotoVO.sponsorId != 0'>" +
            "AND p.sponsor_id =#{comActEasyPhotoVO.sponsorId} \n" +
            " </if> " +
            "<if test='comActEasyPhotoVO.sponsorId == null or comActEasyPhotoVO.sponsorId==0'>" +
            "AND p.`status` in (2,4) \n" +
            " </if> " +
            "group by p.id "+
            "order by p.create_at desc "+
            " </where>" +
            "</script>"
    )
    IPage<ComActEasyPhotoVO> pageEasyPhotoApplets(Page page, @Param("comActEasyPhotoVO")ComActEasyPhotoVO comActEasyPhotoVO);
    @Select("SELECT t.name,COUNT(p.id) as num FROM com_act_easy_photo_type t LEFT JOIN com_act_easy_photo_type_relation r ON  t.id = r.easy_type_id " +
            "LEFT JOIN com_act_easy_photo p ON r.easy_id = p.id AND p.community_id = #{communityId} AND p.status = 1  " +
            "GROUP BY t.name ")
    List<PieElementVO> countDeal(@Param("communityId")Long communityId);
    @Select("SELECT t.name,COUNT(p.id) as num FROM com_act_easy_photo_type t LEFT JOIN com_act_easy_photo_type_relation r ON  t.id = r.easy_type_id " +
            "LEFT JOIN com_act_easy_photo p ON r.easy_id = p.id AND p.community_id = #{communityId} AND p.status = 4 " +
            "GROUP BY t.name ")
    List<PieElementVO> countPub(@Param("communityId")Long communityId);
    @Select("SELECT t.name,COUNT(p.id) as num FROM com_act_easy_photo_type t LEFT JOIN com_act_easy_photo_type_relation r ON  t.id = r.easy_type_id " +
            "LEFT JOIN com_act_easy_photo p ON r.easy_id = p.id and p.community_id = #{communityId} AND p.status = 3  " +
            "GROUP BY t.name ")
    List<PieElementVO> countApproved(@Param("communityId")Long communityId);
    @Select("SELECT COUNT(id) AS noneDeal," +
            "(" +
            "SELECT COUNT(id) FROM com_act_easy_photo WHERE community_id = 2 AND create_at LIKE concat(#{nowDate},'%') " +
            ") AS currentNum," +
            "(" +
            "(SELECT COUNT(id) FROM com_act_easy_photo WHERE community_id = #{communityId} AND status = 4 )*100/(SELECT COUNT(id) FROM com_act_easy_photo WHERE community_id = #{communityId} and (status = 3 or status = 4)) " +
            ") AS pubPoint," +
            "(SELECT AVG(TIMESTAMPDIFF(MINUTE,create_at,feedback_at))  FROM com_act_easy_photo WHERE community_id = #{communityId} and status = 4 ) AS dealTime " +
            "FROM com_act_easy_photo where community_id = #{communityId} and status = 1 ")
    Map<String, Object> countByCommunityId(@Param("communityId")Long communityId,@Param("nowDate") String nowDate);
    @Select("SELECT COUNT(id) AS total, " +
            "(SELECT COUNT(id) FROM com_act_easy_photo WHERE community_id = #{communityId} AND #{start} < create_at and create_at < #{end} ) AS adds, " +
            "(SELECT COUNT(id) FROM com_act_easy_photo WHERE community_id =#{communityId} AND (status = 3 or status = 4) AND #{start} < create_at and create_at < #{end}) AS deal " +
            "FROM com_act_easy_photo WHERE community_id = #{communityId} AND create_at < #{end} ")
    EastPhotoVO countByTime(@Param("start")String start, @Param("end")String end, @Param("nowDate")String nowDate, @Param("communityId")Long communityId);
}