Browse Source

话题话题转议题接口 init

dev
liuchuang 6 years ago
parent
commit
63b60492d8
  1. 14
      esua-epdc/doc/db/dev_1010/esua_epdc_events.sql
  2. 16
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiTopicController.java
  3. 13
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/TopicFeignClient.java
  4. 6
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/TopicFeignClientFallback.java
  5. 12
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/TopicService.java
  6. 11
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/TopicServiceImpl.java
  7. 15
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/form/EpdcEventSubmitFormDTO.java
  8. 20
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/IssueDTO.java
  9. 20
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/ItemDTO.java
  10. 19
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/entity/EpdcEventsEntity.java
  11. 2
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/excel/EpdcEventsExcel.java
  12. 3
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java
  13. 20
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/entity/IssueEntity.java
  14. 3
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/excel/IssueExcel.java
  15. 3
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java
  16. 20
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/entity/ItemEntity.java
  17. 3
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/excel/ItemExcel.java
  18. 5
      esua-epdc/epdc-module/epdc-group/epdc-group-client/pom.xml
  19. 5
      esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/TopicDTO.java
  20. 29
      esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/form/TopicChangeToIssueFormDTO.java
  21. 5
      esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/form/TopicSubmitFormDTO.java
  22. 32
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/EventFeignClient.java
  23. 21
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/fallback/EventFeignClientFallback.java
  24. 15
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/controller/AppTopicController.java
  25. 12
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/dao/TopicDao.java
  26. 5
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/entity/TopicEntity.java
  27. 12
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/TopicService.java
  28. 72
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/impl/TopicServiceImpl.java
  29. 55
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/topic/TopicDao.xml

14
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-----------------------------------------------

16
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<List<TopicAuditRecordResultDTO>> 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);
}
}

13
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<List<TopicAuditRecordResultDTO>> 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);
}

6
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<List<TopicListResultDTO>> 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);
}
}

12
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<List<TopicListResultDTO>> 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);
}

11
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<List<TopicListResultDTO>> 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);
}
}

15
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 {
* 党员标识 01
*/
private String isPartyMember;
/**
* 手机号
*/
private String mobile;
/**
* 社群ID
*/
private String groupId;
/**
* 社群名称
*/
private String groupName;
}

20
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;
}

20
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;
}

19
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;
}

2
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:已删除")

3
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<EpdcEventsDao, EpdcEv
issueEntity.setIssueCategoryId(entity.getIssueCategoryId());
issueEntity.setIssueLatitude(entity.getIssueLatitude());
issueEntity.setIssueLongitude(entity.getIssueLongitude());
issueEntity.setFriendlyCommunityId(entity.getFriendlyCommunityId());
issueEntity.setGroupId(entity.getGroupId());
issueEntity.setGroupName(entity.getGroupName());
issueEntity.setIssueState(EventIssueItemState.ISSUE_REVIEW_PASS);
return issueEntity;
}

20
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/entity/IssueEntity.java

@ -134,14 +134,24 @@ public class IssueEntity extends BaseEpdcEntity {
*/
private double issueLongitude;
/**
* 友邻社区ID
*/
private String friendlyCommunityId;
/**
* 议题状态 0-审核通过2-已关闭4-已转项目
*/
private Integer issueState;
/**
* 手机号
*/
private String mobile;
/**
* 社群ID
*/
private String groupId;
/**
* 社群名称
*/
private String groupName;
}

3
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/excel/IssueExcel.java

@ -86,9 +86,6 @@ public class IssueExcel {
@Excel(name = "议题位置经度")
private BigDecimal issueLongitude;
@Excel(name = "友邻社区ID")
private String friendlyCommunityId;
@Excel(name = "议题状态 0-审核通过,2-已关闭,4-已转项目")
private Integer issueState;

3
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java

@ -340,7 +340,8 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> 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;
}

20
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;
}

3
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;

5
esua-epdc/epdc-module/epdc-group/epdc-group-client/pom.xml

@ -32,6 +32,11 @@
<artifactId>epdc-user-client</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-events-client</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
</project>

5
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;
/**
* 话题内容
*/

29
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
*
* @Authorliuchuang
* @Date2019/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;
}

5
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;
/**
*
*/

32
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;
/**
*
* 事件模块调用
*
* @Authorliuchuang
* @Date2019/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);
}

21
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;
/**
* @Authorliuchuang
* @Date2019/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);
}
}

15
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<TopicAuditRecordResultDTO> data = topicService.listOfTopicAuditRecord(topicId);
return new Result<List<TopicAuditRecordResultDTO>>().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);
}
}

12
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<TopicEntity> {
List<TopicListResultDTO> 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);
}

5
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;
/**
* 话题内容
*/

12
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<TopicEntity> {
* @since 2019/11/8 9:35
*/
List<TopicAuditRecordResultDTO> 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);
}

72
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<TopicDao, TopicEntity> imp
@Autowired
private NewsTask newsTask;
@Autowired
private EventFeignClient eventFeignClient;
@Override
public PageData<TopicDTO> page(Map<String, Object> params) {
IPage<TopicEntity> page = baseDao.selectPage(
@ -153,7 +159,15 @@ public class TopicServiceImpl extends BaseServiceImpl<TopicDao, TopicEntity> 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<TopicDao, TopicEntity> imp
public List<TopicListResultDTO> 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();
}
}

55
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/topic/TopicDao.xml

@ -63,6 +63,61 @@
img.IMG_URL
</select>
<resultMap id="topicForChangeToIssueMap" type="com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO">
<result property="eventContent" column="TOPIC_CONTENT"/>
<result property="issueAddress" column="TOPIC_ADDRESS"/>
<result property="issueLatitude" column="TOPIC_LATITUDE"/>
<result property="issueLongitude" column="TOPIC_LONGITUDE"/>
<result property="area" column="AREA"/>
<result property="areaId" column="AREA_ID"/>
<result property="street" column="STREET"/>
<result property="streetId" column="STREET_ID"/>
<result property="community" column="COMMUNITY"/>
<result property="communityId" column="COMMUNITY_ID"/>
<result property="grid" column="GRID"/>
<result property="gridId" column="GRID_ID"/>
<result property="userId" column="USER_ID"/>
<result property="userFace" column="USER_FACE"/>
<result property="nickName" column="NICKNAME"/>
<result property="isPartyMember" column="PARTY_MEMBER"/>
<result property="mobile" column="MOBILE"/>
<result property="groupId" column="GROUP_ID"/>
<result property="groupName" column="GROUP_NAME"/>
<collection property="images" ofType="java.lang.String">
<result property="image" column="IMG_URL"/>
</collection>
</resultMap>
<select id="selectOneOfTopicForChangeToIssue" resultMap="topicForChangeToIssueMap">
SELECT
tp.TOPIC_CONTENT,
tp.TOPIC_ADDRESS,
tp.TOPIC_LATITUDE,
tp.TOPIC_LONGITUDE,
tp.AREA,
tp.AREA_ID,
tp.STREET,
tp.STREET_ID,
tp.COMMUNITY,
tp.COMMUNITY_ID,
tp.GRID,
tp.GRID_ID,
tp.USER_ID,
tp.USER_FACE,
tp.NICKNAME,
tp.PARTY_MEMBER,
tp.MOBILE,
tp.GROUP_ID,
tp.GROUP_NAME,
img.IMG_URL
FROM
epdc_topic tp
LEFT JOIN epdc_topic_img img ON tp.ID = img.REFERENCE_ID
AND img.DEL_FLAG = '0'
WHERE
tp.DEL_FLAG = '0'
AND tp.ID = #{id}
</select>
<resultMap id="topicListMap" type="com.elink.esua.epdc.dto.topic.result.TopicListResultDTO">

Loading…
Cancel
Save