feat(communityCenter): 社区收益功能、用户拉黑
parent
81cfc52881
commit
70d3d32bc5
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
||||
|
|
|
@ -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"
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -43,7 +43,7 @@ public class CommunityUser extends BaseEntity {
|
|||
private Long userId;
|
||||
|
||||
/**
|
||||
* 用户类型 0普通用户 1群主
|
||||
* 用户类型 0成员 1管理员 2群主
|
||||
*/
|
||||
private Integer userType;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
|
||||
}
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -92,6 +92,12 @@ public class PublishVo {
|
|||
@ApiModelProperty(value = "精选")
|
||||
private Integer isElite;
|
||||
|
||||
/**
|
||||
* 收藏
|
||||
*/
|
||||
@ApiModelProperty(value = "收藏")
|
||||
private Integer isCollect;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
|
@ -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);
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
|
@ -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);
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -34,4 +34,6 @@ public interface QuestionService extends IService<Question> {
|
|||
// AjaxResult reply(QuestionReplyRes questionReplyRes);
|
||||
|
||||
TableDataInfo listImage(@Valid QuestionPageRes questionPageRes);
|
||||
|
||||
TableDataInfo myQuestionList(@Valid QuestionPageRes questionPageRes);
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -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,"评论失败,该内容不存在");
|
||||
|
|
|
@ -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)) {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -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() >= 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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
Loading…
Reference in New Issue