From 63b60492d89282410b5a52f9c91b434721e79b64 Mon Sep 17 00:00:00 2001 From: liuchuang Date: Fri, 8 Nov 2019 15:51:03 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=9D=E9=A2=98=E8=AF=9D=E9=A2=98=E8=BD=AC?= =?UTF-8?q?=E8=AE=AE=E9=A2=98=E6=8E=A5=E5=8F=A3=20init?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../doc/db/dev_1010/esua_epdc_events.sql | 14 ++++ .../epdc/controller/ApiTopicController.java | 16 +++++ .../esua/epdc/feign/TopicFeignClient.java | 13 ++++ .../fallback/TopicFeignClientFallback.java | 6 ++ .../elink/esua/epdc/service/TopicService.java | 12 ++++ .../epdc/service/impl/TopicServiceImpl.java | 11 +++ .../events/form/EpdcEventSubmitFormDTO.java | 15 ++++ .../elink/esua/epdc/dto/issue/IssueDTO.java | 20 ++++-- .../com/elink/esua/epdc/dto/item/ItemDTO.java | 20 ++++-- .../events/entity/EpdcEventsEntity.java | 19 +++-- .../modules/events/excel/EpdcEventsExcel.java | 2 - .../service/impl/EpdcEventsServiceImpl.java | 3 +- .../modules/issue/entity/IssueEntity.java | 20 ++++-- .../epdc/modules/issue/excel/IssueExcel.java | 3 - .../issue/service/impl/IssueServiceImpl.java | 3 +- .../epdc/modules/item/entity/ItemEntity.java | 20 ++++-- .../epdc/modules/item/excel/ItemExcel.java | 3 - .../epdc-group/epdc-group-client/pom.xml | 5 ++ .../dto/topic/TopicDTO.java | 5 ++ .../topic/form/TopicChangeToIssueFormDTO.java | 29 ++++++++ .../dto/topic/form/TopicSubmitFormDTO.java | 5 ++ .../modules/feign/EventFeignClient.java | 32 +++++++++ .../fallback/EventFeignClientFallback.java | 21 ++++++ .../topic/controller/AppTopicController.java | 15 ++++ .../modules/topic/dao/TopicDao.java | 12 ++++ .../modules/topic/entity/TopicEntity.java | 5 ++ .../modules/topic/service/TopicService.java | 12 ++++ .../topic/service/impl/TopicServiceImpl.java | 72 ++++++++++++++++++- .../main/resources/mapper/topic/TopicDao.xml | 55 ++++++++++++++ 29 files changed, 433 insertions(+), 35 deletions(-) create mode 100644 esua-epdc/doc/db/dev_1010/esua_epdc_events.sql create mode 100644 esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/form/TopicChangeToIssueFormDTO.java create mode 100644 esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/EventFeignClient.java create mode 100644 esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/fallback/EventFeignClientFallback.java diff --git a/esua-epdc/doc/db/dev_1010/esua_epdc_events.sql b/esua-epdc/doc/db/dev_1010/esua_epdc_events.sql new file mode 100644 index 000000000..69182f922 --- /dev/null +++ b/esua-epdc/doc/db/dev_1010/esua_epdc_events.sql @@ -0,0 +1,14 @@ +------------------------------------------2019-11-08----------------------------------------------- +-- 删除友邻社区ID字段 +ALTER TABLE epdc_events DROP COLUMN FRIENDLY_COMMUNITY_ID; +ALTER TABLE epdc_issue DROP COLUMN FRIENDLY_COMMUNITY_ID; +ALTER TABLE epdc_item DROP COLUMN FRIENDLY_COMMUNITY_ID; +-- 增加社群ID字段 +ALTER TABLE epdc_events ADD GROUP_ID varchar(32) NULL COMMENT '社群ID'; +ALTER TABLE epdc_issue ADD GROUP_ID varchar(32) NULL COMMENT '社群ID'; +ALTER TABLE epdc_item ADD GROUP_ID varchar(32) NULL COMMENT '社群ID'; +-- 增加社群名称字段 +ALTER TABLE epdc_events ADD GROUP_NAME varchar(128) NULL COMMENT '社群名称'; +ALTER TABLE epdc_issue ADD GROUP_NAME varchar(128) NULL COMMENT '社群名称'; +ALTER TABLE epdc_item ADD GROUP_NAME varchar(128) NULL COMMENT '社群名称'; +------------------------------------------2019-11-08----------------------------------------------- \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiTopicController.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiTopicController.java index e49c29471..85e87f284 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiTopicController.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiTopicController.java @@ -6,6 +6,7 @@ import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; import com.elink.esua.epdc.dto.group.result.TopicAuditRecordResultDTO; import com.elink.esua.epdc.dto.topic.TopicListDTO; +import com.elink.esua.epdc.dto.topic.form.TopicChangeToIssueFormDTO; import com.elink.esua.epdc.dto.topic.form.TopicCloseFormDTO; import com.elink.esua.epdc.dto.topic.form.TopicSubmitFormDTO; import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO; @@ -92,4 +93,19 @@ public class ApiTopicController { public Result> auditRecord(@PathVariable("topicId") String topicId) { return topicService.listOfTopicAuditRecord(topicId); } + + /** + * + * 转议题 + * + * @params [userDetail, formDto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author liuchuang + * @since 2019/11/8 10:37 + */ + @PostMapping("changeToIssue") + public Result changeToIssue(@LoginUser TokenDto userDetail, @RequestBody TopicChangeToIssueFormDTO formDto) { + ValidatorUtils.validateEntity(formDto); + return topicService.changeToIssue(userDetail, formDto); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/TopicFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/TopicFeignClient.java index 50c29cc1e..5f6d2ab46 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/TopicFeignClient.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/TopicFeignClient.java @@ -3,6 +3,7 @@ package com.elink.esua.epdc.feign; import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.group.result.TopicAuditRecordResultDTO; +import com.elink.esua.epdc.dto.topic.form.TopicChangeToIssueFormDTO; import com.elink.esua.epdc.dto.topic.TopicListDTO; import com.elink.esua.epdc.dto.topic.form.TopicCloseFormDTO; import com.elink.esua.epdc.dto.topic.form.TopicSubmitFormDTO; @@ -78,4 +79,16 @@ public interface TopicFeignClient { */ @GetMapping(value = "group/epdc-app/topic/auditRecord/{topicId}", consumes = MediaType.APPLICATION_JSON_VALUE) Result> auditRecord(@PathVariable("topicId") String topicId); + + /** + * + * 转议题 + * + * @params [formDto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author liuchuang + * @since 2019/11/8 10:39 + */ + @PostMapping(value = "group/epdc-app/topic/changeToIssue", consumes = MediaType.APPLICATION_JSON_VALUE) + Result changeToIssue(TopicChangeToIssueFormDTO formDto); } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/TopicFeignClientFallback.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/TopicFeignClientFallback.java index 4d11773ca..af02fc3e1 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/TopicFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/TopicFeignClientFallback.java @@ -4,6 +4,7 @@ import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.utils.ModuleUtils; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.group.result.TopicAuditRecordResultDTO; +import com.elink.esua.epdc.dto.topic.form.TopicChangeToIssueFormDTO; import com.elink.esua.epdc.dto.topic.TopicListDTO; import com.elink.esua.epdc.dto.topic.form.TopicCloseFormDTO; import com.elink.esua.epdc.dto.topic.form.TopicSubmitFormDTO; @@ -46,4 +47,9 @@ public class TopicFeignClientFallback implements TopicFeignClient { public Result> apiList(TopicListDTO topicListDTO) { return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "list", topicListDTO); } + + @Override + public Result changeToIssue(TopicChangeToIssueFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "changeToIssue", formDto); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/TopicService.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/TopicService.java index aaeb09d6e..cc88182ee 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/TopicService.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/TopicService.java @@ -4,6 +4,7 @@ import com.elink.esua.epdc.common.token.dto.TokenDto; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.group.result.TopicAuditRecordResultDTO; import com.elink.esua.epdc.dto.topic.TopicListDTO; +import com.elink.esua.epdc.dto.topic.form.TopicChangeToIssueFormDTO; import com.elink.esua.epdc.dto.topic.form.TopicCloseFormDTO; import com.elink.esua.epdc.dto.topic.form.TopicSubmitFormDTO; import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO; @@ -67,4 +68,15 @@ public interface TopicService { Result> apiList(TopicListDTO topicListDTO); + + /** + * + * 转议题 + * + * @params [userDetail, formDto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author liuchuang + * @since 2019/11/8 10:37 + */ + Result changeToIssue(TokenDto userDetail, TopicChangeToIssueFormDTO formDto); } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/TopicServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/TopicServiceImpl.java index 743013e72..93027ee96 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/TopicServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/TopicServiceImpl.java @@ -5,6 +5,7 @@ import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.CompleteDeptDTO; import com.elink.esua.epdc.dto.enums.TopicStateEnum; import com.elink.esua.epdc.dto.group.result.TopicAuditRecordResultDTO; +import com.elink.esua.epdc.dto.topic.form.TopicChangeToIssueFormDTO; import com.elink.esua.epdc.dto.topic.TopicListDTO; import com.elink.esua.epdc.dto.topic.form.TopicCloseFormDTO; import com.elink.esua.epdc.dto.topic.form.TopicSubmitFormDTO; @@ -56,6 +57,7 @@ public class TopicServiceImpl implements TopicService { formDto.setUserFace(userDetail.getFaceImg()); formDto.setNickname(userDetail.getNickname()); formDto.setPartyMember(userDetail.getPartyFlag()); + formDto.setMobile(userDetail.getMobile()); formDto.setState(TopicStateEnum.TOPIC_STATE_IN_CONVERSATION.getValue()); return topicFeignClient.submit(formDto); @@ -84,4 +86,13 @@ public class TopicServiceImpl implements TopicService { public Result> apiList(TopicListDTO topicListDTO) { return topicFeignClient.apiList(topicListDTO); } + + @Override + public Result changeToIssue(TokenDto userDetail, TopicChangeToIssueFormDTO formDto) { + if (null == userDetail) { + return new Result().error("获取用户信息失败"); + } + formDto.setUserId(userDetail.getUserId()); + return topicFeignClient.changeToIssue(formDto); + } } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/form/EpdcEventSubmitFormDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/form/EpdcEventSubmitFormDTO.java index 2f7662872..05585d995 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/form/EpdcEventSubmitFormDTO.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/form/EpdcEventSubmitFormDTO.java @@ -95,4 +95,19 @@ public class EpdcEventSubmitFormDTO implements Serializable { * 党员标识 0:否、1:是 */ private String isPartyMember; + + /** + * 手机号 + */ + private String mobile; + + /** + * 社群ID + */ + private String groupId; + + /** + * 社群名称 + */ + private String groupName; } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/IssueDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/IssueDTO.java index 65b959c13..fad6289e5 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/IssueDTO.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/IssueDTO.java @@ -124,11 +124,6 @@ public class IssueDTO implements Serializable { */ private BigDecimal issueLongitude; - /** - * 友邻社区ID - */ - private String friendlyCommunityId; - /** * 议题状态 0-审核通过,2-已关闭,4-已转项目 */ @@ -164,4 +159,19 @@ public class IssueDTO implements Serializable { */ private Date updatedTime; + /** + * 手机号 + */ + private String mobile; + + /** + * 社群ID + */ + private String groupId; + + /** + * 社群名称 + */ + private String groupName; + } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/ItemDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/ItemDTO.java index 6e9d98c54..8d3d0e5a0 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/ItemDTO.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/ItemDTO.java @@ -129,11 +129,6 @@ public class ItemDTO implements Serializable { */ private BigDecimal issueLongitude; - /** - * 友邻社区ID - */ - private String friendlyCommunityId; - /** * 评价打分 */ @@ -174,4 +169,19 @@ public class ItemDTO implements Serializable { */ private Date updatedTime; + /** + * 手机号 + */ + private String mobile; + + /** + * 社群ID + */ + private String groupId; + + /** + * 社群名称 + */ + private String groupName; + } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/entity/EpdcEventsEntity.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/entity/EpdcEventsEntity.java index 0f7f7de1f..b887847e9 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/entity/EpdcEventsEntity.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/entity/EpdcEventsEntity.java @@ -110,10 +110,6 @@ public class EpdcEventsEntity extends BaseEpdcEntity { * 议题位置经度 */ private double issueLongitude; - /** - * 友邻社区ID - */ - private String friendlyCommunityId; /** * 事件状态 0-待审核,2-驳回,4-审核通过 */ @@ -139,4 +135,19 @@ public class EpdcEventsEntity extends BaseEpdcEntity { */ private Integer browseNum; + /** + * 手机号 + */ + private String mobile; + + /** + * 社群ID + */ + private String groupId; + + /** + * 社群名称 + */ + private String groupName; + } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/excel/EpdcEventsExcel.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/excel/EpdcEventsExcel.java index 37e56cbb0..f05e88e29 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/excel/EpdcEventsExcel.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/excel/EpdcEventsExcel.java @@ -61,8 +61,6 @@ public class EpdcEventsExcel { private BigDecimal issusLatitude; @Excel(name = "议题位置经度") private BigDecimal issueLongitude; - @Excel(name = "友邻社区ID") - private String friendlyCommunityId; @Excel(name = "事件状态 0-待审核,2-驳回,4-审核通过") private Integer eventState; @Excel(name = "删除标识 0:未删除,1:已删除") diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java index 7f9551174..9d4d87f9b 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java @@ -266,7 +266,8 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl imp itemEntity.setIssueAddress(issueEntity.getIssueAddress()); itemEntity.setIssueLongitude(issueEntity.getIssueLongitude()); itemEntity.setIssueLatitude(issueEntity.getIssueLatitude()); - itemEntity.setFriendlyCommunityId(issueEntity.getFriendlyCommunityId()); + itemEntity.setGroupId(issueEntity.getGroupId()); + itemEntity.setGroupName(issueEntity.getGroupName()); itemEntity.setItemState(EventIssueItemState.ITEM_HANDLING); return itemEntity; } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/entity/ItemEntity.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/entity/ItemEntity.java index 51e8a2010..3ca0decdd 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/entity/ItemEntity.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/entity/ItemEntity.java @@ -139,11 +139,6 @@ public class ItemEntity extends BaseEpdcEntity { */ private double issueLongitude; - /** - * 友邻社区ID - */ - private String friendlyCommunityId; - /** * 满意度评价得分 */ @@ -162,4 +157,19 @@ public class ItemEntity extends BaseEpdcEntity { */ private Integer itemState; + /** + * 手机号 + */ + private String mobile; + + /** + * 社群ID + */ + private String groupId; + + /** + * 社群名称 + */ + private String groupName; + } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/excel/ItemExcel.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/excel/ItemExcel.java index 6380d7761..20e431f49 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/excel/ItemExcel.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/excel/ItemExcel.java @@ -89,9 +89,6 @@ public class ItemExcel { @Excel(name = "议题位置经度") private BigDecimal issueLongitude; - @Excel(name = "友邻社区ID") - private String friendlyCommunityId; - @Excel(name = "评价打分") private Integer issueScore; diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-client/pom.xml b/esua-epdc/epdc-module/epdc-group/epdc-group-client/pom.xml index c391b65fd..0a7cc8b07 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-client/pom.xml +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-client/pom.xml @@ -32,6 +32,11 @@ epdc-user-client 1.0.0 + + com.esua.epdc + epdc-events-client + 1.0.0 + \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/TopicDTO.java b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/TopicDTO.java index 8531b4b92..f40debda7 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/TopicDTO.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/TopicDTO.java @@ -59,6 +59,11 @@ public class TopicDTO implements Serializable { */ private String partyMember; + /** + * 手机号 + */ + private String mobile; + /** * 话题内容 */ diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/form/TopicChangeToIssueFormDTO.java b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/form/TopicChangeToIssueFormDTO.java new file mode 100644 index 000000000..73458e48a --- /dev/null +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/form/TopicChangeToIssueFormDTO.java @@ -0,0 +1,29 @@ +package com.elink.esua.epdc.dto.topic.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * + * 话题转议题Form DTO + * + * @Author:liuchuang + * @Date:2019/11/8 10:29 + */ +@Data +public class TopicChangeToIssueFormDTO implements Serializable { + private static final long serialVersionUID = 8702626187257949690L; + + /** + * 话题ID + */ + @NotBlank(message = "话题ID不能为空") + private String id; + + /** + * 操作人ID + */ + private String userId; +} diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/form/TopicSubmitFormDTO.java b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/form/TopicSubmitFormDTO.java index 68496a150..e5fcca01f 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/form/TopicSubmitFormDTO.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/form/TopicSubmitFormDTO.java @@ -78,6 +78,11 @@ public class TopicSubmitFormDTO implements Serializable { */ private String partyMember; + /** + * 手机号 + */ + private String mobile; + /** * 区 */ diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/EventFeignClient.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/EventFeignClient.java new file mode 100644 index 000000000..180018a87 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/EventFeignClient.java @@ -0,0 +1,32 @@ +package com.elink.esua.epdc.modules.feign; + +import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO; +import com.elink.esua.epdc.modules.feign.fallback.EventFeignClientFallback; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.PostMapping; + +/** + * + * 事件模块调用 + * + * @Author:liuchuang + * @Date:2019/11/8 13:36 + */ +@FeignClient(name = ServiceConstant.EPDC_EVENTS_SERVER, fallback = EventFeignClientFallback.class) +public interface EventFeignClient { + + /** + * + * 话题转议题 + * + * @params [formDto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author liuchuang + * @since 2019/11/8 14:42 + */ + @PostMapping(value = "events/epdc-app/event/submit", consumes = MediaType.APPLICATION_JSON_VALUE) + Result submitEvent(EpdcEventSubmitFormDTO formDto); +} diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/fallback/EventFeignClientFallback.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/fallback/EventFeignClientFallback.java new file mode 100644 index 000000000..ca3ff7aa1 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/fallback/EventFeignClientFallback.java @@ -0,0 +1,21 @@ +package com.elink.esua.epdc.modules.feign.fallback; + +import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; +import com.elink.esua.epdc.commons.tools.utils.ModuleUtils; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO; +import com.elink.esua.epdc.modules.feign.EventFeignClient; +import org.springframework.stereotype.Component; + +/** + * @Author:liuchuang + * @Date:2019/11/8 13:36 + */ +@Component +public class EventFeignClientFallback implements EventFeignClient { + + @Override + public Result submitEvent(EpdcEventSubmitFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "submitEvent", formDto); + } +} diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/controller/AppTopicController.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/controller/AppTopicController.java index 1dbf246c9..9a17379f6 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/controller/AppTopicController.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/controller/AppTopicController.java @@ -4,6 +4,7 @@ import com.elink.esua.epdc.commons.tools.constant.Constant; import com.elink.esua.epdc.commons.tools.constant.NumConstant; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.group.result.TopicAuditRecordResultDTO; +import com.elink.esua.epdc.dto.topic.form.TopicChangeToIssueFormDTO; import com.elink.esua.epdc.dto.topic.TopicListDTO; import com.elink.esua.epdc.dto.topic.form.TopicCloseFormDTO; import com.elink.esua.epdc.dto.topic.form.TopicSubmitFormDTO; @@ -92,4 +93,18 @@ public class AppTopicController { List data = topicService.listOfTopicAuditRecord(topicId); return new Result>().ok(data); } + + /** + * + * 转议题 + * + * @params [userDetail, formDto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author liuchuang + * @since 2019/11/8 10:37 + */ + @PostMapping("changeToIssue") + public Result changeToIssue(@RequestBody TopicChangeToIssueFormDTO formDto) { + return topicService.changeToIssue(formDto); + } } diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/dao/TopicDao.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/dao/TopicDao.java index 6f5b35929..fbd741321 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/dao/TopicDao.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/dao/TopicDao.java @@ -18,6 +18,7 @@ package com.elink.esua.epdc.modules.topic.dao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; +import com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO; import com.elink.esua.epdc.dto.topic.TopicListDTO; import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO; import com.elink.esua.epdc.dto.topic.result.TopicListResultDTO; @@ -55,4 +56,15 @@ public interface TopicDao extends BaseDao { List apiList(TopicListDTO topicListDTO); + /** + * + * 话题转议题详情数据 + * + * @params [id] + * @return com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO + * @author liuchuang + * @since 2019/11/8 15:11 + */ + EpdcEventSubmitFormDTO selectOneOfTopicForChangeToIssue(String id); + } diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/entity/TopicEntity.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/entity/TopicEntity.java index f3bfc712c..5de270f3c 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/entity/TopicEntity.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/entity/TopicEntity.java @@ -59,6 +59,11 @@ public class TopicEntity extends BaseEpdcEntity { */ private String partyMember; + /** + * 手机号 + */ + private String mobile; + /** * 话题内容 */ diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/TopicService.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/TopicService.java index 67c6f71b3..098dc3478 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/TopicService.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/TopicService.java @@ -22,6 +22,7 @@ import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.group.result.TopicAuditRecordResultDTO; import com.elink.esua.epdc.dto.topic.TopicDTO; +import com.elink.esua.epdc.dto.topic.form.TopicChangeToIssueFormDTO; import com.elink.esua.epdc.dto.topic.TopicListDTO; import com.elink.esua.epdc.dto.topic.form.TopicCloseFormDTO; import com.elink.esua.epdc.dto.topic.form.TopicSubmitFormDTO; @@ -151,4 +152,15 @@ public interface TopicService extends BaseService { * @since 2019/11/8 9:35 */ List listOfTopicAuditRecord(String topicId); + + /** + * + * 移动端-转议题 + * + * @params [formDto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author liuchuang + * @since 2019/11/8 10:41 + */ + Result changeToIssue(TopicChangeToIssueFormDTO formDto); } diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/impl/TopicServiceImpl.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/impl/TopicServiceImpl.java index 7d20d04a6..3b002d9f7 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/impl/TopicServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/impl/TopicServiceImpl.java @@ -31,16 +31,19 @@ import com.elink.esua.epdc.dto.enums.GroupStateEnum; import com.elink.esua.epdc.dto.enums.GroupUserStateEnum; import com.elink.esua.epdc.dto.enums.TopicStateEnum; import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO; +import com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO; import com.elink.esua.epdc.dto.group.GroupDTO; import com.elink.esua.epdc.dto.group.UserGroupDTO; import com.elink.esua.epdc.dto.group.result.TopicAuditRecordResultDTO; import com.elink.esua.epdc.dto.topic.TopicDTO; import com.elink.esua.epdc.dto.topic.TopicListDTO; +import com.elink.esua.epdc.dto.topic.form.TopicChangeToIssueFormDTO; import com.elink.esua.epdc.dto.topic.form.TopicCloseFormDTO; import com.elink.esua.epdc.dto.topic.form.TopicSubmitFormDTO; import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO; import com.elink.esua.epdc.dto.topic.result.TopicListResultDTO; import com.elink.esua.epdc.modules.async.NewsTask; +import com.elink.esua.epdc.modules.feign.EventFeignClient; import com.elink.esua.epdc.modules.group.service.GroupService; import com.elink.esua.epdc.modules.group.service.UserGroupService; import com.elink.esua.epdc.modules.topic.dao.TopicDao; @@ -82,6 +85,9 @@ public class TopicServiceImpl extends BaseServiceImpl imp @Autowired private NewsTask newsTask; + @Autowired + private EventFeignClient eventFeignClient; + @Override public PageData page(Map params) { IPage page = baseDao.selectPage( @@ -153,7 +159,15 @@ public class TopicServiceImpl extends BaseServiceImpl imp @Override public TopicDetailResultDTO getTopicDetailById(String id) { - return baseDao.selectOneOfTopicDetailById(id); + TopicDetailResultDTO resultDto = baseDao.selectOneOfTopicDetailById(id); + if (null != resultDto) { + // 更新浏览次数 + TopicEntity entity = new TopicEntity(); + entity.setId(id); + entity.setBrowseNum(resultDto.getBrowseNum() + 1); + this.updateById(entity); + } + return resultDto; } @Override @@ -211,4 +225,60 @@ public class TopicServiceImpl extends BaseServiceImpl imp public List apiList(TopicListDTO topicListDTO) { return baseDao.apiList(topicListDTO); } + + @Override + @Transactional(rollbackFor = Exception.class) + public Result changeToIssue(TopicChangeToIssueFormDTO formDto) { + TopicDTO topicDto = this.get(formDto.getId()); + // 校验 + Result checkResult = this.checkTopicToIssue(topicDto, formDto.getUserId()); + if (!checkResult.success()) { + return checkResult; + } + // 插入事件表 + EpdcEventSubmitFormDTO eventSubmitFormDto = baseDao.selectOneOfTopicForChangeToIssue(formDto.getId()); + Result eventResult = eventFeignClient.submitEvent(eventSubmitFormDto); + if (!eventResult.success()) { + return eventResult; + } + + // 更新话题状态 + TopicEntity entity = new TopicEntity(); + entity.setId(formDto.getId()); + entity.setState(TopicStateEnum.TOPIC_STATE_CHANGE_TO_ISSUE_PENDING_REVIEW.getValue()); + if (updateById(entity)) { + return new Result(); + } + + return new Result().error(); + } + + /** + * + * 话题转议题校验 + * + * @params [topicDto, userId] + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author liuchuang + * @since 2019/11/8 11:16 + */ + private Result checkTopicToIssue(TopicDTO topicDto, String userId) { + // 校验社群状态 + GroupDTO groupDto = groupService.get(topicDto.getGroupId()); + if (null == groupDto || GroupStateEnum.GROUP_STATE_DISBANDED.getValue().equals(groupDto.getState())) { + return new Result().error("话题转议题失败,当前社群已解散"); + } + // 校验用户身份 + UserGroupDTO userDto = userGroupService.getGroupUserInfo(topicDto.getGroupId(), userId, GroupUserStateEnum.GROUP_USER_STATE_EXAMINATION_PASSED.getValue()); + if (null == userDto || !NumConstant.ONE_STR.equals(userDto.getLordFlag())) { + return new Result().error("您不是群主,不可以转为议题"); + } + // 校验话题状态 + if (!TopicStateEnum.TOPIC_STATE_IN_CONVERSATION.getValue().equals(topicDto.getState())) { + return new Result().error("当前话题不是讨论中状态,不可以转为议题"); + } + + return new Result(); + } + } diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/topic/TopicDao.xml b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/topic/TopicDao.xml index 6788c2cc1..844cbe3ed 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/topic/TopicDao.xml +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/topic/TopicDao.xml @@ -63,6 +63,61 @@ img.IMG_URL + + + + + + + + + + + + + + + + + + + + + + + + + +