Browse Source

个人中心未读、已读

dev_shibei_match
yinzuomei 4 years ago
parent
commit
f1b87860d4
  1. 44
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/UserMentionFormDTO.java
  2. 55
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/UserMentionResultDTO.java
  3. 22
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ResiEventController.java
  4. 16
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ResiEventMentionDao.java
  5. 15
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ResiEventService.java
  6. 16
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java
  7. 3
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventDao.xml
  8. 49
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventMentionDao.xml

44
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/UserMentionFormDTO.java

@ -0,0 +1,44 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* 我要报事-人大代表未读/已读列表入参
*
* @author yinzuomei@elink-cn.com
* @date 2021/8/4 9:34
*/
@Data
public class UserMentionFormDTO implements Serializable {
private static final long serialVersionUID = 7548058964554418080L;
public interface AddUserInternalGroup {
}
/**
* 未读un_read;已读read
*/
@NotBlank(message = "readFlag不能为空", groups = AddUserInternalGroup.class)
private String readFlag;
@NotNull(message = "pageNo不能为空", groups = AddUserInternalGroup.class)
private Integer pageNo;
@NotNull(message = "pageSize不能为空", groups = AddUserInternalGroup.class)
private Integer pageSize;
//以下参数从token中获取
/**
* 当前用户id
*/
@NotBlank(message = "userId不能为空", groups = AddUserInternalGroup.class)
private String userId;
/**
* 当前客户id
*/
@NotBlank(message = "customerId不能为空", groups = AddUserInternalGroup.class)
private String customerId;
}

55
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/UserMentionResultDTO.java

@ -0,0 +1,55 @@
package com.epmet.dto.result;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 我要报事-人大代表未读/已读列表返参
*
* @author yinzuomei@elink-cn.com
* @date 2021/8/4 9:44
*/
@Data
public class UserMentionResultDTO implements Serializable {
private static final long serialVersionUID = 8171079006237395425L;
/**
* 事件id
*/
private String resiEventId;
/**
* 事件内容
*/
private String eventContent;
/**
* 图片列表可为空
*/
private List<String> imgList;
/**
* true展示false不展示
*/
private Boolean redDot;
/**
* 处理中processing已办结closed_case
*/
private String status;
/**
* true:已转项目false未立项
*/
private Boolean shiftProject;
/**
* 列表显示时间用此列yyyy-MM-dd HH:mm:ss处理中上报事件时间处理中最新一次处理事件已办结办结时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date showTime;
}

22
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ResiEventController.java

@ -22,10 +22,7 @@ import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.*;
import com.epmet.dto.result.EventDetailResultDTO;
import com.epmet.dto.result.EventListResultDTO;
import com.epmet.dto.result.MyReportedResultDTO;
import com.epmet.dto.result.ResiEventIdDTO;
import com.epmet.dto.result.*;
import com.epmet.service.ResiEventService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
@ -154,6 +151,21 @@ public class ResiEventController {
return new Result();
}
/**
* 我要报事-人大代表未读/已读列表
*
* @param tokenDto
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.result.MyReportedResultDTO>>
* @author yinzuomei
* @date 2021/8/4 9:40
*/
@PostMapping("mentionlist")
public Result<List<UserMentionResultDTO>> mentionList(@LoginUser TokenDto tokenDto, @RequestBody UserMentionFormDTO formDTO){
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(formDTO,UserMentionFormDTO.AddUserInternalGroup.class);
return new Result<List<UserMentionResultDTO>>().ok(resiEventService.mentionList(formDTO));
}
}

16
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ResiEventMentionDao.java

@ -18,8 +18,12 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.UserMentionResultDTO;
import com.epmet.entity.ResiEventMentionEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 事件被@人表
@ -29,5 +33,15 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface ResiEventMentionDao extends BaseDao<ResiEventMentionEntity> {
/**
* 人大代表未读已读列表
*
* @param userId
* @param readFlag
* @return java.util.List<com.epmet.dto.result.UserMentionResultDTO>
* @author yinzuomei
* @date 2021/8/4 9:54
*/
List<UserMentionResultDTO> selectMentionList(@Param("userId")String userId, @Param("readFlag")String readFlag);
}

15
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ResiEventService.java

@ -2,11 +2,8 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.dto.form.*;
import com.epmet.dto.result.EventDetailResultDTO;
import com.epmet.dto.result.EventListResultDTO;
import com.epmet.dto.result.*;
import com.epmet.entity.ResiEventEntity;
import com.epmet.dto.result.MyReportedResultDTO;
import com.epmet.dto.result.ResiEventIdDTO;
import java.util.List;
@ -81,4 +78,14 @@ public interface ResiEventService extends BaseService<ResiEventEntity> {
* @date 2021/8/3 14:28
*/
List<MyReportedResultDTO> queryMyReported(MyReportedFormDTO formDTO);
/**
* 我要报事-人大代表未读/已读列表
*
* @param formDTO
* @return java.util.List<com.epmet.dto.result.UserMentionResultDTO>
* @author yinzuomei
* @date 2021/8/4 9:41
*/
List<UserMentionResultDTO> mentionList(UserMentionFormDTO formDTO);
}

16
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java

@ -379,5 +379,21 @@ public class ResiEventServiceImpl extends BaseServiceImpl<ResiEventDao, ResiEven
return result.getList();
}
/**
* 我要报事-人大代表未读/已读列表
*
* @param formDTO
* @return java.util.List<com.epmet.dto.result.UserMentionResultDTO>
* @author yinzuomei
* @date 2021/8/4 9:41
*/
@Override
public List<UserMentionResultDTO> mentionList(UserMentionFormDTO formDTO) {
PageInfo<UserMentionResultDTO> result = PageHelper.startPage(formDTO.getPageNo(),
formDTO.getPageSize()).doSelectPageInfo(() -> resiEventMentionDao.selectMentionList(formDTO.getUserId(),
formDTO.getReadFlag()));
return result.getList();
}
}

3
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventDao.xml

@ -74,7 +74,8 @@
from resi_event re
left join resi_event_attachment rea
on(re.id=rea.RESI_EVENT_ID
and rea.DEL_FLAG='0')
and rea.DEL_FLAG='0'
and rea.ATTACHMENT_TYPE='image')
where re.DEL_FLAG='0'
and re.RECALL_FLAG='0'
and re.REPORT_USER_ID=#{userId}

49
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventMentionDao.xml

@ -3,6 +3,55 @@
<mapper namespace="com.epmet.dao.ResiEventMentionDao">
<resultMap id="UserMentionResultDTOMap" type="com.epmet.dto.result.UserMentionResultDTO">
<id property="resiEventId" column="RESI_EVENT_ID"/>
<result property="eventContent" column="EVENT_CONTENT"/>
<result property="redDot" column="RED_DOT" />
<result property="status" column="STATUS" />
<result property="shiftProject" column="SHIFT_PROJECT" />
<result property="showTime" column="LATEST_OPERATED_TIME" />
<collection property="imgList" ofType="java.lang.String">
<constructor>
<arg column="img_url"/>
</constructor>
</collection>
</resultMap>
<select id="selectMentionList" parameterType="map" resultMap="UserMentionResultDTOMap">
SELECT
rem.RESI_EVENT_ID,
re.EVENT_CONTENT,
(
case when #{readFlag} ='un_read' then '0'
else rem.RED_DOT
end
)as RED_DOT,
re.`STATUS`,
re.SHIFT_PROJECT,
re.LATEST_OPERATED_TIME,
rea.ATTACHMENT_URL as img_url
FROM
resi_event_mention rem
LEFT JOIN resi_event re
ON ( rem.RESI_EVENT_ID = re.id )
LEFT JOIN resi_event_attachment rea
ON ( re.id = rea.RESI_EVENT_ID
AND rea.DEL_FLAG = '0'
AND rea.ATTACHMENT_TYPE = 'image')
WHERE
rem.DEL_FLAG = '0'
AND re.DEL_FLAG = '0'
AND re.RECALL_FLAG = '0'
AND rem.USER_ID = #{userId}
AND rem.READ_FLAG =#{readFlag}
<if test='readFlag == "un_read" '>
ORDER BY
re.CREATED_TIME ASC
</if>
<if test='readFlag == "read" '>
ORDER BY
re.LATEST_OPERATED_TIME DESC
</if>
</select>
</mapper>
Loading…
Cancel
Save