Browse Source

Merge remote-tracking branch 'origin/dev_resi_event' into develop

dev_shibei_match
yinzuomei 4 years ago
parent
commit
3f45136fcd
  1. 4
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/EventProjectInfoDTO.java
  2. 18
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EventDetailResultDTO.java
  3. 9
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java
  4. 9
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ResiEventDao.java
  5. 10
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ResiEventMentionDao.java
  6. 10
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ResiEventReportOrgDao.java
  7. 26
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ResiEventReplyServiceImpl.java
  8. 47
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java
  9. 13
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml
  10. 40
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventDao.xml
  11. 13
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventMentionDao.xml
  12. 9
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventReportOrgDao.xml

4
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/EventProjectInfoDTO.java

@ -1,5 +1,6 @@
package com.epmet.dto;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
@ -29,6 +30,9 @@ public class EventProjectInfoDTO implements Serializable {
*/
private String operationTime;
@JsonIgnore
private String userId;
/**
* 报事说明
*/

18
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EventDetailResultDTO.java

@ -1,6 +1,7 @@
package com.epmet.dto.result;
import com.epmet.dto.EventProjectInfoDTO;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
@ -37,6 +38,9 @@ public class EventDetailResultDTO implements Serializable {
*/
private String gridName;
@JsonIgnore
private String gridId;
/**
* 是否办结truefalse
*/
@ -62,11 +66,25 @@ public class EventDetailResultDTO implements Serializable {
*/
private List<String> eventPerson;
/**
* 报事人名字
*/
private String eventPeopleName;
@JsonIgnore
private String eventUserId;
/**
* 项目信息
*/
private EventProjectInfoDTO projectInfo;
@JsonIgnore
private String projectId;
@JsonIgnore
private Boolean isProject;
public EventDetailResultDTO() {
this.eventTime = "";
this.eventContent = "";

9
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java

@ -18,6 +18,7 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.EventProjectInfoDTO;
import com.epmet.dto.ProjectDTO;
import com.epmet.dto.ProjectStaffDTO;
import com.epmet.dto.form.LatestListFormDTO;
@ -206,4 +207,12 @@ public interface ProjectDao extends BaseDao<ProjectEntity> {
* @return java.util.List<com.epmet.dto.result.UnResolvedResultDTO>
*/
List<UnResolvedResultDTO> selectUnResolvedListByGrid(@Param("gridId")String gridId);
/**
* @Description 查询报事转项目详情
* @Param projectId
* @author zxc
* @date 2021/8/4 2:43 下午
*/
EventProjectInfoDTO selectEventProjectInfo(@Param("projectId")String projectId);
}

9
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ResiEventDao.java

@ -18,6 +18,7 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.EventDetailResultDTO;
import com.epmet.dto.result.EventListResultDTO;
import com.epmet.dto.result.MyReportedResultDTO;
import com.epmet.entity.ResiEventEntity;
@ -54,4 +55,12 @@ public interface ResiEventDao extends BaseDao<ResiEventEntity> {
* @date 2021/8/3 23:21
*/
List<MyReportedResultDTO> queryMyReported(@Param("userId") String userId, @Param("statusCondition")String statusCondition);
/**
* @Description 查询报事详情
* @Param eventId
* @author zxc
* @date 2021/8/4 2:16 下午
*/
EventDetailResultDTO selectEventDetail(@Param("eventId")String eventId);
}

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

@ -55,4 +55,14 @@ public interface ResiEventMentionDao extends BaseDao<ResiEventMentionEntity> {
* @date 2021/8/4 16:37
*/
int updateReadFlag(@Param("eventId") String eventId, @Param("userId")String userId);
/**
* 展示红点
*
* @param resiEventId
* @return int
* @author yinzuomei
* @date 2021/8/4 17:41
*/
int updateRedDotShow(@Param("resiEventId") String resiEventId,@Param("excludeUserId")String excludeUserId);
}

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

@ -41,4 +41,14 @@ public interface ResiEventReportOrgDao extends BaseDao<ResiEventReportOrgEntity>
* @date 2021/8/4 16:40
*/
int updateReadFlag(@Param("eventId") String eventId, @Param("orgId") String orgId,@Param("userId") String userId);
/**
* 展示红点
*
* @param resiEventId
* @return int
* @author yinzuomei
* @date 2021/8/4 17:41
*/
int updateRedDotShow(String resiEventId);
}

26
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ResiEventReplyServiceImpl.java

@ -27,9 +27,7 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.ScanContentUtils;
import com.epmet.constant.EventConstant;
import com.epmet.constant.ResiEventAction;
import com.epmet.dao.ResiEventDao;
import com.epmet.dao.ResiEventOperationLogDao;
import com.epmet.dao.ResiEventReplyDao;
import com.epmet.dao.*;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.form.ReplyFormDTO;
import com.epmet.dto.form.ReplyListFormDTO;
@ -66,6 +64,10 @@ public class ResiEventReplyServiceImpl extends BaseServiceImpl<ResiEventReplyDao
@Autowired
private ResiEventOperationLogDao resiEventOperationLogDao;
@Autowired
private ResiEventMentionDao resiEventMentionDao;
@Autowired
private ResiEventReportOrgDao resiEventReportOrgDao;
@Autowired
private GovOrgOpenFeignClient govOrgOpenFeignClient;
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@ -130,6 +132,12 @@ public class ResiEventReplyServiceImpl extends BaseServiceImpl<ResiEventReplyDao
reCallLog.setActionDesc(ResiEventAction.REPLY.getDesc());
reCallLog.setOperateTime(resiEventReplyEntity.getCreatedTime());
resiEventOperationLogDao.insert(reCallLog);
// 1、更新被@的人的红点置为显示
resiEventMentionDao.updateRedDotShow(replyFormDTO.getResiEventId(),null);
// 2、更新报事人的红点置为显示
eventEntity.setRedDot(true);
resiEventDao.updateById(eventEntity);
// 3、组织改为不显示已经在查看详情中操作了 ,目前只有一个组织,如果后面可以报给多个组织,这里入参要增加orgId
}
private ResiEventEntity queryResiEntity(String resiEventId) {
@ -186,6 +194,11 @@ public class ResiEventReplyServiceImpl extends BaseServiceImpl<ResiEventReplyDao
reCallLog.setActionDesc(ResiEventAction.REPLY.getDesc());
reCallLog.setOperateTime(resiEventReplyEntity.getCreatedTime());
resiEventOperationLogDao.insert(reCallLog);
// 1、更新被@的人的红点置为显示
resiEventMentionDao.updateRedDotShow(formDTO.getResiEventId(),null);
// 2、更新报事人的红点置为不显示已经在查看详情中操作了
// 3、组织改为显示
resiEventReportOrgDao.updateRedDotShow(formDTO.getResiEventId());
}
/**
@ -227,6 +240,13 @@ public class ResiEventReplyServiceImpl extends BaseServiceImpl<ResiEventReplyDao
reCallLog.setActionDesc(ResiEventAction.REPLY.getDesc());
reCallLog.setOperateTime(resiEventReplyEntity.getCreatedTime());
resiEventOperationLogDao.insert(reCallLog);
// 1、当前被艾特的人红点不展示已经在查看详情接口操作了,其他被@的人的红点置为显示
resiEventMentionDao.updateRedDotShow(replyFormDTO.getResiEventId(),replyFormDTO.getUserId());
// 2、更新报事人的红点置为显示
eventEntity.setRedDot(true);
resiEventDao.updateById(eventEntity);
// 3、组织改为显示
resiEventReportOrgDao.updateRedDotShow(replyFormDTO.getResiEventId());
}
private void scanReplyContent(String content) {

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

@ -35,11 +35,13 @@ import com.epmet.commons.tools.utils.ScanContentUtils;
import com.epmet.constant.EventConstant;
import com.epmet.constant.ResiEventAction;
import com.epmet.dao.*;
import com.epmet.dto.EventProjectInfoDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.*;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.feign.GovProjectOpenFeignClient;
import com.epmet.service.ResiEventService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
@ -82,6 +84,8 @@ public class ResiEventServiceImpl extends BaseServiceImpl<ResiEventDao, ResiEven
private ResiEventMentionDao resiEventMentionDao;
@Autowired
private ResiEventOperationLogDao resiEventOperationLogDao;
@Autowired
private ProjectDao projectDao;
/**
* @Description 群众直报待处理处理中已办结列表
@ -144,8 +148,43 @@ public class ResiEventServiceImpl extends BaseServiceImpl<ResiEventDao, ResiEven
*/
@Override
public EventDetailResultDTO eventDetail(EventDetailFormDTO formDTO) {
return null;
EventDetailResultDTO dto = baseDao.selectEventDetail(formDTO.getEventId());
if (null == dto){
return new EventDetailResultDTO();
}
// 已转项目
if (dto.getIsProject()){
// 查询项目信息
EventProjectInfoDTO eventProjectInfo = projectDao.selectEventProjectInfo(dto.getProjectId());
// 查询操作人的名字
Result<String> staffName = govOrgOpenFeignClient.staffName(eventProjectInfo.getUserId());
if (!staffName.success()){
throw new RenException("查询工作人员名字失败");
}
eventProjectInfo.setOperationName(staffName.getData());
dto.setProjectInfo(eventProjectInfo);
}
// 查询报事人名字
List<String> userIdList = new ArrayList<>();
userIdList.add(dto.getEventUserId());
Result<List<UserBaseInfoResultDTO>> userResult=epmetUserOpenFeignClient.queryUserBaseInfo(userIdList);
if(!userResult.success()|| CollectionUtils.isEmpty(userResult.getData())){
throw new RenException("查询当前用户信息异常");
}
userResult.getData().forEach(u -> {
if (u.getUserId().equals(dto.getEventUserId())){
dto.setEventPeopleName(u.getShowName());
}
});
// 查询所属网格
Result<String> gridNameResult = govOrgOpenFeignClient.gridName(dto.getGridId());
if (!gridNameResult.success()){
throw new RenException("查询所属网格失败");
}
dto.setGridName(gridNameResult.getData());
return dto;
}
/**
* 我要报事-提交
*
@ -230,7 +269,8 @@ public class ResiEventServiceImpl extends BaseServiceImpl<ResiEventDao, ResiEven
mentionEntity.setAgencyId(npc.getAgencyId());
mentionEntity.setPids(npc.getPids());
mentionEntity.setReadFlag(EventConstant.UN_READ);
mentionEntity.setRedDot(true);
//默认不展示,因为此时在未读列表中
mentionEntity.setRedDot(false);
list.add(mentionEntity);
});
return list;
@ -245,7 +285,8 @@ public class ResiEventServiceImpl extends BaseServiceImpl<ResiEventDao, ResiEven
entity.setOrgType(org.getOrgLevel());
//默认是未读
entity.setOrgRead(EventConstant.UN_READ);
entity.setRedDot(true);
//默认是不展示红点,因为此时在待处理中。
entity.setRedDot(false);
list.add(entity);
});
return list;

13
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml

@ -379,4 +379,17 @@
ORDER BY a.UPDATED_TIME DESC
</select>
<!-- 查询报事转项目详情 -->
<select id="selectEventProjectInfo" resultType="com.epmet.dto.EventProjectInfoDTO">
SELECT
p.ID AS projectId,
IFNULL(DATE_FORMAT(p.CREATED_TIME,'%Y-%m-%d %h-%m-%s'),'') AS operationTime,
p.CREATED_BY AS userId,
IFNULL(pp.PUBLIC_REPLY,'') AS projectDeclare
FROM project p
LEFT JOIN project_process pp ON (pp.PROJECT_ID = p.ID AND pp.DEL_FLAG = '0')
WHERE p.DEL_FLAG = '0'
AND p.ID = #{projectId}
</select>
</mapper>

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

@ -88,4 +88,44 @@
</if>
order by re.LATEST_OPERATED_TIME desc
</select>
<!-- 报事详情 -->
<resultMap id="selectEventDetailMap" type="com.epmet.dto.result.EventDetailResultDTO">
<result property="isProject" column="isProject"/>
<result property="eventTime" column="eventTime"/>
<result property="eventContent" column="eventContent"/>
<result property="eventAddress" column="eventAddress"/>
<result property="isClosed" column="isClosed"/>
<result property="isResolve" column="isResolve"/>
<result property="isRollback" column="isRollback"/>
<result property="projectId" column="projectId"/>
<result property="gridId" column="gridId"/>
<result property="eventUserId" column="eventUserId"/>
<collection property="eventImgs" ofType="java.lang.String">
<result column="eventImg"/>
</collection>
<collection property="eventPerson" ofType="java.lang.String">
<result column="person"/>
</collection>
</resultMap>
<select id="selectEventDetail" resultMap="selectEventDetailMap">
SELECT
IFNULL(DATE_FORMAT(re.CREATED_TIME,'%Y-%m-%d %H:%i:%s'),'') AS eventTime,
IFNULL(re.EVENT_CONTENT,'') AS eventContent,
IFNULL(re.ADDRESS,'') AS eventAddress,
(CASE WHEN re.`STATUS` = 'processing' THEN FALSE WHEN re.`STATUS` = 'closed_case' THEN TRUE ELSE FALSE END) AS isClosed,
(IF(re.`STATUS` = 'processing', FALSE, (CASE WHEN re.RESOLVE_STATUS = 'resolved' THEN TRUE ELSE FALSE END))) AS isResolve,
(CASE WHEN re.READ_FLAG = 1 THEN FALSE ELSE TRUE END) AS isRollback,
(CASE WHEN re.SHIFT_PROJECT = 1 THEN TRUE ELSE FALSE END) AS isProject,
IFNULL(re.project_id,'') AS projectId,
IFNULL(ea.ATTACHMENT_URL,'') AS eventImg,
concat('人大代表-',IFNULL(em.USER_SHOW_NAME,'')) AS person,
re.GRID_ID AS gridId,
re.CREATED_BY AS eventUserId
FROM resi_event re
LEFT JOIN resi_event_attachment ea ON (ea.RESI_EVENT_ID = re.ID AND ea.DEL_FLAG = '0')
LEFT JOIN resi_event_mention em ON (em.RESI_EVENT_ID = re.ID AND em.DEL_FLAG = '0')
WHERE re.DEL_FLAG = '0'
AND re.ID = #{eventId}
</select>
</mapper>

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

@ -65,4 +65,17 @@
AND USER_ID = #{userId}
AND DEL_FLAG = '0'
</update>
<!-- 除了当前用户,都置为显示红点 -->
<update id="updateRedDotShow" parameterType="map">
UPDATE resi_event_mention
SET RED_DOT = '1',
UPDATED_TIME = NOW()
WHERE
RESI_EVENT_ID = #{resiEventId}
<if test="excludeUserId != null and excludeUserId.trim() != ''">
and user_id !=#{excludeUserId}
</if>
AND DEL_FLAG = '0'
</update>
</mapper>

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

@ -14,4 +14,13 @@
AND ORG_ID = #{orgId}
AND DEL_FLAG = '0'
</update>
<update id="updateRedDotShow" parameterType="java.lang.String">
UPDATE resi_event_report_org
SET RED_DOT = '1',
UPDATED_TIME = NOW()
WHERE
RESI_EVENT_ID = #{resiEventId}
AND DEL_FLAG = '0'
</update>
</mapper>
Loading…
Cancel
Save