Browse Source

报事-首次查看事件-两端通用

dev_shibei_match
yinzuomei 4 years ago
parent
commit
de8f78f0d2
  1. 28
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/UpdateViewTimeFormDTO.java
  2. 2
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ResiEventAction.java
  3. 12
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ResiEventController.java
  4. 11
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ResiEventMentionDao.java
  5. 16
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ResiEventOperationLogDao.java
  6. 13
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ResiEventReportOrgDao.java
  7. 2
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ResiEventService.java
  8. 28
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java
  9. 4
      epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.16__create_resievent_tables.sql
  10. 11
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventMentionDao.xml
  11. 8
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventOperationLogDao.xml
  12. 11
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventReportOrgDao.xml

28
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/UpdateViewTimeFormDTO.java

@ -9,21 +9,35 @@ import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2021/8/3 10:55 上午
* @DESC
* @DESC 报事-首次查看事件-两端通用
*/
@Data
public class UpdateViewTimeFormDTO implements Serializable {
private static final long serialVersionUID = 7104400078458366322L;
public interface AddUserInternalGroup {
}
public interface GovInternalGroup {
}
public interface UpdateViewTimeForm{}
// 居民端:resi_user;工作端:staff
@NotBlank(message = "viewType不能为空", groups = AddUserInternalGroup.class)
private String viewType;
@NotBlank(message = "eventId不能为空", groups = AddUserInternalGroup.class)
private String eventId;
@NotBlank(message = "orgId不能为空", groups = GovInternalGroup.class)
private String orgId;
//以下参数从token中获取
/**
* 居民端用户:resi_user工作人员:staff
* 当前用户id
*/
@NotBlank(message = "viewType不能为空",groups = UpdateViewTimeForm.class)
private String viewType;
@NotBlank(message = "userId不能为空", groups = AddUserInternalGroup.class)
private String userId;
@NotBlank(message = "事件ID不能为空",groups = UpdateViewTimeForm.class)
private String eventId;
/**
* 当前客户id
*/
@NotBlank(message = "customerId不能为空", groups = AddUserInternalGroup.class)
private String customerId;
}

2
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ResiEventAction.java

@ -22,7 +22,7 @@ public enum ResiEventAction {
SHIFIT_PROJECT ( "shift_project","立项"),
CLOSE_CASE ( "close_case","办结"),
CHOOSE_RESOLVE ( "choose_resolve","选择是否解决"),
READ( "read","查看事件");
READ_FIRST( "read_first","首次查看事件");
private String code;

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

@ -21,6 +21,7 @@ import com.epmet.commons.tools.annotation.LoginUser;
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.constant.EventConstant;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.service.ResiEventService;
@ -139,14 +140,19 @@ public class ResiEventController {
}
/**
* @Description 查看报事时,更新时间操作
* @Description 报事-首次查看事件-两端通用
* @Param formDTO
* @author zxc
* @date 2021/8/3 11:01 上午
*/
@PostMapping("updateviewtime")
public Result updateViewTime(@RequestBody UpdateViewTimeFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, UpdateViewTimeFormDTO.UpdateViewTimeForm.class);
public Result updateViewTime(@LoginUser TokenDto tokenDto,@RequestBody UpdateViewTimeFormDTO formDTO){
formDTO.setUserId(tokenDto.getUserId());
formDTO.setCustomerId(tokenDto.getCustomerId());
ValidatorUtils.validateEntity(formDTO,UpdateViewTimeFormDTO.AddUserInternalGroup.class);
if(EventConstant.STAFF.equals(formDTO.getViewType())){
ValidatorUtils.validateEntity(formDTO,UpdateViewTimeFormDTO.GovInternalGroup.class);
}
resiEventService.updateViewTime(formDTO);
return new Result();
}

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

@ -44,4 +44,15 @@ public interface ResiEventMentionDao extends BaseDao<ResiEventMentionEntity> {
* @date 2021/8/4 9:54
*/
List<UserMentionResultDTO> selectMentionList(@Param("userId")String userId, @Param("readFlag")String readFlag);
/**
* 人大代表从未读-已读首次查看事件
*
* @param eventId
* @param userId
* @return int
* @author yinzuomei
* @date 2021/8/4 16:37
*/
int updateReadFlag(@Param("eventId") String eventId, @Param("userId")String userId);
}

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

@ -20,6 +20,9 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.ResiEventOperationLogEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 事件操作日志表
@ -29,5 +32,16 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface ResiEventOperationLogDao extends BaseDao<ResiEventOperationLogEntity> {
/**
* 查询事件操作日志
*
* @param eventId
* @param userId
* @param actionCode
* @return com.epmet.entity.ResiEventOperationLogEntity
* @author yinzuomei
* @date 2021/8/4 16:44
*/
List<ResiEventOperationLogEntity> selectByUserAction(@Param("eventId") String eventId, @Param("userId")String userId, @Param("actionCode")String actionCode);
}

13
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ResiEventReportOrgDao.java

@ -20,6 +20,7 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.ResiEventReportOrgEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 事件相关组织表
@ -29,5 +30,15 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface ResiEventReportOrgDao extends BaseDao<ResiEventReportOrgEntity> {
/**
* 工作人员从待处理=处理中
*
* @param eventId
* @param orgId
* @return int
* @author yinzuomei
* @date 2021/8/4 16:40
*/
int updateReadFlag(@Param("eventId") String eventId, @Param("orgId") String orgId,@Param("userId") String userId);
}

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

@ -24,7 +24,7 @@ public interface ResiEventService extends BaseService<ResiEventEntity> {
List<EventListResultDTO> eventList(EventListFormDTO formDTO);
/**
* @Description 查看报事时,更新时间操作
* @Description 报事-首次查看事件-两端通用
* @Param formDTO
* @author zxc
* @date 2021/8/3 11:01 上午

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

@ -102,14 +102,38 @@ public class ResiEventServiceImpl extends BaseServiceImpl<ResiEventDao, ResiEven
}
/**
* @Description 查看报事时,更新时间操作
* @Description 报事-首次查看事件-两端通用
* @Param formDTO
* @author zxc
* @date 2021/8/3 11:01 上午
*/
@Override
public void updateViewTime(UpdateViewTimeFormDTO formDTO) {
ResiEventEntity eventEntity=baseDao.selectById(formDTO.getEventId());
if(null!=eventEntity){
eventEntity.setReadFlag(true);
baseDao.updateById(eventEntity);
}
// 居民端:resi_user;工作端:staff
if(EventConstant.RESI_USER.equals(formDTO.getViewType())){
resiEventMentionDao.updateReadFlag(formDTO.getEventId(),formDTO.getUserId());
}else if(EventConstant.STAFF.equals(formDTO.getViewType())){
resiEventReportOrgDao.updateReadFlag(formDTO.getEventId(),formDTO.getOrgId(),formDTO.getUserId());
}
// 插入查看日志
List<ResiEventOperationLogEntity> logEntityList = resiEventOperationLogDao.selectByUserAction(formDTO.getEventId(), formDTO.getUserId(), ResiEventAction.READ_FIRST.getCode());
if (CollectionUtils.isEmpty(logEntityList)) {
ResiEventOperationLogEntity publishLog=new ResiEventOperationLogEntity();
publishLog.setCustomerId(formDTO.getCustomerId());
publishLog.setResiEventId(formDTO.getEventId());
publishLog.setUserId(formDTO.getUserId());
publishLog.setUserIdentity(formDTO.getViewType());
publishLog.setActionCode(ResiEventAction.READ_FIRST.getCode());
publishLog.setActionDesc(ResiEventAction.READ_FIRST.getDesc());
publishLog.setOperateTime(new Date());
publishLog.setCreatedTime(publishLog.getOperateTime());
resiEventOperationLogDao.insert(publishLog);
}
}
/**

4
epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.16__create_resievent_tables.sql

@ -115,8 +115,8 @@ CREATE TABLE `resi_event_operation_log` (
`RESI_EVENT_ID` varchar(64) NOT NULL COMMENT '事件id',
`USER_ID` varchar(64) NOT NULL COMMENT '用户id',
`USER_IDENTITY` varchar(32) NOT NULL COMMENT '居民端用户:resi_user;工作人员:staff;报事人:report_user',
`ACTION_CODE` varchar(32) NOT NULL COMMENT '1、发布事件:publish;\r\n2、撤回事件:recall;\r\n3、复:reply;\r\n4、立项:shift_project;\r\n5、办结:close_case;\r\n6、选择是否已解决:choose_resolve;\r\n7、查看阅读事件:read:人大代表未读=>已读;工作人员待处理=>处理中;\r\n',
`ACTION_DESC` varchar(32) NOT NULL COMMENT '1、发布事件:publish;\r\n2、撤回事件:recall;\r\n3、复:reply;\r\n4、立项:shift_project;\r\n5、办结:close_case;\r\n6、选择是否已解决:choose_resolve;\r\n7、查看阅读事件:read:人大代表未读=>已读;工作人员待处理=>处理中;',
`ACTION_CODE` varchar(32) NOT NULL COMMENT '1、发布事件:publish;\r\n2、撤回事件:recall;\r\n3、复:reply;\r\n4、立项:shift_project;\r\n5、办结:close_case;\r\n6、选择是否已解决:choose_resolve;\r\n7、首次查看阅读事件:read_first:人大代表未读=>已读;工作人员待处理=>处理中;\r\n',
`ACTION_DESC` varchar(32) NOT NULL COMMENT '1、发布事件:publish;\r\n2、撤回事件:recall;\r\n3、复:reply;\r\n4、立项:shift_project;\r\n5、办结:close_case;\r\n6、选择是否已解决:choose_resolve;\r\n7、首次查看阅读事件:read_first:人大代表未读=>已读;工作人员待处理=>处理中;',
`OPERATE_TIME` datetime NOT NULL COMMENT '操作时间',
`DEL_FLAG` varchar(1) NOT NULL DEFAULT '0' COMMENT '删除标识 1删除;0未删除',
`REVISION` int(11) NOT NULL COMMENT '乐观锁',

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

@ -54,4 +54,15 @@
</if>
</select>
<!-- 人大代表从未读-》已读,首次查看事件 -->
<update id="updateReadFlag" parameterType="map">
UPDATE resi_event_mention
SET READ_FLAG = 'read',
UPDATED_BY = #{userId},
UPDATED_TIME = NOW()
WHERE
RESI_EVENT_ID = #{eventId}
AND USER_ID = #{userId}
AND DEL_FLAG = '0'
</update>
</mapper>

8
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventOperationLogDao.xml

@ -2,7 +2,13 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.ResiEventOperationLogDao">
<select id="selectByUserAction" parameterType="map" resultType="com.epmet.entity.ResiEventOperationLogEntity">
select * from resi_event_operation_log m
where m.DEL_FLAG='0'
and m.RESI_EVENT_ID=#{eventId}
and m.USER_ID=#{userId}
and m.ACTION_CODE=#{actionCode}
</select>
</mapper>

11
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventReportOrgDao.xml

@ -4,5 +4,14 @@
<mapper namespace="com.epmet.dao.ResiEventReportOrgDao">
<update id="updateReadFlag" parameterType="map">
UPDATE resi_event_report_org
SET READ_FLAG = 'read',
UPDATED_BY = #{userId},
UPDATED_TIME = NOW()
WHERE
RESI_EVENT_ID = #{eventId}
AND ORG_ID = #{orgId}
AND DEL_FLAG = '0'
</update>
</mapper>
Loading…
Cancel
Save