diff --git a/mcwl-admin/src/main/java/com/mcwl/web/controller/communityCenter/PublishController.java b/mcwl-admin/src/main/java/com/mcwl/web/controller/communityCenter/PublishController.java index 43e90dd..9b5e26f 100644 --- a/mcwl-admin/src/main/java/com/mcwl/web/controller/communityCenter/PublishController.java +++ b/mcwl-admin/src/main/java/com/mcwl/web/controller/communityCenter/PublishController.java @@ -87,10 +87,8 @@ public class PublishController { @ApiOperation(value = "删除") @PostMapping("remove") public R deletePublish(@RequestBody @Valid PublishRemoveRes publishRemoveRes) { - Long communityId = publishRemoveRes.getCommunityId(); - Long publishId = publishRemoveRes.getPublishId(); - publishService.remove(new LambdaQueryWrapper().eq(Publish::getId, publishId).eq(Publish::getCommunityId, communityId)); - return R.ok(); + + return publishService.removePublish(publishRemoveRes); } /** diff --git a/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/domain/dto/PublishRemoveRes.java b/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/domain/dto/PublishRemoveRes.java index ed5e833..7e07666 100644 --- a/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/domain/dto/PublishRemoveRes.java +++ b/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/domain/dto/PublishRemoveRes.java @@ -7,11 +7,17 @@ import lombok.Data; import javax.validation.constraints.NotNull; /** - * 点赞/取消点赞请求参数 + * 删除发布请求参数 */ @Data -@ApiModel(value = "点赞/取消点赞请求参数") +@ApiModel(value = "删除发布请求参数") public class PublishRemoveRes { + /** + * 租户id + */ + @ApiModelProperty(value = "租户id", required = true) + @NotNull(message = "租户id不能为空") + private Long tenantId; /** * 社区id diff --git a/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/mapper/PublishMapper.java b/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/mapper/PublishMapper.java index 9cf74f1..756fcb7 100644 --- a/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/mapper/PublishMapper.java +++ b/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/mapper/PublishMapper.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.mcwl.communityCenter.domain.Publish; import com.mcwl.communityCenter.domain.dto.MyPublishPageRes; import com.mcwl.communityCenter.domain.dto.PublishPageRes; +import com.mcwl.communityCenter.domain.dto.PublishRemoveRes; import com.mcwl.communityCenter.domain.vo.PublishVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -58,4 +59,7 @@ public interface PublishMapper extends BaseMapper { @InterceptorIgnore(tenantLine = "true") Publish getLastPublish(@Param("tenantId") Long tenantId, @Param("communityId") Long communityId); + + @InterceptorIgnore(tenantLine = "true") + void removePublish(@Param("publishRemoveRes") PublishRemoveRes publishRemoveRes); } diff --git a/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/service/PublishService.java b/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/service/PublishService.java index 08c4255..a7a0570 100644 --- a/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/service/PublishService.java +++ b/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/service/PublishService.java @@ -44,4 +44,6 @@ public interface PublishService extends IService { void reportPublish(@Valid PublishReportRes publishReportRes); Publish getLastPublish(Long tenantId, Long communityId); + + R removePublish(@Valid PublishRemoveRes publishRemoveRes); } diff --git a/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/service/impl/PublishServiceImpl.java b/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/service/impl/PublishServiceImpl.java index da4a9d8..361d36b 100644 --- a/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/service/impl/PublishServiceImpl.java +++ b/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/service/impl/PublishServiceImpl.java @@ -402,6 +402,31 @@ public class PublishServiceImpl extends ServiceImpl impl return baseMapper.getLastPublish(tenantId, communityId); } + @Override + public R removePublish(PublishRemoveRes publishRemoveRes) { + Long tenantId = publishRemoveRes.getTenantId(); + Long communityId = publishRemoveRes.getCommunityId(); + Long publishId = publishRemoveRes.getPublishId(); + + Long currentUserId = SecurityUtils.getUserId(); + CommunityUser communityUser = communityUserMapper.selectCommunityUser(tenantId, communityId, currentUserId); + if (Objects.isNull(communityUser)) { + return R.fail(HttpStatus.SHOW_ERROR_MSG, "您不是该社区成员"); + } + + Publish publish = publishMapper.selectByIdAndTenantIdAndCommunityId(publishId, tenantId, communityId); + if (Objects.isNull(publish)) { + return R.fail(HttpStatus.SHOW_ERROR_MSG, "该内容不存在"); + } + + if (publish.getUserId().equals(currentUserId) || publish.getUserId().equals(tenantId)) { + publishMapper.removePublish(publishRemoveRes); + } else { + return R.fail(HttpStatus.SHOW_ERROR_MSG, "您没有权限删除该内容"); + } + return R.ok(HttpStatus.SHOW_ERROR_MSG, "删除成功"); + } + private Page initPage(PageDomain pageDomain) { return new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize()); } diff --git a/mcwl-communityCenter/src/main/resources/mapper/communityCenter/PublishMapper.xml b/mcwl-communityCenter/src/main/resources/mapper/communityCenter/PublishMapper.xml index 7a0fa49..41b5330 100644 --- a/mcwl-communityCenter/src/main/resources/mapper/communityCenter/PublishMapper.xml +++ b/mcwl-communityCenter/src/main/resources/mapper/communityCenter/PublishMapper.xml @@ -15,6 +15,14 @@ where community_id = #{communityId} and id = #{publishId} + + update cc_publish + set del_flag = '2' + where tenant_id = #{publishRemoveRes.tenantId} + and community_id = #{publishRemoveRes.communityId} + and id = #{publishRemoveRes.publishId} + and del_flag = '0' +