diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiGroupController.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiGroupController.java index 0b8aa9918..9738a5814 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiGroupController.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiGroupController.java @@ -182,4 +182,32 @@ public class ApiGroupController { return groupService.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 groupService.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 groupService.updateGroupUsers(formDto); + } + } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/GroupFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/GroupFeignClient.java index 7fe47eb57..2a70bc837 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/GroupFeignClient.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/GroupFeignClient.java @@ -154,6 +154,30 @@ public interface GroupFeignClient { * @author liuchuang * @since 2019/10/23 16:38 */ - @GetMapping(value = "group/epdc-app/group/getInviteList", consumes = MediaType.APPLICATION_JSON_VALUE) + @GetMapping(value = "group/epdc-app/usergroup/getInviteList", consumes = MediaType.APPLICATION_JSON_VALUE) Result> 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); } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/GroupFeignClientFallback.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/GroupFeignClientFallback.java index 3d795943a..88472de61 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/GroupFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/GroupFeignClientFallback.java @@ -74,4 +74,14 @@ public class GroupFeignClientFallback implements GroupFeignClient { public Result> 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); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/GroupService.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/GroupService.java index 7d0620386..be68dc992 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/GroupService.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/GroupService.java @@ -140,4 +140,26 @@ public interface GroupService { */ Result> 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); + } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/GroupServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/GroupServiceImpl.java index 534b7c04e..d0f165c38 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/GroupServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/GroupServiceImpl.java @@ -159,4 +159,14 @@ public class GroupServiceImpl implements GroupService { 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); + } } diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/constant/GroupNoticeConstant.java b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/constant/GroupNoticeConstant.java index 65e19c473..c7915a960 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/constant/GroupNoticeConstant.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/constant/GroupNoticeConstant.java @@ -27,7 +27,37 @@ public interface GroupNoticeConstant { /** * 删除社群成员 */ - String NOTICE_GROUP_REMOVED_MEMBER = "你已被群主移除社群"; + String NOTICE_GROUP_USER_REMOVED_MEMBER = "你已被群主移除社群"; + + /** + * 邀请入群 + */ + String NOTICE_GROUP_USER_INVITED = "您已加入社群"; + + /** + * 邀请入群内容 + */ + String NOTICE_GROUP_USER_INVITED_CONTENT = "您已被群主邀请加入groupName社群,快进入社群看看吧。"; + + /** + * 入群申请通过 + */ + String NOTICE_GROUP_USER_REVIEW_PASSED = "入群申请【审核通过】"; + + /** + * 入群申请不通过 + */ + String NOTICE_GROUP_USER_REVIEW_NOT_PASSED = "入群申请【审核不通过】"; + + /** + * 入群申请通过内容 + */ + String NOTICE_GROUP_USER_REVIEW_PASSED_CONTENT = "您加入groupName社群的申请,审核已通过,快进入社群吧。"; + + /** + * 入群申请不通过内容 + */ + String NOTICE_GROUP_USER_REVIEW_NOT_PASSED_CONTENT = "您加入groupName社群的申请,审核未通过,原因:auditOpinion"; /** * 退出社群 @@ -67,10 +97,25 @@ public interface GroupNoticeConstant { /** * 消息所属业务类型:移除社群成员 */ - String NOTICE_BUSINESS_TYPE_GROUP_REMOVED_MEMBER = "groupRemovedMember"; + String NOTICE_BUSINESS_TYPE_GROUP_USER_REMOVED_MEMBER = "groupRemovedMember"; /** * 消息所属业务类型:退出社群 */ - String NOTICE_BUSINESS_TYPE_GROUP_QUIT = "groupQuit"; + String NOTICE_BUSINESS_TYPE_GROUP_USER_QUIT = "groupQuit"; + + /** + * 社群邀请 + */ + String NOTICE_BUSINESS_TYPE_GROUP_USER_INVITED = "groupInvited"; + + /** + * 入群申请通过 + */ + String NOTICE_BUSINESS_TYPE_GROUP_USER_REVIEW_PASSED = "groupUserReviewPassed"; + + /** + * 入群申请未通过 + */ + String NOTICE_BUSINESS_TYPE_GROUP_USER_REVIEW_NOT_PASS = "groupUserReviewNotPass"; } diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/UserReviewDto.java b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/UserReviewDto.java new file mode 100644 index 000000000..f469d3fef --- /dev/null +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/UserReviewDto.java @@ -0,0 +1,29 @@ +package com.elink.esua.epdc.dto.group; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * @Author:liuchuang + * @Date:2019/11/6 13:18 + */ +@Data +public class UserReviewDto implements Serializable { + private static final long serialVersionUID = 5555206313726765102L; + + private String id; + + /** + * 审核结果(5:审核不通过,10:审核通过) + */ + @NotNull(message = "审核结果不能为空") + private Integer state; + + /** + * 审核意见 + */ + private String auditOpinion; +} diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupAddUserFormDTO.java b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupAddUserFormDTO.java new file mode 100644 index 000000000..1bb8c65b1 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupAddUserFormDTO.java @@ -0,0 +1,28 @@ +package com.elink.esua.epdc.dto.group.form; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * + * 添加成员Form DTO + * + * @Author:liuchuang + * @Date:2019/11/6 9:00 + */ +@Data +public class GroupAddUserFormDTO implements Serializable { + private static final long serialVersionUID = 7220929684754186126L; + + /** + * 社群ID + */ + private String groupId; + + /** + * 添加成员信息 + */ + List groupUserFormDtoList; +} diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupUserFormDTO.java b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupUserFormDTO.java index 2f1450feb..c508d5cc6 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupUserFormDTO.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupUserFormDTO.java @@ -16,10 +16,6 @@ import java.io.Serializable; public class GroupUserFormDTO implements Serializable { private static final long serialVersionUID = -1532468675717622698L; - /** - * 社群ID - */ - private String groupId; /** * 用户ID */ diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupUserReviewFormDTO.java b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupUserReviewFormDTO.java new file mode 100644 index 000000000..ea184a99a --- /dev/null +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupUserReviewFormDTO.java @@ -0,0 +1,31 @@ +package com.elink.esua.epdc.dto.group.form; + +import com.elink.esua.epdc.dto.group.UserReviewDto; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.List; + +/** + * + * 入群审核Form DTO + * + * @Author:liuchuang + * @Date:2019/11/6 11:07 + */ +@Data +public class GroupUserReviewFormDTO implements Serializable { + private static final long serialVersionUID = 490810653280939342L; + + /** + * 社群ID + */ + @NotBlank(message = "社群ID不能为空") + private String groupId; + + /** + * 审核用户 + */ + private List userReviewDtoList; +} diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/result/GroupUserListResultDTO.java b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/result/GroupUserListResultDTO.java index ba65387b2..7d517e871 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/result/GroupUserListResultDTO.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/result/GroupUserListResultDTO.java @@ -3,6 +3,7 @@ package com.elink.esua.epdc.dto.group.result; import lombok.Data; import java.io.Serializable; +import java.util.Date; /** * @@ -36,4 +37,9 @@ public class GroupUserListResultDTO implements Serializable { * 群主标识 0:否,1:是 */ private String lordFlag; + + /** + * 申请时间 + */ + private Date createdTime; } diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/controller/AppGroupController.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/controller/AppGroupController.java index ebfce4028..4e5743c27 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/controller/AppGroupController.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/controller/AppGroupController.java @@ -4,8 +4,6 @@ import com.elink.esua.epdc.commons.tools.constant.Constant; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; 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.*; @@ -189,19 +187,4 @@ public class AppGroupController { return groupService.modifyMemberState(formDto); } - /** - * - * 添加成员列表 - * - * @params [formDto] - * @return com.elink.esua.epdc.commons.tools.utils.Result> - * @author liuchuang - * @since 2019/10/23 16:37 - */ - @GetMapping("getInviteList") - public Result> getInviteList(@RequestBody EpdcUserGroupInviteFormDTO formDto) { - ValidatorUtils.validateEntity(formDto); - return groupService.listOfInviteUsers(formDto); - } - } diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/controller/AppUserGroupController.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/controller/AppUserGroupController.java new file mode 100644 index 000000000..b84d68642 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/controller/AppUserGroupController.java @@ -0,0 +1,73 @@ +package com.elink.esua.epdc.modules.group.controller; + +import com.elink.esua.epdc.commons.tools.constant.Constant; +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.form.GroupAddUserFormDTO; +import com.elink.esua.epdc.dto.group.form.GroupUserReviewFormDTO; +import com.elink.esua.epdc.modules.group.service.UserGroupService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * + * 移动端社群成员模块 + * + * @Author:liuchuang + * @Date:2019/11/6 9:40 + */ +@RestController +@RequestMapping(Constant.EPDC_APP + "usergroup") +public class AppUserGroupController { + + @Autowired + private UserGroupService userGroupService; + + /** + * + * 添加成员列表 + * + * @params [formDto] + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @author liuchuang + * @since 2019/10/23 16:37 + */ + @GetMapping("getInviteList") + public Result> getInviteList(@RequestBody EpdcUserGroupInviteFormDTO formDto) { + ValidatorUtils.validateEntity(formDto); + return userGroupService.listOfInviteUsers(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) { + ValidatorUtils.validateEntity(formDto); + return userGroupService.saveGroupUsers(formDto); + } + + /** + * + * 审核入群申请 + * + * @params [formDto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author liuchuang + * @since 2019/11/6 13:26 + */ + @PostMapping("reviewApply") + public Result reviewApply(@RequestBody GroupUserReviewFormDTO formDto) { + return userGroupService.modifyGroupUsers(formDto); + } +} diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/GroupService.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/GroupService.java index e5bacb2a6..aee980f11 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/GroupService.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/GroupService.java @@ -20,8 +20,6 @@ package com.elink.esua.epdc.modules.group.service; import com.elink.esua.epdc.commons.mybatis.service.BaseService; import com.elink.esua.epdc.commons.tools.page.PageData; 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.GroupDTO; import com.elink.esua.epdc.dto.group.GroupDetailDTO; import com.elink.esua.epdc.dto.group.GroupManagementDTO; @@ -211,14 +209,4 @@ public interface GroupService extends BaseService { */ Result modifyMemberState(GroupUserRemoveOrQuitFormDTO formDto); - /** - * - * 移动端-添加成员列表 - * - * @params [formDto] - * @return com.elink.esua.epdc.commons.tools.utils.Result> - * @author liuchuang - * @since 2019/10/23 16:37 - */ - Result> listOfInviteUsers(EpdcUserGroupInviteFormDTO formDto); } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/UserGroupService.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/UserGroupService.java index c2aa0f25e..9461cf16d 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/UserGroupService.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/UserGroupService.java @@ -20,8 +20,12 @@ package com.elink.esua.epdc.modules.group.service; import com.elink.esua.epdc.commons.mybatis.service.BaseService; import com.elink.esua.epdc.commons.tools.page.PageData; 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.UserGroupDTO; +import com.elink.esua.epdc.dto.group.form.GroupAddUserFormDTO; import com.elink.esua.epdc.dto.group.form.GroupUserRemoveOrQuitFormDTO; +import com.elink.esua.epdc.dto.group.form.GroupUserReviewFormDTO; import com.elink.esua.epdc.dto.group.result.GroupUserListResultDTO; import com.elink.esua.epdc.modules.group.entity.UserGroupEntity; @@ -142,12 +146,34 @@ public interface UserGroupService extends BaseService { /** * - * 获取社群用户ID + * 移动端-添加成员列表 * - * @params [groupId, states] - * @return java.util.List + * @params [formDto] + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @author liuchuang + * @since 2019/10/23 16:37 + */ + Result> listOfInviteUsers(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/10/23 15:04 + * @since 2019/11/6 13:29 */ - List listOfGroupUserIdsByState(String groupId, int[] states); + Result modifyGroupUsers(GroupUserReviewFormDTO formDto); } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/GroupServiceImpl.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/GroupServiceImpl.java index e33152360..834ca7397 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/GroupServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/GroupServiceImpl.java @@ -27,15 +27,12 @@ import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.constant.GroupNoticeConstant; import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO; -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.*; import com.elink.esua.epdc.dto.enums.GroupStateEnum; import com.elink.esua.epdc.dto.enums.GroupUserStateEnum; import com.elink.esua.epdc.dto.group.form.*; import com.elink.esua.epdc.dto.group.result.*; import com.elink.esua.epdc.modules.async.NewsTask; -import com.elink.esua.epdc.modules.feign.UserFeignClient; import com.elink.esua.epdc.modules.group.dao.GroupDao; import com.elink.esua.epdc.modules.group.entity.GroupEntity; import com.elink.esua.epdc.modules.group.service.GroupService; @@ -64,9 +61,6 @@ public class GroupServiceImpl extends BaseServiceImpl imp @Autowired private NewsTask newsTask; - @Autowired - private UserFeignClient userFeignClient; - @Override public PageData page(Map params) { IPage page = getPage(params); @@ -280,8 +274,8 @@ public class GroupServiceImpl extends BaseServiceImpl imp return new Result().error("操作失败,只有群主可以删除社群成员"); } informationFormDTO.setUserId(formDto.getUserId()); - informationFormDTO.setTitle(GroupNoticeConstant.NOTICE_GROUP_REMOVED_MEMBER); - informationFormDTO.setBusinessType(GroupNoticeConstant.NOTICE_BUSINESS_TYPE_GROUP_REMOVED_MEMBER); + informationFormDTO.setTitle(GroupNoticeConstant.NOTICE_GROUP_USER_REMOVED_MEMBER); + informationFormDTO.setBusinessType(GroupNoticeConstant.NOTICE_BUSINESS_TYPE_GROUP_USER_REMOVED_MEMBER); } else if (GroupUserStateEnum.GROUP_USER_STATE_RETIRED.getValue().equals(formDto.getState())){ // 退出社群 if (NumConstant.ONE_STR.equals(userGroupDto.getLordFlag())) { @@ -289,7 +283,7 @@ public class GroupServiceImpl extends BaseServiceImpl imp } informationFormDTO.setUserId(lordGroupDto.getUserId()); informationFormDTO.setTitle(userGroupDto.getNickname().concat(GroupNoticeConstant.NOTICE_GROUP_QUIT)); - informationFormDTO.setBusinessType(GroupNoticeConstant.NOTICE_BUSINESS_TYPE_GROUP_QUIT); + informationFormDTO.setBusinessType(GroupNoticeConstant.NOTICE_BUSINESS_TYPE_GROUP_USER_QUIT); } // 更新社群成员状态 @@ -298,15 +292,4 @@ public class GroupServiceImpl extends BaseServiceImpl imp newsTask.insertUserInformation(informationFormDTO); return new Result(); } - - @Override - public Result> listOfInviteUsers(EpdcUserGroupInviteFormDTO formDto) { - // 获取社群当前待审核和审核通过的成员ID - int[] states = new int[]{GroupUserStateEnum.GROUP_USER_STATE_PENDING_REVIEW.getValue(), GroupUserStateEnum.GROUP_USER_STATE_EXAMINATION_PASSED.getValue()}; - List userIds = userGroupService.listOfGroupUserIdsByState(formDto.getGroupId(), states); - formDto.setUserIds(userIds); - - return userFeignClient.getInviteUserList(formDto); - } - } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/UserGroupServiceImpl.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/UserGroupServiceImpl.java index a1f5bbd3e..f9b6863dd 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/UserGroupServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/UserGroupServiceImpl.java @@ -20,20 +20,36 @@ package com.elink.esua.epdc.modules.group.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; +import com.elink.esua.epdc.commons.tools.constant.NumConstant; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.constant.GroupNoticeConstant; +import com.elink.esua.epdc.dto.enums.GroupUserStateEnum; +import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO; +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.GroupDTO; import com.elink.esua.epdc.dto.group.UserGroupDTO; +import com.elink.esua.epdc.dto.group.UserReviewDto; +import com.elink.esua.epdc.dto.group.form.GroupAddUserFormDTO; +import com.elink.esua.epdc.dto.group.form.GroupUserFormDTO; import com.elink.esua.epdc.dto.group.form.GroupUserRemoveOrQuitFormDTO; +import com.elink.esua.epdc.dto.group.form.GroupUserReviewFormDTO; import com.elink.esua.epdc.dto.group.result.GroupUserListResultDTO; +import com.elink.esua.epdc.modules.async.NewsTask; +import com.elink.esua.epdc.modules.feign.UserFeignClient; import com.elink.esua.epdc.modules.group.dao.UserGroupDao; import com.elink.esua.epdc.modules.group.entity.UserGroupEntity; +import com.elink.esua.epdc.modules.group.service.GroupService; import com.elink.esua.epdc.modules.group.service.UserGroupService; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -47,6 +63,15 @@ import java.util.Map; @Service public class UserGroupServiceImpl extends BaseServiceImpl implements UserGroupService { + @Autowired + private UserFeignClient userFeignClient; + + @Autowired + private GroupService groupService; + + @Autowired + private NewsTask newsTask; + @Override public PageData page(Map params) { IPage page = getPage(params); @@ -120,8 +145,102 @@ public class UserGroupServiceImpl extends BaseServiceImpl listOfGroupUserIdsByState(String groupId, int[] states) { - return baseDao.selectListOfGroupUserIdsByState(groupId, states); + public Result> listOfInviteUsers(EpdcUserGroupInviteFormDTO formDto) { + // 获取社群当前待审核和审核通过的成员ID + int[] states = {GroupUserStateEnum.GROUP_USER_STATE_PENDING_REVIEW.getValue(), GroupUserStateEnum.GROUP_USER_STATE_EXAMINATION_PASSED.getValue()}; + List userIds = baseDao.selectListOfGroupUserIdsByState(formDto.getGroupId(), states); + formDto.setUserIds(userIds); + + return userFeignClient.getInviteUserList(formDto); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Result saveGroupUsers(GroupAddUserFormDTO formDto) { + List userGroupEntities = new ArrayList<>(formDto.getGroupUserFormDtoList().size()); + UserGroupEntity entity = null; + for (GroupUserFormDTO userDto: + formDto.getGroupUserFormDtoList()) { + entity = new UserGroupEntity(); + entity.setGroupId(formDto.getGroupId()); + entity.setUserId(userDto.getUserId()); + entity.setNickname(userDto.getNickname()); + entity.setUserAvatar(userDto.getUserAvatar()); + entity.setMobile(userDto.getMobile()); + entity.setPartyMember(userDto.getPartyMember()); + entity.setLordFlag(NumConstant.ZERO_STR); + entity.setState(GroupUserStateEnum.GROUP_USER_STATE_EXAMINATION_PASSED.getValue()); + + userGroupEntities.add(entity); + } + + if (insertBatch(userGroupEntities)) { + // 获取社群信息 + GroupDTO groupDto = groupService.get(formDto.getGroupId()); + // 组装发送消息内容 + for (UserGroupEntity userGroupEntity: + userGroupEntities) { + EpdcInformationFormDTO informationFormDTO = new EpdcInformationFormDTO(); + informationFormDTO.setContent(GroupNoticeConstant.NOTICE_GROUP_USER_INVITED_CONTENT.replace("groupName", groupDto.getGroupName())); + informationFormDTO.setType(GroupNoticeConstant.NOTICE_TYPE_GROUP_NOTICE); + informationFormDTO.setBusinessId(formDto.getGroupId()); + informationFormDTO.setUserId(userGroupEntity.getUserId()); + informationFormDTO.setTitle(GroupNoticeConstant.NOTICE_GROUP_USER_INVITED); + informationFormDTO.setBusinessType(GroupNoticeConstant.NOTICE_BUSINESS_TYPE_GROUP_USER_INVITED); + + // 发送通知 + newsTask.insertUserInformation(informationFormDTO); + } + return new Result(); + } + + return new Result().error(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Result modifyGroupUsers(GroupUserReviewFormDTO formDto) { + List userGroupEntities = new ArrayList<>(formDto.getUserReviewDtoList().size()); + UserGroupEntity entity = null; + for (UserReviewDto userReviewDto: + formDto.getUserReviewDtoList()) { + entity = new UserGroupEntity(); + entity.setId(userReviewDto.getId()); + entity.setState(userReviewDto.getState()); + entity.setAuditOpinion(userReviewDto.getAuditOpinion()); + + userGroupEntities.add(entity); + } + if (updateBatchById(userGroupEntities)) { + // 获取社群信息 + GroupDTO groupDto = groupService.get(formDto.getGroupId()); + // 组装发送消息内容 + for (UserGroupEntity userGroupEntity: + userGroupEntities) { + EpdcInformationFormDTO informationFormDTO = new EpdcInformationFormDTO(); + informationFormDTO.setType(GroupNoticeConstant.NOTICE_TYPE_AUDIT_NOTICE); + informationFormDTO.setUserId(userGroupEntity.getUserId()); + if (GroupUserStateEnum.GROUP_USER_STATE_AUDIT_NOT_PASSED.getValue().equals(userGroupEntity.getState())) { + informationFormDTO.setTitle(GroupNoticeConstant.NOTICE_GROUP_USER_REVIEW_NOT_PASSED); + informationFormDTO.setContent(GroupNoticeConstant.NOTICE_GROUP_USER_REVIEW_NOT_PASSED_CONTENT + .replace("groupName", groupDto.getGroupName()) + .replace("auditOpinion", userGroupEntity.getAuditOpinion())); + informationFormDTO.setBusinessId(userGroupEntity.getId()); + informationFormDTO.setBusinessType(GroupNoticeConstant.NOTICE_BUSINESS_TYPE_GROUP_USER_REVIEW_NOT_PASS); + } else { + informationFormDTO.setTitle(GroupNoticeConstant.NOTICE_GROUP_USER_REVIEW_PASSED); + informationFormDTO.setContent(GroupNoticeConstant.NOTICE_GROUP_USER_REVIEW_PASSED_CONTENT + .replace("groupName", groupDto.getGroupName())); + informationFormDTO.setBusinessId(formDto.getGroupId()); + informationFormDTO.setBusinessType(GroupNoticeConstant.NOTICE_BUSINESS_TYPE_GROUP_USER_REVIEW_PASSED); + } + // 发送通知 + newsTask.insertUserInformation(informationFormDTO); + } + return new Result(); + } + + return new Result().error(); } } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/UserGroupDao.xml b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/UserGroupDao.xml index dcba38ca7..14d2cb69a 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/UserGroupDao.xml +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/UserGroupDao.xml @@ -27,7 +27,7 @@