From 3e40094dea8240bd4b33b9acbbae9412f6298aa9 Mon Sep 17 00:00:00 2001 From: liuchuang Date: Mon, 21 Oct 2019 10:01:30 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A6=81=E8=A8=80=E3=80=81=E8=A7=A3=E7=A6=81?= =?UTF-8?q?=E3=80=81=E8=A7=A3=E6=95=A3=E7=A4=BE=E7=BE=A4=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=20init?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epdc/controller/ApiGroupController.java | 15 +++++++++ .../esua/epdc/feign/GroupFeignClient.java | 13 ++++++++ .../fallback/GroupFeignClientFallback.java | 6 ++++ .../elink/esua/epdc/service/GroupService.java | 12 +++++++ .../epdc/service/impl/GroupServiceImpl.java | 8 +++++ .../dto/group/GroupSettingStateDTO.java | 32 +++++++++++++++++++ .../group/controller/AppGroupController.java | 17 ++++++++++ .../group/controller/GroupController.java | 17 ++++++++++ .../modules/group/service/GroupService.java | 12 +++++++ .../group/service/impl/GroupServiceImpl.java | 25 +++++++++++++++ 10 files changed, 157 insertions(+) create mode 100644 esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/GroupSettingStateDTO.java 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 78903981c..b780f1fb3 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 @@ -3,6 +3,7 @@ package com.elink.esua.epdc.controller; 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.dto.group.GroupSettingStateDTO; import com.elink.esua.epdc.dto.group.form.GroupCreateFormDTO; import com.elink.esua.epdc.service.GroupService; import org.springframework.beans.factory.annotation.Autowired; @@ -39,4 +40,18 @@ public class ApiGroupController { return groupService.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(@RequestBody GroupSettingStateDTO formDto) { + return groupService.disbandGroup(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 c4f0cea29..e5c9dfc11 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 @@ -2,6 +2,7 @@ package com.elink.esua.epdc.feign; import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.group.GroupSettingStateDTO; import com.elink.esua.epdc.dto.group.form.GroupCreateFormDTO; import com.elink.esua.epdc.feign.fallback.GroupFeignClientFallback; import org.springframework.cloud.openfeign.FeignClient; @@ -29,4 +30,16 @@ public interface GroupFeignClient { */ @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); } 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 71c05362e..1a2d9b66b 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 @@ -3,6 +3,7 @@ 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.group.GroupSettingStateDTO; import com.elink.esua.epdc.dto.group.form.GroupCreateFormDTO; import com.elink.esua.epdc.feign.GroupFeignClient; import org.springframework.stereotype.Component; @@ -18,4 +19,9 @@ public class GroupFeignClientFallback implements GroupFeignClient { 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); + } } 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 aa22514ff..e7530c3da 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 @@ -2,6 +2,7 @@ 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.group.GroupSettingStateDTO; import com.elink.esua.epdc.dto.group.form.GroupCreateFormDTO; /** @@ -23,4 +24,15 @@ public interface GroupService { * @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(GroupSettingStateDTO dto); } 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 cce6d61e6..2d7bdebb5 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 @@ -4,6 +4,8 @@ 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.utils.Result; import com.elink.esua.epdc.dto.CompleteDeptDTO; +import com.elink.esua.epdc.dto.group.GroupSettingStateDTO; +import com.elink.esua.epdc.dto.group.enums.GroupStateEnum; import com.elink.esua.epdc.dto.group.enums.GroupUserStateEnum; import com.elink.esua.epdc.dto.group.form.GroupCreateFormDTO; import com.elink.esua.epdc.dto.group.form.GroupUserFormDTO; @@ -63,4 +65,10 @@ public class GroupServiceImpl implements GroupService { return groupFeignClient.createGroup(formDto); } + + @Override + public Result disbandGroup(GroupSettingStateDTO dto) { + dto.setState(GroupStateEnum.GROUP_STATE_DISBANDED.getValue()); + return groupFeignClient.disbandGroup(dto); + } } diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/GroupSettingStateDTO.java b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/GroupSettingStateDTO.java new file mode 100644 index 000000000..fe58a24f8 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/GroupSettingStateDTO.java @@ -0,0 +1,32 @@ +package com.elink.esua.epdc.dto.group; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * + * 禁言、解禁、解散社群DTO + * + * @Author:liuchuang + * @Date:2019/10/21 9:21 + */ +@Data +public class GroupSettingStateDTO implements Serializable { + private static final long serialVersionUID = -1288250589698851089L; + + /** + * 社群ID + */ + @NotBlank(message = "社群id不能为空") + private String id; + + /** + * 状态 10:解禁,15:禁言,20:解散 + */ + @NotNull(message = "社群状态不能为空") + private Integer state; + +} 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 2e65f8023..2edc84608 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 @@ -3,6 +3,7 @@ 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.group.GroupSettingStateDTO; import com.elink.esua.epdc.dto.group.form.GroupCreateFormDTO; import com.elink.esua.epdc.modules.group.service.GroupService; import org.springframework.beans.factory.annotation.Autowired; @@ -40,4 +41,20 @@ public class AppGroupController { ValidatorUtils.validateEntity(formDto); return groupService.saveGroup(formDto); } + + /** + * + * 禁言、解禁、解散社群 + * + * @params [dto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author liuchuang + * @since 2019/10/21 9:31 + */ + @PostMapping("operate") + public Result operate(@RequestBody GroupSettingStateDTO dto) { + //效验数据 + ValidatorUtils.validateEntity(dto); + return groupService.modifyGroupState(dto); + } } diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/controller/GroupController.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/controller/GroupController.java index 860d954a1..b0f3d2f23 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/controller/GroupController.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/controller/GroupController.java @@ -28,6 +28,7 @@ import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; import com.elink.esua.epdc.dto.group.GroupDTO; import com.elink.esua.epdc.dto.group.GroupManagementDTO; +import com.elink.esua.epdc.dto.group.GroupSettingStateDTO; import com.elink.esua.epdc.modules.group.excel.GroupExcel; import com.elink.esua.epdc.modules.group.service.GroupService; import org.springframework.beans.factory.annotation.Autowired; @@ -103,4 +104,20 @@ public class GroupController { ExcelUtils.exportExcelToTarget(response, null, list, GroupExcel.class); } + /** + * + * 禁言、解禁、解散社群 + * + * @params [dto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author liuchuang + * @since 2019/10/21 9:31 + */ + @PostMapping("operate") + public Result operate(@RequestBody GroupSettingStateDTO dto) { + //效验数据 + ValidatorUtils.validateEntity(dto); + return groupService.modifyGroupState(dto); + } + } \ 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/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 daca9ae3d..49e8ef764 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 @@ -22,6 +22,7 @@ import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.group.GroupDTO; import com.elink.esua.epdc.dto.group.GroupManagementDTO; +import com.elink.esua.epdc.dto.group.GroupSettingStateDTO; import com.elink.esua.epdc.dto.group.form.GroupCreateFormDTO; import com.elink.esua.epdc.modules.group.entity.GroupEntity; @@ -106,4 +107,15 @@ public interface GroupService extends BaseService { * @since 2019/10/17 14:57 */ Result saveGroup(GroupCreateFormDTO formDto); + + /** + * + * 禁言、解禁、解散社群 + * + * @params [dto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author liuchuang + * @since 2019/10/21 9:31 + */ + Result modifyGroupState(GroupSettingStateDTO dto); } \ 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 bfb141494..7d0f325e3 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 @@ -26,7 +26,9 @@ import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.group.GroupDTO; import com.elink.esua.epdc.dto.group.GroupManagementDTO; +import com.elink.esua.epdc.dto.group.GroupSettingStateDTO; import com.elink.esua.epdc.dto.group.UserGroupDTO; +import com.elink.esua.epdc.dto.group.enums.GroupStateEnum; import com.elink.esua.epdc.dto.group.form.GroupCreateFormDTO; import com.elink.esua.epdc.modules.group.dao.GroupDao; import com.elink.esua.epdc.modules.group.entity.GroupEntity; @@ -122,4 +124,27 @@ public class GroupServiceImpl extends BaseServiceImpl imp return new Result(); } + @Override + @Transactional(rollbackFor = Exception.class) + public Result modifyGroupState(GroupSettingStateDTO dto) { + // 获取社群当前状态 + GroupEntity entity = baseDao.selectById(dto.getId()); + if (null != entity) { + // 已解散的社群不能禁言和解禁 + if ((GroupStateEnum.GROUP_STATE_EXAMINATION_PASSED.getValue().equals(dto.getState()) + || GroupStateEnum.GROUP_STATE_BANNED.getValue().equals(dto.getState())) + && GroupStateEnum.GROUP_STATE_DISBANDED.getValue().equals(entity.getState())) { + return new Result().error("操作失败,当前社群已解散"); + } else { + GroupEntity groupEntity = new GroupEntity(); + groupEntity.setId(dto.getId()); + groupEntity.setState(dto.getState()); + baseDao.updateById(groupEntity); + return new Result(); + } + } + + return new Result().error("操作失败"); + } + } \ No newline at end of file