diff --git a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/controller/ApiPropertyController.java b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/controller/ApiPropertyController.java index a48c196..982cf68 100644 --- a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/controller/ApiPropertyController.java +++ b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/controller/ApiPropertyController.java @@ -8,222 +8,219 @@ import com.elink.esua.epdc.dto.epdc.form.EpdcUserGroupInviteFormDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcUserGroupInviteResultDTO; import com.elink.esua.epdc.dto.group.GroupSettingStateDTO; import com.elink.esua.epdc.dto.group.form.*; -import com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO; -import com.elink.esua.epdc.dto.group.result.GroupUserListResultDTO; -import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO; -import com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO; -import com.elink.esua.epdc.service.GroupService; +import com.elink.esua.epdc.dto.group.result.*; +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.TopicListFormDTO; +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.service.PropertyService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import java.util.List; /** - * @author: qushutong - * @Date: 2020/5/12 11:11 - * @Description: 物业相关 + * @author: qushutong + * @Date: 2020/5/12 11:11 + * @Description: 物业相关 */ @RestController -@RequestMapping("property/group") +@RequestMapping("property") public class ApiPropertyController { @Autowired private PropertyService propertyService; - /** - * - * 创建社群 - * - * @params [userDetail, formDto] - * @return com.elink.esua.epdc.commons.tools.utils.Result - * @author liuchuang - * @since 2019/10/17 13:58 - */ - @PostMapping("create") - public Result createGroup(@LoginUser TokenDto userDetail, @RequestBody GroupCreateFormDTO formDto) { - return propertyService.saveGroup(userDetail, formDto); - } - - /** - * - * 解散社群 - * - * @params [formDto] - * @return com.elink.esua.epdc.commons.tools.utils.Result - * @author liuchuang - * @since 2019/10/21 9:51 - */ - @PostMapping("disband") - public Result disbandGroup(@LoginUser TokenDto userDetail, @RequestBody GroupSettingStateDTO formDto) { - return propertyService.disbandGroup(userDetail, formDto); - } - - /** - * - * 我的群列表 - * - * @params [userDetail] - * @return com.elink.esua.epdc.commons.tools.utils.Result> - * @author liuchuang - * @since 2019/10/21 17:20 - */ - @GetMapping("listOfMine") - public Result> groupsOfMine(@LoginUser TokenDto userDetail) { - return propertyService.listGroupsOfMine(userDetail); - } /** - * - * 推荐群列表 - * - * @params [userDetail] - * @return com.elink.esua.epdc.commons.tools.utils.Result> - * @author liuchuang - * @since 2019/10/22 13:53 - */ - @GetMapping("listOfRecommend") - public Result> groupsOfRecommend(@LoginUser TokenDto userDetail) { - return propertyService.listGroupsOfRecommend(userDetail); - } - - /** - * * 社群详情 * + * @return com.elink.esua.epdc.commons.tools.utils.Result> * @params [userDetail, id] - * @return com.elink.esua.epdc.commons.tools.utils.Result> * @author liuchuang * @since 2019/10/22 15:14 */ - @GetMapping("detail/{id}") + @GetMapping("group/detail/{id}") public Result detail(@LoginUser TokenDto userDetail, @PathVariable("id") String id) { return propertyService.getGroupDetail(userDetail, id); } /** - * * 修改群介绍 * - * @params [userDetail, formDto] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [userDetail, formDto] * @author liuchuang * @since 2019/10/22 15:33 */ - @PostMapping("modifyIntroduction") + @PostMapping("group/modifyIntroduction") public Result modifyIntroduction(@LoginUser TokenDto userDetail, @RequestBody GroupIntroductionFormDTO formDto) { return propertyService.modifyIntroduction(userDetail, formDto); } /** - * * 修改群头像 * - * @params [userDetail, formDto] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [userDetail, formDto] * @author liuchuang * @since 2019/10/22 17:25 */ - @PostMapping("modifyAvatar") + @PostMapping("group/modifyAvatar") public Result modifyAvatar(@LoginUser TokenDto userDetail, @RequestBody GroupModifyAvatarFormDTO formDto) { return propertyService.modifyAvatar(userDetail, formDto); } /** - * * 社群成员列表(待审核/审核通过) * - * @params [formDto] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [formDto] * @author liuchuang * @since 2019/10/23 9:13 */ - @GetMapping("listOfMember") + @GetMapping("group/listOfMember") public Result> listOfMember(GroupUsersFormDTO formDto) { return propertyService.listOfMember(formDto); } /** - * * 移除社群成员 * - * @params [formDto] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [formDto] * @author liuchuang * @since 2019/10/23 10:35 */ - @PostMapping("removeMember") + @PostMapping("group/removeMember") public Result removeMember(@LoginUser TokenDto userDetail, @RequestBody GroupUserRemoveOrQuitFormDTO formDto) { return propertyService.removeMember(userDetail, formDto); } /** - * * 退出社群 * - * @params [formDto] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [formDto] * @author liuchuang * @since 2019/10/23 10:40 */ - @PostMapping("quitGroup") + @PostMapping("group/quitGroup") public Result quitGroup(@LoginUser TokenDto userDetail, @RequestBody GroupUserRemoveOrQuitFormDTO formDto) { return propertyService.quitGroup(userDetail, formDto); } /** - * * 添加成员列表 * + * @return com.elink.esua.epdc.commons.tools.utils.Result> * @params [formDto] - * @return com.elink.esua.epdc.commons.tools.utils.Result> * @author liuchuang * @since 2019/10/23 16:39 */ - @GetMapping("getInviteList") + @GetMapping("group/getInviteList") public Result> getInviteList(@LoginUser TokenDto userDetail, EpdcUserGroupInviteFormDTO formDto) { return propertyService.listOfInviteUsers(userDetail, formDto); } /** - * * 添加社群成员 * - * @params [formDto] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [formDto] * @author liuchuang * @since 2019/11/6 9:17 */ - @PostMapping("addMember") + @PostMapping("group/addMember") public Result addMember(@RequestBody GroupAddUserFormDTO formDto) { return propertyService.saveGroupUsers(formDto); } /** - * * 审核入群申请 * - * @params [formDto] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [formDto] * @author liuchuang * @since 2019/11/6 13:22 */ - @PostMapping("reviewApply") + @PostMapping("group/reviewApply") public Result reviewApply(@RequestBody GroupUserReviewFormDTO formDto) { return propertyService.updateGroupUsers(formDto); } /** - * * 申请入群 * - * @params [formDto] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [formDto] * @author liuchuang * @since 2019/11/11 14:00 */ - @PostMapping("applyForGroup") + @PostMapping("group/applyForGroup") public Result applyForGroup(@LoginUser TokenDto userDetail, @RequestBody GroupApplyFormDTO formDto) { ValidatorUtils.validateEntity(formDto); return propertyService.applyForGroup(userDetail, formDto); } + + + /** + * 发布话题 + * + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [userDetail, formDto] + * @author liuchuang + * @since 2019/11/6 14:46 + */ + @PostMapping("topic/submit") + public Result submit(@LoginUser TokenDto userDetail, @RequestBody TopicSubmitFormDTO formDto) { + ValidatorUtils.validateEntity(formDto); + return propertyService.saveTopic(userDetail, formDto); + } + + /** + * 话题列表 + * + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @params [userDetail, formDto] + * @author liuchuang + * @since 2019/11/11 15:04 + */ + @GetMapping("topic/list") + public Result> listTopic(@LoginUser TokenDto userDetail, TopicListFormDTO formDto) { + ValidatorUtils.validateEntity(formDto); + return propertyService.listOfTopic(userDetail, formDto); + } + + + /** + * 话题详情 + * + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [id] + * @author liuchuang + * @since 2019/11/7 15:37 + */ + @GetMapping("topic/detail/{id}") + public Result topicDetail(@LoginUser TokenDto userDetail, @PathVariable("id") String id) { + return propertyService.getTopicDetailById(userDetail, id); + } + + /** + * 关闭话题 + * + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [formDto] + * @author liuchuang + * @since 2019/11/7 16:10 + */ + @PostMapping("topic/close") + public Result close(@LoginUser TokenDto userDetail, @RequestBody TopicCloseFormDTO formDto) { + ValidatorUtils.validateEntity(formDto); + return propertyService.closeTopic(userDetail, formDto); + } + + } diff --git a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/PropertyFeignClient.java b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/PropertyFeignClient.java index 7e7e67c..cba53c6 100644 --- a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/PropertyFeignClient.java +++ b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/PropertyFeignClient.java @@ -6,15 +6,16 @@ import com.elink.esua.epdc.dto.epdc.form.EpdcUserGroupInviteFormDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcUserGroupInviteResultDTO; import com.elink.esua.epdc.dto.group.GroupSettingStateDTO; import com.elink.esua.epdc.dto.group.form.*; -import com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO; -import com.elink.esua.epdc.dto.group.result.GroupUserListResultDTO; -import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO; -import com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO; +import com.elink.esua.epdc.dto.group.result.*; +import com.elink.esua.epdc.dto.topic.form.*; +import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO; +import com.elink.esua.epdc.dto.topic.result.TopicListResultDTO; import com.elink.esua.epdc.feign.fallback.GroupFeignClientFallback; import com.elink.esua.epdc.feign.fallback.PropertyFeignClientFallback; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -22,67 +23,19 @@ import java.util.List; /** - * @author: qushutong - * @Date: 2020/5/12 13:19 - * @Description: 物业相关 + * @author: qushutong + * @Date: 2020/5/12 13:19 + * @Description: 物业相关 */ @FeignClient(name = ServiceConstant.EPDC_PROPERTY_SERVER, fallback = PropertyFeignClientFallback.class) public interface PropertyFeignClient { - /** - * - * 创建社群 - * - * @params [formDto] - * @return com.elink.esua.epdc.commons.tools.utils.Result - * @author liuchuang - * @since 2019/10/17 14:44 - */ - @PostMapping(value = "property/epdc-app/group/create", consumes = MediaType.APPLICATION_JSON_VALUE) - Result createGroup(GroupCreateFormDTO formDto); /** - * - * 解散社群 - * - * @params [formDto] - * @return com.elink.esua.epdc.commons.tools.utils.Result - * @author liuchuang - * @since 2019/10/21 9:54 - */ - @PostMapping(value = "property/epdc-app/group/operate", consumes = MediaType.APPLICATION_JSON_VALUE) - Result disbandGroup(GroupSettingStateDTO formDto); - - /** - * - * 我的群列表 - * - * @params [formDTO] - * @return com.elink.esua.epdc.commons.tools.utils.Result> - * @author liuchuang - * @since 2019/10/21 17:26 - */ - @GetMapping(value = "property/epdc-app/group/listOfMine", consumes = MediaType.APPLICATION_JSON_VALUE) - Result> listGroupsOfMine(GroupsOfMineFormDTO formDto); - - /** - * - * 推荐群列表 - * - * @params [formDto] - * @return com.elink.esua.epdc.commons.tools.utils.Result> - * @author liuchuang - * @since 2019/10/22 13:51 - */ - @GetMapping(value = "property/epdc-app/group/listOfRecommend", consumes = MediaType.APPLICATION_JSON_VALUE) - Result> listGroupsOfRecommend(GroupsOfMineFormDTO formDto); - - /** - * * 社群详情 * - * @params [formDto] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [formDto] * @author liuchuang * @since 2019/10/22 15:09 */ @@ -90,11 +43,10 @@ public interface PropertyFeignClient { Result detail(GroupDetailForMobileEndFormDTO formDto); /** - * * 修改群介绍 * - * @params [formDto] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [formDto] * @author liuchuang * @since 2019/10/22 15:36 */ @@ -102,11 +54,10 @@ public interface PropertyFeignClient { Result modifyIntroduction(GroupIntroductionFormDTO formDto); /** - * * 修改群头像 * - * @params [formDto] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [formDto] * @author liuchuang * @since 2019/10/22 17:29 */ @@ -114,11 +65,10 @@ public interface PropertyFeignClient { Result modifyAvatar(GroupModifyAvatarFormDTO formDto); /** - * * 社群成员列表(待审核/审核通过) * - * @params [formDto] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [formDto] * @author liuchuang * @since 2019/10/23 9:16 */ @@ -126,11 +76,10 @@ public interface PropertyFeignClient { Result> listOfMember(GroupUsersFormDTO formDto); /** - * * 移除社群成员 * - * @params [formDto] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [formDto] * @author liuchuang * @since 2019/10/23 10:47 */ @@ -138,11 +87,10 @@ public interface PropertyFeignClient { Result removeMember(GroupUserRemoveOrQuitFormDTO formDto); /** - * * 退出社群 * - * @params [formDto] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [formDto] * @author liuchuang * @since 2019/10/23 10:47 */ @@ -150,11 +98,10 @@ public interface PropertyFeignClient { Result quitGroup(GroupUserRemoveOrQuitFormDTO formDto); /** - * * 添加成员列表 * + * @return com.elink.esua.epdc.commons.tools.utils.Result> * @params [formDto] - * @return com.elink.esua.epdc.commons.tools.utils.Result> * @author liuchuang * @since 2019/10/23 16:38 */ @@ -162,11 +109,10 @@ public interface PropertyFeignClient { Result> getInviteList(EpdcUserGroupInviteFormDTO formDto); /** - * * 添加成员 * - * @params [formDto] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [formDto] * @author liuchuang * @since 2019/11/6 9:37 */ @@ -174,11 +120,10 @@ public interface PropertyFeignClient { Result addMember(GroupAddUserFormDTO formDto); /** - * * 审核入群申请 * - * @params [formDto] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [formDto] * @author liuchuang * @since 2019/11/6 13:26 */ @@ -186,11 +131,10 @@ public interface PropertyFeignClient { Result reviewApply(GroupUserReviewFormDTO formDto); /** - * * 申请入群 * - * @params [formDto] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [formDto] * @author liuchuang * @since 2019/11/11 14:04 */ @@ -198,11 +142,10 @@ public interface PropertyFeignClient { Result applyForGroup(GroupApplyFormDTO formDto); /** - * * 更新社群用户党员标识并加入关联的所有网格党员群 * - * @params [formDto] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [formDto] * @author liuchuang * @since 2019/11/11 14:32 */ @@ -210,14 +153,60 @@ public interface PropertyFeignClient { Result updateUserPartyMember(GroupUserPartyMemberFormDTO formDto); /** - * * 用户加入党员群 * - * @params [formDto] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [formDto] * @author liuchuang * @since 2019/11/21 10:35 */ @PostMapping(value = "property/epdc-app/group/joinPartyGroup", consumes = MediaType.APPLICATION_JSON_VALUE) Result joinGridPartyGroup(@RequestBody List formDto); + + + /** + * 发布话题 + * + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [formDto] + * @author liuchuang + * @since 2019/11/6 15:40 + */ + @PostMapping(value = "property/epdc-app/topic/submit", consumes = MediaType.APPLICATION_JSON_VALUE) + Result submit(TopicSubmitFormDTO formDto); + + /** + * 话题详情 + * + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [id] + * @author liuchuang + * @since 2019/11/7 15:37 + */ + @GetMapping(value = "property/epdc-app/topic/detail", consumes = MediaType.APPLICATION_JSON_VALUE) + Result detail(TopicDetailFormDTO formDto); + + /** + * 话题列表 + * + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @params [formDto] + * @author liuchuang + * @since 2019/11/11 15:06 + */ + @GetMapping(value = "property/epdc-app/topic/list", consumes = MediaType.APPLICATION_JSON_VALUE) + Result> listOfTopic(TopicListFormDTO formDto); + + /** + * 关闭话题 + * + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [formDto] + * @author liuchuang + * @since 2019/11/7 16:14 + */ + @PostMapping(value = "property/epdc-app/topic/close", consumes = MediaType.APPLICATION_JSON_VALUE) + Result close(TopicCloseFormDTO formDto); + + } diff --git a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/fallback/PropertyFeignClientFallback.java b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/fallback/PropertyFeignClientFallback.java index 876874b..b61f8e3 100644 --- a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/fallback/PropertyFeignClientFallback.java +++ b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/fallback/PropertyFeignClientFallback.java @@ -7,44 +7,26 @@ import com.elink.esua.epdc.dto.epdc.form.EpdcUserGroupInviteFormDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcUserGroupInviteResultDTO; import com.elink.esua.epdc.dto.group.GroupSettingStateDTO; import com.elink.esua.epdc.dto.group.form.*; -import com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO; -import com.elink.esua.epdc.dto.group.result.GroupUserListResultDTO; -import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO; -import com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO; +import com.elink.esua.epdc.dto.group.result.*; +import com.elink.esua.epdc.dto.topic.form.*; +import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO; +import com.elink.esua.epdc.dto.topic.result.TopicListResultDTO; import com.elink.esua.epdc.feign.GroupFeignClient; import com.elink.esua.epdc.feign.PropertyFeignClient; import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.PathVariable; import java.util.List; /** - * @author: qushutong - * @Date: 2020/5/12 13:19 - * @Description: 物业相关 + * @author: qushutong + * @Date: 2020/5/12 13:19 + * @Description: 物业相关 */ @Component public class PropertyFeignClientFallback implements PropertyFeignClient { - @Override - public Result createGroup(GroupCreateFormDTO formDto) { - return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "createGroup", formDto); - } - - @Override - public Result disbandGroup(GroupSettingStateDTO formDto) { - return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "disbandGroup", formDto); - } - - @Override - public Result> listGroupsOfMine(GroupsOfMineFormDTO formDto) { - return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "listGroupsOfMine", formDto); - } - - @Override - public Result> listGroupsOfRecommend(GroupsOfMineFormDTO formDto) { - return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "listGroupsOfRecommend", formDto); - } @Override public Result detail(GroupDetailForMobileEndFormDTO formDto) { @@ -105,4 +87,27 @@ public class PropertyFeignClientFallback implements PropertyFeignClient { public Result joinGridPartyGroup(List formDto) { return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "joinGridPartyGroup", formDto); } + + + @Override + public Result submit(TopicSubmitFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "submit", formDto); + } + + @Override + public Result detail(TopicDetailFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "detail", formDto); + } + + @Override + public Result close(TopicCloseFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "close", formDto); + } + + + @Override + public Result> listOfTopic(TopicListFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "listOfTopic", formDto); + } + } diff --git a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/PropertyService.java b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/PropertyService.java index 7eeb16c..82aece0 100644 --- a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/PropertyService.java +++ b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/PropertyService.java @@ -6,173 +6,167 @@ import com.elink.esua.epdc.dto.epdc.form.EpdcUserGroupInviteFormDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcUserGroupInviteResultDTO; import com.elink.esua.epdc.dto.group.GroupSettingStateDTO; import com.elink.esua.epdc.dto.group.form.*; -import com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO; -import com.elink.esua.epdc.dto.group.result.GroupUserListResultDTO; -import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO; -import com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO; +import com.elink.esua.epdc.dto.group.result.*; +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.TopicListFormDTO; +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 org.springframework.web.multipart.MultipartFile; import java.util.List; /** - * @author: qushutong - * @Date: 2020/5/12 13:21 - * @Description: 物先相关 + * @author: qushutong + * @Date: 2020/5/12 13:21 + * @Description: 物先相关 */ public interface PropertyService { - /** - * - * 创建社群 - * - * @params [userDetail, formDto] - * @return com.elink.esua.epdc.commons.tools.utils.Result - * @author liuchuang - * @since 2019/10/17 13:58 - */ - Result saveGroup(TokenDto userDetail, GroupCreateFormDTO formDto); - - /** - * - * 解散社群 - * - * @params [formDto] - * @return com.elink.esua.epdc.commons.tools.utils.Result - * @author liuchuang - * @since 2019/10/21 9:51 - */ - Result disbandGroup(TokenDto userDetail, GroupSettingStateDTO dto); - - /** - * - * 我的群列表 - * - * @params [userDetail] - * @return com.elink.esua.epdc.commons.tools.utils.Result> - * @author liuchuang - * @since 2019/10/21 17:21 - */ - Result> listGroupsOfMine(TokenDto userDetail); /** - * - * 推荐群列表 - * - * @params [userDetail] - * @return com.elink.esua.epdc.commons.tools.utils.Result> - * @author liuchuang - * @since 2019/10/22 13:54 - */ - Result> listGroupsOfRecommend(TokenDto userDetail); - - /** - * * 社群详情 * - * @params [userDetail, id] * @return com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO + * @params [userDetail, id] * @author liuchuang * @since 2019/10/22 15:15 */ Result getGroupDetail(TokenDto userDetail, String id); /** - * * 修改群介绍 * - * @params [userDetail, formDto] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [userDetail, formDto] * @author liuchuang * @since 2019/10/22 15:34 */ Result modifyIntroduction(TokenDto userDetail, GroupIntroductionFormDTO formDto); /** - * * 修改群头像 * - * @params [userDetail, formDto] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [userDetail, formDto] * @author liuchuang * @since 2019/10/22 17:26 */ Result modifyAvatar(TokenDto userDetail, GroupModifyAvatarFormDTO formDto); /** - * * 社群成员列表(待审核/审核通过) * - * @params [formDto] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [formDto] * @author liuchuang * @since 2019/10/23 9:14 */ Result> listOfMember(GroupUsersFormDTO formDto); /** - * * 移除社群成员 * - * @params [userDetail, formDto] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [userDetail, formDto] * @author liuchuang * @since 2019/10/23 10:43 */ Result removeMember(TokenDto userDetail, GroupUserRemoveOrQuitFormDTO formDto); /** - * * 退出社群 * - * @params [userDetail, formDto] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [userDetail, formDto] * @author liuchuang * @since 2019/10/23 10:43 */ Result quitGroup(TokenDto userDetail, GroupUserRemoveOrQuitFormDTO formDto); /** - * * 添加成员列表 * + * @return com.elink.esua.epdc.commons.tools.utils.Result> * @params [formDto] - * @return com.elink.esua.epdc.commons.tools.utils.Result> * @author liuchuang * @since 2019/10/23 16:40 */ Result> listOfInviteUsers(TokenDto userDetail, EpdcUserGroupInviteFormDTO formDto); /** - * * 添加社群成员 * - * @params [formDto] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [formDto] * @author liuchuang * @since 2019/11/6 9:18 */ Result saveGroupUsers(GroupAddUserFormDTO formDto); /** - * * 审核入群申请 * - * @params [formDto] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [formDto] * @author liuchuang * @since 2019/11/6 13:23 */ Result updateGroupUsers(GroupUserReviewFormDTO formDto); /** - * * 申请入群 * - * @params [userDetail, formDto] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [userDetail, formDto] * @author liuchuang * @since 2019/11/11 14:02 */ Result applyForGroup(TokenDto userDetail, GroupApplyFormDTO formDto); + + /** + * 发布话题 + * + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [userDetail, formDto] + * @author liuchuang + * @since 2019/11/6 14:51 + */ + Result saveTopic(TokenDto userDetail, TopicSubmitFormDTO formDto); + + /** + * 话题详情 + * + * @return com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO + * @params [id] + * @author liuchuang + * @since 2019/11/7 15:34 + */ + Result getTopicDetailById(TokenDto userDetail, String id); + + /** + * 关闭话题 + * + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [userDetail, formDto] + * @author liuchuang + * @since 2019/11/7 16:11 + */ + Result closeTopic(TokenDto userDetail, TopicCloseFormDTO formDto); + + + /** + * 话题列表 + * + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @params [userDetail, formDto] + * @author liuchuang + * @since 2019/11/11 15:05 + */ + Result> listOfTopic(TokenDto userDetail, TopicListFormDTO formDto); + + } diff --git a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/impl/PropertyServiceImpl.java b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/impl/PropertyServiceImpl.java index d036782..bf35012 100644 --- a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/impl/PropertyServiceImpl.java +++ b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/impl/PropertyServiceImpl.java @@ -6,17 +6,20 @@ import com.elink.esua.epdc.commons.tools.enums.UserTagEnum; import com.elink.esua.epdc.commons.tools.enums.YesOrNoEnum; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.ParentAndAllDeptDTO; +import com.elink.esua.epdc.dto.UploadToOssDTO; 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.EpdcUserGroupInviteFormDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcUserGroupInviteResultDTO; import com.elink.esua.epdc.dto.group.GroupSettingStateDTO; import com.elink.esua.epdc.dto.group.form.*; -import com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO; -import com.elink.esua.epdc.dto.group.result.GroupUserListResultDTO; -import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO; -import com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO; +import com.elink.esua.epdc.dto.group.result.*; +import com.elink.esua.epdc.dto.topic.form.*; +import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO; +import com.elink.esua.epdc.dto.topic.result.TopicListResultDTO; import com.elink.esua.epdc.feign.AdminFeignClient; +import com.elink.esua.epdc.feign.OssFeignClient; import com.elink.esua.epdc.feign.PropertyFeignClient; import com.elink.esua.epdc.service.PropertyService; import com.elink.esua.epdc.utils.UserTagUtils; @@ -27,9 +30,9 @@ import java.util.List; /** - * @author: qushutong - * @Date: 2020/5/12 13:23 - * @Description: 社群相关 + * @author: qushutong + * @Date: 2020/5/12 13:23 + * @Description: 社群相关 */ @Service public class PropertyServiceImpl implements PropertyService { @@ -40,74 +43,6 @@ public class PropertyServiceImpl implements PropertyService { @Autowired private PropertyFeignClient propertyFeignClient; - @Override - public Result saveGroup(TokenDto userDetail, GroupCreateFormDTO formDto) { - if (null == userDetail) { - return new Result().error("获取用户信息失败"); - } - //获取所有上级机构名称和ID拼接 - Result dtoResult = adminFeignClient.getParentAndAllDept(userDetail.getGridId()); - ParentAndAllDeptDTO deptDTO = dtoResult.getData(); - // 父所有部门 - formDto.setParentDeptIds(deptDTO.getParentDeptIds()); - formDto.setParentDeptNames(deptDTO.getParentDeptNames()); - // 所有部门 - formDto.setAllDeptIds(deptDTO.getAllDeptIds()); - formDto.setAllDeptNames(deptDTO.getAllDeptNames()); - // 网格 - formDto.setGrid(deptDTO.getGrid()); - formDto.setGridId(deptDTO.getGridId()); - formDto.setGroupCategory(NumConstant.ONE_STR); - formDto.setState(GroupStateEnum.GROUP_STATE_PENDING_REVIEW.getValue()); - // 群主信息 - GroupUserFormDTO groupUserFormDTO = new GroupUserFormDTO(); - groupUserFormDTO.setUserId(userDetail.getUserId()); - groupUserFormDTO.setNickname(userDetail.getNickname()); - groupUserFormDTO.setUserAvatar(userDetail.getFaceImg()); - groupUserFormDTO.setMobile(userDetail.getMobile()); - // 判断当前用户是否为党员 - if (!UserTagUtils.containIdentity(userDetail.getUserTagInfos(), UserTagEnum.PARTY_MEMBER)) { - return new Result().error("您当前身份不是党员,不能创建社群"); - } - groupUserFormDTO.setPartyMember(YesOrNoEnum.YES.value()); - groupUserFormDTO.setLordFlag(NumConstant.ONE_STR); - groupUserFormDTO.setState(GroupUserStateEnum.GROUP_USER_STATE_EXAMINATION_PASSED.getValue()); - formDto.setGroupUserFormDTO(groupUserFormDTO); - - return propertyFeignClient.createGroup(formDto); - } - - @Override - public Result disbandGroup(TokenDto userDetail, GroupSettingStateDTO dto) { - if (null == userDetail) { - return new Result().error("获取用户信息失败"); - } - dto.setState(GroupStateEnum.GROUP_STATE_DISBANDED.getValue()); - dto.setUserId(userDetail.getUserId()); - return propertyFeignClient.disbandGroup(dto); - } - - @Override - public Result> listGroupsOfMine(TokenDto userDetail) { - if (null == userDetail) { - return new Result().error("获取用户信息失败"); - } - GroupsOfMineFormDTO formDto = new GroupsOfMineFormDTO(); - formDto.setUserId(userDetail.getUserId()); - formDto.setGridId(userDetail.getGridId()); - return propertyFeignClient.listGroupsOfMine(formDto); - } - - @Override - public Result> listGroupsOfRecommend(TokenDto userDetail) { - if (null == userDetail) { - return new Result().error("获取用户信息失败"); - } - GroupsOfMineFormDTO formDto = new GroupsOfMineFormDTO(); - formDto.setUserId(userDetail.getUserId()); - formDto.setGridId(userDetail.getGridId()); - return propertyFeignClient.listGroupsOfRecommend(formDto); - } @Override public Result getGroupDetail(TokenDto userDetail, String id) { @@ -197,4 +132,70 @@ public class PropertyServiceImpl implements PropertyService { } return propertyFeignClient.applyForGroup(formDto); } + + + @Override + public Result saveTopic(TokenDto userDetail, TopicSubmitFormDTO formDto) { + if (null == userDetail) { + return new Result().error("获取用户信息失败"); + } + //获取所有上级机构名称和ID拼接 + Result dtoResult = adminFeignClient.getParentAndAllDept(userDetail.getGridId()); + ParentAndAllDeptDTO deptDTO = dtoResult.getData(); + // 父所有部门 + formDto.setParentDeptIds(deptDTO.getParentDeptIds()); + formDto.setParentDeptNames(deptDTO.getParentDeptNames()); + // 所有部门 + formDto.setAllDeptIds(deptDTO.getAllDeptIds()); + formDto.setAllDeptNames(deptDTO.getAllDeptNames()); + // 网格 + formDto.setGrid(deptDTO.getGrid()); + formDto.setGridId(deptDTO.getGridId()); + + formDto.setUserId(userDetail.getUserId()); + formDto.setUserFace(userDetail.getFaceImg()); + formDto.setNickname(userDetail.getNickname()); + if (UserTagUtils.containIdentity(userDetail.getUserTagInfos(), UserTagEnum.PARTY_MEMBER)) { + formDto.setPartyMember(YesOrNoEnum.YES.value()); + } else { + formDto.setPartyMember(YesOrNoEnum.NO.value()); + } + formDto.setMobile(userDetail.getMobile()); + formDto.setState(TopicStateEnum.TOPIC_STATE_IN_CONVERSATION.getValue()); + + return propertyFeignClient.submit(formDto); + } + + @Override + public Result getTopicDetailById(TokenDto userDetail, String id) { + if (null == userDetail) { + return new Result().error("获取用户信息失败"); + } + TopicDetailFormDTO formDto = new TopicDetailFormDTO(); + formDto.setId(id); + formDto.setUserId(userDetail.getUserId()); + return propertyFeignClient.detail(formDto); + } + + @Override + public Result closeTopic(TokenDto userDetail, TopicCloseFormDTO formDto) { + if (null == userDetail) { + return new Result().error("获取用户信息失败"); + } + formDto.setUserId(userDetail.getUserId()); + return propertyFeignClient.close(formDto); + } + + + @Override + public Result> listOfTopic(TokenDto userDetail, TopicListFormDTO formDto) { + if (null == userDetail) { + return new Result().error("获取用户信息失败"); + } + formDto.setGridId(userDetail.getGridId()); + formDto.setCurrentUserId(userDetail.getUserId()); + return propertyFeignClient.listOfTopic(formDto); + } + + }