diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java index 3a213b5191..015095cc83 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java @@ -95,6 +95,9 @@ public enum EpmetErrorCode { IMG_SCAN_FAILED(8504,"图片审核失败,请重新上传"), PROJECT_IS_CLOSED(8601,"项目已结案"), VOTE_ISSUE_PLEASE(8602,"请先选择支持或反对,再发表您的想法"), + RESI_EVENT_READ(8603,"当前事件正在处理中,不能撤回"), + RESI_EVENT_NOT_MY_REPORTED(8604,"当前事件不是您发布的,无权操作"), + // 爱心互助 居民端 NOT_IN_THE_SIGN_IN_RANGE(8510, "您还未进入指定的签到范围~"), // 活动报名失败,弹窗:志愿者认证 diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/EventConstant.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/EventConstant.java index 112ad2fa36..2608de1e9f 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/EventConstant.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/EventConstant.java @@ -14,7 +14,33 @@ public interface EventConstant { String EVENT_UN_DISPOSED = "undisposed"; String EVENT_TRANSFERRED = "transferred"; + + /** + * 事件状态resi_event.status:处理中:processing;已办结:closed_case + */ String EVENT_STATUS_PROCESSING="processing"; + String EVENT_STATUS_CLOSED_CASE="closed_case"; + String READ="read"; String UN_READ="un_read"; + + /** + * 事件@人员表,用户身份 + * resi_event_mention.user_type + */ + String NPC_USER="npc_user"; + + /** + * 操作日志表用户来源:resi_event_operation_log.userIdentity + * 居民端用户:resi_user;工作人员:staff;报事人:report_user + */ + String RESI_USER="resi_user"; + String STAFF="staff"; + String REPORT_USER="report_user"; + + /** + * 事件是否解决:已解决 resolved,未解决 un_solved + */ + String RESOLVED="resolved"; + String UN_SOLVED="un_solved"; } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ResiEventController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ResiEventController.java index c1b9818a91..d453e6ecd3 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ResiEventController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ResiEventController.java @@ -153,4 +153,7 @@ public class ResiEventController { resiEventService.updateViewTime(formDTO); return new Result(); } + + + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ResiEventDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ResiEventDao.java index 1f5bc47f00..95f95f4959 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ResiEventDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ResiEventDao.java @@ -19,6 +19,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.result.EventListResultDTO; +import com.epmet.dto.result.MyReportedResultDTO; import com.epmet.entity.ResiEventEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -42,5 +43,15 @@ public interface ResiEventDao extends BaseDao { * @date 2021/8/3 4:21 下午 */ List eventUnDisposedList(@Param("orgId")String orgId,@Param("eventType")String eventType); - + + /** + * 居民端我的报事列表查询 + * + * @param userId 报事人 + * @param statusCondition 未处理:un_read;处理中:processing;已办结:closed_case + * @return java.util.List + * @author yinzuomei + * @date 2021/8/3 23:21 + */ + List queryMyReported(@Param("userId") String userId, @Param("statusCondition")String statusCondition); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java index 4c1a68f950..935e56abe6 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java @@ -17,7 +17,9 @@ package com.epmet.service.impl; +import com.alibaba.fastjson.JSON; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.form.FileCommonDTO; import com.epmet.commons.tools.exception.EpmetErrorCode; @@ -31,15 +33,16 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.ScanContentUtils; import com.epmet.constant.EventConstant; -import com.epmet.dao.ResiEventAttachmentDao; -import com.epmet.dao.ResiEventDao; +import com.epmet.constant.ResiEventAction; +import com.epmet.dao.*; import com.epmet.dto.form.*; import com.epmet.dto.result.*; -import com.epmet.entity.ResiEventAttachmentEntity; -import com.epmet.entity.ResiEventEntity; +import com.epmet.entity.*; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.service.ResiEventService; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -73,6 +76,12 @@ public class ResiEventServiceImpl extends BaseServiceImpl orgEntityList=getOrgList(formDTO.getCustomerId(),resiEventEntity.getId(),formDTO.getOrgList()); + orgEntityList.forEach(orgEntity->{ + resiEventReportOrgDao.insert(orgEntity); + }); //7、插入艾特人表 + List npcList=getNpcList(formDTO.getCustomerId(),resiEventEntity.getId(),formDTO.getNpcUserList()); + npcList.forEach(npc->{ + resiEventMentionDao.insert(npc); + }); //8、插入log日志 + ResiEventOperationLogEntity publishLog=new ResiEventOperationLogEntity(); + publishLog.setCustomerId(formDTO.getCustomerId()); + publishLog.setResiEventId(resiEventEntity.getId()); + publishLog.setUserId(formDTO.getUserId()); + publishLog.setUserIdentity(EventConstant.REPORT_USER); + publishLog.setActionCode(ResiEventAction.PUBLISH.getCode()); + publishLog.setActionDesc(ResiEventAction.PUBLISH.getDesc()); + publishLog.setOperateTime(resiEventEntity.getCreatedTime()); + resiEventOperationLogDao.insert(publishLog); + //9、返回事件id + ResiEventIdDTO resiEventIdDTO=new ResiEventIdDTO(); + resiEventIdDTO.setResiEventId(resiEventEntity.getId()); + return resiEventIdDTO; + } + private List getNpcList(String customerId, String resiEventId, List npcUserList) { + List list=new ArrayList<>(); + npcUserList.forEach(npc->{ + ResiEventMentionEntity mentionEntity=new ResiEventMentionEntity(); + mentionEntity.setCustomerId(customerId); + mentionEntity.setResiEventId(resiEventId); + mentionEntity.setUserType(EventConstant.NPC_USER); + mentionEntity.setUserId(npc.getNpcUserId()); + mentionEntity.setGridId(npc.getGridId()); + mentionEntity.setAgencyId(npc.getAgencyId()); + mentionEntity.setPids(npc.getPids()); + mentionEntity.setReadFlag(EventConstant.UN_READ); + mentionEntity.setRedDot(true); + list.add(mentionEntity); + }); + return list; + } - return null; + private List getOrgList(String customerId, String resiEventId, List orgList) { + List list=new ArrayList<>(); + orgList.forEach(org->{ + ResiEventReportOrgEntity entity=ConvertUtils.sourceToTarget(org,ResiEventReportOrgEntity.class); + entity.setCustomerId(customerId); + entity.setResiEventId(resiEventId); + //默认是未读 + entity.setOrgRead(EventConstant.UN_READ); + entity.setRedDot(true); + list.add(entity); + }); + return list; } private List getAttList(String customerId,String resiEventId, List attachmentList) { List list=new ArrayList<>(); - int sort=1; + int sort= NumConstant.ONE; for(FileCommonDTO img:attachmentList){ ResiEventAttachmentEntity entity=new ResiEventAttachmentEntity(); entity.setCustomerId(customerId); @@ -177,6 +237,7 @@ public class ResiEventServiceImpl extends BaseServiceImpl queryMyReported(MyReportedFormDTO formDTO) { - // todo - - + PageInfo result = PageHelper.startPage(formDTO.getPageNo(), + formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.queryMyReported(formDTO.getUserId(), + formDTO.getStatusCondition())); + return result.getList(); + } - return null; - } } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventDao.xml index f971e92473..811dbc08a8 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventDao.xml @@ -42,4 +42,48 @@ )t LEFT JOIN resi_event_attachment rea ON (rea.RESI_EVENT_ID = t.eventId AND rea.DEL_FLAG = '0' AND rea.ATTACHMENT_TYPE = 'image' AND (rea.SORT = 0 OR rea.SORT = 1 OR rea.SORT = 2)) + + + + + + + + + + + + + + + + + \ No newline at end of file