diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/EventDetailFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/EventDetailFormDTO.java index 1d2972d0c3..65a4143f9d 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/EventDetailFormDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/EventDetailFormDTO.java @@ -19,4 +19,6 @@ public class EventDetailFormDTO implements Serializable { @NotBlank(message = "报事ID不能为空",groups = EventDetailForm.class) private String eventId; + + private String orgId; } diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EventDetailResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EventDetailResultDTO.java index b16e292f44..e5997ab62f 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EventDetailResultDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EventDetailResultDTO.java @@ -79,6 +79,9 @@ public class EventDetailResultDTO implements Serializable { */ private EventProjectInfoDTO projectInfo; + @JsonIgnore + private List orgNameList; + @JsonIgnore private String projectId; diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/OrgNameByTypeResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/OrgNameByTypeResultDTO.java new file mode 100644 index 0000000000..dd5aa27458 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/OrgNameByTypeResultDTO.java @@ -0,0 +1,22 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2021/8/4 5:48 下午 + * @DESC + */ +@Data +public class OrgNameByTypeResultDTO implements Serializable { + + private static final long serialVersionUID = -6544341694748437312L; + + private String orgId; + + private String orgType; + + private String orgName; +} 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 2608de1e9f..7daf809615 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 @@ -43,4 +43,10 @@ public interface EventConstant { */ String RESOLVED="resolved"; String UN_SOLVED="un_solved"; + + /** + * 小程序类型 + */ + String TYPE_GOV = "gov"; + String TYPE_RESI = "resi"; } 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 e868c85459..0e090ed1b9 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 @@ -54,9 +54,9 @@ public class ResiEventController { * @date 2021/8/3 1:47 下午 */ @PostMapping("eventdetail") - public Result eventDetail(@RequestBody EventDetailFormDTO formDTO){ + public Result eventDetail(@LoginUser TokenDto tokenDto ,@RequestBody EventDetailFormDTO formDTO){ ValidatorUtils.validateEntity(formDTO); - return new Result().ok(resiEventService.eventDetail(formDTO)); + return new Result().ok(resiEventService.eventDetail(formDTO,tokenDto)); } /** * 我要报事-提交(尹) 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 87ffeb3d1a..cf74df59f1 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 @@ -63,4 +63,20 @@ public interface ResiEventDao extends BaseDao { * @date 2021/8/4 2:16 下午 */ EventDetailResultDTO selectEventDetail(@Param("eventId")String eventId); + + /** + * @Description 更新报事人红点状态 + * @Param userId + * @author zxc + * @date 2021/8/4 5:30 下午 + */ + void updateResiEvent(@Param("userId") String userId,@Param("eventId")String eventId); + + /** + * @Description 更新人大代表红点状态 + * @Param userId + * @author zxc + * @date 2021/8/4 5:32 下午 + */ + void updateEventMention(@Param("userId") String userId,@Param("eventId")String eventId); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ResiEventReportOrgDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ResiEventReportOrgDao.java index 216f6dace8..6f851d34c3 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ResiEventReportOrgDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ResiEventReportOrgDao.java @@ -42,6 +42,15 @@ public interface ResiEventReportOrgDao extends BaseDao */ int updateReadFlag(@Param("eventId") String eventId, @Param("orgId") String orgId,@Param("userId") String userId); + /** + * @Description 更新组织的红点显示状态 + * @Param eventId + * @Param orgId + * @author zxc + * @date 2021/8/4 5:42 下午 + */ + void updateEventOrg(@Param("eventId") String eventId, @Param("orgId") String orgId); + /** * 展示红点 * diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ResiEventService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ResiEventService.java index 596609d158..65d13d225f 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ResiEventService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ResiEventService.java @@ -1,6 +1,7 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.ResiEventEntity; @@ -37,7 +38,7 @@ public interface ResiEventService extends BaseService { * @author zxc * @date 2021/8/3 1:47 下午 */ - EventDetailResultDTO eventDetail(EventDetailFormDTO formDTO); + EventDetailResultDTO eventDetail(EventDetailFormDTO formDTO, TokenDto tokenDto); /** * 我要报事-提交(尹) 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 6af1ea3723..776d82467a 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 @@ -29,6 +29,7 @@ import com.epmet.commons.tools.scan.param.ImgTaskDTO; import com.epmet.commons.tools.scan.param.TextScanParamDTO; import com.epmet.commons.tools.scan.param.TextTaskDTO; import com.epmet.commons.tools.scan.result.SyncScanResult; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.ScanContentUtils; @@ -49,6 +50,7 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import java.util.ArrayList; @@ -154,7 +156,8 @@ public class ResiEventServiceImpl extends BaseServiceImpl orgNameList = dto.getOrgNameList(); + Result> orgResult = govOrgOpenFeignClient.selectOrgNameByType(orgNameList); + if (!orgResult.success()){ + throw new RenException("查询组织名称失败"); + } + List data = orgResult.getData(); + data.addAll(dto.getEventPerson()); + dto.setEventPerson(data); + // 更改已读状态 报事人的红点:resi_event,艾特人的:resi_event_mention,所代表的组织的:resi_event_report_org + if (tokenDto.getApp().equals(EventConstant.TYPE_RESI)){ + baseDao.updateResiEvent(tokenDto.getUserId(),formDTO.getEventId()); + baseDao.updateEventMention(tokenDto.getUserId(),formDTO.getEventId()); + }else if (tokenDto.getApp().equals(EventConstant.TYPE_GOV)){ + resiEventReportOrgDao.updateEventOrg(formDTO.getEventId(), formDTO.getOrgId()); + } return dto; } 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 a9461bd9b4..ca3e51f51e 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 @@ -107,6 +107,9 @@ + + + + + + + UPDATE resi_event + SET RED_DOT = 0, + UPDATED_TIME = NOW() + WHERE DEL_FLAG = '0' + AND ID = #{eventId} + AND REPORT_USER_ID = #{userId} + + + + + UPDATE resi_event_mention + SET RED_DOT = 0, + UPDATED_TIME = NOW() + WHERE DEL_FLAG = '0' + AND USER_ID = #{userId} + AND RESI_EVENT_ID = #{eventId} + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventReportOrgDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventReportOrgDao.xml index 98795d7364..7291f346c2 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventReportOrgDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventReportOrgDao.xml @@ -23,4 +23,14 @@ RESI_EVENT_ID = #{resiEventId} AND DEL_FLAG = '0' + + + + UPDATE resi_event_report_org + SET RED_DOT = 0, + UPDATED_TIME = NOW() + WHERE DEL_FLAG = '0' + AND ORG_ID = #{orgId} + AND RESI_EVENT_ID = #{eventId} + \ No newline at end of file