feat(communityCenter): 社区收益功能、用户拉黑

master
yang 2025-04-15 10:57:53 +08:00
parent 81cfc52881
commit 70d3d32bc5
42 changed files with 1025 additions and 55 deletions

View File

@ -0,0 +1,55 @@
package com.mcwl.web.controller.communityCenter;
import com.mcwl.common.core.domain.R;
import com.mcwl.common.core.page.TableDataInfo;
import com.mcwl.communityCenter.domain.IncomeInfo;
import com.mcwl.communityCenter.domain.dto.*;
import com.mcwl.communityCenter.domain.vo.IncomeInfoVo;
import com.mcwl.communityCenter.service.IncomeInfoService;
import com.mcwl.communityCenter.service.PublishCollectService;
import com.mcwl.communityCenter.service.PublishService;
import com.mcwl.communityCenter.service.QuestionService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
/**
*
*/
@Api(tags = "收益明细")
@RestController
@RequiredArgsConstructor
@RequestMapping("incomeInfo")
public class IncomeInfoController {
private final IncomeInfoService incomeInfoService;
/**
*
*/
@ApiOperation(value = "明细列表")
@PostMapping("incomeList")
public TableDataInfo incomeList(@Valid @RequestBody IncomeInfoListPageRes incomeInfoListPageRes) {
return incomeInfoService.incomeList(incomeInfoListPageRes);
}
/**
*
*/
@ApiOperation(value = "社区收益")
@PostMapping("communityIncome")
public R<IncomeInfoVo> communityIncome(@Valid @RequestBody IncomeInfoRes incomeInfoRes) {
return incomeInfoService.communityIncome(incomeInfoRes);
}
}

View File

@ -1,11 +1,25 @@
package com.mcwl.web.controller.communityCenter;
import com.mcwl.common.core.domain.R;
import com.mcwl.common.core.page.TableDataInfo;
import com.mcwl.communityCenter.domain.dto.MyPublishCollectPageRes;
import com.mcwl.communityCenter.domain.dto.MyPublishPageRes;
import com.mcwl.communityCenter.domain.dto.QuestionPageRes;
import com.mcwl.communityCenter.service.PublishCollectService;
import com.mcwl.communityCenter.service.PublishService;
import com.mcwl.communityCenter.service.QuestionService;
import com.mcwl.communityCenter.service.impl.PublishCommentLikeServiceImpl;
import com.mcwl.communityCenter.service.impl.PublishServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
/**
*
*/
@ -15,17 +29,42 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping("personHome")
public class PersonHomeController {
private final PublishService publishService;
private final QuestionService questionService;
private final PublishCollectService publishCollectService;
/**
*
*/
@RequestMapping("list")
public R<Object> list(){
@PostMapping("myPublishList")
@ApiOperation(value = "我发布的文章列表")
public TableDataInfo myPublishList(@RequestBody @Valid MyPublishPageRes myPublishPageRes) {
return R.ok();
return publishService.myPublishList(myPublishPageRes);
}
/**
*
*/
@PostMapping("myQuestionList")
@ApiOperation(value = "我的问答列表")
public TableDataInfo myQuestionList(@RequestBody @Valid QuestionPageRes questionPageRes) {
return questionService.myQuestionList(questionPageRes);
}
/**
*
*/
@PostMapping("myCollectList")
@ApiOperation(value = "我的收藏")
public TableDataInfo myCollectList(@RequestBody @Valid MyPublishCollectPageRes myPublishCollectPageRes) {
return publishCollectService.myCollectList(myPublishCollectPageRes);
}
}

View File

@ -31,12 +31,12 @@ public class PublishCommentController extends BaseController {
/**
*
*
*
* @param commentRes
* @return
*/
@ApiOperation(value = "添加评论")
@ApiOperation(value = "添加发布评论")
@PostMapping("/save")
public R<Object> save(@RequestBody @Valid CommentRes commentRes) {

View File

@ -178,7 +178,8 @@ public class Constants
public static final String[] JOB_WHITELIST_STR = {
"com.mcwl.quartz.task",
"com.mcwl.memberCenter.task",
"com.mcwl.pay.task"
"com.mcwl.pay.task",
"com.mcwl.communityCenter.task"
};
/**

View File

@ -43,7 +43,7 @@ public class CommunityUser extends BaseEntity {
private Long userId;
/**
* 0 1
* 0 1 2
*/
private Integer userType;

View File

@ -0,0 +1,44 @@
package com.mcwl.communityCenter.domain;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.mcwl.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
*
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("cc_income_info")
public class IncomeInfo extends BaseEntity {
@TableId
private Long id;
/**
* id
*/
@TableField(fill = FieldFill.INSERT)
private Long tenantId;
/**
* id
*/
private Long communityId;
/**
* 0 1
*/
private Integer type;
/**
*
*/
private Double amount;
}

View File

@ -0,0 +1,44 @@
package com.mcwl.communityCenter.domain;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.mcwl.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
*
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("cc_publish_collect")
public class PublishCollect extends BaseEntity {
@TableId
private Long id;
/**
* id
*/
@TableField(fill = FieldFill.INSERT)
private Long tenantId;
/**
* id
*/
private Long communityId;
/**
* id
*/
private Long publishId;
/**
* id
*/
private Long userId;
}

View File

@ -14,6 +14,12 @@ import javax.validation.constraints.NotNull;
@Data
@ApiModel(value = "拉黑请求参数")
public class BlackListRes {
/**
* id
*/
@ApiModelProperty(value = "租户id", required = true)
@NotNull(message = "租户id不能为空")
private Long tenantId;
/**
* id

View File

@ -0,0 +1,27 @@
package com.mcwl.communityCenter.domain.dto;
import com.mcwl.common.core.page.PageDomain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiParam;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull;
/**
*
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "收益明细请求参数")
public class IncomeInfoListPageRes extends PageDomain {
@NotNull(message = "社区id不能为空")
@ApiParam(value = "社区id", required = true)
private Long communityId;
@NotNull(message = "租户id不能为空")
@ApiParam(value = "租户id", required = true)
private Long tenantId;
}

View File

@ -0,0 +1,26 @@
package com.mcwl.communityCenter.domain.dto;
import com.mcwl.common.core.page.PageDomain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiParam;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull;
/**
*
*/
@Data
@ApiModel(value = "收益明细请求参数")
public class IncomeInfoRes {
@NotNull(message = "社区id不能为空")
@ApiParam(value = "社区id", required = true)
private Long communityId;
@NotNull(message = "租户id不能为空")
@ApiParam(value = "租户id", required = true)
private Long tenantId;
}

View File

@ -0,0 +1,40 @@
package com.mcwl.communityCenter.domain.dto;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.mcwl.common.core.domain.BaseEntity;
import com.mcwl.common.core.page.PageDomain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiParam;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull;
/**
*
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "我的发布分页请求参数")
public class MyPublishCollectPageRes extends PageDomain {
/**
* id
*/
@NotNull(message = "租户id不能为空")
@ApiModelProperty(value = "租户id", required = true)
private Long tenantId;
/**
* id
*/
@NotNull(message = "社区id不能为空")
@ApiModelProperty(value = "社区id", required = true)
private Long communityId;
}

View File

@ -0,0 +1,27 @@
package com.mcwl.communityCenter.domain.dto;
import com.mcwl.common.core.page.PageDomain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiParam;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull;
/**
*
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "我的发布分页请求参数")
public class MyPublishPageRes extends PageDomain {
@NotNull(message = "社区id不能为空")
@ApiParam(value = "社区id", required = true)
private Long communityId;
@NotNull(message = "租户id不能为空")
@ApiParam(value = "租户id", required = true)
private Long tenantId;
}

View File

@ -0,0 +1,28 @@
package com.mcwl.communityCenter.domain.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* vo
*/
@Data
@ApiModel(description = "收益金额")
public class IncomeAmountVo {
/**
*
*/
@ApiModelProperty(value = "今日收益")
private Double todayIncome;
/**
*
*/
@ApiModelProperty(value = "昨日收益")
private Double yesterdayIncome;
}

View File

@ -0,0 +1,50 @@
package com.mcwl.communityCenter.domain.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;
import java.util.Date;
/**
* vo
*/
@Data
@Builder
@ApiModel(description = "收益列表vo")
public class IncomeInfoListVo {
/**
*
*/
@ApiModelProperty(value = "用户名称")
private String userName;
/**
*
*/
@ApiModelProperty(value = "社区名称")
private String communityName;
/**
*
*/
@ApiModelProperty(value = "收益类型")
private Integer type;
/**
*
*/
@ApiModelProperty(value = "收益金额")
private Double amount;
/**
*
*/
@ApiModelProperty(value = "收益时间")
private Date createTime;
}

View File

@ -0,0 +1,38 @@
package com.mcwl.communityCenter.domain.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;
import java.util.Date;
/**
* vo
*/
@Data
@Builder
@ApiModel(description = "收益vo")
public class IncomeInfoVo {
/**
*
*/
@ApiModelProperty(value = "社区收益")
private IncomeAmountVo communityIncome;
/**
*
*/
@ApiModelProperty(value = "问答收益")
private IncomeAmountVo questionIncome;
/**
*
*/
@ApiModelProperty(value = "累计收益")
private Double totalIncome;
}

View File

@ -92,6 +92,12 @@ public class PublishVo {
@ApiModelProperty(value = "精选")
private Integer isElite;
/**
*
*/
@ApiModelProperty(value = "收藏")
private Integer isCollect;
}

View File

@ -37,4 +37,15 @@ public interface CommunityUserMapper extends BaseMapper<CommunityUser> {
List<CommunityUserVo> getCommunityUserList(Page<CommunityUser> page,
@Param("communityUserListPageRes")
CommunityUserListPageRes communityUserListPageRes);
@InterceptorIgnore(tenantLine = "true")
CommunityUser selectCommunityUser(@Param("tenantId") Long tenantId,
@Param("communityId") Long communityId,
@Param("userId") Long userId);
@InterceptorIgnore(tenantLine = "true")
void updateCommunityUser(@Param("blackCommunityUser") CommunityUser blackCommunityUser);
@InterceptorIgnore(tenantLine = "true")
List<CommunityUser> getAllCommunityUser();
}

View File

@ -0,0 +1,33 @@
package com.mcwl.communityCenter.mapper;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mcwl.communityCenter.domain.IncomeInfo;
import com.mcwl.communityCenter.domain.PublishCollect;
import com.mcwl.communityCenter.domain.dto.IncomeInfoListPageRes;
import com.mcwl.communityCenter.domain.dto.IncomeInfoRes;
import com.mcwl.communityCenter.domain.dto.MyPublishCollectPageRes;
import com.mcwl.communityCenter.domain.vo.IncomeAmountVo;
import com.mcwl.communityCenter.domain.vo.IncomeInfoListVo;
import com.mcwl.communityCenter.domain.vo.PublishVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface IncomeInfoMapper extends BaseMapper<IncomeInfo> {
@InterceptorIgnore(tenantLine = "true")
IncomeAmountVo communityIncome(@Param("incomeInfoRes") IncomeInfoRes incomeInfoRes);
@InterceptorIgnore(tenantLine = "true")
IncomeAmountVo questionIncome(@Param("incomeInfoRes") IncomeInfoRes incomeInfoRes);
Double totalIncome();
@InterceptorIgnore(tenantLine = "true")
List<IncomeInfoListVo> incomeList(Page<IncomeInfo> page,
@Param("incomeInfoListPageRes") IncomeInfoListPageRes incomeInfoListPageRes);
}

View File

@ -0,0 +1,24 @@
package com.mcwl.communityCenter.mapper;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mcwl.communityCenter.domain.Publish;
import com.mcwl.communityCenter.domain.PublishCollect;
import com.mcwl.communityCenter.domain.dto.MyPublishCollectPageRes;
import com.mcwl.communityCenter.domain.dto.PublishPageRes;
import com.mcwl.communityCenter.domain.vo.PublishVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface PublishCollectMapper extends BaseMapper<PublishCollect> {
@InterceptorIgnore(tenantLine = "true")
List<PublishVo> myCollectList(Page<PublishCollect> page,
@Param("myPublishCollectPageRes") MyPublishCollectPageRes myPublishCollectPageRes,
@Param("userId") Long userId);
}

View File

@ -5,7 +5,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
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.vo.PublishVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.security.core.parameters.P;
@ -44,5 +46,10 @@ public interface PublishMapper extends BaseMapper<Publish> {
void elitePublish(@Param("communityId") Long communityId, @Param("publishId") Long publishId);
@InterceptorIgnore(tenantLine = "true")
List<Publish> publishList(Page<Publish> page,@Param("publishPageRes") PublishPageRes publishPageRes);
List<Publish> publishList(Page<Publish> page, @Param("publishPageRes") PublishPageRes publishPageRes);
@InterceptorIgnore(tenantLine = "true")
List<PublishVo> myPublishList(Page<Publish> page,
@Param("myPublishPageRes") MyPublishPageRes myPublishPageRes,
@Param("userId") Long userId);
}

View File

@ -5,10 +5,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mcwl.communityCenter.domain.Community;
import com.mcwl.communityCenter.domain.Question;
import com.mcwl.communityCenter.domain.dto.QuestionPageRes;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import javax.validation.constraints.NotNull;
import java.util.List;
@Mapper
public interface QuestionMapper extends BaseMapper<Question> {
@ -37,4 +39,9 @@ public interface QuestionMapper extends BaseMapper<Question> {
@NotNull(message = "社区不能为空")
@Param("communityId")
Long communityId);
@InterceptorIgnore(tenantLine = "true")
List<Question> myQuestionList(Page<Question> page,
@Param("questionPageRes") QuestionPageRes questionPageRes,
@Param("userId") Long userId);
}

View File

@ -11,6 +11,7 @@ import com.mcwl.communityCenter.domain.dto.CommunityRes;
import com.mcwl.communityCenter.domain.dto.CommunityUserListPageRes;
import javax.validation.Valid;
import java.util.List;
public interface CommunityUserService extends IService<CommunityUser> {
@ -23,4 +24,8 @@ public interface CommunityUserService extends IService<CommunityUser> {
*
*/
R<Object> black(@Valid BlackListRes blackListRes);
List<CommunityUser> getAllCommunityUser();
void updateCommunityUser(CommunityUser communityUser);
}

View File

@ -0,0 +1,20 @@
package com.mcwl.communityCenter.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mcwl.common.core.domain.R;
import com.mcwl.common.core.page.TableDataInfo;
import com.mcwl.communityCenter.domain.IncomeInfo;
import com.mcwl.communityCenter.domain.Publish;
import com.mcwl.communityCenter.domain.dto.*;
import com.mcwl.communityCenter.domain.vo.IncomeInfoVo;
import com.mcwl.communityCenter.domain.vo.PublishVo;
import javax.validation.Valid;
public interface IncomeInfoService extends IService<IncomeInfo> {
R<IncomeInfoVo> communityIncome(@Valid IncomeInfoRes incomeInfoRes);
TableDataInfo incomeList(@Valid IncomeInfoListPageRes incomeInfoListPageRes);
}

View File

@ -0,0 +1,20 @@
package com.mcwl.communityCenter.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mcwl.common.core.domain.R;
import com.mcwl.common.core.page.TableDataInfo;
import com.mcwl.communityCenter.domain.Publish;
import com.mcwl.communityCenter.domain.PublishCollect;
import com.mcwl.communityCenter.domain.dto.MyPublishCollectPageRes;
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 javax.validation.Valid;
public interface PublishCollectService extends IService<PublishCollect> {
TableDataInfo myCollectList(@Valid MyPublishCollectPageRes myPublishCollectPageRes);
}

View File

@ -7,6 +7,7 @@ import com.mcwl.common.core.page.PageDomain;
import com.mcwl.common.core.page.TableDataInfo;
import com.mcwl.communityCenter.domain.Community;
import com.mcwl.communityCenter.domain.Publish;
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;
@ -35,4 +36,6 @@ public interface PublishService extends IService<Publish> {
void elitePublish(Long communityId, Long publishId);
TableDataInfo publishList(PublishPageRes publishPageRes);
TableDataInfo myPublishList(MyPublishPageRes myPublishPageRes);
}

View File

@ -34,4 +34,6 @@ public interface QuestionService extends IService<Question> {
// AjaxResult reply(QuestionReplyRes questionReplyRes);
TableDataInfo listImage(@Valid QuestionPageRes questionPageRes);
TableDataInfo myQuestionList(@Valid QuestionPageRes questionPageRes);
}

View File

@ -88,7 +88,7 @@ public class CommunityServiceImpl extends ServiceImpl<CommunityMapper, Community
.tenantId(SecurityUtils.getUserId())
.communityId(community.getId())
.userId(SecurityUtils.getUserId())
.userType(1)
.userType(2)
.build());
} catch (Exception e) {

View File

@ -57,26 +57,59 @@ public class CommunityUserServiceImpl extends ServiceImpl<CommunityUserMapper, C
@Override
public R<Object> black(BlackListRes blackListRes) {
Long tenantId = blackListRes.getTenantId();
Long communityId = blackListRes.getCommunityId();
Long userId = blackListRes.getUserId();
Integer blackDay = blackListRes.getBlackDay();
String blackReason = blackListRes.getBlackReason();
CommunityUser communityUser = baseMapper.selectOne(new LambdaQueryWrapper<CommunityUser>()
.eq(CommunityUser::getCommunityId, communityId)
.eq(CommunityUser::getUserId, userId));
if (Objects.isNull(communityUser)) {
// 拉黑用户
CommunityUser blackCommunityUser = baseMapper.selectCommunityUser(
tenantId, communityId, userId
);
// 当前用户
CommunityUser currentCommunityUser = baseMapper.selectCommunityUser(
tenantId, communityId, SecurityUtils.getUserId()
);
if (currentCommunityUser.getUserType() == 0) {
return R.fail(HttpStatus.SHOW_ERROR_MSG, "您不是群主/管理员,无法拉黑");
}
if (Objects.isNull(blackCommunityUser)) {
return R.fail(HttpStatus.SHOW_ERROR_MSG, "该用户不在该社区中");
}
if ("1".equals(blackCommunityUser.getIsBlank())) {
return R.fail(HttpStatus.SHOW_ERROR_MSG, "该用户已拉黑");
}
if (blackCommunityUser.getUserType() != 0) {
return R.fail(HttpStatus.SHOW_ERROR_MSG, "该用户是群主/管理员,无法拉黑");
}
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, blackDay);
communityUser.setIsBlank("1");
communityUser.setBlankEndTime(calendar.getTime());
communityUser.setBlackReason(blackReason);
blackCommunityUser.setIsBlank("1");
blackCommunityUser.setBlankEndTime(calendar.getTime());
blackCommunityUser.setBlackReason(blackReason);
baseMapper.updateCommunityUser(blackCommunityUser);
return R.ok();
}
@Override
public List<CommunityUser> getAllCommunityUser() {
return baseMapper.getAllCommunityUser();
}
@Override
public void updateCommunityUser(CommunityUser communityUser) {
baseMapper.updateCommunityUser(communityUser);
}
}

View File

@ -0,0 +1,84 @@
package com.mcwl.communityCenter.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mcwl.common.constant.HttpStatus;
import com.mcwl.common.core.domain.R;
import com.mcwl.common.core.domain.entity.SysUser;
import com.mcwl.common.core.page.PageDomain;
import com.mcwl.common.core.page.TableDataInfo;
import com.mcwl.common.utils.SecurityUtils;
import com.mcwl.common.utils.StringUtils;
import com.mcwl.communityCenter.constant.AdviceConstant;
import com.mcwl.communityCenter.domain.*;
import com.mcwl.communityCenter.domain.dto.*;
import com.mcwl.communityCenter.domain.vo.IncomeAmountVo;
import com.mcwl.communityCenter.domain.vo.IncomeInfoListVo;
import com.mcwl.communityCenter.domain.vo.IncomeInfoVo;
import com.mcwl.communityCenter.domain.vo.QuestionVo;
import com.mcwl.communityCenter.mapper.*;
import com.mcwl.communityCenter.service.IncomeInfoService;
import com.mcwl.communityCenter.service.QuestionService;
import com.mcwl.system.service.ISysUserService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@Service
@RequiredArgsConstructor
public class IncomeInfoServiceImpl extends ServiceImpl<IncomeInfoMapper, IncomeInfo> implements IncomeInfoService {
/**
*
*/
@Override
public R<IncomeInfoVo> communityIncome(IncomeInfoRes incomeInfoRes) {
// 社区收益
IncomeAmountVo communityIncome = baseMapper.communityIncome(incomeInfoRes);
// 问答收益
IncomeAmountVo questionIncome = baseMapper.questionIncome(incomeInfoRes);
// 累计收益
Double totalIncome = baseMapper.totalIncome();
IncomeInfoVo incomeInfoVo = IncomeInfoVo.builder()
.communityIncome(communityIncome)
.questionIncome(questionIncome)
.totalIncome(totalIncome)
.build();
return R.ok(incomeInfoVo);
}
@Override
public TableDataInfo incomeList(IncomeInfoListPageRes incomeInfoListPageRes) {
Page<IncomeInfo> page = this.initPage(incomeInfoListPageRes);
List<IncomeInfoListVo> incomeInfoList = baseMapper.incomeList(page, incomeInfoListPageRes);
// 封装分页信息
TableDataInfo rspData = new TableDataInfo();
rspData.setCode(HttpStatus.SUCCESS);
rspData.setMsg("查询成功");
rspData.setRows(incomeInfoList);
rspData.setTotal(page.getTotal());
return rspData;
}
private Page<IncomeInfo> initPage(PageDomain pageDomain) {
Page<IncomeInfo> page = new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
page.addOrder(new OrderItem("create_time", false));
return page;
}
}

View File

@ -128,7 +128,7 @@ public class InviteServiceImpl extends ServiceImpl<InviteMapper, Invite> impleme
.tenantId(userId)
.communityId(communityId)
.userId(SecurityUtils.getUserId())
.userType(0)
.userType(1)
.inviteId(invite.getId())
.startTime(startTime)
.endTime(endTime)

View File

@ -0,0 +1,58 @@
package com.mcwl.communityCenter.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mcwl.common.constant.HttpStatus;
import com.mcwl.common.core.domain.R;
import com.mcwl.common.core.domain.entity.SysUser;
import com.mcwl.common.core.page.PageDomain;
import com.mcwl.common.core.page.TableDataInfo;
import com.mcwl.common.utils.SecurityUtils;
import com.mcwl.communityCenter.domain.Community;
import com.mcwl.communityCenter.domain.Publish;
import com.mcwl.communityCenter.domain.PublishCollect;
import com.mcwl.communityCenter.domain.Question;
import com.mcwl.communityCenter.domain.dto.*;
import com.mcwl.communityCenter.domain.vo.PublishVo;
import com.mcwl.communityCenter.mapper.CommunityMapper;
import com.mcwl.communityCenter.mapper.InviteMapper;
import com.mcwl.communityCenter.mapper.PublishCollectMapper;
import com.mcwl.communityCenter.mapper.PublishMapper;
import com.mcwl.communityCenter.service.PublishCollectService;
import com.mcwl.communityCenter.service.PublishService;
import com.mcwl.system.service.ISysUserService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.*;
@Service
@RequiredArgsConstructor
public class PublishCollectServiceImpl extends ServiceImpl<PublishCollectMapper, PublishCollect> implements PublishCollectService {
@Override
public TableDataInfo myCollectList(MyPublishCollectPageRes myPublishCollectPageRes) {
Page<PublishCollect> page = initPage(myPublishCollectPageRes);
List<PublishVo> publishVoList = baseMapper.myCollectList(page, myPublishCollectPageRes, SecurityUtils.getUserId());
// 封装分页信息
TableDataInfo rspData = new TableDataInfo();
rspData.setCode(HttpStatus.SUCCESS);
rspData.setMsg("查询成功");
rspData.setRows(publishVoList);
rspData.setTotal(page.getTotal());
return rspData;
}
private Page<PublishCollect> initPage(PageDomain pageDomain) {
Page<PublishCollect> page = new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
page.addOrder(new OrderItem("create_time", false));
return page;
}
}

View File

@ -8,6 +8,7 @@ import com.mcwl.common.core.domain.AjaxResult;
import com.mcwl.common.core.domain.R;
import com.mcwl.common.core.domain.entity.SysUser;
import com.mcwl.common.utils.SecurityUtils;
import com.mcwl.communityCenter.domain.CommunityUser;
import com.mcwl.communityCenter.domain.Publish;
import com.mcwl.communityCenter.domain.dto.CommentDelRes;
import com.mcwl.communityCenter.domain.dto.CommentDetailRes;
@ -15,6 +16,7 @@ import com.mcwl.communityCenter.domain.dto.CommentRes;
import com.mcwl.communityCenter.domain.vo.CommentVo;
import com.mcwl.communityCenter.domain.PublishComment;
import com.mcwl.communityCenter.domain.PublishCommentLike;
import com.mcwl.communityCenter.mapper.CommunityUserMapper;
import com.mcwl.communityCenter.mapper.PublishCommentLikeMapper;
import com.mcwl.communityCenter.mapper.PublishCommentMapper;
import com.mcwl.communityCenter.mapper.PublishMapper;
@ -52,6 +54,8 @@ public class PublishCommentServiceImpl extends ServiceImpl<PublishCommentMapper,
private final PublishMapper publishMapper;
private final CommunityUserMapper communityUserMapper;
@Override
public R<Object> getComment(CommentDetailRes commentDetailRes) {
Long tenantId = commentDetailRes.getTenantId();
@ -80,6 +84,16 @@ public class PublishCommentServiceImpl extends ServiceImpl<PublishCommentMapper,
Long communityId = commentRes.getCommunityId();
Long operatorId = commentRes.getOperatorId();
CommunityUser communityUser = communityUserMapper.selectCommunityUser(tenantId, communityId, SecurityUtils.getUserId());
if (Objects.isNull(communityUser)) {
return R.fail(HttpStatus.SHOW_ERROR_MSG,"评论失败,您不是该社区成员");
}
if ("1".equals(communityUser.getIsBlank())) {
return R.fail(HttpStatus.SHOW_ERROR_MSG,"评论失败,您已被拉黑");
}
Publish publish = publishMapper.selectByIdAndTenantIdAndCommunityId(operatorId, tenantId, communityId);
if (Objects.isNull(publish)) {
return R.fail(HttpStatus.SHOW_ERROR_MSG,"评论失败,该内容不存在");

View File

@ -29,6 +29,8 @@ public class PublishLikeServiceImpl extends ServiceImpl<PublishLikeMapper, Publi
private final CommunityAdviceMapper communityAdviceMapper;
private final CommunityUserMapper communityUserMapper;
@Override
public void like(PublishLikeRes publishLikeRes) {
@ -41,6 +43,19 @@ public class PublishLikeServiceImpl extends ServiceImpl<PublishLikeMapper, Publi
throw new ServiceException("点赞失败,该内容不存在", HttpStatus.SHOW_ERROR_MSG);
}
CommunityUser communityUser = communityUserMapper.selectCommunityUser(publishLikeRes.getTenantId(),
publishLikeRes.getCommunityId(), SecurityUtils.getUserId());
if (Objects.isNull(communityUser)) {
throw new ServiceException("点赞失败,您不是该社区成员", HttpStatus.SHOW_ERROR_MSG);
}
if ("1".equals(communityUser.getIsBlank())) {
throw new ServiceException("点赞失败,您已被拉黑", HttpStatus.SHOW_ERROR_MSG);
}
PublishLike publishLike = baseMapper.selectPublishLike(publishLikeRes, SecurityUtils.getUserId());
if (Objects.isNull(publishLike)) {

View File

@ -10,20 +10,20 @@ import com.mcwl.common.constant.HttpStatus;
import com.mcwl.common.core.domain.AjaxResult;
import com.mcwl.common.core.domain.R;
import com.mcwl.common.core.domain.entity.SysUser;
import com.mcwl.common.core.page.PageDomain;
import com.mcwl.common.core.page.TableDataInfo;
import com.mcwl.common.utils.SecurityUtils;
import com.mcwl.common.utils.StringUtils;
import com.mcwl.communityCenter.domain.Community;
import com.mcwl.communityCenter.domain.CommunityUser;
import com.mcwl.communityCenter.domain.Publish;
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.mapper.CommunityMapper;
import com.mcwl.communityCenter.mapper.InviteMapper;
import com.mcwl.communityCenter.mapper.PublishMapper;
import com.mcwl.communityCenter.mapper.QuestionMapper;
import com.mcwl.communityCenter.mapper.*;
import com.mcwl.communityCenter.service.PublishService;
import com.mcwl.system.service.ISysUserService;
import lombok.RequiredArgsConstructor;
@ -43,6 +43,8 @@ public class PublishServiceImpl extends ServiceImpl<PublishMapper, Publish> impl
private final CommunityMapper communityMapper;
private final CommunityUserMapper communityUserMapper;
@Override
public PublishVo getDetail(PublishDetailRes publishDetailRes) {
@ -76,16 +78,17 @@ public class PublishServiceImpl extends ServiceImpl<PublishMapper, Publish> impl
return R.fail(HttpStatus.SHOW_ERROR_MSG,"用户社区未创建");
}
CommunityUser communityUser = communityUserMapper.selectCommunityUser(publishRes.getTenantId(), publishRes.getCommunityId(), userId);
Set<Long> invites = inviteMapper.selectInviteIds(publishRes.getTenantId(), publishRes.getCommunityId());
// 判断用户是否是群主
if (!Objects.equals(userId, publishRes.getTenantId())) {
// 判断用户是否被邀请
if (invites.isEmpty() || !invites.contains(userId)) {
return R.fail(HttpStatus.SHOW_ERROR_MSG,"您没有被邀请");
}
if (Objects.isNull(communityUser)) {
return R.fail(HttpStatus.SHOW_ERROR_MSG,"您不是该社区成员");
}
if ("1".equals(communityUser.getIsBlank())) {
return R.fail(HttpStatus.SHOW_ERROR_MSG,"您已被拉黑");
}
Publish publish = new Publish();
BeanUtil.copyProperties(publishRes, publish);
publish.setUserId(userId);
@ -205,8 +208,22 @@ public class PublishServiceImpl extends ServiceImpl<PublishMapper, Publish> impl
return tableDataInfo;
}
private Page<Publish> initPage(PublishPageRes publishPageRes) {
Page<Publish> page = new Page<>(publishPageRes.getPageNum(), publishPageRes.getPageSize());
@Override
public TableDataInfo myPublishList(MyPublishPageRes myPublishPageRes) {
Page<Publish> page = this.initPage(myPublishPageRes);
List<PublishVo> publishVoList = baseMapper.myPublishList(page, myPublishPageRes, SecurityUtils.getUserId());
// 封装返回
TableDataInfo tableDataInfo = new TableDataInfo();
tableDataInfo.setRows(publishVoList);
tableDataInfo.setTotal(page.getTotal());
tableDataInfo.setCode(HttpStatus.SUCCESS);
tableDataInfo.setMsg("查询成功");
return tableDataInfo;
}
private Page<Publish> initPage(PageDomain pageDomain) {
Page<Publish> page = new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
page.addOrder(new OrderItem("create_time", false));
return page;

View File

@ -12,10 +12,7 @@ import com.mcwl.common.core.page.TableDataInfo;
import com.mcwl.common.utils.SecurityUtils;
import com.mcwl.common.utils.StringUtils;
import com.mcwl.communityCenter.constant.AdviceConstant;
import com.mcwl.communityCenter.domain.Community;
import com.mcwl.communityCenter.domain.CommunityAdvice;
import com.mcwl.communityCenter.domain.Question;
import com.mcwl.communityCenter.domain.QuestionComment;
import com.mcwl.communityCenter.domain.*;
import com.mcwl.communityCenter.domain.dto.*;
import com.mcwl.communityCenter.domain.vo.QuestionCommentVo;
import com.mcwl.communityCenter.domain.vo.QuestionVo;
@ -42,6 +39,8 @@ public class QuestionCommentServiceImpl extends ServiceImpl<QuestionCommentMappe
private final CommunityAdviceMapper communityAdviceMapper;
private final CommunityUserMapper communityUserMapper;
@Override
@Transactional(rollbackFor = Exception.class)
public R<Object> comment(QuestionCommentRes questionCommentRes) {
@ -56,6 +55,14 @@ public class QuestionCommentServiceImpl extends ServiceImpl<QuestionCommentMappe
return R.fail(HttpStatus.SHOW_ERROR_MSG, "提问不存在");
}
CommunityUser communityUser = communityUserMapper.selectCommunityUser(tenantId, communityId, SecurityUtils.getUserId());
if (Objects.isNull(communityUser)) {
return R.fail(HttpStatus.SHOW_ERROR_MSG, "您不是该社区成员,不能评论");
}
if ("1".equals(communityUser.getIsBlank())) {
return R.fail(HttpStatus.SHOW_ERROR_MSG,"您已被拉黑");
}
QuestionComment questionComment = new QuestionComment();
BeanUtil.copyProperties(questionCommentRes, questionComment);
questionComment.setUserId(SecurityUtils.getUserId());

View File

@ -14,19 +14,13 @@ import com.mcwl.common.utils.SecurityUtils;
import com.mcwl.common.utils.StringUtils;
import com.mcwl.communityCenter.constant.AdviceConstant;
import com.mcwl.communityCenter.constant.StatusConstant;
import com.mcwl.communityCenter.domain.Community;
import com.mcwl.communityCenter.domain.CommunityAdvice;
import com.mcwl.communityCenter.domain.Invite;
import com.mcwl.communityCenter.domain.Question;
import com.mcwl.communityCenter.domain.*;
import com.mcwl.communityCenter.domain.dto.QuestionDetailRes;
import com.mcwl.communityCenter.domain.dto.QuestionPageRes;
import com.mcwl.communityCenter.domain.dto.QuestionReplyRes;
import com.mcwl.communityCenter.domain.dto.QuestionRes;
import com.mcwl.communityCenter.domain.vo.QuestionVo;
import com.mcwl.communityCenter.mapper.CommunityAdviceMapper;
import com.mcwl.communityCenter.mapper.CommunityMapper;
import com.mcwl.communityCenter.mapper.InviteMapper;
import com.mcwl.communityCenter.mapper.QuestionMapper;
import com.mcwl.communityCenter.mapper.*;
import com.mcwl.communityCenter.service.CommunityService;
import com.mcwl.communityCenter.service.QuestionService;
import com.mcwl.system.service.ISysUserService;
@ -53,6 +47,8 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
private final InviteMapper inviteMapper;
private final CommunityUserMapper communityUserMapper;
/**
*
*
@ -79,11 +75,15 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
}
//提问人userId是否在社区中
Invite invite = inviteMapper.selectByTenantIdAndCommunityIdAndInviteeUserId(tenantId, communityId, userId);
if (Objects.isNull(invite)) {
CommunityUser communityUser = communityUserMapper.selectCommunityUser(tenantId, communityId, userId);
if (Objects.isNull(communityUser)) {
return R.fail(HttpStatus.SHOW_ERROR_MSG, "您不是该社区成员,不能提问");
}
if ("1".equals(communityUser.getIsBlank())) {
return R.fail(HttpStatus.SHOW_ERROR_MSG,"您已被拉黑");
}
Question question = new Question();
BeanUtil.copyProperties(questionRes, question);
question.setQuestionUserId(userId);
@ -235,15 +235,24 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
return rspData;
}
@Override
public TableDataInfo myQuestionList(QuestionPageRes questionPageRes) {
Page<Question> page = initPage(questionPageRes);
List<Question> questionList = baseMapper.myQuestionList(page, questionPageRes, SecurityUtils.getUserId());
// 封装分页信息
TableDataInfo rspData = new TableDataInfo();
rspData.setCode(HttpStatus.SUCCESS);
rspData.setMsg("查询成功");
rspData.setRows(questionList);
rspData.setTotal(page.getTotal());
return rspData;
}
private Page<Question> initPage(QuestionPageRes questionPageRes) {
Page<Question> page = new Page<>(questionPageRes.getPageNum(), questionPageRes.getPageSize());
OrderItem orderItem = new OrderItem();
if (StringUtils.isBlank(questionPageRes.getOrderByColumn())) {
questionPageRes.setOrderByColumn("create_time");
}
orderItem.setColumn(questionPageRes.getOrderByColumn());
orderItem.setAsc(Objects.equals(questionPageRes.getIsAsc(), "asc"));
page.addOrder(orderItem);
page.addOrder(new OrderItem("create_time", false));
return page;
}

View File

@ -0,0 +1,39 @@
package com.mcwl.communityCenter.task;
import com.mcwl.communityCenter.domain.CommunityUser;
import com.mcwl.communityCenter.service.CommunityUserService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
import java.util.List;
@Component("communityUserTask")
@RequiredArgsConstructor
public class CommunityUserTask {
private final CommunityUserService communityUserService;
/**
* 30 0 0/30 * * * ? *
*/
public void pullOutBlackUser() {
List<CommunityUser> communityUserList = communityUserService.getAllCommunityUser();
for (CommunityUser communityUser : communityUserList) {
String isBlank = communityUser.getIsBlank();
if ("1".equals(isBlank) && communityUser.getBlankEndTime().getTime() < System.currentTimeMillis()) {
communityUser.setIsBlank("0");
communityUser.setBlankEndTime(null);
communityUser.setBlackReason(null);
communityUserService.updateCommunityUser(communityUser);
}
}
}
}

View File

@ -3,6 +3,16 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mcwl.communityCenter.mapper.CommunityUserMapper">
<update id="updateCommunityUser">
update cc_community_user
set is_blank = #{blackCommunityUser.isBlank},
start_time = #{blackCommunityUser.startTime},
end_time = #{blackCommunityUser.endTime}
where tenant_id = #{blackCommunityUser.tenantId}
and community_id = #{blackCommunityUser.communityId}
and user_id = #{blackCommunityUser.userId}
and del_flag = '0';
</update>
<select id="selectByTenantIdAndCommunityIdAndUserId"
resultType="com.mcwl.communityCenter.domain.CommunityUser">
@ -50,8 +60,41 @@
and u.nick_name like concat('%', #{communityUserListPageRes.searchContent}, '%')
</if>
and (cu.blank_end_time is null or NOW() &gt;= cu.blank_end_time)
and cu.is_blank = '0'
and cu.del_flag = '0'
</where>
</select>
<select id="selectCommunityUser" resultType="com.mcwl.communityCenter.domain.CommunityUser">
select id,
tenant_id,
community_id,
user_id,
user_type,
invite_id,
community_price,
start_time,
end_time,
is_blank,
black_reason,
blank_end_time
from cc_community_user
where tenant_id = #{tenantId}
and community_id = #{communityId}
and user_id = #{userId}
</select>
<select id="getAllCommunityUser" resultType="com.mcwl.communityCenter.domain.CommunityUser">
select id,
tenant_id,
community_id,
user_id,
user_type,
invite_id,
community_price,
start_time,
end_time,
is_blank,
black_reason,
blank_end_time
from cc_community_user
where del_flag = '0'
</select>
</mapper>

View File

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mcwl.communityCenter.mapper.IncomeInfoMapper">
<select id="communityIncome" resultType="com.mcwl.communityCenter.domain.vo.IncomeAmountVo">
SELECT SUM(IF(DATE(create_time) = CURDATE(), amount, 0)) AS today_amount,
SUM(IF(DATE(create_time) = CURDATE() - INTERVAL 1 DAY, amount, 0)) AS yesterday_amount
FROM cc_income_info
WHERE tenant_id = #{incomeInfoRes.tenantId}
AND community_id = #{incomeInfoRes.communityId}
AND type = 0
AND del_flag = '0'
</select>
<select id="questionIncome" resultType="com.mcwl.communityCenter.domain.vo.IncomeAmountVo">
SELECT SUM(IF(DATE(create_time) = CURDATE(), amount, 0)) AS today_amount,
SUM(IF(DATE(create_time) = CURDATE() - INTERVAL 1 DAY, amount, 0)) AS yesterday_amount
FROM cc_income_info
WHERE tenant_id = #{incomeInfoRes.tenantId}
AND community_id = #{incomeInfoRes.communityId}
AND type = 1
AND del_flag = '0'
</select>
<select id="totalIncome" resultType="java.lang.Double">
SELECT SUM(amount)
FROM cc_income_info
WHERE del_flag = '0'
</select>
<select id="incomeList" resultType="com.mcwl.communityCenter.domain.vo.IncomeInfoListVo">
SELECT ii.create_by as user_name,
c.community_name as community_name,
ii.type as type,
ii.amount as amount,
ii.create_time as create_time
FROM cc_income_info ii
left join cc_community c
on ii.tenant_id = c.tenant_id
and ii.community_id = c.id
where ii.tenant_id = #{incomeInfoListPageRes.tenantId}
and ii.community_id = #{incomeInfoListPageRes.communityId}
and ii.del_flag = '0'
order by ii.create_time desc
</select>
</mapper>

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mcwl.communityCenter.mapper.PublishCollectMapper">
<select id="myCollectList" resultType="com.mcwl.communityCenter.domain.vo.PublishVo">
select p.*, IF(pc.id is not null, 1, 0) as is_collect
from cc_publish p left join cc_publish_collect pc
on p.id = pc.publish_id
and p.tenant_id = pc.tenant_id
and p.community_id = pc.community_id
<where>
and pc.tenant_id = #{myPublishPageRes.tenantId}
and pc.community_id = #{myPublishPageRes.communityId}
and pc.user_id = #{userId}
and pc.del_flag = '0'
</where>
</select>
</mapper>

View File

@ -105,4 +105,17 @@
</if>
</where>
</select>
<select id="myPublishList" resultType="com.mcwl.communityCenter.domain.vo.PublishVo">
select p.*, IF(pc.id is not null, 1, 0) as is_collect
from cc_publish p left join cc_publish_collect pc
on p.id = pc.publish_id
and p.tenant_id = pc.tenant_id
and p.community_id = pc.community_id
<where>
and p.tenant_id = #{myPublishPageRes.tenantId}
and p.community_id = #{myPublishPageRes.communityId}
and p.user_id = #{userId}
and p.del_flag = '0'
</where>
</select>
</mapper>

View File

@ -57,4 +57,12 @@
and question_url is not null
order by amount desc, create_time desc
</select>
<select id="myQuestionList" resultType="com.mcwl.communityCenter.domain.Question">
select *
from cc_question
where del_flag = '0'
and tenant_id = #{questionPageRes.tenantId}
and community_id = #{questionPageRes.communityId}
and question_user_id = #{userId}
</select>
</mapper>