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 8db119091..e72a77bae 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 @@ -6,6 +6,7 @@ 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.dto.group.form.GroupIntroductionFormDTO; +import com.elink.esua.epdc.dto.group.form.GroupModifyAvatarFormDTO; import com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO; import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO; import com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO; @@ -113,4 +114,18 @@ public class ApiGroupController { return groupService.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 groupService.modifyAvatar(userDetail, 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 9e1239629..bbf1a6a7f 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 @@ -3,10 +3,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.dto.group.form.GroupDetailForMobileEndFormDTO; -import com.elink.esua.epdc.dto.group.form.GroupIntroductionFormDTO; -import com.elink.esua.epdc.dto.group.form.GroupsOfMineFormDTO; +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.GroupsOfMineResultDTO; import com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO; @@ -99,4 +96,16 @@ public interface GroupFeignClient { */ @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); } 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 90f3f604d..ba32bac6e 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 @@ -4,10 +4,7 @@ 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.dto.group.form.GroupDetailForMobileEndFormDTO; -import com.elink.esua.epdc.dto.group.form.GroupIntroductionFormDTO; -import com.elink.esua.epdc.dto.group.form.GroupsOfMineFormDTO; +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.GroupsOfMineResultDTO; import com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO; @@ -52,4 +49,9 @@ public class GroupFeignClientFallback implements GroupFeignClient { 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); + } } 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 ade3f5fa0..cb42aeb57 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 @@ -5,6 +5,7 @@ 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.dto.group.form.GroupIntroductionFormDTO; +import com.elink.esua.epdc.dto.group.form.GroupModifyAvatarFormDTO; import com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO; import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO; import com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO; @@ -86,4 +87,15 @@ public interface GroupService { */ 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); + } 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 bde71f1f7..072244284 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 @@ -117,4 +117,13 @@ public class GroupServiceImpl implements GroupService { 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); + } } diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupModifyAvatarFormDTO.java b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupModifyAvatarFormDTO.java new file mode 100644 index 000000000..06ef93e38 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupModifyAvatarFormDTO.java @@ -0,0 +1,36 @@ +package com.elink.esua.epdc.dto.group.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * + * 修改群头像Form DTO + * + * @Author:liuchuang + * @Date:2019/10/22 17:15 + */ +@Data +public class GroupModifyAvatarFormDTO implements Serializable { + private static final long serialVersionUID = -1068809568439910879L; + + /** + * 社群ID + */ + @NotBlank(message = "社群ID不能为空") + private String id; + + /** + * 社群头像 + */ + @NotBlank(message = "社群头像不能为空") + private String groupAvatar; + + /** + * 用户ID + */ + @NotBlank(message = "用户ID不能为空") + private String userId; +} 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 6bcf1777c..b55112a10 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,10 +4,7 @@ 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.dto.group.form.GroupDetailForMobileEndFormDTO; -import com.elink.esua.epdc.dto.group.form.GroupIntroductionFormDTO; -import com.elink.esua.epdc.dto.group.form.GroupsOfMineFormDTO; +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.GroupsOfMineResultDTO; import com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO; @@ -129,4 +126,19 @@ public class AppGroupController { return groupService.modifyIntroduction(formDto); } + /** + * + * 修改群头像 + * + * @params [formDto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author liuchuang + * @since 2019/10/22 17:30 + */ + @PostMapping("modifyAvatar") + public Result modifyAvatar(@RequestBody GroupModifyAvatarFormDTO formDto) { + ValidatorUtils.validateEntity(formDto); + return groupService.modifyAvatar(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 4bd12aa7e..0d00263a9 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 @@ -24,10 +24,7 @@ import com.elink.esua.epdc.dto.group.GroupDTO; import com.elink.esua.epdc.dto.group.GroupDetailDTO; 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.dto.group.form.GroupDetailForMobileEndFormDTO; -import com.elink.esua.epdc.dto.group.form.GroupIntroductionFormDTO; -import com.elink.esua.epdc.dto.group.form.GroupsOfMineFormDTO; +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.GroupsOfMineResultDTO; import com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO; @@ -180,4 +177,15 @@ public interface GroupService extends BaseService { * @since 2019/10/22 15:34 */ Result modifyIntroduction(GroupIntroductionFormDTO formDto); + + /** + * + * 修改群头像 + * + * @params [formDto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author liuchuang + * @since 2019/10/22 17:31 + */ + Result modifyAvatar(GroupModifyAvatarFormDTO 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 455b442ba..024554ad3 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 @@ -29,10 +29,7 @@ import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO; 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.GroupCreateFormDTO; -import com.elink.esua.epdc.dto.group.form.GroupDetailForMobileEndFormDTO; -import com.elink.esua.epdc.dto.group.form.GroupIntroductionFormDTO; -import com.elink.esua.epdc.dto.group.form.GroupsOfMineFormDTO; +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; @@ -220,6 +217,7 @@ public class GroupServiceImpl extends BaseServiceImpl imp } @Override + @Transactional(rollbackFor = Exception.class) public Result modifyIntroduction(GroupIntroductionFormDTO formDto) { // 获取群主信息 UserGroupDTO userGroupDTO = userGroupService.getLordInfoByGroupId(formDto.getId()); @@ -235,4 +233,21 @@ public class GroupServiceImpl extends BaseServiceImpl imp return new Result(); } + @Override + @Transactional(rollbackFor = Exception.class) + public Result modifyAvatar(GroupModifyAvatarFormDTO formDto) { + // 获取群主信息 + UserGroupDTO userGroupDTO = userGroupService.getLordInfoByGroupId(formDto.getId()); + // 判断当前用户是否为群主 + if (!formDto.getUserId().equals(userGroupDTO.getUserId())) { + return new Result().error("操作失败,只有群主可以修改群头像"); + } + GroupEntity entity = new GroupEntity(); + entity.setId(formDto.getId()); + entity.setGroupAvatar(formDto.getGroupAvatar()); + baseDao.updateById(entity); + + return new Result(); + } + } \ No newline at end of file