10 changed files with 290 additions and 3 deletions
			
			
		@ -0,0 +1,33 @@ | 
				
			|||||
 | 
					package com.epmet.dataaggre.dto.message.form; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					import com.epmet.commons.tools.dto.form.PageFormDTO; | 
				
			||||
 | 
					import lombok.Data; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					import javax.validation.constraints.NotBlank; | 
				
			||||
 | 
					import java.io.Serializable; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					/** | 
				
			||||
 | 
					 * @Description 我发出的消息列表查询 | 
				
			||||
 | 
					 * @Author yinzuomei | 
				
			||||
 | 
					 * @Date 2021/8/20 2:58 下午 | 
				
			||||
 | 
					 */ | 
				
			||||
 | 
					@Data | 
				
			||||
 | 
					public class MySentFormDTO extends PageFormDTO implements Serializable { | 
				
			||||
 | 
					    private static final long serialVersionUID = 2007425752362914036L; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    private String content; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    //以下参数从token中获取
 | 
				
			||||
 | 
					    /** | 
				
			||||
 | 
					     * 当前用户id | 
				
			||||
 | 
					     */ | 
				
			||||
 | 
					    @NotBlank(message = "userId不能为空",groups =PageFormDTO.AddUserInternalGroup.class) | 
				
			||||
 | 
					    private String userId; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    /** | 
				
			||||
 | 
					     * 当前客户id | 
				
			||||
 | 
					     */ | 
				
			||||
 | 
					    @NotBlank(message = "customerId不能为空",groups = PageFormDTO.AddUserInternalGroup.class) | 
				
			||||
 | 
					    private String customerId; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					
 | 
				
			||||
@ -0,0 +1,29 @@ | 
				
			|||||
 | 
					package com.epmet.dataaggre.dto.message.result; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					import com.epmet.commons.tools.dto.form.FileCommonDTO; | 
				
			||||
 | 
					import lombok.Data; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					import java.io.Serializable; | 
				
			||||
 | 
					import java.util.Date; | 
				
			||||
 | 
					import java.util.List; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					/** | 
				
			||||
 | 
					 * @Description 我发送的消息列表 | 
				
			||||
 | 
					 * @Author yinzuomei | 
				
			||||
 | 
					 * @Date 2021/8/20 3:01 下午 | 
				
			||||
 | 
					 */ | 
				
			||||
 | 
					@Data | 
				
			||||
 | 
					public class MySentResDTO implements Serializable { | 
				
			||||
 | 
					    private static final long serialVersionUID = -6765856639039569052L; | 
				
			||||
 | 
					    private String infoId; | 
				
			||||
 | 
					    private String content; | 
				
			||||
 | 
					    private Date publishTime; | 
				
			||||
 | 
					    private Integer totalReceiver; | 
				
			||||
 | 
					    private Integer readTotal; | 
				
			||||
 | 
					    private String firstAttId; | 
				
			||||
 | 
					    /** | 
				
			||||
 | 
					     * 附件列表 列表默认返回一个 | 
				
			||||
 | 
					     */ | 
				
			||||
 | 
					    private List<FileCommonDTO> attachmentList; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					
 | 
				
			||||
@ -0,0 +1,46 @@ | 
				
			|||||
 | 
					/** | 
				
			||||
 | 
					 * Copyright 2018 人人开源 https://www.renren.io
 | 
				
			||||
 | 
					 * <p> | 
				
			||||
 | 
					 * This program is free software: you can redistribute it and/or modify | 
				
			||||
 | 
					 * it under the terms of the GNU General Public License as published by | 
				
			||||
 | 
					 * the Free Software Foundation, either version 3 of the License, or | 
				
			||||
 | 
					 * (at your option) any later version. | 
				
			||||
 | 
					 * <p> | 
				
			||||
 | 
					 * This program is distributed in the hope that it will be useful, | 
				
			||||
 | 
					 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			||||
 | 
					 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			||||
 | 
					 * GNU General Public License for more details. | 
				
			||||
 | 
					 * <p> | 
				
			||||
 | 
					 * You should have received a copy of the GNU General Public License | 
				
			||||
 | 
					 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||
 | 
					 */ | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					package com.epmet.dataaggre.dao.epmetmessage; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					import com.epmet.commons.mybatis.dao.BaseDao; | 
				
			||||
 | 
					import com.epmet.dataaggre.dto.message.result.MySentResDTO; | 
				
			||||
 | 
					import com.epmet.dataaggre.entity.epmetmessage.InfoProfileEntity; | 
				
			||||
 | 
					import org.apache.ibatis.annotations.Mapper; | 
				
			||||
 | 
					import org.apache.ibatis.annotations.Param; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					import java.util.List; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					/** | 
				
			||||
 | 
					 * 消息概要表 | 
				
			||||
 | 
					 * | 
				
			||||
 | 
					 * @author generator generator@elink-cn.com | 
				
			||||
 | 
					 * @since v1.0.0 2021-08-18 | 
				
			||||
 | 
					 */ | 
				
			||||
 | 
					@Mapper | 
				
			||||
 | 
					public interface InfoProfileDao extends BaseDao<InfoProfileEntity> { | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    /** | 
				
			||||
 | 
					     * 我发出的消息列表 | 
				
			||||
 | 
					     * | 
				
			||||
 | 
					     * @param publishStaffId | 
				
			||||
 | 
					     * @return  java.util.List<com.epmet.dataaggre.dto.message.result.MySentResDTO> | 
				
			||||
 | 
					     * @author yinzuomei | 
				
			||||
 | 
					     * @date 2021/8/20 3:46 下午 | 
				
			||||
 | 
					     */ | 
				
			||||
 | 
					    List<MySentResDTO> selectListMySent(@Param("publishStaffId") String publishStaffId,@Param("content") String content); | 
				
			||||
 | 
					} | 
				
			||||
@ -0,0 +1,78 @@ | 
				
			|||||
 | 
					/** | 
				
			||||
 | 
					 * Copyright 2018 人人开源 https://www.renren.io
 | 
				
			||||
 | 
					 * <p> | 
				
			||||
 | 
					 * This program is free software: you can redistribute it and/or modify | 
				
			||||
 | 
					 * it under the terms of the GNU General Public License as published by | 
				
			||||
 | 
					 * the Free Software Foundation, either version 3 of the License, or | 
				
			||||
 | 
					 * (at your option) any later version. | 
				
			||||
 | 
					 * <p> | 
				
			||||
 | 
					 * This program is distributed in the hope that it will be useful, | 
				
			||||
 | 
					 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			||||
 | 
					 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			||||
 | 
					 * GNU General Public License for more details. | 
				
			||||
 | 
					 * <p> | 
				
			||||
 | 
					 * You should have received a copy of the GNU General Public License | 
				
			||||
 | 
					 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||
 | 
					 */ | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					package com.epmet.dataaggre.entity.epmetmessage; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					import com.baomidou.mybatisplus.annotation.TableName; | 
				
			||||
 | 
					import com.epmet.commons.mybatis.entity.BaseEpmetEntity; | 
				
			||||
 | 
					import lombok.Data; | 
				
			||||
 | 
					import lombok.EqualsAndHashCode; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					/** | 
				
			||||
 | 
					 * 消息概要表 | 
				
			||||
 | 
					 * | 
				
			||||
 | 
					 * @author generator generator@elink-cn.com | 
				
			||||
 | 
					 * @since v1.0.0 2021-08-18 | 
				
			||||
 | 
					 */ | 
				
			||||
 | 
					@Data | 
				
			||||
 | 
					@EqualsAndHashCode(callSuper=false) | 
				
			||||
 | 
					@TableName("info_profile") | 
				
			||||
 | 
					public class InfoProfileEntity extends BaseEpmetEntity { | 
				
			||||
 | 
					
 | 
				
			||||
 | 
						private static final long serialVersionUID = 1L; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    /** | 
				
			||||
 | 
					     * 客户id | 
				
			||||
 | 
					     */ | 
				
			||||
 | 
						private String customerId; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    /** | 
				
			||||
 | 
					     * 消息主表的id | 
				
			||||
 | 
					     */ | 
				
			||||
 | 
						private String infoId; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    /** | 
				
			||||
 | 
					     * 发布人id | 
				
			||||
 | 
					     */ | 
				
			||||
 | 
						private String publishStaffId; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    /** | 
				
			||||
 | 
					     * 内容概要,取前100字 | 
				
			||||
 | 
					     */ | 
				
			||||
 | 
						private String content; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    /** | 
				
			||||
 | 
					     * 附件ID,第一个用于展示 | 
				
			||||
 | 
					     */ | 
				
			||||
 | 
						private String firstAttId; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    /** | 
				
			||||
 | 
					     * 应读人数 | 
				
			||||
 | 
					     */ | 
				
			||||
 | 
						private Integer totalReceiver; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    /** | 
				
			||||
 | 
					     * 已读人数,插入是为0 | 
				
			||||
 | 
					     */ | 
				
			||||
 | 
						private Integer readTotal; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    /** | 
				
			||||
 | 
					     * 未读的回复数量:发布人每次查看详情后,置为0;接收人回复一条+1 | 
				
			||||
 | 
					     */ | 
				
			||||
 | 
						private Integer unReadReplyNum; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					} | 
				
			||||
@ -0,0 +1,52 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="UTF-8"?> | 
				
			||||
 | 
					<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<mapper namespace="com.epmet.dataaggre.dao.epmetmessage.InfoProfileDao"> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    <resultMap id="MySentResDTOMap" type="com.epmet.dataaggre.dto.message.result.MySentResDTO"> | 
				
			||||
 | 
					        <id property="infoId" column="id" /> | 
				
			||||
 | 
					        <result property="content" column="content"/> | 
				
			||||
 | 
					        <result property="publishTime" column="CREATED_TIME"/> | 
				
			||||
 | 
					        <result property="totalReceiver" column="total_receiver"/> | 
				
			||||
 | 
					        <result property="readTotal" column="read_total"/> | 
				
			||||
 | 
					        <result property="firstAttId" column="first_att_id"/> | 
				
			||||
 | 
					        <collection property="attachmentList" ofType="com.epmet.commons.tools.dto.form.FileCommonDTO" > | 
				
			||||
 | 
					            <result property="name" column=""/> | 
				
			||||
 | 
					            <result property="url" column=""/> | 
				
			||||
 | 
					            <result property="type" column=""/> | 
				
			||||
 | 
					            <result property="format" column=""/> | 
				
			||||
 | 
					            <result property="size" column=""/> | 
				
			||||
 | 
					            <result property="duration" column=""/> | 
				
			||||
 | 
					        </collection> | 
				
			||||
 | 
					    </resultMap> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    <!--    我发出的消息列表--> | 
				
			||||
 | 
					    <select id="selectListMySent" parameterType="java.lang.String" resultMap="MySentResDTOMap"> | 
				
			||||
 | 
					        select | 
				
			||||
 | 
					            i.id, | 
				
			||||
 | 
					            ip.content, | 
				
			||||
 | 
					            i.CREATED_TIME, | 
				
			||||
 | 
					            ip.total_receiver, | 
				
			||||
 | 
					            ip.read_total, | 
				
			||||
 | 
					            ip.first_att_id, | 
				
			||||
 | 
					            IFNULL(ia.ATTACHMENT_NAME,'') AS name, | 
				
			||||
 | 
					            IFNULL(ia.ATTACHMENT_FORMAT,'') AS format, | 
				
			||||
 | 
					            IFNULL(ia.ATTACHMENT_TYPE,'') AS type, | 
				
			||||
 | 
					            IFNULL(ia.ATTACHMENT_URL,'') AS url, | 
				
			||||
 | 
					            IFNULL(ia.ATTACHMENT_SIZE,'') AS size, | 
				
			||||
 | 
					            IFNULL(ia.DURATION,'') AS duration | 
				
			||||
 | 
					        from info_profile ip | 
				
			||||
 | 
					            inner join info i | 
				
			||||
 | 
					        on(ip.INFO_ID=i.id) | 
				
			||||
 | 
					            left join info_att ia | 
				
			||||
 | 
					            on(ip.first_att_id=ia.id and ia.DEL_FLAG='0') | 
				
			||||
 | 
					        where ip.DEL_FLAG='0' | 
				
			||||
 | 
					          and i.DEL_FLAG='0' | 
				
			||||
 | 
					          and i.publish_staff_id=#{publishStaffId} | 
				
			||||
 | 
					         <if test="null != content and content !=''"> | 
				
			||||
 | 
					             i.content like concat('%',#{content},'%') | 
				
			||||
 | 
					         </if> | 
				
			||||
 | 
					        order by i.CREATED_TIME desc | 
				
			||||
 | 
					    </select> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					</mapper> | 
				
			||||
@ -1 +1,2 @@ | 
				
			|||||
alter table info add fulltext index idx_fulltext_infocontent(content); | 
					alter table info add fulltext index idx_fulltext_infocontent(content) WITH PARSER ngram; | 
				
			||||
 | 
					drop index idx_fulltext_infocontent on info; | 
				
			||||
 | 
				
			|||||
					Loading…
					
					
				
		Reference in new issue