Browse Source

补充初始化

feature/yujt_analysisHomeChange
曲树通 5 years ago
parent
commit
61b6be8dd1
  1. 220
      epdc-cloud-api/src/main/java/com/elink/esua/epdc/controller/ApiPropertyController.java
  2. 222
      epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/PropertyFeignClient.java
  3. 108
      epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/fallback/PropertyFeignClientFallback.java
  4. 178
      epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/PropertyService.java
  5. 201
      epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/impl/PropertyServiceImpl.java

220
epdc-cloud-api/src/main/java/com/elink/esua/epdc/controller/ApiPropertyController.java

@ -1,7 +1,23 @@
package com.elink.esua.epdc.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.annotation.LoginUser;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
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.service.PropertyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @author: qushutong
@ -11,5 +27,203 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("property/group")
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);
}
/**
*
* 社群详情
*
* @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}")
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
* @author liuchuang
* @since 2019/10/22 15:33
*/
@PostMapping("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
* @author liuchuang
* @since 2019/10/22 17:25
*/
@PostMapping("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
* @author liuchuang
* @since 2019/10/23 9:13
*/
@GetMapping("listOfMember")
public Result<List<GroupUserListResultDTO>> listOfMember(GroupUsersFormDTO formDto) {
return propertyService.listOfMember(formDto);
}
/**
*
* 移除社群成员
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/10/23 10:35
*/
@PostMapping("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
* @author liuchuang
* @since 2019/10/23 10:40
*/
@PostMapping("quitGroup")
public Result quitGroup(@LoginUser TokenDto userDetail, @RequestBody GroupUserRemoveOrQuitFormDTO formDto) {
return propertyService.quitGroup(userDetail, formDto);
}
/**
*
* 添加成员列表
*
* @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")
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
* @author liuchuang
* @since 2019/11/6 9:17
*/
@PostMapping("addMember")
public Result addMember(@RequestBody GroupAddUserFormDTO formDto) {
return propertyService.saveGroupUsers(formDto);
}
/**
*
* 审核入群申请
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/11/6 13:22
*/
@PostMapping("reviewApply")
public Result reviewApply(@RequestBody GroupUserReviewFormDTO formDto) {
return propertyService.updateGroupUsers(formDto);
}
/**
*
* 申请入群
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/11/11 14:00
*/
@PostMapping("applyForGroup")
public Result applyForGroup(@LoginUser TokenDto userDetail, @RequestBody GroupApplyFormDTO formDto) {
ValidatorUtils.validateEntity(formDto);
return propertyService.applyForGroup(userDetail, formDto);
}
}

222
epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/PropertyFeignClient.java

@ -0,0 +1,222 @@
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.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.feign.fallback.GroupFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* @author: qushutong
* @Date: 2020/5/12 13:19
* @Description: 物业相关
*/
@FeignClient(name = ServiceConstant.EPDC_GROUP_SERVER, fallback = GroupFeignClientFallback.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 = "group/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 = "group/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 = "group/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 = "group/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>
* @author liuchuang
* @since 2019/10/22 15:09
*/
@GetMapping(value = "group/epdc-app/group/detail", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<GroupDetailForMobileEndResultDTO> detail(GroupDetailForMobileEndFormDTO formDto);
/**
*
* 修改群介绍
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/10/22 15:36
*/
@PostMapping(value = "group/epdc-app/group/modifyIntroduction", consumes = MediaType.APPLICATION_JSON_VALUE)
Result modifyIntroduction(GroupIntroductionFormDTO formDto);
/**
*
* 修改群头像
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/10/22 17:29
*/
@PostMapping(value = "group/epdc-app/group/modifyAvatar", consumes = MediaType.APPLICATION_JSON_VALUE)
Result modifyAvatar(GroupModifyAvatarFormDTO formDto);
/**
*
* 社群成员列表待审核/审核通过
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/10/23 9:16
*/
@GetMapping(value = "group/epdc-app/group/listOfMember", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<GroupUserListResultDTO>> listOfMember(GroupUsersFormDTO formDto);
/**
*
* 移除社群成员
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/10/23 10:47
*/
@PostMapping(value = "group/epdc-app/group/removeMember", consumes = MediaType.APPLICATION_JSON_VALUE)
Result removeMember(GroupUserRemoveOrQuitFormDTO formDto);
/**
*
* 退出社群
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/10/23 10:47
*/
@PostMapping(value = "group/epdc-app/group/quitGroup", consumes = MediaType.APPLICATION_JSON_VALUE)
Result quitGroup(GroupUserRemoveOrQuitFormDTO formDto);
/**
*
* 添加成员列表
*
* @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
*/
@GetMapping(value = "group/epdc-app/usergroup/getInviteList", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<EpdcUserGroupInviteResultDTO>> getInviteList(EpdcUserGroupInviteFormDTO formDto);
/**
*
* 添加成员
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/11/6 9:37
*/
@PostMapping(value = "group/epdc-app/usergroup/addMember", consumes = MediaType.APPLICATION_JSON_VALUE)
Result addMember(GroupAddUserFormDTO formDto);
/**
*
* 审核入群申请
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/11/6 13:26
*/
@PostMapping(value = "group/epdc-app/usergroup/reviewApply", consumes = MediaType.APPLICATION_JSON_VALUE)
Result reviewApply(GroupUserReviewFormDTO formDto);
/**
*
* 申请入群
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/11/11 14:04
*/
@PostMapping(value = "group/epdc-app/group/applyForGroup", consumes = MediaType.APPLICATION_JSON_VALUE)
Result applyForGroup(GroupApplyFormDTO formDto);
/**
*
* 更新社群用户党员标识并加入关联的所有网格党员群
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/11/11 14:32
*/
@PostMapping(value = "group/epdc-app/usergroup/partyMember", consumes = MediaType.APPLICATION_JSON_VALUE)
Result updateUserPartyMember(GroupUserPartyMemberFormDTO formDto);
/**
*
* 用户加入党员群
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/11/21 10:35
*/
@PostMapping(value = "group/epdc-app/group/joinPartyGroup", consumes = MediaType.APPLICATION_JSON_VALUE)
Result joinGridPartyGroup(@RequestBody List<GroupUserFormDTO> formDto);
}

108
epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/fallback/PropertyFeignClientFallback.java

@ -0,0 +1,108 @@
package com.elink.esua.epdc.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.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.feign.GroupFeignClient;
import com.elink.esua.epdc.feign.PropertyFeignClient;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @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) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "detail", formDto);
}
@Override
public Result modifyIntroduction(GroupIntroductionFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "modifyIntroduction", formDto);
}
@Override
public Result modifyAvatar(GroupModifyAvatarFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "modifyAvatar", formDto);
}
@Override
public Result<List<GroupUserListResultDTO>> listOfMember(GroupUsersFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "listOfMember", formDto);
}
@Override
public Result removeMember(GroupUserRemoveOrQuitFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "removeMember", formDto);
}
@Override
public Result quitGroup(GroupUserRemoveOrQuitFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "quitGroup", formDto);
}
@Override
public Result<List<EpdcUserGroupInviteResultDTO>> getInviteList(EpdcUserGroupInviteFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "getInviteList", formDto);
}
@Override
public Result addMember(GroupAddUserFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "addMember", formDto);
}
@Override
public Result reviewApply(GroupUserReviewFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "reviewApply", formDto);
}
@Override
public Result applyForGroup(GroupApplyFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "applyForGroup", formDto);
}
@Override
public Result updateUserPartyMember(GroupUserPartyMemberFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "updateUserPartyMember", formDto);
}
@Override
public Result joinGridPartyGroup(List<GroupUserFormDTO> formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "joinGridPartyGroup", formDto);
}
}

178
epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/PropertyService.java

@ -0,0 +1,178 @@
package com.elink.esua.epdc.service;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.utils.Result;
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 java.util.List;
/**
* @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
* @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
* @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
* @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
* @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
* @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
* @author liuchuang
* @since 2019/10/23 10:43
*/
Result quitGroup(TokenDto userDetail, GroupUserRemoveOrQuitFormDTO formDto);
/**
*
* 添加成员列表
*
* @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
* @author liuchuang
* @since 2019/11/6 9:18
*/
Result saveGroupUsers(GroupAddUserFormDTO formDto);
/**
*
* 审核入群申请
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/11/6 13:23
*/
Result updateGroupUsers(GroupUserReviewFormDTO formDto);
/**
*
* 申请入群
*
* @params [userDetail, formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/11/11 14:02
*/
Result applyForGroup(TokenDto userDetail, GroupApplyFormDTO formDto);
}

201
epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/impl/PropertyServiceImpl.java

@ -0,0 +1,201 @@
package com.elink.esua.epdc.service.impl;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
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.enums.GroupStateEnum;
import com.elink.esua.epdc.dto.enums.GroupUserStateEnum;
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.feign.AdminFeignClient;
import com.elink.esua.epdc.feign.GroupFeignClient;
import com.elink.esua.epdc.service.GroupService;
import com.elink.esua.epdc.service.PropertyService;
import com.elink.esua.epdc.utils.UserTagUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author: qushutong
* @Date: 2020/5/12 13:23
* @Description: 社群相关
*/
@Service
public class PropertyServiceImpl implements PropertyService {
@Autowired
private AdminFeignClient adminFeignClient;
@Autowired
private GroupFeignClient groupFeignClient;
@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 groupFeignClient.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 groupFeignClient.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 groupFeignClient.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 groupFeignClient.listGroupsOfRecommend(formDto);
}
@Override
public Result<GroupDetailForMobileEndResultDTO> getGroupDetail(TokenDto userDetail, String id) {
if (null == userDetail) {
return new Result().error("获取用户信息失败");
}
GroupDetailForMobileEndFormDTO formDto = new GroupDetailForMobileEndFormDTO();
formDto.setId(id);
formDto.setUserId(userDetail.getUserId());
return groupFeignClient.detail(formDto);
}
@Override
public Result modifyIntroduction(TokenDto userDetail, GroupIntroductionFormDTO formDto) {
if (null == userDetail) {
return new Result().error("获取用户信息失败");
}
formDto.setUserId(userDetail.getUserId());
return groupFeignClient.modifyIntroduction(formDto);
}
@Override
public Result modifyAvatar(TokenDto userDetail, GroupModifyAvatarFormDTO formDto) {
if (null == userDetail) {
return new Result().error("获取用户信息失败");
}
formDto.setUserId(userDetail.getUserId());
return groupFeignClient.modifyAvatar(formDto);
}
@Override
public Result<List<GroupUserListResultDTO>> listOfMember(GroupUsersFormDTO formDto) {
return groupFeignClient.listOfMember(formDto);
}
@Override
public Result removeMember(TokenDto userDetail, GroupUserRemoveOrQuitFormDTO formDto) {
if (null == userDetail) {
return new Result().error("获取用户信息失败");
}
formDto.setOperatorId(userDetail.getUserId());
return groupFeignClient.removeMember(formDto);
}
@Override
public Result quitGroup(TokenDto userDetail, GroupUserRemoveOrQuitFormDTO formDto) {
if (null == userDetail) {
return new Result().error("获取用户信息失败");
}
formDto.setOperatorId(userDetail.getUserId());
formDto.setUserId(userDetail.getUserId());
return groupFeignClient.quitGroup(formDto);
}
@Override
public Result<List<EpdcUserGroupInviteResultDTO>> listOfInviteUsers(TokenDto userDetail, EpdcUserGroupInviteFormDTO formDto) {
if (null == userDetail) {
return new Result().error("获取用户信息失败");
}
formDto.setGridId(userDetail.getGridId());
return groupFeignClient.getInviteList(formDto);
}
@Override
public Result saveGroupUsers(GroupAddUserFormDTO formDto) {
return groupFeignClient.addMember(formDto);
}
@Override
public Result updateGroupUsers(GroupUserReviewFormDTO formDto) {
return groupFeignClient.reviewApply(formDto);
}
@Override
public Result applyForGroup(TokenDto userDetail, GroupApplyFormDTO formDto) {
if (null == userDetail) {
return new Result().error("获取用户信息失败");
}
formDto.setUserId(userDetail.getUserId());
formDto.setNickname(userDetail.getNickname());
formDto.setUserAvatar(userDetail.getFaceImg());
formDto.setMobile(userDetail.getMobile());
if (UserTagUtils.containIdentity(userDetail.getUserTagInfos(), UserTagEnum.PARTY_MEMBER)) {
formDto.setPartyMember(YesOrNoEnum.YES.value());
} else {
formDto.setPartyMember(YesOrNoEnum.NO.value());
}
return groupFeignClient.applyForGroup(formDto);
}
}
Loading…
Cancel
Save