feat(community): 发布收藏
parent
70d3d32bc5
commit
906a56c431
|
@ -6,10 +6,7 @@ import com.mcwl.common.core.domain.R;
|
||||||
import com.mcwl.common.core.page.PageDomain;
|
import com.mcwl.common.core.page.PageDomain;
|
||||||
import com.mcwl.common.core.page.TableDataInfo;
|
import com.mcwl.common.core.page.TableDataInfo;
|
||||||
import com.mcwl.communityCenter.domain.Community;
|
import com.mcwl.communityCenter.domain.Community;
|
||||||
import com.mcwl.communityCenter.domain.dto.CommunityListPageRes;
|
import com.mcwl.communityCenter.domain.dto.*;
|
||||||
import com.mcwl.communityCenter.domain.dto.CommunityRes;
|
|
||||||
import com.mcwl.communityCenter.domain.dto.JoinCommunityListPageRes;
|
|
||||||
import com.mcwl.communityCenter.domain.dto.JoinCommunityRes;
|
|
||||||
import com.mcwl.communityCenter.service.CommunityService;
|
import com.mcwl.communityCenter.service.CommunityService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
@ -85,37 +82,32 @@ public class CommunityController {
|
||||||
*/
|
*/
|
||||||
@ApiOperation(value = "退出社区")
|
@ApiOperation(value = "退出社区")
|
||||||
@PostMapping("quit")
|
@PostMapping("quit")
|
||||||
public R<Object> quitCommunity(@ApiParam(value = "租户id", required = true)
|
public R<Object> quitCommunity(@RequestBody @Valid QuitCommunityRes quitCommunityRes) {
|
||||||
@NotNull(message = "租户id不能为空")
|
Long tenantId = quitCommunityRes.getTenantId();
|
||||||
@Valid
|
Long communityId = quitCommunityRes.getCommunityId();
|
||||||
Long tenantId,
|
|
||||||
@ApiParam(value = "社区id", required = true)
|
|
||||||
@NotNull(message = "社区id不能为空")
|
|
||||||
@Valid
|
|
||||||
Long communityId) {
|
|
||||||
|
|
||||||
return communityService.quitCommunity(tenantId, communityId);
|
return communityService.quitCommunity(tenantId, communityId);
|
||||||
}
|
}
|
||||||
|
//
|
||||||
/**
|
// /**
|
||||||
* 删除社区
|
// * 删除社区
|
||||||
*
|
// *
|
||||||
* @param id 社区id
|
// * @param id 社区id
|
||||||
* @return 删除结果
|
// * @return 删除结果
|
||||||
*/
|
// */
|
||||||
@ApiOperation(value = "删除社区")
|
// @ApiOperation(value = "删除社区")
|
||||||
@GetMapping("delete")
|
// @GetMapping("delete")
|
||||||
public R<Object> deleteCommunity(@NotNull(message = "id不能为空")
|
// public R<Object> deleteCommunity(@NotNull(message = "id不能为空")
|
||||||
@ApiParam(value = "id", required = true)
|
// @ApiParam(value = "id", required = true)
|
||||||
@Valid
|
// @Valid
|
||||||
Long id) {
|
// Long id) {
|
||||||
Community community = communityService.getById(id);
|
// Community community = communityService.getById(id);
|
||||||
if (Objects.isNull(community)) {
|
// if (Objects.isNull(community)) {
|
||||||
return R.fail(HttpStatus.SHOW_ERROR_MSG, "该社区不存在");
|
// return R.fail(HttpStatus.SHOW_ERROR_MSG, "该社区不存在");
|
||||||
}
|
// }
|
||||||
communityService.removeById(id);
|
// communityService.removeById(id);
|
||||||
return R.ok();
|
// return R.ok();
|
||||||
}
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否加入社区
|
* 是否加入社区
|
||||||
|
|
|
@ -5,9 +5,7 @@ import com.mcwl.common.constant.HttpStatus;
|
||||||
import com.mcwl.common.core.domain.AjaxResult;
|
import com.mcwl.common.core.domain.AjaxResult;
|
||||||
import com.mcwl.common.core.domain.R;
|
import com.mcwl.common.core.domain.R;
|
||||||
import com.mcwl.common.core.page.TableDataInfo;
|
import com.mcwl.common.core.page.TableDataInfo;
|
||||||
import com.mcwl.communityCenter.domain.dto.PublishDetailRes;
|
import com.mcwl.communityCenter.domain.dto.*;
|
||||||
import com.mcwl.communityCenter.domain.dto.PublishPageRes;
|
|
||||||
import com.mcwl.communityCenter.domain.dto.PublishRes;
|
|
||||||
import com.mcwl.communityCenter.domain.vo.PublishVo;
|
import com.mcwl.communityCenter.domain.vo.PublishVo;
|
||||||
import com.mcwl.communityCenter.service.PublishService;
|
import com.mcwl.communityCenter.service.PublishService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
|
@ -106,4 +104,14 @@ public class PublishController {
|
||||||
return R.ok();
|
return R.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 收藏/取消收藏
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "收藏/取消收藏")
|
||||||
|
@PostMapping("collect")
|
||||||
|
public R<Object> collectPublish(@RequestBody @Valid PublishCollectRes publishCollectRes) {
|
||||||
|
publishService.collectPublish(publishCollectRes);
|
||||||
|
return R.ok();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
package com.mcwl.communityCenter.domain.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 收藏/取消收藏请求参数
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ApiModel(value = "收藏/取消收藏请求参数")
|
||||||
|
public class PublishCollectRes {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 租户id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "用户id", required = true)
|
||||||
|
@NotNull(message = "用户id不能为空")
|
||||||
|
private Long tenantId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 社区id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "社区id", required = true)
|
||||||
|
@NotNull(message = "社区id不能为空")
|
||||||
|
private Long communityId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发布id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "发布id", required = true)
|
||||||
|
@NotNull(message = "发布id不能为空")
|
||||||
|
private Long publishId;
|
||||||
|
}
|
|
@ -8,6 +8,9 @@ import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发布详情请求参数
|
||||||
|
*/
|
||||||
@Data
|
@Data
|
||||||
@ApiModel(value = "发布详情请求参数")
|
@ApiModel(value = "发布详情请求参数")
|
||||||
public class PublishDetailRes {
|
public class PublishDetailRes {
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
package com.mcwl.communityCenter.domain.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import io.swagger.annotations.ApiParam;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.Valid;
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 退出社区请求参数
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ApiModel(value = "退出社区请求参数")
|
||||||
|
public class QuitCommunityRes {
|
||||||
|
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "租户id", required = true)
|
||||||
|
@NotNull(message = "租户id不能为空")
|
||||||
|
private Long tenantId;
|
||||||
|
@ApiModelProperty(value = "社区id", required = true)
|
||||||
|
@NotNull(message = "社区id不能为空")
|
||||||
|
private Long communityId;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -21,20 +21,36 @@ public class CustomTenantHandler implements TenantLineHandler {
|
||||||
* 需要根据业务需要进行调整.需要多租户的表名
|
* 需要根据业务需要进行调整.需要多租户的表名
|
||||||
*/
|
*/
|
||||||
static {
|
static {
|
||||||
|
// 通知表
|
||||||
|
tables.add("cc_advice");
|
||||||
// 发布评论表
|
// 发布评论表
|
||||||
tables.add("cc_comment");
|
tables.add("cc_comment");
|
||||||
|
// 评论点赞表
|
||||||
|
tables.add("cc_comment_like");
|
||||||
// 社区表
|
// 社区表
|
||||||
tables.add("cc_community");
|
tables.add("cc_community");
|
||||||
|
// 社区文件表
|
||||||
|
tables.add("cc_community_file");
|
||||||
|
// 社区文件下载记录表
|
||||||
|
tables.add("cc_community_file_log");
|
||||||
|
// 社区用户表
|
||||||
|
tables.add("cc_community_user");
|
||||||
|
// 收益明细
|
||||||
|
tables.add("cc_income_info");
|
||||||
// 邀请表
|
// 邀请表
|
||||||
tables.add("cc_invite");
|
tables.add("cc_invite");
|
||||||
// 发布表
|
// 发布表
|
||||||
tables.add("cc_publish");
|
tables.add("cc_publish");
|
||||||
|
// 收藏表
|
||||||
|
tables.add("cc_publish_collect");
|
||||||
|
// 发布点赞表
|
||||||
|
tables.add("cc_publish_like");
|
||||||
// 提问表
|
// 提问表
|
||||||
tables.add("cc_question");
|
tables.add("cc_question");
|
||||||
// 提问评论表
|
// 提问评论表
|
||||||
tables.add("cc_question_comment");
|
tables.add("cc_question_comment");
|
||||||
// 社区用户表
|
|
||||||
tables.add("cc_community_user");
|
|
||||||
|
|
||||||
// 输出表名
|
// 输出表名
|
||||||
log.info("多租户表:{}", tables);
|
log.info("多租户表:{}", tables);
|
||||||
|
|
|
@ -21,5 +21,7 @@ public interface CommunityFileLogMapper extends BaseMapper<CommunityFileLog> {
|
||||||
Long communityFileId);
|
Long communityFileId);
|
||||||
|
|
||||||
@InterceptorIgnore(tenantLine = "true")
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
Integer getDownloadCount(Long tenantId, Long communityId, Long communityFileId);
|
Integer getDownloadCount(@Param("tenantId") Long tenantId,
|
||||||
|
@Param("communityId") Long communityId,
|
||||||
|
@Param("communityFileId") Long communityFileId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,8 +57,10 @@ public interface CommunityMapper extends BaseMapper<Community> {
|
||||||
String searchContent);
|
String searchContent);
|
||||||
|
|
||||||
@InterceptorIgnore(tenantLine = "true")
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
void quitCommunity(Long tenantId, Long communityId, Long userId);
|
void quitCommunity(@Param("tenantId") Long tenantId,
|
||||||
|
@Param("communityId") Long communityId,
|
||||||
|
@Param("userId") Long userId);
|
||||||
|
|
||||||
@InterceptorIgnore(tenantLine = "true")
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
void deleteCommunity(Long tenantId, Long communityId);
|
void deleteCommunity(@Param("tenantId") Long tenantId, @Param("communityId") Long communityId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,7 @@ public interface CommunityUserMapper extends BaseMapper<CommunityUser> {
|
||||||
@Param("userId") Long userId);
|
@Param("userId") Long userId);
|
||||||
|
|
||||||
@InterceptorIgnore(tenantLine = "true")
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
Integer getJoinNum(Long tenantId, Long communityId);
|
Integer getJoinNum(@Param("tenantId") Long tenantId, @Param("communityId") Long communityId);
|
||||||
|
|
||||||
@InterceptorIgnore(tenantLine = "true")
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
int isJoinCommunity(@Param("tenantId")
|
int isJoinCommunity(@Param("tenantId")
|
||||||
|
|
|
@ -38,5 +38,7 @@ public interface InviteMapper extends BaseMapper<Invite> {
|
||||||
* @return 邀请记录
|
* @return 邀请记录
|
||||||
*/
|
*/
|
||||||
@InterceptorIgnore(tenantLine = "true")
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
Invite selectByTenantIdAndCommunityIdAndInviteeUserId(Long tenantId, Long communityId, Long inviteeUserId);
|
Invite selectByTenantIdAndCommunityIdAndInviteeUserId(@Param("tenantId") Long tenantId,
|
||||||
|
@Param("communityId") Long communityId,
|
||||||
|
@Param("inviteeUserId") Long inviteeUserId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.mcwl.communityCenter.domain.Publish;
|
import com.mcwl.communityCenter.domain.Publish;
|
||||||
import com.mcwl.communityCenter.domain.PublishCollect;
|
import com.mcwl.communityCenter.domain.PublishCollect;
|
||||||
import com.mcwl.communityCenter.domain.dto.MyPublishCollectPageRes;
|
import com.mcwl.communityCenter.domain.dto.MyPublishCollectPageRes;
|
||||||
|
import com.mcwl.communityCenter.domain.dto.PublishCollectRes;
|
||||||
import com.mcwl.communityCenter.domain.dto.PublishPageRes;
|
import com.mcwl.communityCenter.domain.dto.PublishPageRes;
|
||||||
import com.mcwl.communityCenter.domain.vo.PublishVo;
|
import com.mcwl.communityCenter.domain.vo.PublishVo;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
@ -21,4 +22,14 @@ public interface PublishCollectMapper extends BaseMapper<PublishCollect> {
|
||||||
List<PublishVo> myCollectList(Page<PublishCollect> page,
|
List<PublishVo> myCollectList(Page<PublishCollect> page,
|
||||||
@Param("myPublishCollectPageRes") MyPublishCollectPageRes myPublishCollectPageRes,
|
@Param("myPublishCollectPageRes") MyPublishCollectPageRes myPublishCollectPageRes,
|
||||||
@Param("userId") Long userId);
|
@Param("userId") Long userId);
|
||||||
|
|
||||||
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
|
void savePublishCollect(@Param("publishCollect") PublishCollect publishCollect);
|
||||||
|
|
||||||
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
|
PublishCollect getPublishCollect(@Param("publishCollect") PublishCollectRes publishCollectRes,
|
||||||
|
@Param("userId") Long userId);
|
||||||
|
|
||||||
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
|
void updatePublishCollect(@Param("publishCollect") PublishCollect publishCollect);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,10 +5,7 @@ import com.mcwl.common.core.domain.R;
|
||||||
import com.mcwl.common.core.page.TableDataInfo;
|
import com.mcwl.common.core.page.TableDataInfo;
|
||||||
import com.mcwl.communityCenter.domain.Publish;
|
import com.mcwl.communityCenter.domain.Publish;
|
||||||
import com.mcwl.communityCenter.domain.PublishCollect;
|
import com.mcwl.communityCenter.domain.PublishCollect;
|
||||||
import com.mcwl.communityCenter.domain.dto.MyPublishCollectPageRes;
|
import com.mcwl.communityCenter.domain.dto.*;
|
||||||
import com.mcwl.communityCenter.domain.dto.PublishDetailRes;
|
|
||||||
import com.mcwl.communityCenter.domain.dto.PublishPageRes;
|
|
||||||
import com.mcwl.communityCenter.domain.dto.PublishRes;
|
|
||||||
import com.mcwl.communityCenter.domain.vo.PublishVo;
|
import com.mcwl.communityCenter.domain.vo.PublishVo;
|
||||||
|
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
@ -17,4 +14,11 @@ public interface PublishCollectService extends IService<PublishCollect> {
|
||||||
|
|
||||||
|
|
||||||
TableDataInfo myCollectList(@Valid MyPublishCollectPageRes myPublishCollectPageRes);
|
TableDataInfo myCollectList(@Valid MyPublishCollectPageRes myPublishCollectPageRes);
|
||||||
|
|
||||||
|
|
||||||
|
void savePublishCollect(PublishCollect publishCollect);
|
||||||
|
|
||||||
|
PublishCollect getPublishCollect(PublishCollectRes publishCollectRes, Long userId);
|
||||||
|
|
||||||
|
void updatePublishCollect(PublishCollect publishCollect);
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,10 +7,7 @@ import com.mcwl.common.core.page.PageDomain;
|
||||||
import com.mcwl.common.core.page.TableDataInfo;
|
import com.mcwl.common.core.page.TableDataInfo;
|
||||||
import com.mcwl.communityCenter.domain.Community;
|
import com.mcwl.communityCenter.domain.Community;
|
||||||
import com.mcwl.communityCenter.domain.Publish;
|
import com.mcwl.communityCenter.domain.Publish;
|
||||||
import com.mcwl.communityCenter.domain.dto.MyPublishPageRes;
|
import com.mcwl.communityCenter.domain.dto.*;
|
||||||
import com.mcwl.communityCenter.domain.dto.PublishDetailRes;
|
|
||||||
import com.mcwl.communityCenter.domain.dto.PublishPageRes;
|
|
||||||
import com.mcwl.communityCenter.domain.dto.PublishRes;
|
|
||||||
import com.mcwl.communityCenter.domain.vo.PublishVo;
|
import com.mcwl.communityCenter.domain.vo.PublishVo;
|
||||||
|
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
@ -38,4 +35,6 @@ public interface PublishService extends IService<Publish> {
|
||||||
TableDataInfo publishList(PublishPageRes publishPageRes);
|
TableDataInfo publishList(PublishPageRes publishPageRes);
|
||||||
|
|
||||||
TableDataInfo myPublishList(MyPublishPageRes myPublishPageRes);
|
TableDataInfo myPublishList(MyPublishPageRes myPublishPageRes);
|
||||||
|
|
||||||
|
void collectPublish(@Valid PublishCollectRes publishCollectRes);
|
||||||
}
|
}
|
||||||
|
|
|
@ -188,9 +188,27 @@ public class CommunityServiceImpl extends ServiceImpl<CommunityMapper, Community
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public R<Object> quitCommunity(Long tenantId, Long communityId) {
|
public R<Object> quitCommunity(Long tenantId, Long communityId) {
|
||||||
|
|
||||||
|
Long userId = SecurityUtils.getUserId();
|
||||||
|
|
||||||
|
Community community = baseMapper.getByTenantIdAndCommunityId(tenantId, communityId);
|
||||||
|
|
||||||
|
if (Objects.isNull(community)) {
|
||||||
|
return R.fail(HttpStatus.SHOW_ERROR_MSG, "社区不存在");
|
||||||
|
}
|
||||||
|
|
||||||
|
CommunityUser communityUser = communityUserMapper.selectCommunityUser(tenantId, communityId, userId);
|
||||||
|
if (Objects.isNull(communityUser)) {
|
||||||
|
return R.fail(HttpStatus.SHOW_ERROR_MSG,"您不是该社区成员");
|
||||||
|
}
|
||||||
|
|
||||||
Integer communityJoinNum = communityUserMapper.getJoinNum(tenantId, communityId);
|
Integer communityJoinNum = communityUserMapper.getJoinNum(tenantId, communityId);
|
||||||
|
|
||||||
baseMapper.quitCommunity(tenantId, communityId, SecurityUtils.getUserId());
|
if (communityUser.getUserType() == 2 && communityJoinNum > 1) {
|
||||||
|
return R.fail(HttpStatus.SHOW_ERROR_MSG,"社区还有成员,无法退出");
|
||||||
|
}
|
||||||
|
|
||||||
|
baseMapper.quitCommunity(tenantId, communityId, userId);
|
||||||
|
|
||||||
if (communityJoinNum == 1) {
|
if (communityJoinNum == 1) {
|
||||||
baseMapper.deleteCommunity(tenantId, communityId);
|
baseMapper.deleteCommunity(tenantId, communityId);
|
||||||
|
|
|
@ -48,6 +48,21 @@ public class PublishCollectServiceImpl extends ServiceImpl<PublishCollectMapper,
|
||||||
return rspData;
|
return rspData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void savePublishCollect(PublishCollect publishCollect) {
|
||||||
|
baseMapper.savePublishCollect(publishCollect);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PublishCollect getPublishCollect(PublishCollectRes publishCollectRes, Long userId) {
|
||||||
|
return baseMapper.getPublishCollect(publishCollectRes, userId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updatePublishCollect(PublishCollect publishCollect) {
|
||||||
|
baseMapper.updatePublishCollect(publishCollect);
|
||||||
|
}
|
||||||
|
|
||||||
private Page<PublishCollect> initPage(PageDomain pageDomain) {
|
private Page<PublishCollect> initPage(PageDomain pageDomain) {
|
||||||
Page<PublishCollect> page = new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
|
Page<PublishCollect> page = new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
|
||||||
page.addOrder(new OrderItem("create_time", false));
|
page.addOrder(new OrderItem("create_time", false));
|
||||||
|
|
|
@ -12,23 +12,22 @@ import com.mcwl.common.core.domain.R;
|
||||||
import com.mcwl.common.core.domain.entity.SysUser;
|
import com.mcwl.common.core.domain.entity.SysUser;
|
||||||
import com.mcwl.common.core.page.PageDomain;
|
import com.mcwl.common.core.page.PageDomain;
|
||||||
import com.mcwl.common.core.page.TableDataInfo;
|
import com.mcwl.common.core.page.TableDataInfo;
|
||||||
|
import com.mcwl.common.exception.BusinessException;
|
||||||
|
import com.mcwl.common.exception.ServiceException;
|
||||||
import com.mcwl.common.utils.SecurityUtils;
|
import com.mcwl.common.utils.SecurityUtils;
|
||||||
import com.mcwl.common.utils.StringUtils;
|
import com.mcwl.common.utils.StringUtils;
|
||||||
import com.mcwl.communityCenter.domain.Community;
|
import com.mcwl.communityCenter.constant.AdviceConstant;
|
||||||
import com.mcwl.communityCenter.domain.CommunityUser;
|
import com.mcwl.communityCenter.domain.*;
|
||||||
import com.mcwl.communityCenter.domain.Publish;
|
import com.mcwl.communityCenter.domain.dto.*;
|
||||||
import com.mcwl.communityCenter.domain.Question;
|
|
||||||
import com.mcwl.communityCenter.domain.dto.MyPublishPageRes;
|
|
||||||
import com.mcwl.communityCenter.domain.dto.PublishDetailRes;
|
|
||||||
import com.mcwl.communityCenter.domain.dto.PublishPageRes;
|
|
||||||
import com.mcwl.communityCenter.domain.dto.PublishRes;
|
|
||||||
import com.mcwl.communityCenter.domain.vo.PublishVo;
|
import com.mcwl.communityCenter.domain.vo.PublishVo;
|
||||||
import com.mcwl.communityCenter.mapper.*;
|
import com.mcwl.communityCenter.mapper.*;
|
||||||
|
import com.mcwl.communityCenter.service.PublishCollectService;
|
||||||
import com.mcwl.communityCenter.service.PublishService;
|
import com.mcwl.communityCenter.service.PublishService;
|
||||||
import com.mcwl.system.service.ISysUserService;
|
import com.mcwl.system.service.ISysUserService;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import nonapi.io.github.classgraph.concurrency.AutoCloseableExecutorService;
|
import nonapi.io.github.classgraph.concurrency.AutoCloseableExecutorService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.ThreadPoolExecutor;
|
import java.util.concurrent.ThreadPoolExecutor;
|
||||||
|
@ -45,6 +44,12 @@ public class PublishServiceImpl extends ServiceImpl<PublishMapper, Publish> impl
|
||||||
|
|
||||||
private final CommunityUserMapper communityUserMapper;
|
private final CommunityUserMapper communityUserMapper;
|
||||||
|
|
||||||
|
private final PublishCollectService publishCollectService;
|
||||||
|
|
||||||
|
private final PublishMapper publishMapper;
|
||||||
|
|
||||||
|
private final CommunityAdviceMapper communityAdviceMapper;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PublishVo getDetail(PublishDetailRes publishDetailRes) {
|
public PublishVo getDetail(PublishDetailRes publishDetailRes) {
|
||||||
|
@ -222,6 +227,58 @@ public class PublishServiceImpl extends ServiceImpl<PublishMapper, Publish> impl
|
||||||
return tableDataInfo;
|
return tableDataInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public void collectPublish(PublishCollectRes publishCollectRes) {
|
||||||
|
Long tenantId = publishCollectRes.getTenantId();
|
||||||
|
Long communityId = publishCollectRes.getCommunityId();
|
||||||
|
Long publishId = publishCollectRes.getPublishId();
|
||||||
|
Long userId = SecurityUtils.getUserId();
|
||||||
|
|
||||||
|
|
||||||
|
Publish publish = publishMapper.selectByIdAndTenantIdAndCommunityId(publishId, tenantId, communityId);
|
||||||
|
if (Objects.isNull(publish)) {
|
||||||
|
throw new ServiceException("该内容不存在", HttpStatus.SHOW_ERROR_MSG);
|
||||||
|
}
|
||||||
|
|
||||||
|
PublishCollect publishCollect = publishCollectService.getPublishCollect(publishCollectRes, userId);
|
||||||
|
|
||||||
|
if (Objects.isNull(publishCollect)) {
|
||||||
|
publishCollect = new PublishCollect();
|
||||||
|
publishCollect.setTenantId(tenantId);
|
||||||
|
publishCollect.setCommunityId(communityId);
|
||||||
|
publishCollect.setPublishId(publishId);
|
||||||
|
publishCollect.setUserId(userId);
|
||||||
|
publishCollectService.savePublishCollect(publishCollect);
|
||||||
|
this.addCollectAdvice(publish);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (publishCollect.getDelFlag().equals("0")) {
|
||||||
|
publishCollect.setDelFlag("2");
|
||||||
|
} else {
|
||||||
|
publishCollect.setDelFlag("0");
|
||||||
|
}
|
||||||
|
publishCollectService.updatePublishCollect(publishCollect);
|
||||||
|
this.addCollectAdvice(publish);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addCollectAdvice(Publish publish) {
|
||||||
|
CommunityAdvice communityAdvice = new CommunityAdvice();
|
||||||
|
|
||||||
|
communityAdvice.setTenantId(publish.getTenantId());
|
||||||
|
communityAdvice.setCommunityId(publish.getCommunityId());
|
||||||
|
communityAdvice.setSendUserId(SecurityUtils.getUserId());
|
||||||
|
communityAdvice.setAdviceType(AdviceConstant.COMMUNITY_NOTICE);
|
||||||
|
communityAdvice.setUserId(publish.getUserId());
|
||||||
|
communityAdvice.setContent(StringUtils.format("{}收藏了你发布的{}",
|
||||||
|
SecurityUtils.getLoginUser().getUser().getNickName(), publish.getContent()));
|
||||||
|
|
||||||
|
communityAdviceMapper.insert(communityAdvice);
|
||||||
|
}
|
||||||
|
|
||||||
private Page<Publish> initPage(PageDomain pageDomain) {
|
private Page<Publish> initPage(PageDomain pageDomain) {
|
||||||
Page<Publish> page = new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
|
Page<Publish> page = new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
|
||||||
page.addOrder(new OrderItem("create_time", false));
|
page.addOrder(new OrderItem("create_time", false));
|
||||||
|
|
|
@ -86,7 +86,9 @@
|
||||||
and (community_name like concat('%', #{searchContent}, '%')
|
and (community_name like concat('%', #{searchContent}, '%')
|
||||||
or `description` like concat('%', #{searchContent}, '%'))
|
or `description` like concat('%', #{searchContent}, '%'))
|
||||||
</if>
|
</if>
|
||||||
|
and del_flag = '0'
|
||||||
</where>
|
</where>
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
<select id="getMyJoinCommunity" resultType="com.mcwl.communityCenter.domain.Community">
|
<select id="getMyJoinCommunity" resultType="com.mcwl.communityCenter.domain.Community">
|
||||||
select c.id,
|
select c.id,
|
||||||
|
|
|
@ -3,6 +3,18 @@
|
||||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.mcwl.communityCenter.mapper.PublishCollectMapper">
|
<mapper namespace="com.mcwl.communityCenter.mapper.PublishCollectMapper">
|
||||||
|
<insert id="savePublishCollect">
|
||||||
|
insert into cc_publish_collect(tenant_id, community_id, publish_id, user_id)
|
||||||
|
values (#{publishCollect.tenantId}, #{publishCollect.communityId}, #{publishCollect.publishId}, #{userId})
|
||||||
|
</insert>
|
||||||
|
<update id="updatePublishCollect">
|
||||||
|
update cc_publish_collect
|
||||||
|
set del_flag = #{publishCollect.delFlag}
|
||||||
|
where tenant_id = #{publishCollect.tenantId}
|
||||||
|
and community_id = #{publishCollect.communityId}
|
||||||
|
and publish_id = #{publishCollect.publishId}
|
||||||
|
and user_id = #{publishCollect.userId}
|
||||||
|
</update>
|
||||||
|
|
||||||
<select id="myCollectList" resultType="com.mcwl.communityCenter.domain.vo.PublishVo">
|
<select id="myCollectList" resultType="com.mcwl.communityCenter.domain.vo.PublishVo">
|
||||||
select p.*, IF(pc.id is not null, 1, 0) as is_collect
|
select p.*, IF(pc.id is not null, 1, 0) as is_collect
|
||||||
|
@ -17,4 +29,12 @@
|
||||||
and pc.del_flag = '0'
|
and pc.del_flag = '0'
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getPublishCollect" resultType="com.mcwl.communityCenter.domain.PublishCollect">
|
||||||
|
select *
|
||||||
|
from cc_publish_collect
|
||||||
|
where tenant_id = #{publishCollectRes.tenantId}
|
||||||
|
and community_id = #{publishCollectRes.communityId}
|
||||||
|
and publish_id = #{publishCollectRes.publishId}
|
||||||
|
and user_id = #{userId}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -166,6 +166,7 @@ public class SecurityConfig {
|
||||||
"/personalCenter/likeModel",
|
"/personalCenter/likeModel",
|
||||||
"/personalCenter/likeWorkFlow",
|
"/personalCenter/likeWorkFlow",
|
||||||
"/personalCenter/likeImage",
|
"/personalCenter/likeImage",
|
||||||
|
"/community/list",
|
||||||
"/api/ucenter/wx/**"
|
"/api/ucenter/wx/**"
|
||||||
).permitAll()
|
).permitAll()
|
||||||
// 静态资源,可匿名访问
|
// 静态资源,可匿名访问
|
||||||
|
|
Loading…
Reference in New Issue