Browse Source

话题相关初始化

feature/yujt_analysisHomeChange
曲树通 5 years ago
parent
commit
a4f1525f2c
  1. 185
      epdc-cloud-api/src/main/java/com/elink/esua/epdc/controller/ApiPropertyController.java
  2. 145
      epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/PropertyFeignClient.java
  3. 57
      epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/fallback/PropertyFeignClientFallback.java
  4. 134
      epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/PropertyService.java
  5. 151
      epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/impl/PropertyServiceImpl.java

185
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<java.util.List<com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO>>
* @author liuchuang
* @since 2019/10/21 17:20
*/
@GetMapping("listOfMine")
public Result<List<GroupsOfMineResultDTO>> groupsOfMine(@LoginUser TokenDto userDetail) {
return propertyService.listGroupsOfMine(userDetail);
}
/**
*
* 推荐群列表
*
* @params [userDetail]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO>>
* @author liuchuang
* @since 2019/10/22 13:53
*/
@GetMapping("listOfRecommend")
public Result<List<GroupsOfRecommendResultDTO>> groupsOfRecommend(@LoginUser TokenDto userDetail) {
return propertyService.listGroupsOfRecommend(userDetail);
}
/**
*
* 社群详情
*
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO>>
* @params [userDetail, id]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO>>
* @author liuchuang
* @since 2019/10/22 15:14
*/
@GetMapping("detail/{id}")
@GetMapping("group/detail/{id}")
public Result<GroupDetailForMobileEndResultDTO> 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<List<GroupUserListResultDTO>> 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<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcUserGroupInviteResultDTO>>
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.epdc.result.EpdcUserGroupInviteResultDTO>>
* @author liuchuang
* @since 2019/10/23 16:39
*/
@GetMapping("getInviteList")
@GetMapping("group/getInviteList")
public Result<List<EpdcUserGroupInviteResultDTO>> 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<java.util.List < com.elink.esua.epdc.dto.topic.result.TopicListResultDTO>>
* @params [userDetail, formDto]
* @author liuchuang
* @since 2019/11/11 15:04
*/
@GetMapping("topic/list")
public Result<List<TopicListResultDTO>> listTopic(@LoginUser TokenDto userDetail, TopicListFormDTO formDto) {
ValidatorUtils.validateEntity(formDto);
return propertyService.listOfTopic(userDetail, formDto);
}
/**
* 话题详情
*
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO>
* @params [id]
* @author liuchuang
* @since 2019/11/7 15:37
*/
@GetMapping("topic/detail/{id}")
public Result<TopicDetailResultDTO> 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);
}
}

145
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<java.util.List<com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO>>
* @author liuchuang
* @since 2019/10/21 17:26
*/
@GetMapping(value = "property/epdc-app/group/listOfMine", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<GroupsOfMineResultDTO>> listGroupsOfMine(GroupsOfMineFormDTO formDto);
/**
*
* 推荐群列表
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO>>
* @author liuchuang
* @since 2019/10/22 13:51
*/
@GetMapping(value = "property/epdc-app/group/listOfRecommend", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<GroupsOfRecommendResultDTO>> listGroupsOfRecommend(GroupsOfMineFormDTO formDto);
/**
*
* 社群详情
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO>
* @params [formDto]
* @author liuchuang
* @since 2019/10/22 15:09
*/
@ -90,11 +43,10 @@ public interface PropertyFeignClient {
Result<GroupDetailForMobileEndResultDTO> 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<List<GroupUserListResultDTO>> 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<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcUserGroupInviteResultDTO>>
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.epdc.result.EpdcUserGroupInviteResultDTO>>
* @author liuchuang
* @since 2019/10/23 16:38
*/
@ -162,11 +109,10 @@ public interface PropertyFeignClient {
Result<List<EpdcUserGroupInviteResultDTO>> 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<GroupUserFormDTO> 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<com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO>
* @params [id]
* @author liuchuang
* @since 2019/11/7 15:37
*/
@GetMapping(value = "property/epdc-app/topic/detail", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<TopicDetailResultDTO> detail(TopicDetailFormDTO formDto);
/**
* 话题列表
*
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.topic.result.TopicListResultDTO>>
* @params [formDto]
* @author liuchuang
* @since 2019/11/11 15:06
*/
@GetMapping(value = "property/epdc-app/topic/list", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<TopicListResultDTO>> 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);
}

57
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<List<GroupsOfMineResultDTO>> listGroupsOfMine(GroupsOfMineFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "listGroupsOfMine", formDto);
}
@Override
public Result<List<GroupsOfRecommendResultDTO>> listGroupsOfRecommend(GroupsOfMineFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "listGroupsOfRecommend", formDto);
}
@Override
public Result<GroupDetailForMobileEndResultDTO> detail(GroupDetailForMobileEndFormDTO formDto) {
@ -105,4 +87,27 @@ public class PropertyFeignClientFallback implements PropertyFeignClient {
public Result joinGridPartyGroup(List<GroupUserFormDTO> 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<TopicDetailResultDTO> 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<List<TopicListResultDTO>> listOfTopic(TopicListFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "listOfTopic", formDto);
}
}

134
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<java.util.List<com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO>>
* @author liuchuang
* @since 2019/10/21 17:21
*/
Result<List<GroupsOfMineResultDTO>> listGroupsOfMine(TokenDto userDetail);
/**
*
* 推荐群列表
*
* @params [userDetail]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO>>
* @author liuchuang
* @since 2019/10/22 13:54
*/
Result<List<GroupsOfRecommendResultDTO>> 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<GroupDetailForMobileEndResultDTO> 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<List<GroupUserListResultDTO>> 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<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcUserGroupInviteResultDTO>>
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.epdc.result.EpdcUserGroupInviteResultDTO>>
* @author liuchuang
* @since 2019/10/23 16:40
*/
Result<List<EpdcUserGroupInviteResultDTO>> 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<TopicDetailResultDTO> 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<java.util.List < com.elink.esua.epdc.dto.topic.result.TopicListResultDTO>>
* @params [userDetail, formDto]
* @author liuchuang
* @since 2019/11/11 15:05
*/
Result<List<TopicListResultDTO>> listOfTopic(TokenDto userDetail, TopicListFormDTO formDto);
}

151
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<ParentAndAllDeptDTO> 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<List<GroupsOfMineResultDTO>> 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<List<GroupsOfRecommendResultDTO>> 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<GroupDetailForMobileEndResultDTO> 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<ParentAndAllDeptDTO> 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<TopicDetailResultDTO> 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<List<TopicListResultDTO>> listOfTopic(TokenDto userDetail, TopicListFormDTO formDto) {
if (null == userDetail) {
return new Result().error("获取用户信息失败");
}
formDto.setGridId(userDetail.getGridId());
formDto.setCurrentUserId(userDetail.getUserId());
return propertyFeignClient.listOfTopic(formDto);
}
}

Loading…
Cancel
Save