Compare commits
24 Commits
master
...
feature/co
Author | SHA1 | Date |
---|---|---|
|
1f50a33c78 | |
|
f432697d94 | |
|
80fcfd12ea | |
|
89b2c58938 | |
|
5f1dd1f99f | |
|
2a906fd248 | |
|
da620e00e3 | |
|
29a2200c77 | |
|
0eb2a1ec23 | |
|
10e2bd322e | |
|
fd2d1d62ef | |
|
fadfd8058f | |
|
c951baedd5 | |
|
dfa4f4d245 | |
|
e2dd7d81bd | |
|
87f259cd6f | |
|
d09f89c827 | |
|
a0f21fc32c | |
|
01b4f6c535 | |
|
31b5a89329 | |
|
27593d84d0 | |
|
64979345f5 | |
|
5639d54a5f | |
|
516aebfba0 |
|
@ -42,11 +42,15 @@ public class CommunityController {
|
||||||
@ApiOperation(value = "社区详情")
|
@ApiOperation(value = "社区详情")
|
||||||
@GetMapping("detail")
|
@GetMapping("detail")
|
||||||
public R<CommunityDetailVo> getCommunityDetail(@Valid
|
public R<CommunityDetailVo> getCommunityDetail(@Valid
|
||||||
|
@ApiParam(value = "社区id", required = true)
|
||||||
|
@NotNull(message = "社区id不能为空")
|
||||||
|
Long tenantId,
|
||||||
|
@Valid
|
||||||
@ApiParam(value = "社区id", required = true)
|
@ApiParam(value = "社区id", required = true)
|
||||||
@NotNull(message = "社区id不能为空")
|
@NotNull(message = "社区id不能为空")
|
||||||
Long communityId) {
|
Long communityId) {
|
||||||
|
|
||||||
CommunityDetailVo communityDetailVo = communityService.getCommunityDetail(communityId);
|
CommunityDetailVo communityDetailVo = communityService.getCommunityDetail(tenantId, communityId);
|
||||||
return R.ok(communityDetailVo);
|
return R.ok(communityDetailVo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@ import javax.validation.Valid;
|
||||||
/**
|
/**
|
||||||
* 个人主页
|
* 个人主页
|
||||||
*/
|
*/
|
||||||
@Api(tags = "个人主页")
|
@Api(tags = "社区个人主页")
|
||||||
@RestController
|
@RestController
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@RequestMapping("personHome")
|
@RequestMapping("personHome")
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
package com.mcwl.web.controller.communityCenter;
|
package com.mcwl.web.controller.communityCenter;
|
||||||
|
|
||||||
import com.mcwl.common.core.controller.BaseController;
|
import com.mcwl.common.core.controller.BaseController;
|
||||||
import com.mcwl.common.core.domain.AjaxResult;
|
|
||||||
import com.mcwl.common.core.domain.R;
|
import com.mcwl.common.core.domain.R;
|
||||||
import com.mcwl.communityCenter.domain.dto.CommentDelRes;
|
import com.mcwl.communityCenter.domain.dto.CommentDelRes;
|
||||||
import com.mcwl.communityCenter.domain.dto.CommentDetailRes;
|
import com.mcwl.communityCenter.domain.dto.CommentDetailRes;
|
||||||
import com.mcwl.communityCenter.domain.dto.CommentRes;
|
import com.mcwl.communityCenter.domain.dto.CommentRes;
|
||||||
|
import com.mcwl.communityCenter.domain.dto.PublishCommentLikeRes;
|
||||||
import com.mcwl.communityCenter.domain.vo.CommentVo;
|
import com.mcwl.communityCenter.domain.vo.CommentVo;
|
||||||
|
import com.mcwl.communityCenter.service.PublishCommentLikeService;
|
||||||
import com.mcwl.communityCenter.service.PublishCommentService;
|
import com.mcwl.communityCenter.service.PublishCommentService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
@ -30,6 +31,17 @@ import java.util.List;
|
||||||
public class PublishCommentController extends BaseController {
|
public class PublishCommentController extends BaseController {
|
||||||
|
|
||||||
private final PublishCommentService publishCommentService;
|
private final PublishCommentService publishCommentService;
|
||||||
|
private final PublishCommentLikeService publishCommentLikeService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取评论
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "获取评论")
|
||||||
|
@PostMapping("/list")
|
||||||
|
public R<List<CommentVo>> list(@RequestBody @Valid CommentDetailRes commentDetailRes) {
|
||||||
|
|
||||||
|
return publishCommentService.getComment(commentDetailRes);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -46,33 +58,31 @@ public class PublishCommentController extends BaseController {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取评论详情
|
|
||||||
*
|
|
||||||
* @param commentDetailRes 评论详情请求参数
|
|
||||||
* @return 评论详情
|
|
||||||
*/
|
|
||||||
@ApiOperation(value = "获取评论详情")
|
|
||||||
@PostMapping("/detail")
|
|
||||||
public R<List<CommentVo>> getComment(@RequestBody @Valid CommentDetailRes commentDetailRes) {
|
|
||||||
|
|
||||||
return publishCommentService.getComment(commentDetailRes);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// /**
|
// /**
|
||||||
// * 点赞或取消点赞评论
|
// * 获取评论详情
|
||||||
// * @param commentDetailRes 评论请求参数
|
// *
|
||||||
// * @return 更新后的点赞数
|
// * @param commentDetailRes 评论详情请求参数
|
||||||
|
// * @return 评论详情
|
||||||
// */
|
// */
|
||||||
// @ApiOperation(value = "点赞或取消点赞评论")
|
// @ApiOperation(value = "获取评论详情")
|
||||||
// @PostMapping("/like")
|
// @PostMapping("/detail")
|
||||||
// public AjaxResult like(@RequestBody @Valid CommentDetailRes commentDetailRes) {
|
// public R<List<CommentVo>> getComment(@RequestBody @Valid CommentDetailRes commentDetailRes) {
|
||||||
//
|
//
|
||||||
// return publishCommentService.like(commentDetailRes);
|
// return publishCommentService.getComment(commentDetailRes);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 点赞或取消点赞评论
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "点赞或取消点赞评论")
|
||||||
|
@PostMapping("/like")
|
||||||
|
public R<Integer> like(@RequestBody @Valid PublishCommentLikeRes publishCommentLikeRes) {
|
||||||
|
|
||||||
|
return publishCommentLikeService.like(publishCommentLikeRes);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "删除评论")
|
@ApiOperation(value = "删除评论")
|
||||||
@PostMapping("/delete")
|
@PostMapping("/delete")
|
||||||
public R<Object> delete(@RequestBody @Valid CommentDelRes commentDelRes) {
|
public R<Object> delete(@RequestBody @Valid CommentDelRes commentDelRes) {
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
package com.mcwl.web.controller.communityCenter;
|
package com.mcwl.web.controller.communityCenter;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.mcwl.common.constant.HttpStatus;
|
import com.mcwl.common.constant.HttpStatus;
|
||||||
import com.mcwl.common.core.domain.AjaxResult;
|
import com.mcwl.common.core.domain.AjaxResult;
|
||||||
import com.mcwl.common.core.domain.R;
|
import com.mcwl.common.core.domain.R;
|
||||||
import com.mcwl.common.core.page.TableDataInfo;
|
import com.mcwl.common.core.page.TableDataInfo;
|
||||||
|
import com.mcwl.communityCenter.domain.Publish;
|
||||||
import com.mcwl.communityCenter.domain.dto.*;
|
import com.mcwl.communityCenter.domain.dto.*;
|
||||||
import com.mcwl.communityCenter.domain.vo.PublishVo;
|
import com.mcwl.communityCenter.domain.vo.PublishVo;
|
||||||
import com.mcwl.communityCenter.service.PublishService;
|
import com.mcwl.communityCenter.service.PublishService;
|
||||||
|
@ -83,10 +85,10 @@ public class PublishController {
|
||||||
* 删除
|
* 删除
|
||||||
*/
|
*/
|
||||||
@ApiOperation(value = "删除")
|
@ApiOperation(value = "删除")
|
||||||
@GetMapping("remove")
|
@PostMapping("remove")
|
||||||
public R<Object> deletePublish(@NotNull(message = "id不能为空") @ApiParam(value = "id") @Valid Long id) {
|
public R<Object> deletePublish(@RequestBody @Valid PublishRemoveRes publishRemoveRes) {
|
||||||
publishService.removeById(id);
|
|
||||||
return R.ok();
|
return publishService.removePublish(publishRemoveRes);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -94,14 +96,17 @@ public class PublishController {
|
||||||
*/
|
*/
|
||||||
@ApiOperation(value = "精选/取消精选")
|
@ApiOperation(value = "精选/取消精选")
|
||||||
@GetMapping("elite")
|
@GetMapping("elite")
|
||||||
public R<Object> elitePublish(@NotNull(message = "社区id不能为空")
|
public R<Object> elitePublish(@NotNull(message = "租户id不能为空")
|
||||||
|
@ApiParam(value = "租户id")
|
||||||
|
@Valid Long tenantId,
|
||||||
|
@NotNull(message = "社区id不能为空")
|
||||||
@ApiParam(value = "社区id")
|
@ApiParam(value = "社区id")
|
||||||
@Valid Long communityId,
|
@Valid Long communityId,
|
||||||
@NotNull(message = "发布文章id不能为空")
|
@NotNull(message = "发布文章id不能为空")
|
||||||
@ApiParam(value = "发布文章id")
|
@ApiParam(value = "发布文章id")
|
||||||
@Valid Long publishId) {
|
@Valid Long publishId) {
|
||||||
publishService.elitePublish(communityId, publishId);
|
|
||||||
return R.ok();
|
return publishService.elitePublish(tenantId, communityId, publishId);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -114,4 +119,14 @@ public class PublishController {
|
||||||
return R.ok();
|
return R.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 举报
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "举报")
|
||||||
|
@PostMapping("report")
|
||||||
|
public R<Object> reportPublish(@RequestBody @Valid PublishReportRes publishReportRes) {
|
||||||
|
publishService.reportPublish(publishReportRes);
|
||||||
|
return R.ok();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -145,9 +145,9 @@ public class PersonalCenterController {
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取金币消费记录
|
* 获取金币收入支出消费记录
|
||||||
*/
|
*/
|
||||||
@ApiOperation(value = "获取金币消费记录")
|
@ApiOperation(value = "获取金币收入支出消费记录")
|
||||||
@PostMapping("/getWalletRecord")
|
@PostMapping("/getWalletRecord")
|
||||||
public TableDataInfo getWalletRecord(@Valid @RequestBody PageDomain pageDomain) {
|
public TableDataInfo getWalletRecord(@Valid @RequestBody PageDomain pageDomain) {
|
||||||
return consumeService.getWalletRecord(pageDomain);
|
return consumeService.getWalletRecord(pageDomain);
|
||||||
|
|
|
@ -166,15 +166,19 @@ public class MallProductController extends BaseController {
|
||||||
R<ModelProduct> modelProductR = modelService.selectModelById(id);
|
R<ModelProduct> modelProductR = modelService.selectModelById(id);
|
||||||
ModelProduct data = modelProductR.getData();
|
ModelProduct data = modelProductR.getData();
|
||||||
if (Objects.nonNull(data)) {
|
if (Objects.nonNull(data)) {
|
||||||
LambdaQueryWrapper<ModelPurchaseRecord> wrapper = new LambdaQueryWrapper<>();
|
Long userIdMax = SecurityUtils.getUserIdMax();
|
||||||
wrapper.eq(ModelPurchaseRecord::getUserId, SecurityUtils.getUserId())
|
if (userIdMax != 0){
|
||||||
.eq(ModelPurchaseRecord::getProductId, id)
|
LambdaQueryWrapper<ModelPurchaseRecord> wrapper = new LambdaQueryWrapper<>();
|
||||||
.eq(ModelPurchaseRecord::getProductType, 0);
|
wrapper.eq(ModelPurchaseRecord::getUserId, userIdMax)
|
||||||
ModelPurchaseRecord modelPurchaseRecord = modelPurchaseRecordMapper.selectOne(wrapper);
|
.eq(ModelPurchaseRecord::getProductId, id)
|
||||||
data.setIsBuy(1);
|
.eq(ModelPurchaseRecord::getProductType, 0);
|
||||||
if (Objects.isNull(modelPurchaseRecord)) {
|
ModelPurchaseRecord modelPurchaseRecord = modelPurchaseRecordMapper.selectOne(wrapper);
|
||||||
data.setIsBuy(0);
|
data.setIsBuy(1);
|
||||||
|
if (Objects.isNull(modelPurchaseRecord)) {
|
||||||
|
data.setIsBuy(0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
data.setIsBuy(0);
|
||||||
modelProductR.setData(data);
|
modelProductR.setData(data);
|
||||||
}
|
}
|
||||||
return modelProductR;
|
return modelProductR;
|
||||||
|
|
|
@ -136,7 +136,7 @@ mall:
|
||||||
# 沙箱应用id
|
# 沙箱应用id
|
||||||
appId: 9021000135682614
|
appId: 9021000135682614
|
||||||
# 沙箱应用私钥
|
# 沙箱应用私钥
|
||||||
privateKey: MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCQxmQGcaiKjOhayWi+zNTvpp8B5YT8jFFkjLzrD+W+T2Dwf2GfFR4p95zsCJxYeoLWdghMPA6/GMFrLbuVFpaEjuTm4icqA9N8n5d3W0j7gh+wMjZoqyJclAIeb09ut7rY6mWzilA9kWmZnUG7MOWIU70RVRYrfJectCFw/odM9lG4XIVe13X2h+1ecTQyQzLWmnvKFCfo7dQjE7fIYiWfud1ZGUneNs3u73pNWMB6ThGTTCbs0atcgM3fYOg3q7fTxIu9VcaUCJiJ/kNbL9sVEyOrSyx2f2o6w06zdEaOiQFsuDeS8QPYGMg7pf42wAfqCO6hqxQiQT5vp1hvB0o1AgMBAAECggEAIhaEYLwMSispXo8D2cES9iaOU/z91hUX6Qv2Q4anuqqoEZh8nN91Db6etTjFz1NxURvTklelxTsH97t56n26DRY0MWTYgd0Kw9Iz8MeOpKGb4nnAM97vpUq4QQBGfLRIC2ENdzu+7vA5JBFR88hsky/cWaNmJ/EbJauIIDneE7GigMR2HF7kfzdZzOBN4ZEh/ef5NKeCnEieRJJhWRgrgNXVZ44Tqi67AM7ey9pyUtBe7fgzxXtrWXBN9yKaVxxSXm3KJXFQqA6mcilFVZaxMNlAySc4MPTW8lq0ozOCOCunoeIphNz/OVIxGu3/voXFXlBfOKqOkYMVZxMY6OrvtQKBgQD0nIlXK4VW72VaGpz9kxQkRNzJV/yqaqet1GOSlPM2l0RCRFOVVdnvbQdHGPe6+HxHL1dh5MP8T/aHoP+4UXkkQCc8moS2FZxJvFH2QTSZBcSSdGL7GMpROqs38J+XlJzrhNcB20lrW6D7yMeQa4YEcXwdbD8Er/YaIqODBWYYewKBgQCXg+16RLDArciwwhf0TBWZPor2iYFDdwU5UPu7CKOhU1MLfQhG85gGpXHjB6G8cMUi/ezxh/FEl+sWOZegpkPwL5/BQS9tNYWIaC4kipPF/a5Up4DMYUHVAuuPwNqqXpvgU+rGjCns0wtPRnjrkghLkc3oTSID7o7pzUwIk2whDwKBgAys3+EIfExY82OL5X6uVGjcuKQmTw11oWK8krxRw5iclgjpCXu/ix+BAtOIU634mlgF9/02oYE9k4TLrvSaJDDgsifNyfq1e/fGLmkYT+VuCxWbulVQn4s+AwlPCrYMGWWK6KlL9638fYcOjGjLaZJpXwkXRtyzUYlhKh/r87JpAoGBAIavRp2mi/xrPvgpQQPv0k9L8llfOCHRnjoqC+thrZsNp8eRmJcBmMVnskofEZ2iHQuS71pw/n58EQTLo0ayJbhPjVJL8K3CovXzrfjbmqqoa5xi3bJQTiXdF6rMw1QpD6Uk05E1LVuQ6v/IZFr7kBYlAQWb8z3NhQq+bPU+nyLvAoGAGpBbSM8gPzdWQqkHoos0icu3cj0GhN3MU7+1Eb/rsXyh/lk5wtZTEnHjwhdUOUtwVNjvrv7CzA7unhOoaM6YcE/Zpd4zt8pjqH1Mhds7UHf4Xg+A+J4G6meYnhSwfBpOub02ncsqfBlXE0qhFv6AvcMewWndyLb8EYaUUXTYkG0=
|
privateKey: MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCZVV6wTtfUJP7UoSLMCYiGad2Jj2hlOyDVNLXZVf+Vffckt7/g3Ye/jIPt1D/arB2f/wO01qKOkraBCXg2LQOL3g72Na9MUZ0JJ6Tk4JAgRngR3GoO1XuEz52yq4yX7nVcD+xDbAt865GZWZhKL+7DgW22z1f7TtEDpfHwFcvMfznwTm5R6VpOw0qYnnHzOZwNxrtKNQLYIJVZhuvi51PuLn4dpC1nH487BjPBLSFiTMcN0aQzaFs2d3OQcMBykQFp8CR00LvKqsUHjVm6hwMm0/sObd3Meu7to6fRCNIYtu3LaDwS9s7tvRGIf3y7wFb+R2nfz83FSXx20D2wGxKhAgMBAAECggEASpXrTGndtLUWPEnxijys6209tTdL+coMS4mrV3/spkQy3up+7Jv192gbmKmhMfZ9JqG+pM2vHxkgq532mqvEyNmIf51XmxEsCRL+s9LEaN6+czm7YWHZBp6TQCEQb6sv7UtViupYoDhah7S8ToIIa5Ne0gkD7BvHsjWbfUSs8NjFjGawTeueQh8m2w6qcudlIh6/5FGyFSWM74qUh3kOzmxjv95z8NSXTPmdwdOuRl/H77T6E4/IxV8CHIF0FkhT4v8ApkHSUgYs1qWRtt6YPZ21rmv0UqUFhJJwhRaqm+Cwob2HT/7RTn8EUVtOIFpQnqmTpGg/NjuDkocwKA+lUQKBgQDISdLtmoOnCHeDlG22kIulbPTkcwAzkdKQuVJ0ZSsaHq5PHMVa60YOHYQyjTgY2SKJH/t9/P+QdvR0/An5osQsw0pE1/qj1VufTYdDq2/P2Cot/k9EerOpAjnsel1/9O4kIu67sFBI4R48YhD7Ui0ncfrjEyo8FXzvVI9Xi8kWNQKBgQDD+/jHYwG8o9zOVJHzl+wP2PHhWhKKdrTrIv3JlcwsAKMO3zB+FyUDSG5IxieLJCaNsNSeAVRqkTG/VBLe33Cf6bfrqgS0iRiVB2i8fiXpQfGO17eYcHe7Jm2ys6CSFMoLXfvRXgxMTOiwewChU+vp2DuEC4yrhDyLWckQe+aoPQKBgDRPu8ydJ7ePqY9vS/x74k1RmOC1/J57frCYBqYp6kkHLGWzUQR/IKv9H5MIeVdcFv4ToV71nlZAC3cmgQB3d59tXk9+zZLO3gBMgoC1HR3/Cn06x79OAPCqiTBvgU4zTaOYkBvrX/y492mz/1V00CBWT73ROp24ywnDXzDxbJLlAoGAEQ3xNTCZaxf7U/0qAj+bLDndupWC/Yec8MVHvm4JqV6Y0ed8KczLzMBV0IFl2YbY0AWuSt2kwe1Gnfar+bcJ7vCAr8JIzIkNmZJee+CiXez+H0cIU/ydfqy2aRGWjH/AoUKZcjuz6EPdD9Z0VJWf9uZ5L2Ft6VMFjb7Pb17I0KUCgYAHjL4lL5FK3eXPaE2FFf4nG8b/h3PKErcAr4LlLKdiZLKPIR3bCW3PR+HYYdDdlrfPNzad7XVNpVKRCBDEP1FWoJsJ0HFYus7AmclUiv2FFbwnLizBo8OhZMGGaddW5xuQNcxjOkPMnfNxQP+qG86PNpgzg88YfyegWtCk8oywJQ==
|
||||||
# 沙箱应用公钥证书
|
# 沙箱应用公钥证书
|
||||||
appCertPath: /opt/cert/dev/appPublicCert.crt
|
appCertPath: /opt/cert/dev/appPublicCert.crt
|
||||||
# 沙箱支付宝公钥证书路径
|
# 沙箱支付宝公钥证书路径
|
||||||
|
|
|
@ -52,7 +52,7 @@ spring:
|
||||||
# 国际化资源文件路径
|
# 国际化资源文件路径
|
||||||
basename: i18n/messages
|
basename: i18n/messages
|
||||||
profiles:
|
profiles:
|
||||||
active: druid
|
active: dev
|
||||||
# 文件上传
|
# 文件上传
|
||||||
servlet:
|
servlet:
|
||||||
multipart:
|
multipart:
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
-----BEGIN CERTIFICATE-----
|
-----BEGIN CERTIFICATE-----
|
||||||
MIIDmTCCAoGgAwIBAgIQICQEAub4U5TMozibHLcg8zANBgkqhkiG9w0BAQsFADCBkTELMAkGA1UE
|
MIIDmTCCAoGgAwIBAgIQICUEKLy77ndlVg3UfaV5GDANBgkqhkiG9w0BAQsFADCBkTELMAkGA1UE
|
||||||
BhMCQ04xGzAZBgNVBAoMEkFudCBGaW5hbmNpYWwgdGVzdDElMCMGA1UECwwcQ2VydGlmaWNhdGlv
|
BhMCQ04xGzAZBgNVBAoMEkFudCBGaW5hbmNpYWwgdGVzdDElMCMGA1UECwwcQ2VydGlmaWNhdGlv
|
||||||
biBBdXRob3JpdHkgdGVzdDE+MDwGA1UEAww1QW50IEZpbmFuY2lhbCBDZXJ0aWZpY2F0aW9uIEF1
|
biBBdXRob3JpdHkgdGVzdDE+MDwGA1UEAww1QW50IEZpbmFuY2lhbCBDZXJ0aWZpY2F0aW9uIEF1
|
||||||
dGhvcml0eSBDbGFzcyAyIFIxIHRlc3QwHhcNMjQwNDAyMDUzMjU2WhcNMjUwNDA3MDUzMjU2WjBr
|
dGhvcml0eSBDbGFzcyAyIFIxIHRlc3QwHhcNMjUwNDI4MDY1NjQ2WhcNMjYwNTAzMDY1NjQ2WjBr
|
||||||
MQswCQYDVQQGEwJDTjEfMB0GA1UECgwWZGJwbGZ1MTI5NEBzYW5kYm94LmNvbTEPMA0GA1UECwwG
|
MQswCQYDVQQGEwJDTjEfMB0GA1UECgwWZGJwbGZ1MTI5NEBzYW5kYm94LmNvbTEPMA0GA1UECwwG
|
||||||
QWxpcGF5MSowKAYDVQQDDCEyMDg4NzIxMDMyOTcxMTQzLTkwMjEwMDAxMzU2ODI2MTQwggEiMA0G
|
QWxpcGF5MSowKAYDVQQDDCEyMDg4NzIxMDMyOTcxMTQzLTkwMjEwMDAxMzU2ODI2MTQwggEiMA0G
|
||||||
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCQxmQGcaiKjOhayWi+zNTvpp8B5YT8jFFkjLzrD+W+
|
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCZVV6wTtfUJP7UoSLMCYiGad2Jj2hlOyDVNLXZVf+V
|
||||||
T2Dwf2GfFR4p95zsCJxYeoLWdghMPA6/GMFrLbuVFpaEjuTm4icqA9N8n5d3W0j7gh+wMjZoqyJc
|
ffckt7/g3Ye/jIPt1D/arB2f/wO01qKOkraBCXg2LQOL3g72Na9MUZ0JJ6Tk4JAgRngR3GoO1XuE
|
||||||
lAIeb09ut7rY6mWzilA9kWmZnUG7MOWIU70RVRYrfJectCFw/odM9lG4XIVe13X2h+1ecTQyQzLW
|
z52yq4yX7nVcD+xDbAt865GZWZhKL+7DgW22z1f7TtEDpfHwFcvMfznwTm5R6VpOw0qYnnHzOZwN
|
||||||
mnvKFCfo7dQjE7fIYiWfud1ZGUneNs3u73pNWMB6ThGTTCbs0atcgM3fYOg3q7fTxIu9VcaUCJiJ
|
xrtKNQLYIJVZhuvi51PuLn4dpC1nH487BjPBLSFiTMcN0aQzaFs2d3OQcMBykQFp8CR00LvKqsUH
|
||||||
/kNbL9sVEyOrSyx2f2o6w06zdEaOiQFsuDeS8QPYGMg7pf42wAfqCO6hqxQiQT5vp1hvB0o1AgMB
|
jVm6hwMm0/sObd3Meu7to6fRCNIYtu3LaDwS9s7tvRGIf3y7wFb+R2nfz83FSXx20D2wGxKhAgMB
|
||||||
AAGjEjAQMA4GA1UdDwEB/wQEAwIE8DANBgkqhkiG9w0BAQsFAAOCAQEAZmMSaD7s3aervdACl0cN
|
AAGjEjAQMA4GA1UdDwEB/wQEAwIE8DANBgkqhkiG9w0BAQsFAAOCAQEAU+8RF/0/hn2a+LbzMLjv
|
||||||
YRcUHMGBA4DwzeLKaF0iqcsQxzJHBQRSGbAeQ9n5l1U5V0Pos92V7eqEJqtC52l6sK5T4YE6zAxf
|
64kF+j6PQRqlKZALFHDso6helwtquBWSf+Veu1PZ0tEgwCwUF0v+KYtDW+5tdwUsPMg/HXsbpSJw
|
||||||
49RKyo00qVFCbcGMHnRy0F/AkEhz+qhan1R3Dm7Ty6UtgAaeF6emD35EIKXziCvqS1nBt+nniYYB
|
x4ZiEjwcE9FG7E0U3ckb+eP2FgJbVJnjoy4Fq7VRpjO/asxoYSoWsnCC6b0aUkLs+QlQ4O6SKC3d
|
||||||
0O2UntrJ3lYucuLun7TeYou/kPMTnZItzSmvCmG181e5IpSB3qGwBnIgkmB+Ge0kGIFAoV9+MucT
|
rTHGeyK1D4fTlk3Dmuf6dA6Q0SgkG91sNzHscw3FtE47+GtvHtM4Qr6LHqKlYPV8VZ09zvherpih
|
||||||
4YOffum8yC0oF7aMtTL9whm5gb+Udj+lBrHYYw8VPNpcvBmRlXEKEJLbWQrGtJi6+URReWqO52UP
|
tSTr035sJezP9VYtKQwTXyUTCVVC6WQQdT/040WvMqkPVGtDEWzStZWflXK1IeAXnOLXyCYEBBG6
|
||||||
fGHB0r4r575H4Y1QkA==
|
aE08iD5MOCZmldDOFg==
|
||||||
-----END CERTIFICATE-----
|
-----END CERTIFICATE-----
|
|
@ -20,8 +20,8 @@ public class CodeUtils {
|
||||||
public static String generateCaptcha() {
|
public static String generateCaptcha() {
|
||||||
// 创建Random对象用于生成随机数
|
// 创建Random对象用于生成随机数
|
||||||
Random random = new Random();
|
Random random = new Random();
|
||||||
// 生成1000到9999之间的随机整数(包括1000和9999)
|
// 生成100000到999999之间的随机整数(包括100000和999999)
|
||||||
int captcha = 1000 + random.nextInt(9000);
|
int captcha = 100000 + random.nextInt(900000);
|
||||||
// 将整数转换为字符串并返回
|
// 将整数转换为字符串并返回
|
||||||
return String.valueOf(captcha);
|
return String.valueOf(captcha);
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,6 +31,12 @@
|
||||||
<groupId>com.mcwl</groupId>
|
<groupId>com.mcwl</groupId>
|
||||||
<artifactId>mcwl-system</artifactId>
|
<artifactId>mcwl-system</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.mcwl</groupId>
|
||||||
|
<artifactId>mcwl-myInvitation</artifactId>
|
||||||
|
<version>3.8.8</version>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<!-- https://mvnrepository.com/artifact/com.alibaba/dashscope-sdk-java -->
|
<!-- https://mvnrepository.com/artifact/com.alibaba/dashscope-sdk-java -->
|
||||||
<!-- <dependency>-->
|
<!-- <dependency>-->
|
||||||
|
|
|
@ -30,6 +30,11 @@ public class IncomeInfo extends BaseEntity {
|
||||||
*/
|
*/
|
||||||
private Long communityId;
|
private Long communityId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户id
|
||||||
|
*/
|
||||||
|
private Long userId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 类型 0付费加入 1付费问答
|
* 类型 0付费加入 1付费问答
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -57,11 +57,5 @@ public class PublishComment extends BaseEntity {
|
||||||
@ApiModelProperty(value = "点赞数")
|
@ApiModelProperty(value = "点赞数")
|
||||||
private Integer likeNum;
|
private Integer likeNum;
|
||||||
|
|
||||||
/**
|
|
||||||
* 评论类型 0发布 1提问
|
|
||||||
*/
|
|
||||||
@ApiModelProperty(value = "评论类型 0发布 1提问")
|
|
||||||
private Integer type;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,57 @@
|
||||||
|
package com.mcwl.communityCenter.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.mcwl.common.core.domain.BaseEntity;
|
||||||
|
import lombok.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 举报表
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Builder
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@TableName("cc_report")
|
||||||
|
public class PublishReport extends BaseEntity {
|
||||||
|
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 租户id
|
||||||
|
*/
|
||||||
|
private Long tenantId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 社区id
|
||||||
|
*/
|
||||||
|
private Long communityId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发布id
|
||||||
|
*/
|
||||||
|
private Long publishId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 举报人
|
||||||
|
*/
|
||||||
|
private Long userId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 举报类型 字典值
|
||||||
|
*/
|
||||||
|
private Long reportType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 举报内容
|
||||||
|
*/
|
||||||
|
private Long content;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 状态(0未处理 1已处理 )
|
||||||
|
*/
|
||||||
|
private Long status;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -32,11 +32,11 @@ public class CommentDelRes {
|
||||||
@NotNull(message = "社区id不能为空")
|
@NotNull(message = "社区id不能为空")
|
||||||
private Long communityId;
|
private Long communityId;
|
||||||
/**
|
/**
|
||||||
* 运营id
|
* 发布id
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "运营id", required = true)
|
@ApiModelProperty(value = "发布id", required = true)
|
||||||
@NotNull(message = "运营id不能为空")
|
@NotNull(message = "发id不能为空")
|
||||||
private Long operatorId;
|
private Long publishId;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,11 +28,11 @@ public class CommentDetailRes {
|
||||||
@NotNull(message = "社区id不能为空")
|
@NotNull(message = "社区id不能为空")
|
||||||
private Long communityId;
|
private Long communityId;
|
||||||
/**
|
/**
|
||||||
* 运营id
|
* 发布id
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "运营id", required = true)
|
@ApiModelProperty(value = "发布id", required = true)
|
||||||
@NotNull(message = "运营id不能为空")
|
@NotNull(message = "发布id不能为空")
|
||||||
private Long operatorId;
|
private Long publishId;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
package com.mcwl.communityCenter.domain.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 评论请求参数
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ApiModel(value = "评论请求参数")
|
||||||
|
public class CommentLikeDetailRes {
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 租户id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "租户id", required = true)
|
||||||
|
@NotNull(message = "租户id不能为空")
|
||||||
|
private Long tenantId;
|
||||||
|
/**
|
||||||
|
* 社区id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "社区id", required = true)
|
||||||
|
@NotNull(message = "社区id不能为空")
|
||||||
|
private Long communityId;
|
||||||
|
/**
|
||||||
|
* 发布id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "发布id", required = true)
|
||||||
|
@NotNull(message = "发布id不能为空")
|
||||||
|
private Long publishId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 评论id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "评论id", required = true)
|
||||||
|
@NotNull(message = "评论id不能为空")
|
||||||
|
private Long publishCommentId;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -28,11 +28,11 @@ public class CommentRes {
|
||||||
@NotNull(message = "社区id不能为空")
|
@NotNull(message = "社区id不能为空")
|
||||||
private Long communityId;
|
private Long communityId;
|
||||||
/**
|
/**
|
||||||
* 运营id
|
* 发布id
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "运营id", required = true)
|
@ApiModelProperty(value = "发布id", required = true)
|
||||||
@NotNull(message = "运营id不能为空")
|
@NotNull(message = "发布id不能为空")
|
||||||
private Long operatorId;
|
private Long publishId;
|
||||||
/**
|
/**
|
||||||
* 内容
|
* 内容
|
||||||
*/
|
*/
|
||||||
|
@ -40,5 +40,11 @@ public class CommentRes {
|
||||||
@NotBlank(message = "内容不能为空")
|
@NotBlank(message = "内容不能为空")
|
||||||
private String content;
|
private String content;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 父评论id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "父评论id", required = true)
|
||||||
|
private Long parentId;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,8 +3,7 @@ package com.mcwl.communityCenter.domain.dto;
|
||||||
import com.mcwl.common.core.page.PageDomain;
|
import com.mcwl.common.core.page.PageDomain;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.*;
|
||||||
import lombok.EqualsAndHashCode;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 社区列表分页请求参数
|
* 社区列表分页请求参数
|
||||||
|
@ -12,6 +11,9 @@ import lombok.EqualsAndHashCode;
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@ApiModel(value = "社区列表分页请求参数")
|
@ApiModel(value = "社区列表分页请求参数")
|
||||||
|
@Builder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
public class JoinCommunityListPageRes extends PageDomain {
|
public class JoinCommunityListPageRes extends PageDomain {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
package com.mcwl.communityCenter.domain.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除发布请求参数
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ApiModel(value = "删除发布请求参数")
|
||||||
|
public class PublishRemoveRes {
|
||||||
|
/**
|
||||||
|
* 租户id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "租户id", required = true)
|
||||||
|
@NotNull(message = "租户id不能为空")
|
||||||
|
private Long tenantId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 社区id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "社区id", required = true)
|
||||||
|
@NotNull(message = "社区id不能为空")
|
||||||
|
private Long communityId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发布id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "发布id", required = true)
|
||||||
|
@NotNull(message = "发布id不能为空")
|
||||||
|
private Long publishId;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,50 @@
|
||||||
|
package com.mcwl.communityCenter.domain.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 举报请求参数
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ApiModel(value = "举报请求参数")
|
||||||
|
public class PublishReportRes {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 租户id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "租户id", required = true)
|
||||||
|
@NotNull(message = "租户id不能为空")
|
||||||
|
private Long tenantId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 社区id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "社区id", required = true)
|
||||||
|
@NotNull(message = "社区id不能为空")
|
||||||
|
private Long communityId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发布id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "发布id", required = true)
|
||||||
|
@NotNull(message = "发布id不能为空")
|
||||||
|
private Long publishId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 举报类型
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "举报类型", required = true)
|
||||||
|
@NotNull(message = "举报类型不能为空")
|
||||||
|
private Integer reportType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 举报内容
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "举报内容")
|
||||||
|
private String content;
|
||||||
|
|
||||||
|
}
|
|
@ -53,7 +53,6 @@ public class QuestionRes {
|
||||||
* 是否匿名 0 否 1 是
|
* 是否匿名 0 否 1 是
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "是否匿名", position = 5)
|
@ApiModelProperty(value = "是否匿名", position = 5)
|
||||||
@NotNull(message = "是否匿名不能为空")
|
|
||||||
private Integer isAnonymous = 0;
|
private Integer isAnonymous = 0;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -57,6 +57,12 @@ public class CommentVo {
|
||||||
@ApiModelProperty(value = "用户头像")
|
@ApiModelProperty(value = "用户头像")
|
||||||
private String userAvatar;
|
private String userAvatar;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 回复人名称
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "回复人名称")
|
||||||
|
private String replyUserName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 父评论id
|
* 父评论id
|
||||||
*/
|
*/
|
||||||
|
@ -69,6 +75,11 @@ public class CommentVo {
|
||||||
@ApiModelProperty(value = "评论内容")
|
@ApiModelProperty(value = "评论内容")
|
||||||
private String content;
|
private String content;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否点赞
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "是否点赞")
|
||||||
|
private Integer isLike;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 评论点赞数
|
* 评论点赞数
|
||||||
|
@ -76,6 +87,12 @@ public class CommentVo {
|
||||||
@ApiModelProperty(value = "评论点赞数")
|
@ApiModelProperty(value = "评论点赞数")
|
||||||
private Integer likeNum;
|
private Integer likeNum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否接受
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "是否接受")
|
||||||
|
private Integer isAccept;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 评论时间
|
* 评论时间
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,12 +1,15 @@
|
||||||
package com.mcwl.communityCenter.domain.vo;
|
package com.mcwl.communityCenter.domain.vo;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 社区返回数据
|
* 社区返回数据
|
||||||
|
@ -20,6 +23,12 @@ public class CommunityDetailVo {
|
||||||
@ApiModelProperty(value = "社区id")
|
@ApiModelProperty(value = "社区id")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 租户id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "租户id")
|
||||||
|
private Long tenantId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 社区图片
|
* 社区图片
|
||||||
*/
|
*/
|
||||||
|
@ -33,37 +42,71 @@ public class CommunityDetailVo {
|
||||||
private String communityName;
|
private String communityName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 社区标签id
|
* 社区标签
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "社区标签")
|
@ApiModelProperty(value = "社区标签")
|
||||||
@NotNull(message = "社区标签不能为空")
|
|
||||||
private Integer communityTag;
|
private Integer communityTag;
|
||||||
|
|
||||||
/**
|
|
||||||
* 社区类型
|
|
||||||
*/
|
|
||||||
@ApiModelProperty(value = "社区类型 0免费 1付费")
|
|
||||||
@NotNull(message = "社区类型不能为空")
|
|
||||||
private Integer type;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 价格
|
* 价格
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "价格")
|
@ApiModelProperty(value = "价格")
|
||||||
@NotNull(message = "价格不能为空")
|
|
||||||
private Double price;
|
private Double price;
|
||||||
|
|
||||||
/**
|
|
||||||
* 有效期天数
|
|
||||||
*/
|
|
||||||
@ApiModelProperty(value = "有效期天数")
|
|
||||||
@NotNull(message = "有效期天数")
|
|
||||||
private Integer validityDay;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 描述
|
* 描述
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "描述")
|
@ApiModelProperty(value = "描述")
|
||||||
private String description;
|
private String description;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 社区类型
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "社区类型")
|
||||||
|
private Integer type;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 有效期天数
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "有效期天数")
|
||||||
|
private Integer validityDay;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建天数
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "创建天数")
|
||||||
|
private Long createDay;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 成员数
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "成员数")
|
||||||
|
private Integer userNum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 成员头像
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "成员头像")
|
||||||
|
private List<String> avatarList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新内容数
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "更新内容数")
|
||||||
|
private Integer updateNum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 最近更新时间
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "最近更新时间")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
|
private Date lastUpdateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 当前用户到期时间
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "当前用户到期时间")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
|
private Date expireTime;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -88,10 +88,10 @@ public class CommunityVo {
|
||||||
private Integer joinNum;
|
private Integer joinNum;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 发布数量
|
* 是否加入
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "发布数量")
|
@ApiModelProperty(value = "是否加入")
|
||||||
private Integer publishNum;
|
private Integer isJoin;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,6 +37,24 @@ public class PersonHomeVo {
|
||||||
@ApiModelProperty(value = "社区id")
|
@ApiModelProperty(value = "社区id")
|
||||||
private Long communityId;
|
private Long communityId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "用户id")
|
||||||
|
private Long userId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户名
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "用户名")
|
||||||
|
private String userName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户头像
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "用户头像")
|
||||||
|
private String avatar;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 内容
|
* 内容
|
||||||
*/
|
*/
|
||||||
|
@ -69,6 +87,13 @@ public class PersonHomeVo {
|
||||||
@ApiModelProperty(value = "点赞数")
|
@ApiModelProperty(value = "点赞数")
|
||||||
private Integer likeNum;
|
private Integer likeNum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否点赞
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "是否点赞")
|
||||||
|
private Integer isLike;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否收藏
|
* 是否收藏
|
||||||
*/
|
*/
|
||||||
|
@ -81,6 +106,29 @@ public class PersonHomeVo {
|
||||||
@ApiModelProperty(value = "评论")
|
@ApiModelProperty(value = "评论")
|
||||||
private List<CommentVo> commentList;
|
private List<CommentVo> commentList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否匿名
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "是否匿名")
|
||||||
|
private Integer isAnonymous;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 提问类型 0免费 1付费
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "提问类型 0免费 1付费")
|
||||||
|
private Integer type;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 付费金额 当提问类型为付费时必填
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "付费金额 当提问类型为付费时必填")
|
||||||
|
private Double amount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 状态 0未解决 1已解决
|
||||||
|
*/
|
||||||
|
private Integer status;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建时间
|
* 创建时间
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -7,6 +7,7 @@ import lombok.Data;
|
||||||
import springfox.documentation.annotations.ApiIgnore;
|
import springfox.documentation.annotations.ApiIgnore;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 发布信息
|
* 发布信息
|
||||||
|
@ -105,6 +106,13 @@ public class PublishVo {
|
||||||
@ApiModelProperty(value = "收藏")
|
@ApiModelProperty(value = "收藏")
|
||||||
private Integer isCollect;
|
private Integer isCollect;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 评论
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "评论")
|
||||||
|
private List<CommentVo> commentList;
|
||||||
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "创建时间")
|
@ApiModelProperty(value = "创建时间")
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date createTime;
|
private Date createTime;
|
||||||
|
|
|
@ -1,46 +1,74 @@
|
||||||
package com.mcwl.communityCenter.domain.vo;
|
package com.mcwl.communityCenter.domain.vo;
|
||||||
|
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@ApiModel(description = "提问评论")
|
@ApiModel(description = "提问评论")
|
||||||
public class QuestionCommentVo {
|
public class QuestionCommentVo {
|
||||||
|
|
||||||
@ApiModelProperty(value = "id")
|
@ApiModelProperty(value = "id")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 租户id
|
* 租户id
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "租户id")
|
@ApiModelProperty(value = "租户id")
|
||||||
private Long tenantId;
|
private Long tenantId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 社区id
|
* 社区id
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "社区id")
|
@ApiModelProperty(value = "社区id")
|
||||||
private Long communityId;
|
private Long communityId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 提问id
|
* 提问id
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "提问id")
|
@ApiModelProperty(value = "提问id")
|
||||||
private Long questionId;
|
private Long questionId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户id
|
* 用户id
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "用户id")
|
@ApiModelProperty(value = "用户id")
|
||||||
private Long userId;
|
private Long userId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户名
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "用户名")
|
||||||
|
private String userName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户头像
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "用户头像")
|
||||||
|
private String avatar;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 内容
|
* 内容
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "内容")
|
@ApiModelProperty(value = "内容")
|
||||||
private String content;
|
private String content;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否接受
|
* 是否接受
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "是否接受")
|
@ApiModelProperty(value = "是否接受")
|
||||||
private Long isAccept;
|
private Integer isAccept;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "创建时间")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
|
||||||
|
private Date createTime;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.mcwl.communityCenter.domain.vo;
|
package com.mcwl.communityCenter.domain.vo;
|
||||||
|
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
@ -8,6 +9,7 @@ import lombok.Data;
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@ApiModel(description = "问题信息")
|
@ApiModel(description = "问题信息")
|
||||||
|
@ -17,6 +19,12 @@ public class QuestionVo {
|
||||||
@ApiModelProperty(value = "主键")
|
@ApiModelProperty(value = "主键")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 租户id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "租户id")
|
||||||
|
private Long tenantId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 社区id
|
* 社区id
|
||||||
*/
|
*/
|
||||||
|
@ -54,28 +62,10 @@ public class QuestionVo {
|
||||||
private String questionUrl;
|
private String questionUrl;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 提问时间
|
* 评论
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "提问时间")
|
@ApiModelProperty(value = "评论")
|
||||||
private Date createTime;
|
private List<QuestionCommentVo> commentList;
|
||||||
|
|
||||||
// /**
|
|
||||||
// * 答复用户id
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty(value = "答复用户id")
|
|
||||||
// private Long replyUserId;
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 回复内容
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty(value = "回复内容")
|
|
||||||
// private String reply;
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 回复时间
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty(value = "回复时间")
|
|
||||||
// private Date replyTime;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否匿名
|
* 是否匿名
|
||||||
|
@ -86,14 +76,27 @@ public class QuestionVo {
|
||||||
/**
|
/**
|
||||||
* 提问类型 0免费 1付费
|
* 提问类型 0免费 1付费
|
||||||
*/
|
*/
|
||||||
|
@ApiModelProperty(value = "提问类型 0免费 1付费")
|
||||||
private Integer type;
|
private Integer type;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 付费金额 当提问类型为付费时必填
|
* 付费金额 当提问类型为付费时必填
|
||||||
*/
|
*/
|
||||||
|
@ApiModelProperty(value = "付费金额 当提问类型为付费时必填")
|
||||||
private Double amount;
|
private Double amount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 提问时间
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "提问时间")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
|
||||||
|
private Date createTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 状态 0未解决 1已解决
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "状态 0未解决 1已解决")
|
||||||
|
private Integer status;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -65,4 +65,7 @@ public interface CommunityMapper extends BaseMapper<Community> {
|
||||||
|
|
||||||
@InterceptorIgnore(tenantLine = "true")
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
void deleteCommunity(@Param("tenantId") Long tenantId, @Param("communityId") Long communityId);
|
void deleteCommunity(@Param("tenantId") Long tenantId, @Param("communityId") Long communityId);
|
||||||
|
|
||||||
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
|
Community getCommunity(@Param("tenantId") Long tenantId, @Param("communityId") Long communityId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,7 @@ import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
@ -51,4 +52,12 @@ public interface CommunityUserMapper extends BaseMapper<CommunityUser> {
|
||||||
List<CommunityUser> getAllCommunityUser();
|
List<CommunityUser> getAllCommunityUser();
|
||||||
|
|
||||||
void updateManageCommunityUser(@Param("manageCommunityUser") CommunityUser manageCommunityUser);
|
void updateManageCommunityUser(@Param("manageCommunityUser") CommunityUser manageCommunityUser);
|
||||||
|
|
||||||
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
|
Date getExpireTime(@Param("tenantId") Long tenantId,
|
||||||
|
@Param("communityId") Long communityId,
|
||||||
|
@Param("userId") Long userId);
|
||||||
|
|
||||||
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
|
List<String> getCommunityUserAvatar(@Param("tenantId") Long tenantId, @Param("communityId") Long communityId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ public interface IncomeInfoMapper extends BaseMapper<IncomeInfo> {
|
||||||
@InterceptorIgnore(tenantLine = "true")
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
IncomeAmountVo questionIncome(@Param("userId") Long userId);
|
IncomeAmountVo questionIncome(@Param("userId") Long userId);
|
||||||
|
|
||||||
Double totalIncome();
|
Double totalIncome(@Param("userId") Long userId);
|
||||||
|
|
||||||
@InterceptorIgnore(tenantLine = "true")
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
List<IncomeInfoListVo> incomeList(Page<IncomeInfo> page,
|
List<IncomeInfoListVo> incomeList(Page<IncomeInfo> page,
|
||||||
|
|
|
@ -3,6 +3,7 @@ package com.mcwl.communityCenter.mapper;
|
||||||
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
|
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.mcwl.communityCenter.domain.PublishCommentLike;
|
import com.mcwl.communityCenter.domain.PublishCommentLike;
|
||||||
|
import com.mcwl.communityCenter.domain.dto.CommentLikeDetailRes;
|
||||||
import com.mcwl.communityCenter.domain.dto.PublishCommentLikeRes;
|
import com.mcwl.communityCenter.domain.dto.PublishCommentLikeRes;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
@ -31,4 +32,8 @@ public interface PublishCommentLikeMapper extends BaseMapper<PublishCommentLike>
|
||||||
@InterceptorIgnore(tenantLine = "true")
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
PublishCommentLike selectLike(@Param("publishCommentLikeRes") PublishCommentLikeRes publishCommentLikeRes,
|
PublishCommentLike selectLike(@Param("publishCommentLikeRes") PublishCommentLikeRes publishCommentLikeRes,
|
||||||
@Param("userId") Long userId);
|
@Param("userId") Long userId);
|
||||||
|
|
||||||
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
|
PublishCommentLike publishCommentLike(@Param("commentLikeDetailRes") CommentLikeDetailRes commentLikeDetailRes,
|
||||||
|
@Param("userId") Long userId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,23 +20,23 @@ import java.util.List;
|
||||||
public interface PublishCommentMapper extends BaseMapper<PublishComment> {
|
public interface PublishCommentMapper extends BaseMapper<PublishComment> {
|
||||||
|
|
||||||
@InterceptorIgnore(tenantLine = "true")
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
List<PublishComment> selectByTenantIdAndCommunityIdAndOperatorId(@Param("tenantId")
|
List<PublishComment> selectByTenantIdAndCommunityIdAndPublishIdList(@Param("tenantId")
|
||||||
Long tenantId,
|
Long tenantId,
|
||||||
@Param("communityId")
|
@Param("communityId")
|
||||||
Long communityId,
|
Long communityId,
|
||||||
@Param("operatorId")
|
@Param("publishId")
|
||||||
Long operatorId);
|
Long publishId);
|
||||||
|
|
||||||
|
|
||||||
@InterceptorIgnore(tenantLine = "true")
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
PublishComment selectByIdAndTenantIdAndCommunityIdAndOperatorId(@Param("id")
|
PublishComment selectByIdAndTenantIdAndCommunityIdAndPublishId(@Param("id")
|
||||||
Long id,
|
Long id,
|
||||||
@Param("tenantId")
|
@Param("tenantId")
|
||||||
Long tenantId,
|
Long tenantId,
|
||||||
@Param("communityId")
|
@Param("communityId")
|
||||||
Long communityId,
|
Long communityId,
|
||||||
@Param("operatorId")
|
@Param("publishId")
|
||||||
Long operatorId);
|
Long publishId);
|
||||||
|
|
||||||
@InterceptorIgnore(tenantLine = "true")
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
Integer deleteByIdAndTenantIdAndCommunityIdAndOperatorId(@Param("id")
|
Integer deleteByIdAndTenantIdAndCommunityIdAndOperatorId(@Param("id")
|
||||||
|
@ -45,6 +45,6 @@ public interface PublishCommentMapper extends BaseMapper<PublishComment> {
|
||||||
Long tenantId,
|
Long tenantId,
|
||||||
@Param("communityId")
|
@Param("communityId")
|
||||||
Long communityId,
|
Long communityId,
|
||||||
@Param("operatorId")
|
@Param("publishId")
|
||||||
Long operatorId);
|
Long publishId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.mcwl.communityCenter.domain.Publish;
|
import com.mcwl.communityCenter.domain.Publish;
|
||||||
import com.mcwl.communityCenter.domain.dto.MyPublishPageRes;
|
import com.mcwl.communityCenter.domain.dto.MyPublishPageRes;
|
||||||
import com.mcwl.communityCenter.domain.dto.PublishPageRes;
|
import com.mcwl.communityCenter.domain.dto.PublishPageRes;
|
||||||
|
import com.mcwl.communityCenter.domain.dto.PublishRemoveRes;
|
||||||
import com.mcwl.communityCenter.domain.vo.PublishVo;
|
import com.mcwl.communityCenter.domain.vo.PublishVo;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
@ -43,10 +44,10 @@ public interface PublishMapper extends BaseMapper<Publish> {
|
||||||
@Param("communityId")
|
@Param("communityId")
|
||||||
Long communityId);
|
Long communityId);
|
||||||
|
|
||||||
void elitePublish(@Param("communityId") Long communityId, @Param("publishId") Long publishId);
|
void elitePublish(@Param("tenantId") Long tenantId, @Param("communityId") Long communityId, @Param("publishId") Long publishId);
|
||||||
|
|
||||||
@InterceptorIgnore(tenantLine = "true")
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
List<Publish> publishList(Page<Publish> page, @Param("publishPageRes") PublishPageRes publishPageRes);
|
List<PublishVo> publishList(Page<Publish> page, @Param("publishPageRes") PublishPageRes publishPageRes);
|
||||||
|
|
||||||
@InterceptorIgnore(tenantLine = "true")
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
List<PublishVo> myPublishList(Page<Publish> page,
|
List<PublishVo> myPublishList(Page<Publish> page,
|
||||||
|
@ -55,4 +56,13 @@ public interface PublishMapper extends BaseMapper<Publish> {
|
||||||
|
|
||||||
@InterceptorIgnore(tenantLine = "true")
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
void insertPublish(@Param("publish") Publish publish);
|
void insertPublish(@Param("publish") Publish publish);
|
||||||
|
|
||||||
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
|
Publish getLastPublish(@Param("tenantId") Long tenantId, @Param("communityId") Long communityId);
|
||||||
|
|
||||||
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
|
void removePublish(@Param("publishRemoveRes") PublishRemoveRes publishRemoveRes);
|
||||||
|
|
||||||
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
|
void updateLikeNum(@Param("publish") Publish publish);
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
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.PublishReport;
|
||||||
|
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 java.util.List;
|
||||||
|
|
||||||
|
@Mapper
|
||||||
|
public interface PublishReportMapper extends BaseMapper<PublishReport> {
|
||||||
|
|
||||||
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
|
void insertReport(@Param("publishReport") PublishReport publishReport);
|
||||||
|
}
|
|
@ -6,10 +6,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.mcwl.communityCenter.domain.Publish;
|
import com.mcwl.communityCenter.domain.Publish;
|
||||||
import com.mcwl.communityCenter.domain.Question;
|
import com.mcwl.communityCenter.domain.Question;
|
||||||
import com.mcwl.communityCenter.domain.QuestionComment;
|
import com.mcwl.communityCenter.domain.QuestionComment;
|
||||||
|
import com.mcwl.communityCenter.domain.dto.QuestionDetailRes;
|
||||||
|
import com.mcwl.communityCenter.domain.vo.QuestionCommentVo;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface QuestionCommentMapper extends BaseMapper<QuestionComment> {
|
public interface QuestionCommentMapper extends BaseMapper<QuestionComment> {
|
||||||
|
@ -33,4 +36,7 @@ public interface QuestionCommentMapper extends BaseMapper<QuestionComment> {
|
||||||
Long questionId,
|
Long questionId,
|
||||||
@Param("commentId")
|
@Param("commentId")
|
||||||
Long commentId);
|
Long commentId);
|
||||||
|
|
||||||
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
|
List<QuestionCommentVo> getComment(@Param("questionDetailRes") QuestionDetailRes questionDetailRes);
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.mcwl.communityCenter.domain.Community;
|
import com.mcwl.communityCenter.domain.Community;
|
||||||
import com.mcwl.communityCenter.domain.Question;
|
import com.mcwl.communityCenter.domain.Question;
|
||||||
import com.mcwl.communityCenter.domain.dto.QuestionPageRes;
|
import com.mcwl.communityCenter.domain.dto.QuestionPageRes;
|
||||||
|
import com.mcwl.communityCenter.domain.vo.QuestionVo;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
@ -15,13 +16,13 @@ import java.util.List;
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface QuestionMapper extends BaseMapper<Question> {
|
public interface QuestionMapper extends BaseMapper<Question> {
|
||||||
@InterceptorIgnore(tenantLine = "true")
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
Page<Question> list(Page<Question> page,
|
List<QuestionVo> list(Page<Question> page,
|
||||||
@NotNull(message = "租户不能为空")
|
@NotNull(message = "租户不能为空")
|
||||||
@Param("tenantId")
|
@Param("tenantId")
|
||||||
Long tenantId,
|
Long tenantId,
|
||||||
@NotNull(message = "社区不能为空")
|
@NotNull(message = "社区不能为空")
|
||||||
@Param("communityId")
|
@Param("communityId")
|
||||||
Long communityId);
|
Long communityId);
|
||||||
|
|
||||||
@InterceptorIgnore(tenantLine = "true")
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
Question selectByIdAndTenantIdAndCommunityId(@Param("id")
|
Question selectByIdAndTenantIdAndCommunityId(@Param("id")
|
||||||
|
@ -33,15 +34,15 @@ public interface QuestionMapper extends BaseMapper<Question> {
|
||||||
|
|
||||||
@InterceptorIgnore(tenantLine = "true")
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
Page<Question> listImage(Page<Question> page,
|
Page<Question> listImage(Page<Question> page,
|
||||||
@NotNull(message = "租户不能为空")
|
@NotNull(message = "租户不能为空")
|
||||||
@Param("tenantId")
|
@Param("tenantId")
|
||||||
Long tenantId,
|
Long tenantId,
|
||||||
@NotNull(message = "社区不能为空")
|
@NotNull(message = "社区不能为空")
|
||||||
@Param("communityId")
|
@Param("communityId")
|
||||||
Long communityId);
|
Long communityId);
|
||||||
|
|
||||||
@InterceptorIgnore(tenantLine = "true")
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
List<Question> myQuestionList(Page<Question> page,
|
List<QuestionVo> myQuestionList(Page<Question> page,
|
||||||
@Param("questionPageRes") QuestionPageRes questionPageRes,
|
@Param("questionPageRes") QuestionPageRes questionPageRes,
|
||||||
@Param("userId") Long userId);
|
@Param("userId") Long userId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,7 +41,7 @@ public interface CommunityService extends IService<Community> {
|
||||||
*/
|
*/
|
||||||
R<Object> isJoinCommunity(JoinCommunityRes joinCommunityRes);
|
R<Object> isJoinCommunity(JoinCommunityRes joinCommunityRes);
|
||||||
|
|
||||||
CommunityDetailVo getCommunityDetail(Long communityId);
|
CommunityDetailVo getCommunityDetail(Long tenantId, Long communityId);
|
||||||
|
|
||||||
void editCommunity(@Valid EditCommunityRes editCommunityRes);
|
void editCommunity(@Valid EditCommunityRes editCommunityRes);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
package com.mcwl.communityCenter.service;
|
package com.mcwl.communityCenter.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.mcwl.common.core.domain.R;
|
||||||
import com.mcwl.communityCenter.domain.PublishCommentLike;
|
import com.mcwl.communityCenter.domain.PublishCommentLike;
|
||||||
|
import com.mcwl.communityCenter.domain.dto.CommentLikeDetailRes;
|
||||||
import com.mcwl.communityCenter.domain.dto.PublishCommentLikeRes;
|
import com.mcwl.communityCenter.domain.dto.PublishCommentLikeRes;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
@ -19,5 +21,7 @@ import javax.validation.constraints.NotNull;
|
||||||
@Service
|
@Service
|
||||||
public interface PublishCommentLikeService extends IService<PublishCommentLike> {
|
public interface PublishCommentLikeService extends IService<PublishCommentLike> {
|
||||||
|
|
||||||
void like(PublishCommentLikeRes publishCommentLikeRes);
|
R<Integer> like(PublishCommentLikeRes publishCommentLikeRes);
|
||||||
|
|
||||||
|
PublishCommentLike publishCommentLike(CommentLikeDetailRes commentLikeDetailRes, Long userId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,14 +1,12 @@
|
||||||
package com.mcwl.communityCenter.service;
|
package com.mcwl.communityCenter.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.mcwl.common.core.domain.AjaxResult;
|
|
||||||
import com.mcwl.common.core.domain.R;
|
import com.mcwl.common.core.domain.R;
|
||||||
import com.mcwl.communityCenter.domain.dto.CommentDelRes;
|
import com.mcwl.communityCenter.domain.dto.CommentDelRes;
|
||||||
import com.mcwl.communityCenter.domain.dto.CommentDetailRes;
|
import com.mcwl.communityCenter.domain.dto.CommentDetailRes;
|
||||||
import com.mcwl.communityCenter.domain.dto.CommentRes;
|
import com.mcwl.communityCenter.domain.dto.CommentRes;
|
||||||
import com.mcwl.communityCenter.domain.vo.CommentVo;
|
import com.mcwl.communityCenter.domain.vo.CommentVo;
|
||||||
import com.mcwl.communityCenter.domain.PublishComment;
|
import com.mcwl.communityCenter.domain.PublishComment;
|
||||||
import org.springframework.http.ResponseEntity;
|
|
||||||
|
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
package com.mcwl.communityCenter.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
|
||||||
|
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.PublishReport;
|
||||||
|
import com.mcwl.communityCenter.domain.dto.*;
|
||||||
|
import com.mcwl.communityCenter.domain.vo.PublishVo;
|
||||||
|
|
||||||
|
import javax.validation.Valid;
|
||||||
|
|
||||||
|
public interface PublishReportService extends IService<PublishReport> {
|
||||||
|
|
||||||
|
void saveReport(PublishReport publishReport);
|
||||||
|
}
|
|
@ -2,6 +2,7 @@ package com.mcwl.communityCenter.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.mcwl.common.core.domain.AjaxResult;
|
import com.mcwl.common.core.domain.AjaxResult;
|
||||||
|
import com.mcwl.common.core.domain.BaseEntity;
|
||||||
import com.mcwl.common.core.domain.R;
|
import com.mcwl.common.core.domain.R;
|
||||||
import com.mcwl.common.core.page.PageDomain;
|
import com.mcwl.common.core.page.PageDomain;
|
||||||
import com.mcwl.common.core.page.TableDataInfo;
|
import com.mcwl.common.core.page.TableDataInfo;
|
||||||
|
@ -30,7 +31,7 @@ public interface PublishService extends IService<Publish> {
|
||||||
|
|
||||||
TableDataInfo publishFile(@Valid PublishPageRes publishPageRes);
|
TableDataInfo publishFile(@Valid PublishPageRes publishPageRes);
|
||||||
|
|
||||||
void elitePublish(Long communityId, Long publishId);
|
R<Object> elitePublish(Long tenantId, Long communityId, Long publishId);
|
||||||
|
|
||||||
TableDataInfo publishList(PublishPageRes publishPageRes);
|
TableDataInfo publishList(PublishPageRes publishPageRes);
|
||||||
|
|
||||||
|
@ -39,4 +40,10 @@ public interface PublishService extends IService<Publish> {
|
||||||
void collectPublish(@Valid PublishCollectRes publishCollectRes);
|
void collectPublish(@Valid PublishCollectRes publishCollectRes);
|
||||||
|
|
||||||
TableDataInfo getPersonHomeList(@Valid PersonHomePageRes personHomePageRes);
|
TableDataInfo getPersonHomeList(@Valid PersonHomePageRes personHomePageRes);
|
||||||
|
|
||||||
|
void reportPublish(@Valid PublishReportRes publishReportRes);
|
||||||
|
|
||||||
|
Publish getLastPublish(Long tenantId, Long communityId);
|
||||||
|
|
||||||
|
R<Object> removePublish(@Valid PublishRemoveRes publishRemoveRes);
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,9 +7,11 @@ import com.mcwl.common.core.page.TableDataInfo;
|
||||||
import com.mcwl.communityCenter.domain.Question;
|
import com.mcwl.communityCenter.domain.Question;
|
||||||
import com.mcwl.communityCenter.domain.QuestionComment;
|
import com.mcwl.communityCenter.domain.QuestionComment;
|
||||||
import com.mcwl.communityCenter.domain.dto.*;
|
import com.mcwl.communityCenter.domain.dto.*;
|
||||||
|
import com.mcwl.communityCenter.domain.vo.QuestionCommentVo;
|
||||||
import com.mcwl.communityCenter.domain.vo.QuestionVo;
|
import com.mcwl.communityCenter.domain.vo.QuestionVo;
|
||||||
|
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public interface QuestionCommentService extends IService<QuestionComment> {
|
public interface QuestionCommentService extends IService<QuestionComment> {
|
||||||
|
|
||||||
|
@ -18,4 +20,6 @@ public interface QuestionCommentService extends IService<QuestionComment> {
|
||||||
TableDataInfo listByPage(@Valid QuestionCommentPageRes questionCommentPageRes);
|
TableDataInfo listByPage(@Valid QuestionCommentPageRes questionCommentPageRes);
|
||||||
|
|
||||||
R<Object> adopt(@Valid QuestionCommentAdoptRes questionCommentAdoptRes);
|
R<Object> adopt(@Valid QuestionCommentAdoptRes questionCommentAdoptRes);
|
||||||
|
|
||||||
|
List<QuestionCommentVo> getComment(QuestionDetailRes questionDetailRes);
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,9 +14,7 @@ import com.mcwl.common.exception.ServiceException;
|
||||||
import com.mcwl.common.utils.SecurityUtils;
|
import com.mcwl.common.utils.SecurityUtils;
|
||||||
import com.mcwl.common.utils.StringUtils;
|
import com.mcwl.common.utils.StringUtils;
|
||||||
import com.mcwl.communityCenter.constant.AdviceConstant;
|
import com.mcwl.communityCenter.constant.AdviceConstant;
|
||||||
import com.mcwl.communityCenter.domain.Community;
|
import com.mcwl.communityCenter.domain.*;
|
||||||
import com.mcwl.communityCenter.domain.CommunityAdvice;
|
|
||||||
import com.mcwl.communityCenter.domain.CommunityUser;
|
|
||||||
import com.mcwl.communityCenter.domain.dto.*;
|
import com.mcwl.communityCenter.domain.dto.*;
|
||||||
import com.mcwl.communityCenter.domain.vo.CommunityDetailVo;
|
import com.mcwl.communityCenter.domain.vo.CommunityDetailVo;
|
||||||
import com.mcwl.communityCenter.domain.vo.CommunityVo;
|
import com.mcwl.communityCenter.domain.vo.CommunityVo;
|
||||||
|
@ -24,17 +22,26 @@ import com.mcwl.communityCenter.mapper.CommunityAdviceMapper;
|
||||||
import com.mcwl.communityCenter.mapper.CommunityMapper;
|
import com.mcwl.communityCenter.mapper.CommunityMapper;
|
||||||
import com.mcwl.communityCenter.mapper.CommunityUserMapper;
|
import com.mcwl.communityCenter.mapper.CommunityUserMapper;
|
||||||
import com.mcwl.communityCenter.service.CommunityService;
|
import com.mcwl.communityCenter.service.CommunityService;
|
||||||
|
import com.mcwl.communityCenter.service.IncomeInfoService;
|
||||||
|
import com.mcwl.communityCenter.service.PublishService;
|
||||||
|
import com.mcwl.myInvitation.domain.CommissionRatio;
|
||||||
|
import com.mcwl.myInvitation.domain.Consume;
|
||||||
|
import com.mcwl.myInvitation.mapper.ConsumeMapper;
|
||||||
|
import com.mcwl.myInvitation.service.CommissionRatioService;
|
||||||
import com.mcwl.system.service.ISysUserService;
|
import com.mcwl.system.service.ISysUserService;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.math.RoundingMode;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.ZoneId;
|
import java.time.ZoneId;
|
||||||
import java.time.temporal.ChronoUnit;
|
import java.time.temporal.ChronoUnit;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
import java.util.function.Function;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
|
@ -48,6 +55,15 @@ public class CommunityServiceImpl extends ServiceImpl<CommunityMapper, Community
|
||||||
|
|
||||||
private final CommunityAdviceMapper communityAdviceMapper;
|
private final CommunityAdviceMapper communityAdviceMapper;
|
||||||
|
|
||||||
|
private final PublishService publishService;
|
||||||
|
|
||||||
|
private final ConsumeMapper consumeMapper;
|
||||||
|
|
||||||
|
private final IncomeInfoService incomeInfoService;
|
||||||
|
|
||||||
|
private final CommissionRatioService commissionRatioService;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TableDataInfo listByPage(CommunityListPageRes communityListPageRes) {
|
public TableDataInfo listByPage(CommunityListPageRes communityListPageRes) {
|
||||||
|
@ -87,6 +103,7 @@ public class CommunityServiceImpl extends ServiceImpl<CommunityMapper, Community
|
||||||
.userId(SecurityUtils.getUserId())
|
.userId(SecurityUtils.getUserId())
|
||||||
.userType(2)
|
.userType(2)
|
||||||
.build());
|
.build());
|
||||||
|
redisCache.deleteObject("communityJoinNumMap");
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new ServiceException(e.getMessage(), HttpStatus.SHOW_ERROR_MSG);
|
throw new ServiceException(e.getMessage(), HttpStatus.SHOW_ERROR_MSG);
|
||||||
|
@ -106,7 +123,7 @@ public class CommunityServiceImpl extends ServiceImpl<CommunityMapper, Community
|
||||||
Long communityId = joinCommunityRes.getCommunityId();
|
Long communityId = joinCommunityRes.getCommunityId();
|
||||||
Community community = baseMapper.getByTenantIdAndCommunityId(tenantId, communityId);
|
Community community = baseMapper.getByTenantIdAndCommunityId(tenantId, communityId);
|
||||||
if (Objects.isNull(community)) {
|
if (Objects.isNull(community)) {
|
||||||
return R.fail("社区不存在,请重新加入");
|
return R.fail(HttpStatus.SHOW_ERROR_MSG,"社区不存在,请重新加入");
|
||||||
}
|
}
|
||||||
|
|
||||||
CommunityUser communityUser = communityUserMapper.selectByTenantIdAndCommunityIdAndUserId(tenantId,
|
CommunityUser communityUser = communityUserMapper.selectByTenantIdAndCommunityIdAndUserId(tenantId,
|
||||||
|
@ -114,14 +131,14 @@ public class CommunityServiceImpl extends ServiceImpl<CommunityMapper, Community
|
||||||
SecurityUtils.getUserId());
|
SecurityUtils.getUserId());
|
||||||
|
|
||||||
if (Objects.nonNull(communityUser)) {
|
if (Objects.nonNull(communityUser)) {
|
||||||
return R.fail("您已加入该社区,不能重复加入");
|
return R.fail(HttpStatus.SHOW_ERROR_MSG,"您已加入该社区,不能重复加入");
|
||||||
}
|
}
|
||||||
|
|
||||||
SysUser user = SecurityUtils.getLoginUser().getUser();
|
SysUser user = sysUserService.selectUserById(SecurityUtils.getUserId());
|
||||||
Double wallet = user.getWallet();
|
Double wallet = user.getWallet();
|
||||||
Double price = community.getPrice();
|
Double price = community.getPrice();
|
||||||
if (wallet < price) {
|
if (wallet < price) {
|
||||||
return R.fail("钱包余额不足,请充值");
|
return R.fail(HttpStatus.SHOW_ERROR_MSG,"钱包余额不足,请充值");
|
||||||
}
|
}
|
||||||
// 扣费
|
// 扣费
|
||||||
BigDecimal priceBigDecimal = new BigDecimal(price.toString());
|
BigDecimal priceBigDecimal = new BigDecimal(price.toString());
|
||||||
|
@ -130,6 +147,29 @@ public class CommunityServiceImpl extends ServiceImpl<CommunityMapper, Community
|
||||||
|
|
||||||
sysUserService.updateUser(user);
|
sysUserService.updateUser(user);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 从redis获取提成比例
|
||||||
|
// 抽取社区比例
|
||||||
|
String commissionRationCommunity = redisCache.getCacheObject("CommissionRationCommunity");
|
||||||
|
if (Objects.isNull(commissionRationCommunity)) {
|
||||||
|
CommissionRatio commissionRatio = commissionRatioService.lambdaQuery()
|
||||||
|
.eq(CommissionRatio::getType, 2)
|
||||||
|
.one();
|
||||||
|
commissionRationCommunity = commissionRatio.getRatio().toString();
|
||||||
|
redisCache.setCacheObject("CommissionRationCommunity", commissionRationCommunity);
|
||||||
|
}
|
||||||
|
|
||||||
|
SysUser tenantUser = sysUserService.selectUserById(tenantId);
|
||||||
|
BigDecimal getWallet = priceBigDecimal
|
||||||
|
.multiply(new BigDecimal("1").subtract(new BigDecimal(commissionRationCommunity)));
|
||||||
|
tenantUser.setWallet(getWallet
|
||||||
|
.add(new BigDecimal(tenantUser.getWallet().toString()))
|
||||||
|
.setScale(2, RoundingMode.HALF_UP)
|
||||||
|
.doubleValue());
|
||||||
|
sysUserService.updateUser(tenantUser);
|
||||||
|
|
||||||
|
|
||||||
Calendar now = Calendar.getInstance();
|
Calendar now = Calendar.getInstance();
|
||||||
Date startTime = now.getTime();
|
Date startTime = now.getTime();
|
||||||
now.add(Calendar.YEAR, community.getValidityDay());
|
now.add(Calendar.YEAR, community.getValidityDay());
|
||||||
|
@ -158,9 +198,36 @@ public class CommunityServiceImpl extends ServiceImpl<CommunityMapper, Community
|
||||||
communityAdvice.setAdviceType(AdviceConstant.COMMUNITY_NOTICE);
|
communityAdvice.setAdviceType(AdviceConstant.COMMUNITY_NOTICE);
|
||||||
communityAdvice.setUserId(tenantId);
|
communityAdvice.setUserId(tenantId);
|
||||||
communityAdvice.setContent(StringUtils.format("{}加入{}社区,金币+{}",
|
communityAdvice.setContent(StringUtils.format("{}加入{}社区,金币+{}",
|
||||||
SecurityUtils.getLoginUser().getUser().getNickName(), community.getCommunityName(), price));
|
SecurityUtils.getLoginUser().getUser().getNickName(), community.getCommunityName(), getWallet));
|
||||||
communityAdviceMapper.insert(communityAdvice);
|
communityAdviceMapper.insert(communityAdvice);
|
||||||
|
|
||||||
|
Consume consume = new Consume();
|
||||||
|
consume.setUserId(SecurityUtils.getUserId());
|
||||||
|
consume.setAmount(-price);
|
||||||
|
consume.setProductId(communityId);
|
||||||
|
consume.setType(3);
|
||||||
|
consume.setWallet(user.getWallet());
|
||||||
|
consumeMapper.insert(consume);
|
||||||
|
|
||||||
|
consume = new Consume();
|
||||||
|
consume.setUserId(community.getTenantId());
|
||||||
|
consume.setAmount(getWallet.doubleValue());
|
||||||
|
consume.setProductId(communityId);
|
||||||
|
consume.setType(3);
|
||||||
|
consume.setWallet(sysUserService.selectUserById(community.getTenantId()).getWallet());
|
||||||
|
consumeMapper.insert(consume);
|
||||||
|
|
||||||
|
IncomeInfo incomeInfo = new IncomeInfo();
|
||||||
|
incomeInfo.setTenantId(tenantId);
|
||||||
|
incomeInfo.setCommunityId(communityId);
|
||||||
|
incomeInfo.setUserId(tenantId);
|
||||||
|
incomeInfo.setType(0);
|
||||||
|
incomeInfo.setAmount(getWallet.doubleValue());
|
||||||
|
incomeInfoService.save(incomeInfo);
|
||||||
|
|
||||||
|
redisCache.deleteObject("communityJoinNumMap");
|
||||||
|
|
||||||
|
|
||||||
return R.ok("加入成功");
|
return R.ok("加入成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -194,19 +261,21 @@ public class CommunityServiceImpl extends ServiceImpl<CommunityMapper, Community
|
||||||
|
|
||||||
CommunityUser communityUser = communityUserMapper.selectCommunityUser(tenantId, communityId, userId);
|
CommunityUser communityUser = communityUserMapper.selectCommunityUser(tenantId, communityId, userId);
|
||||||
if (Objects.isNull(communityUser)) {
|
if (Objects.isNull(communityUser)) {
|
||||||
return R.fail(HttpStatus.SHOW_ERROR_MSG,"您不是该社区成员");
|
return R.fail(HttpStatus.SHOW_ERROR_MSG, "您不是该社区成员");
|
||||||
}
|
}
|
||||||
|
|
||||||
Integer communityJoinNum = communityUserMapper.getJoinNum(tenantId, communityId);
|
Integer communityJoinNum = communityUserMapper.getJoinNum(tenantId, communityId);
|
||||||
|
|
||||||
if (communityUser.getUserType() == 2 && communityJoinNum > 1) {
|
if (communityUser.getUserType() == 2 && communityJoinNum > 1) {
|
||||||
return R.fail(HttpStatus.SHOW_ERROR_MSG,"社区还有成员,无法退出");
|
return R.fail(HttpStatus.SHOW_ERROR_MSG, "社区还有成员,无法退出");
|
||||||
}
|
}
|
||||||
|
|
||||||
baseMapper.quitCommunity(tenantId, communityId, userId);
|
baseMapper.quitCommunity(tenantId, communityId, userId);
|
||||||
|
|
||||||
if (communityJoinNum == 1) {
|
if (communityJoinNum == 1) {
|
||||||
baseMapper.deleteCommunity(tenantId, communityId);
|
baseMapper.deleteCommunity(tenantId, communityId);
|
||||||
|
} else {
|
||||||
|
redisCache.deleteObject("communityJoinNumMap");
|
||||||
}
|
}
|
||||||
|
|
||||||
return R.ok();
|
return R.ok();
|
||||||
|
@ -219,9 +288,41 @@ public class CommunityServiceImpl extends ServiceImpl<CommunityMapper, Community
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CommunityDetailVo getCommunityDetail(Long communityId) {
|
public CommunityDetailVo getCommunityDetail(Long tenantId, Long communityId) {
|
||||||
Community community = baseMapper.selectById(communityId);
|
// Community community = baseMapper.selectById(communityId);
|
||||||
return BeanUtil.toBean(community, CommunityDetailVo.class);
|
|
||||||
|
Community community = baseMapper.getCommunity(tenantId, communityId);
|
||||||
|
|
||||||
|
CommunityDetailVo communityDetailVo = BeanUtil.toBean(community, CommunityDetailVo.class);
|
||||||
|
|
||||||
|
communityDetailVo.setUserNum(getCommunityJoinNum(communityId));
|
||||||
|
communityDetailVo.setUpdateNum(getCommunityPublishNum(communityId));
|
||||||
|
|
||||||
|
|
||||||
|
// 当前时间和创建时间差
|
||||||
|
LocalDate currentLocalDate = LocalDate.now(ZoneId.systemDefault());
|
||||||
|
LocalDate createLocalDate = community.getCreateTime().toInstant()
|
||||||
|
.atZone(ZoneId.systemDefault())
|
||||||
|
.toLocalDate();
|
||||||
|
long daysBetween = ChronoUnit.DAYS.between(createLocalDate, currentLocalDate);
|
||||||
|
|
||||||
|
communityDetailVo.setCreateDay(daysBetween);
|
||||||
|
|
||||||
|
Publish lastPublish = publishService.getLastPublish(tenantId, communityId);
|
||||||
|
if (Objects.nonNull(lastPublish)) {
|
||||||
|
communityDetailVo.setLastUpdateTime(lastPublish.getCreateTime());
|
||||||
|
} else {
|
||||||
|
communityDetailVo.setLastUpdateTime(community.getCreateTime());
|
||||||
|
}
|
||||||
|
|
||||||
|
List<String> avatarList = communityUserMapper.getCommunityUserAvatar(tenantId, communityId);
|
||||||
|
communityDetailVo.setAvatarList(avatarList);
|
||||||
|
|
||||||
|
// 获取当前用户到期时间
|
||||||
|
communityDetailVo.setExpireTime(communityUserMapper.getExpireTime(tenantId, communityId, SecurityUtils.getUserId()));
|
||||||
|
|
||||||
|
|
||||||
|
return communityDetailVo;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -232,36 +333,12 @@ public class CommunityServiceImpl extends ServiceImpl<CommunityMapper, Community
|
||||||
|
|
||||||
private TableDataInfo getCommunityVoTableDataInfo(List<Community> communityList, Long total) {
|
private TableDataInfo getCommunityVoTableDataInfo(List<Community> communityList, Long total) {
|
||||||
|
|
||||||
|
List<Community> myJoinCommunityList = baseMapper.getMyJoinCommunity(new Page<>(1, 100),
|
||||||
|
SecurityUtils.getUserId(),
|
||||||
|
JoinCommunityListPageRes.builder().isMyCreate(1).build());
|
||||||
|
|
||||||
// 查询社区加入人数,以map形式返回,key为社区id,value为加入人数
|
Map<Long, Community> myJoinCommunityMap = myJoinCommunityList.stream()
|
||||||
Map<String, Object> communityJoinNumMap = redisCache.getCacheMap("communityJoinNumMap");
|
.collect(Collectors.toMap(Community::getId, Function.identity()));
|
||||||
if (communityJoinNumMap.isEmpty()) {
|
|
||||||
Map<Long, Map<String, Object>> joinMap = baseMapper.selectCommunityJoinNum();
|
|
||||||
if (joinMap != null && !joinMap.isEmpty()) {
|
|
||||||
joinMap.forEach((key, value) -> {
|
|
||||||
communityJoinNumMap.put(key.toString(), Integer.valueOf(value.get("joinNum").toString()));
|
|
||||||
});
|
|
||||||
redisCache.setCacheMap("communityJoinNumMap", communityJoinNumMap);
|
|
||||||
} else {
|
|
||||||
redisCache.setCacheMap("communityJoinNumMap", new HashMap<>());
|
|
||||||
}
|
|
||||||
redisCache.expire("communityJoinNumMap", 1, TimeUnit.HOURS);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询社区发布数,以map形式返回,key为社区id,value为发布数
|
|
||||||
Map<String, Object> communityPublishNumMap = redisCache.getCacheMap("communityPublishNumMap");
|
|
||||||
if (communityPublishNumMap.isEmpty()) {
|
|
||||||
Map<Long, Map<String, Object>> publishMap = baseMapper.selectCommunityPublishNum();
|
|
||||||
if (publishMap != null && !publishMap.isEmpty()) {
|
|
||||||
publishMap.forEach((key, value) -> {
|
|
||||||
communityPublishNumMap.put(key.toString(), Integer.valueOf(value.get("publishNum").toString()));
|
|
||||||
});
|
|
||||||
redisCache.setCacheMap("communityPublishNumMap", communityPublishNumMap);
|
|
||||||
} else {
|
|
||||||
redisCache.setCacheMap("communityPublishNumMap", new HashMap<>());
|
|
||||||
}
|
|
||||||
redisCache.expire("communityPublishNumMap", 1, TimeUnit.HOURS);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
List<CommunityVo> communityVoList = new ArrayList<>();
|
List<CommunityVo> communityVoList = new ArrayList<>();
|
||||||
|
@ -284,8 +361,15 @@ public class CommunityServiceImpl extends ServiceImpl<CommunityMapper, Community
|
||||||
communityVo.setAvatar(sysUser.getAvatar());
|
communityVo.setAvatar(sysUser.getAvatar());
|
||||||
communityVo.setNickName(sysUser.getNickName());
|
communityVo.setNickName(sysUser.getNickName());
|
||||||
communityVo.setCreateDay(daysBetween);
|
communityVo.setCreateDay(daysBetween);
|
||||||
communityVo.setJoinNum((Integer) communityJoinNumMap.getOrDefault(community.getId().toString(), 0));
|
communityVo.setJoinNum(this.getCommunityJoinNum(community.getId()));
|
||||||
communityVo.setPublishNum((Integer) communityPublishNumMap.getOrDefault(community.getId().toString(), 0));
|
// communityVo.setPublishNum(this.getCommunityPublishNum(community.getId()));
|
||||||
|
if (myJoinCommunityMap.get(community.getId()) != null) {
|
||||||
|
communityVo.setIsJoin(1);
|
||||||
|
} else {
|
||||||
|
communityVo.setIsJoin(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
communityVoList.add(communityVo);
|
communityVoList.add(communityVo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -299,4 +383,43 @@ public class CommunityServiceImpl extends ServiceImpl<CommunityMapper, Community
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private int getCommunityJoinNum(Long communityId) {
|
||||||
|
// 查询社区加入人数,以map形式返回,key为社区id,value为加入人数
|
||||||
|
Map<String, Object> communityJoinNumMap = redisCache.getCacheMap("communityJoinNumMap");
|
||||||
|
if (communityJoinNumMap.isEmpty()) {
|
||||||
|
Map<Long, Map<String, Object>> joinMap = baseMapper.selectCommunityJoinNum();
|
||||||
|
if (joinMap != null && !joinMap.isEmpty()) {
|
||||||
|
joinMap.forEach((key, value) -> {
|
||||||
|
communityJoinNumMap.put(key.toString(), Integer.valueOf(value.get("joinNum").toString()));
|
||||||
|
});
|
||||||
|
redisCache.setCacheMap("communityJoinNumMap", communityJoinNumMap);
|
||||||
|
} else {
|
||||||
|
redisCache.setCacheMap("communityJoinNumMap", new HashMap<>());
|
||||||
|
}
|
||||||
|
redisCache.expire("communityJoinNumMap", 1, TimeUnit.HOURS);
|
||||||
|
}
|
||||||
|
return Integer.parseInt(communityJoinNumMap.getOrDefault(communityId.toString(), 0).toString());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private int getCommunityPublishNum(Long communityId) {
|
||||||
|
// 查询社区发布数,以map形式返回,key为社区id,value为发布数
|
||||||
|
Map<String, Object> communityPublishNumMap = redisCache.getCacheMap("communityPublishNumMap");
|
||||||
|
if (communityPublishNumMap.isEmpty()) {
|
||||||
|
Map<Long, Map<String, Object>> publishMap = baseMapper.selectCommunityPublishNum();
|
||||||
|
if (publishMap != null && !publishMap.isEmpty()) {
|
||||||
|
publishMap.forEach((key, value) -> {
|
||||||
|
communityPublishNumMap.put(key.toString(), Integer.valueOf(value.get("publishNum").toString()));
|
||||||
|
});
|
||||||
|
redisCache.setCacheMap("communityPublishNumMap", communityPublishNumMap);
|
||||||
|
} else {
|
||||||
|
redisCache.setCacheMap("communityPublishNumMap", new HashMap<>());
|
||||||
|
}
|
||||||
|
redisCache.expire("communityPublishNumMap", 1, TimeUnit.HOURS);
|
||||||
|
}
|
||||||
|
return Integer.parseInt(communityPublishNumMap.getOrDefault(communityId.toString(), 0).toString());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,7 +49,7 @@ public class IncomeInfoServiceImpl extends ServiceImpl<IncomeInfoMapper, IncomeI
|
||||||
IncomeAmountVo questionIncome = baseMapper.questionIncome(SecurityUtils.getUserId());
|
IncomeAmountVo questionIncome = baseMapper.questionIncome(SecurityUtils.getUserId());
|
||||||
|
|
||||||
// 累计收益
|
// 累计收益
|
||||||
Double totalIncome = baseMapper.totalIncome();
|
Double totalIncome = baseMapper.totalIncome(SecurityUtils.getUserId());
|
||||||
|
|
||||||
IncomeInfoVo incomeInfoVo = IncomeInfoVo.builder()
|
IncomeInfoVo incomeInfoVo = IncomeInfoVo.builder()
|
||||||
.communityIncome(communityIncome)
|
.communityIncome(communityIncome)
|
||||||
|
|
|
@ -10,18 +10,12 @@ import com.mcwl.common.core.domain.entity.SysUser;
|
||||||
import com.mcwl.common.core.page.PageDomain;
|
import com.mcwl.common.core.page.PageDomain;
|
||||||
import com.mcwl.common.core.page.TableDataInfo;
|
import com.mcwl.common.core.page.TableDataInfo;
|
||||||
import com.mcwl.common.utils.SecurityUtils;
|
import com.mcwl.common.utils.SecurityUtils;
|
||||||
import com.mcwl.communityCenter.domain.Community;
|
import com.mcwl.communityCenter.domain.*;
|
||||||
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.dto.*;
|
||||||
import com.mcwl.communityCenter.domain.vo.CommentVo;
|
import com.mcwl.communityCenter.domain.vo.CommentVo;
|
||||||
import com.mcwl.communityCenter.domain.vo.PersonHomeVo;
|
import com.mcwl.communityCenter.domain.vo.PersonHomeVo;
|
||||||
import com.mcwl.communityCenter.domain.vo.PublishVo;
|
import com.mcwl.communityCenter.domain.vo.PublishVo;
|
||||||
import com.mcwl.communityCenter.mapper.CommunityMapper;
|
import com.mcwl.communityCenter.mapper.*;
|
||||||
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.PublishCollectService;
|
||||||
import com.mcwl.communityCenter.service.PublishCommentService;
|
import com.mcwl.communityCenter.service.PublishCommentService;
|
||||||
import com.mcwl.communityCenter.service.PublishService;
|
import com.mcwl.communityCenter.service.PublishService;
|
||||||
|
@ -37,6 +31,8 @@ public class PublishCollectServiceImpl extends ServiceImpl<PublishCollectMapper,
|
||||||
|
|
||||||
private final PublishCommentService publishCommentService;
|
private final PublishCommentService publishCommentService;
|
||||||
|
|
||||||
|
private final PublishLikeMapper publishLikeMapper;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TableDataInfo myCollectList(MyPublishCollectPageRes myPublishCollectPageRes) {
|
public TableDataInfo myCollectList(MyPublishCollectPageRes myPublishCollectPageRes) {
|
||||||
|
@ -48,10 +44,27 @@ public class PublishCollectServiceImpl extends ServiceImpl<PublishCollectMapper,
|
||||||
for (PublishVo publishVo : publishVoList) {
|
for (PublishVo publishVo : publishVoList) {
|
||||||
PersonHomeVo personHomeVo = BeanUtil.toBean(publishVo, PersonHomeVo.class);
|
PersonHomeVo personHomeVo = BeanUtil.toBean(publishVo, PersonHomeVo.class);
|
||||||
|
|
||||||
|
PublishLikeRes publishLikeRes = new PublishLikeRes();
|
||||||
|
publishLikeRes.setTenantId(myPublishCollectPageRes.getTenantId());
|
||||||
|
publishLikeRes.setCommunityId(myPublishCollectPageRes.getCommunityId());
|
||||||
|
publishLikeRes.setPublishId(publishVo.getId());
|
||||||
|
PublishLike publishLike = publishLikeMapper.selectPublishLike(publishLikeRes, SecurityUtils.getUserId());
|
||||||
|
if (Objects.nonNull(publishLike)) {
|
||||||
|
String delFlag = publishLike.getDelFlag();
|
||||||
|
if ("0".equals(delFlag)) {
|
||||||
|
publishVo.setIsLike(1);
|
||||||
|
} else {
|
||||||
|
publishVo.setIsLike(0);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
publishVo.setIsLike(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
CommentDetailRes commentDetailRes = new CommentDetailRes();
|
CommentDetailRes commentDetailRes = new CommentDetailRes();
|
||||||
commentDetailRes.setTenantId(myPublishCollectPageRes.getTenantId());
|
commentDetailRes.setTenantId(myPublishCollectPageRes.getTenantId());
|
||||||
commentDetailRes.setCommunityId(myPublishCollectPageRes.getCommunityId());
|
commentDetailRes.setCommunityId(myPublishCollectPageRes.getCommunityId());
|
||||||
commentDetailRes.setOperatorId(publishVo.getId());
|
commentDetailRes.setPublishId(publishVo.getId());
|
||||||
|
|
||||||
List<CommentVo> commentVoList = publishCommentService.getComment(commentDetailRes).getData();
|
List<CommentVo> commentVoList = publishCommentService.getComment(commentDetailRes).getData();
|
||||||
personHomeVo.setCommentList(commentVoList);
|
personHomeVo.setCommentList(commentVoList);
|
||||||
|
|
|
@ -2,18 +2,23 @@ package com.mcwl.communityCenter.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.mcwl.common.constant.HttpStatus;
|
import com.mcwl.common.constant.HttpStatus;
|
||||||
|
import com.mcwl.common.core.domain.R;
|
||||||
import com.mcwl.common.exception.ServiceException;
|
import com.mcwl.common.exception.ServiceException;
|
||||||
import com.mcwl.common.utils.SecurityUtils;
|
import com.mcwl.common.utils.SecurityUtils;
|
||||||
import com.mcwl.common.utils.StringUtils;
|
import com.mcwl.common.utils.StringUtils;
|
||||||
import com.mcwl.communityCenter.constant.AdviceConstant;
|
import com.mcwl.communityCenter.constant.AdviceConstant;
|
||||||
import com.mcwl.communityCenter.domain.CommunityAdvice;
|
import com.mcwl.communityCenter.domain.*;
|
||||||
import com.mcwl.communityCenter.domain.PublishComment;
|
import com.mcwl.communityCenter.domain.dto.CommentLikeDetailRes;
|
||||||
import com.mcwl.communityCenter.domain.PublishCommentLike;
|
|
||||||
import com.mcwl.communityCenter.domain.dto.PublishCommentLikeRes;
|
import com.mcwl.communityCenter.domain.dto.PublishCommentLikeRes;
|
||||||
|
import com.mcwl.communityCenter.mapper.CommunityAdviceMapper;
|
||||||
|
import com.mcwl.communityCenter.mapper.CommunityUserMapper;
|
||||||
import com.mcwl.communityCenter.mapper.PublishCommentLikeMapper;
|
import com.mcwl.communityCenter.mapper.PublishCommentLikeMapper;
|
||||||
import com.mcwl.communityCenter.mapper.PublishCommentMapper;
|
import com.mcwl.communityCenter.mapper.PublishCommentMapper;
|
||||||
|
import com.mcwl.communityCenter.service.CommunityAdviceService;
|
||||||
import com.mcwl.communityCenter.service.PublishCommentLikeService;
|
import com.mcwl.communityCenter.service.PublishCommentLikeService;
|
||||||
|
import com.mcwl.communityCenter.service.PublishCommentService;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import net.bytebuddy.implementation.bytecode.Throw;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
@ -33,14 +38,90 @@ import java.util.Objects;
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class PublishCommentLikeServiceImpl extends ServiceImpl<PublishCommentLikeMapper, PublishCommentLike> implements PublishCommentLikeService {
|
public class PublishCommentLikeServiceImpl extends ServiceImpl<PublishCommentLikeMapper, PublishCommentLike> implements PublishCommentLikeService {
|
||||||
|
|
||||||
|
|
||||||
private final PublishCommentMapper publishCommentMapper;
|
private final PublishCommentMapper publishCommentMapper;
|
||||||
|
|
||||||
|
private final CommunityUserMapper communityUserMapper;
|
||||||
|
|
||||||
|
private final CommunityAdviceMapper communityAdviceMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void like(PublishCommentLikeRes publishCommentLikeRes) {
|
public R<Integer> like(PublishCommentLikeRes publishCommentLikeRes) {
|
||||||
|
Long tenantId = publishCommentLikeRes.getTenantId();
|
||||||
|
Long communityId = publishCommentLikeRes.getCommunityId();
|
||||||
|
Long publishId = publishCommentLikeRes.getPublishId();
|
||||||
|
Long commentId = publishCommentLikeRes.getCommentId();
|
||||||
|
|
||||||
|
PublishComment publishComment = publishCommentMapper.selectByIdAndTenantIdAndCommunityIdAndPublishId(commentId, tenantId, communityId, publishId);
|
||||||
|
|
||||||
|
if (Objects.isNull(publishComment)) {
|
||||||
|
throw new ServiceException("点赞失败,该内容不存在", HttpStatus.SHOW_ERROR_MSG);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
CommunityUser communityUser = communityUserMapper.selectCommunityUser(tenantId,
|
||||||
|
communityId, SecurityUtils.getUserId());
|
||||||
|
|
||||||
|
if (Objects.isNull(communityUser)) {
|
||||||
|
throw new ServiceException("点赞失败,您不是该社区成员", HttpStatus.SHOW_ERROR_MSG);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ("1".equals(communityUser.getIsBlack())) {
|
||||||
|
throw new ServiceException("点赞失败,您已被拉黑", HttpStatus.SHOW_ERROR_MSG);
|
||||||
|
}
|
||||||
|
|
||||||
|
PublishCommentLike publishCommentLike = baseMapper.selectLike(publishCommentLikeRes, SecurityUtils.getUserId());
|
||||||
|
|
||||||
|
if (Objects.isNull(publishCommentLike)) {
|
||||||
|
publishCommentLike = new PublishCommentLike();
|
||||||
|
publishCommentLike.setTenantId(tenantId);
|
||||||
|
publishCommentLike.setCommunityId(communityId);
|
||||||
|
publishCommentLike.setPublishId(publishId);
|
||||||
|
publishCommentLike.setPublishCommentId(commentId);
|
||||||
|
publishCommentLike.setUserId(SecurityUtils.getUserId());
|
||||||
|
baseMapper.insert(publishCommentLike);
|
||||||
|
|
||||||
|
publishComment.setLikeNum(publishComment.getLikeNum() + 1);
|
||||||
|
publishCommentMapper.updateById(publishComment);
|
||||||
|
this.addLikeAdvice(publishComment);
|
||||||
|
return R.ok(publishComment.getLikeNum());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Objects.equals(publishCommentLike.getDelFlag(), "0")) {
|
||||||
|
publishCommentLike.setDelFlag("2");
|
||||||
|
int likeNum = publishComment.getLikeNum() - 1;
|
||||||
|
likeNum = Math.max(likeNum, 0);
|
||||||
|
publishComment.setLikeNum(likeNum);
|
||||||
|
} else {
|
||||||
|
publishCommentLike.setDelFlag("0");
|
||||||
|
publishComment.setLikeNum(publishComment.getLikeNum() + 1);
|
||||||
|
this.addLikeAdvice(publishComment);
|
||||||
|
}
|
||||||
|
|
||||||
|
baseMapper.updateDelFlagById(publishCommentLike);
|
||||||
|
publishCommentMapper.updateById(publishComment);
|
||||||
|
|
||||||
|
return R.ok(publishComment.getLikeNum());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PublishCommentLike publishCommentLike(CommentLikeDetailRes commentLikeDetailRes, Long userId) {
|
||||||
|
return baseMapper.publishCommentLike(commentLikeDetailRes, userId);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addLikeAdvice(PublishComment publishComment) {
|
||||||
|
CommunityAdvice communityAdvice = new CommunityAdvice();
|
||||||
|
|
||||||
|
communityAdvice.setTenantId(publishComment.getTenantId());
|
||||||
|
communityAdvice.setCommunityId(publishComment.getCommunityId());
|
||||||
|
communityAdvice.setSendUserId(SecurityUtils.getUserId());
|
||||||
|
communityAdvice.setAdviceType(AdviceConstant.LIKE);
|
||||||
|
communityAdvice.setUserId(publishComment.getUserId());
|
||||||
|
communityAdvice.setContent(StringUtils.format("{}点赞了你的评论{}",
|
||||||
|
SecurityUtils.getLoginUser().getUser().getNickName(), publishComment.getContent()));
|
||||||
|
|
||||||
|
communityAdviceMapper.insert(communityAdvice);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,36 +1,30 @@
|
||||||
package com.mcwl.communityCenter.service.impl;
|
package com.mcwl.communityCenter.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.mcwl.common.constant.HttpStatus;
|
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.R;
|
||||||
import com.mcwl.common.core.domain.entity.SysUser;
|
import com.mcwl.common.core.domain.entity.SysUser;
|
||||||
import com.mcwl.common.utils.SecurityUtils;
|
import com.mcwl.common.utils.SecurityUtils;
|
||||||
import com.mcwl.communityCenter.domain.CommunityUser;
|
import com.mcwl.communityCenter.domain.*;
|
||||||
import com.mcwl.communityCenter.domain.Publish;
|
|
||||||
import com.mcwl.communityCenter.domain.dto.CommentDelRes;
|
import com.mcwl.communityCenter.domain.dto.CommentDelRes;
|
||||||
import com.mcwl.communityCenter.domain.dto.CommentDetailRes;
|
import com.mcwl.communityCenter.domain.dto.CommentDetailRes;
|
||||||
|
import com.mcwl.communityCenter.domain.dto.CommentLikeDetailRes;
|
||||||
import com.mcwl.communityCenter.domain.dto.CommentRes;
|
import com.mcwl.communityCenter.domain.dto.CommentRes;
|
||||||
import com.mcwl.communityCenter.domain.vo.CommentVo;
|
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.CommunityUserMapper;
|
||||||
import com.mcwl.communityCenter.mapper.PublishCommentLikeMapper;
|
import com.mcwl.communityCenter.mapper.PublishCommentLikeMapper;
|
||||||
import com.mcwl.communityCenter.mapper.PublishCommentMapper;
|
import com.mcwl.communityCenter.mapper.PublishCommentMapper;
|
||||||
import com.mcwl.communityCenter.mapper.PublishMapper;
|
import com.mcwl.communityCenter.mapper.PublishMapper;
|
||||||
|
import com.mcwl.communityCenter.service.PublishCommentLikeService;
|
||||||
import com.mcwl.communityCenter.service.PublishCommentService;
|
import com.mcwl.communityCenter.service.PublishCommentService;
|
||||||
import com.mcwl.system.service.ISysUserService;
|
import com.mcwl.system.service.ISysUserService;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.http.ResponseEntity;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
import javax.validation.constraints.NotNull;
|
import java.util.*;
|
||||||
import java.util.ArrayList;
|
import java.util.function.Function;
|
||||||
import java.util.List;
|
import java.util.stream.Collectors;
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 评论区业务层
|
* 评论区业务层
|
||||||
|
@ -48,31 +42,69 @@ public class PublishCommentServiceImpl extends ServiceImpl<PublishCommentMapper,
|
||||||
|
|
||||||
private final PublishCommentMapper publishCommentMapper;
|
private final PublishCommentMapper publishCommentMapper;
|
||||||
|
|
||||||
private final PublishCommentLikeMapper likeMapper;
|
|
||||||
|
|
||||||
private final ISysUserService sysUserService;
|
private final ISysUserService sysUserService;
|
||||||
|
|
||||||
private final PublishMapper publishMapper;
|
private final PublishMapper publishMapper;
|
||||||
|
|
||||||
private final CommunityUserMapper communityUserMapper;
|
private final CommunityUserMapper communityUserMapper;
|
||||||
|
|
||||||
|
private final PublishCommentLikeService publishCommentLikeService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public R<List<CommentVo>> getComment(CommentDetailRes commentDetailRes) {
|
public R<List<CommentVo>> getComment(CommentDetailRes commentDetailRes) {
|
||||||
Long tenantId = commentDetailRes.getTenantId();
|
Long tenantId = commentDetailRes.getTenantId();
|
||||||
Long communityId = commentDetailRes.getCommunityId();
|
Long communityId = commentDetailRes.getCommunityId();
|
||||||
Long operatorId = commentDetailRes.getOperatorId();
|
Long publishId = commentDetailRes.getPublishId();
|
||||||
|
|
||||||
// 查询评论
|
// 查询评论
|
||||||
List<PublishComment> publishComment = publishCommentMapper
|
List<PublishComment> publishComment = publishCommentMapper
|
||||||
.selectByTenantIdAndCommunityIdAndOperatorId(tenantId, communityId, operatorId);
|
.selectByTenantIdAndCommunityIdAndPublishIdList(tenantId, communityId, publishId);
|
||||||
|
|
||||||
List<CommentVo> commentVoList = BeanUtil.copyToList(publishComment, CommentVo.class);
|
List<CommentVo> commentVoList = BeanUtil.copyToList(publishComment, CommentVo.class);
|
||||||
|
|
||||||
|
Map<Long, CommentVo> commentVoMap = commentVoList.stream()
|
||||||
|
.collect(Collectors.toMap(CommentVo::getId, Function.identity()));
|
||||||
|
|
||||||
|
// 收集所有需要查询的用户ID(包括回复对象ID)
|
||||||
|
Set<Long> userIds = new HashSet<>();
|
||||||
|
for (CommentVo commentVo : commentVoList) {
|
||||||
|
userIds.add(commentVo.getUserId());
|
||||||
|
}
|
||||||
|
// 批量查询用户信息并建立缓存映射
|
||||||
|
Map<Long, SysUser> userMap = sysUserService.selectUserByIds(userIds).stream()
|
||||||
|
.collect(Collectors.toMap(SysUser::getUserId, Function.identity()));
|
||||||
|
|
||||||
for (CommentVo commentVo : commentVoList) {
|
for (CommentVo commentVo : commentVoList) {
|
||||||
Long userId = commentVo.getUserId();
|
Long userId = commentVo.getUserId();
|
||||||
SysUser sysUser = sysUserService.selectUserById(userId);
|
SysUser sysUser = userMap.get(userId);
|
||||||
commentVo.setUserName(sysUser.getNickName());
|
commentVo.setUserName(sysUser.getNickName());
|
||||||
commentVo.setUserAvatar(sysUser.getAvatar());
|
commentVo.setUserAvatar(sysUser.getAvatar());
|
||||||
|
|
||||||
|
if (commentVo.getParentId() != null) {
|
||||||
|
Long parentId = commentVo.getParentId();
|
||||||
|
CommentVo parentCommentVo = commentVoMap.get(parentId);
|
||||||
|
if (Objects.nonNull(parentCommentVo)) {
|
||||||
|
SysUser su = userMap.get(parentCommentVo.getUserId());
|
||||||
|
commentVo.setReplyUserName(su.getNickName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
CommentLikeDetailRes commentLikeDetailRes = new CommentLikeDetailRes();
|
||||||
|
commentLikeDetailRes.setTenantId(tenantId);
|
||||||
|
commentLikeDetailRes.setCommunityId(communityId);
|
||||||
|
commentLikeDetailRes.setPublishId(publishId);
|
||||||
|
commentLikeDetailRes.setPublishCommentId(commentVo.getId());
|
||||||
|
PublishCommentLike publishCommentLike = publishCommentLikeService.publishCommentLike(commentLikeDetailRes, SecurityUtils.getUserId());
|
||||||
|
if (Objects.isNull(publishCommentLike)) {
|
||||||
|
commentVo.setIsLike(0);
|
||||||
|
} else {
|
||||||
|
String delFlag = publishCommentLike.getDelFlag();
|
||||||
|
if (Objects.equals(delFlag, "0")) {
|
||||||
|
commentVo.setIsLike(1);
|
||||||
|
} else {
|
||||||
|
commentVo.setIsLike(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return R.ok(commentVoList);
|
return R.ok(commentVoList);
|
||||||
|
@ -82,28 +114,27 @@ public class PublishCommentServiceImpl extends ServiceImpl<PublishCommentMapper,
|
||||||
public R<Object> addComment(CommentRes commentRes) {
|
public R<Object> addComment(CommentRes commentRes) {
|
||||||
Long tenantId = commentRes.getTenantId();
|
Long tenantId = commentRes.getTenantId();
|
||||||
Long communityId = commentRes.getCommunityId();
|
Long communityId = commentRes.getCommunityId();
|
||||||
Long operatorId = commentRes.getOperatorId();
|
Long publishId = commentRes.getPublishId();
|
||||||
|
|
||||||
CommunityUser communityUser = communityUserMapper.selectCommunityUser(tenantId, communityId, SecurityUtils.getUserId());
|
CommunityUser communityUser = communityUserMapper.selectCommunityUser(tenantId, communityId, SecurityUtils.getUserId());
|
||||||
|
|
||||||
if (Objects.isNull(communityUser)) {
|
if (Objects.isNull(communityUser)) {
|
||||||
return R.fail(HttpStatus.SHOW_ERROR_MSG,"评论失败,您不是该社区成员");
|
return R.fail(HttpStatus.SHOW_ERROR_MSG, "评论失败,您不是该社区成员");
|
||||||
}
|
}
|
||||||
|
|
||||||
if ("1".equals(communityUser.getIsBlack())) {
|
if ("1".equals(communityUser.getIsBlack())) {
|
||||||
return R.fail(HttpStatus.SHOW_ERROR_MSG,"评论失败,您已被拉黑");
|
return R.fail(HttpStatus.SHOW_ERROR_MSG, "评论失败,您已被拉黑");
|
||||||
}
|
}
|
||||||
|
|
||||||
Publish publish = publishMapper.selectByIdAndTenantIdAndCommunityId(operatorId, tenantId, communityId);
|
Publish publish = publishMapper.selectByIdAndTenantIdAndCommunityId(publishId, tenantId, communityId);
|
||||||
if (Objects.isNull(publish)) {
|
if (Objects.isNull(publish)) {
|
||||||
return R.fail(HttpStatus.SHOW_ERROR_MSG,"评论失败,该内容不存在");
|
return R.fail(HttpStatus.SHOW_ERROR_MSG, "评论失败,该内容不存在");
|
||||||
}
|
}
|
||||||
|
|
||||||
PublishComment publishComment = new PublishComment();
|
PublishComment publishComment = new PublishComment();
|
||||||
BeanUtil.copyProperties(commentRes, publishComment);
|
BeanUtil.copyProperties(commentRes, publishComment);
|
||||||
publishComment.setPublishId(operatorId);
|
// publishComment.setPublishId(publishId);
|
||||||
publishComment.setUserId(SecurityUtils.getUserId());
|
publishComment.setUserId(SecurityUtils.getUserId());
|
||||||
publishComment.setType(0);
|
|
||||||
|
|
||||||
publishCommentMapper.insert(publishComment);
|
publishCommentMapper.insert(publishComment);
|
||||||
|
|
||||||
|
@ -115,15 +146,15 @@ public class PublishCommentServiceImpl extends ServiceImpl<PublishCommentMapper,
|
||||||
Long id = commentDelRes.getId();
|
Long id = commentDelRes.getId();
|
||||||
Long tenantId = commentDelRes.getTenantId();
|
Long tenantId = commentDelRes.getTenantId();
|
||||||
Long communityId = commentDelRes.getCommunityId();
|
Long communityId = commentDelRes.getCommunityId();
|
||||||
Long operatorId = commentDelRes.getOperatorId();
|
Long publishId = commentDelRes.getPublishId();
|
||||||
|
|
||||||
PublishComment publishComment = publishCommentMapper.selectByIdAndTenantIdAndCommunityIdAndOperatorId(id, tenantId, communityId, operatorId);
|
PublishComment publishComment = publishCommentMapper.selectByIdAndTenantIdAndCommunityIdAndPublishId(id, tenantId, communityId, publishId);
|
||||||
|
|
||||||
if (Objects.isNull(publishComment)) {
|
if (Objects.isNull(publishComment)) {
|
||||||
return R.fail(HttpStatus.SHOW_ERROR_MSG,"删除失败,该评论不存在");
|
return R.fail(HttpStatus.SHOW_ERROR_MSG, "删除失败,该评论不存在");
|
||||||
}
|
}
|
||||||
|
|
||||||
publishCommentMapper.deleteByIdAndTenantIdAndCommunityIdAndOperatorId(id, tenantId, communityId, operatorId);
|
publishCommentMapper.deleteByIdAndTenantIdAndCommunityIdAndOperatorId(id, tenantId, communityId, publishId);
|
||||||
|
|
||||||
return R.ok(null, "删除成功");
|
return R.ok(null, "删除成功");
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,17 +35,20 @@ public class PublishLikeServiceImpl extends ServiceImpl<PublishLikeMapper, Publi
|
||||||
@Override
|
@Override
|
||||||
public void like(PublishLikeRes publishLikeRes) {
|
public void like(PublishLikeRes publishLikeRes) {
|
||||||
|
|
||||||
Publish publish = publishMapper.selectByIdAndTenantIdAndCommunityId(publishLikeRes.getPublishId(),
|
Long publishId = publishLikeRes.getPublishId();
|
||||||
publishLikeRes.getTenantId(),
|
Long tenantId = publishLikeRes.getTenantId();
|
||||||
publishLikeRes.getCommunityId());
|
Long communityId = publishLikeRes.getCommunityId();
|
||||||
|
Publish publish = publishMapper.selectByIdAndTenantIdAndCommunityId(publishId,
|
||||||
|
tenantId,
|
||||||
|
communityId);
|
||||||
|
|
||||||
if (Objects.isNull(publish)) {
|
if (Objects.isNull(publish)) {
|
||||||
throw new ServiceException("点赞失败,该内容不存在", HttpStatus.SHOW_ERROR_MSG);
|
throw new ServiceException("点赞失败,该内容不存在", HttpStatus.SHOW_ERROR_MSG);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
CommunityUser communityUser = communityUserMapper.selectCommunityUser(publishLikeRes.getTenantId(),
|
CommunityUser communityUser = communityUserMapper.selectCommunityUser(tenantId,
|
||||||
publishLikeRes.getCommunityId(), SecurityUtils.getUserId());
|
communityId, SecurityUtils.getUserId());
|
||||||
|
|
||||||
if (Objects.isNull(communityUser)) {
|
if (Objects.isNull(communityUser)) {
|
||||||
throw new ServiceException("点赞失败,您不是该社区成员", HttpStatus.SHOW_ERROR_MSG);
|
throw new ServiceException("点赞失败,您不是该社区成员", HttpStatus.SHOW_ERROR_MSG);
|
||||||
|
@ -60,20 +63,20 @@ public class PublishLikeServiceImpl extends ServiceImpl<PublishLikeMapper, Publi
|
||||||
|
|
||||||
if (Objects.isNull(publishLike)) {
|
if (Objects.isNull(publishLike)) {
|
||||||
publishLike = PublishLike.builder()
|
publishLike = PublishLike.builder()
|
||||||
.tenantId(publishLikeRes.getTenantId())
|
.tenantId(tenantId)
|
||||||
.communityId(publishLikeRes.getCommunityId())
|
.communityId(communityId)
|
||||||
.publishId(publishLikeRes.getPublishId())
|
.publishId(publishId)
|
||||||
.userId(SecurityUtils.getUserId())
|
.userId(SecurityUtils.getUserId())
|
||||||
.build();
|
.build();
|
||||||
baseMapper.insert(publishLike);
|
baseMapper.insert(publishLike);
|
||||||
|
|
||||||
publish.setLikeNum(publish.getLikeNum() + 1);
|
publish.setLikeNum(publish.getLikeNum() + 1);
|
||||||
publishMapper.updateById(publish);
|
publishMapper.updateLikeNum(publish);
|
||||||
this.addLikeAdvice(publish);
|
this.addLikeAdvice(publish);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Objects.equals(publishLike.getDelFlag(), "0")) {
|
if ("0".equals(publishLike.getDelFlag())) {
|
||||||
publishLike.setDelFlag("2");
|
publishLike.setDelFlag("2");
|
||||||
int likeNum = publish.getLikeNum() - 1;
|
int likeNum = publish.getLikeNum() - 1;
|
||||||
likeNum = Math.max(likeNum, 0);
|
likeNum = Math.max(likeNum, 0);
|
||||||
|
@ -85,7 +88,7 @@ public class PublishLikeServiceImpl extends ServiceImpl<PublishLikeMapper, Publi
|
||||||
}
|
}
|
||||||
|
|
||||||
baseMapper.updateDelFlagById(publishLike);
|
baseMapper.updateDelFlagById(publishLike);
|
||||||
publishMapper.updateById(publish);
|
publishMapper.updateLikeNum(publish);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -95,7 +98,7 @@ public class PublishLikeServiceImpl extends ServiceImpl<PublishLikeMapper, Publi
|
||||||
communityAdvice.setTenantId(publish.getTenantId());
|
communityAdvice.setTenantId(publish.getTenantId());
|
||||||
communityAdvice.setCommunityId(publish.getCommunityId());
|
communityAdvice.setCommunityId(publish.getCommunityId());
|
||||||
communityAdvice.setSendUserId(SecurityUtils.getUserId());
|
communityAdvice.setSendUserId(SecurityUtils.getUserId());
|
||||||
communityAdvice.setAdviceType(AdviceConstant.COMMUNITY_NOTICE);
|
communityAdvice.setAdviceType(AdviceConstant.LIKE);
|
||||||
communityAdvice.setUserId(publish.getUserId());
|
communityAdvice.setUserId(publish.getUserId());
|
||||||
communityAdvice.setContent(StringUtils.format("{}点赞了你发布的{}",
|
communityAdvice.setContent(StringUtils.format("{}点赞了你发布的{}",
|
||||||
SecurityUtils.getLoginUser().getUser().getNickName(), publish.getContent()));
|
SecurityUtils.getLoginUser().getUser().getNickName(), publish.getContent()));
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
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.exception.ServiceException;
|
||||||
|
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.CommentVo;
|
||||||
|
import com.mcwl.communityCenter.domain.vo.PersonHomeVo;
|
||||||
|
import com.mcwl.communityCenter.domain.vo.PublishVo;
|
||||||
|
import com.mcwl.communityCenter.mapper.*;
|
||||||
|
import com.mcwl.communityCenter.service.*;
|
||||||
|
import com.mcwl.system.service.ISysUserService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class PublishReportServiceImpl extends ServiceImpl<PublishReportMapper, PublishReport> implements PublishReportService {
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void saveReport(PublishReport publishReport) {
|
||||||
|
|
||||||
|
baseMapper.insertReport(publishReport);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -12,6 +12,7 @@ import com.mcwl.common.core.domain.R;
|
||||||
import com.mcwl.common.core.domain.entity.SysUser;
|
import com.mcwl.common.core.domain.entity.SysUser;
|
||||||
import com.mcwl.common.core.page.PageDomain;
|
import com.mcwl.common.core.page.PageDomain;
|
||||||
import com.mcwl.common.core.page.TableDataInfo;
|
import com.mcwl.common.core.page.TableDataInfo;
|
||||||
|
import com.mcwl.common.core.redis.RedisCache;
|
||||||
import com.mcwl.common.exception.BusinessException;
|
import com.mcwl.common.exception.BusinessException;
|
||||||
import com.mcwl.common.exception.ServiceException;
|
import com.mcwl.common.exception.ServiceException;
|
||||||
import com.mcwl.common.utils.SecurityUtils;
|
import com.mcwl.common.utils.SecurityUtils;
|
||||||
|
@ -58,6 +59,9 @@ public class PublishServiceImpl extends ServiceImpl<PublishMapper, Publish> impl
|
||||||
|
|
||||||
private final QuestionService questionService;
|
private final QuestionService questionService;
|
||||||
|
|
||||||
|
private final PublishReportMapper publishReportMapper;
|
||||||
|
|
||||||
|
private final RedisCache redisCache;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -110,6 +114,8 @@ public class PublishServiceImpl extends ServiceImpl<PublishMapper, Publish> impl
|
||||||
publish.setPublishTime(new Date());
|
publish.setPublishTime(new Date());
|
||||||
}
|
}
|
||||||
baseMapper.insertPublish(publish);
|
baseMapper.insertPublish(publish);
|
||||||
|
redisCache.deleteObject("communityPublishNumMap");
|
||||||
|
|
||||||
return R.ok();
|
return R.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -207,26 +213,47 @@ public class PublishServiceImpl extends ServiceImpl<PublishMapper, Publish> impl
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void elitePublish(Long communityId, Long publishId) {
|
public R<Object> elitePublish(Long tenantId, Long communityId, Long publishId) {
|
||||||
baseMapper.elitePublish(communityId, publishId);
|
|
||||||
|
CommunityUser communityUser = communityUserMapper.selectCommunityUser(tenantId, communityId, SecurityUtils.getUserId());
|
||||||
|
if (Objects.isNull(communityUser)) {
|
||||||
|
return R.fail(HttpStatus.SHOW_ERROR_MSG, "您不是该社区成员");
|
||||||
|
}
|
||||||
|
if ("1".equals(communityUser.getIsBlack())) {
|
||||||
|
return R.fail(HttpStatus.SHOW_ERROR_MSG, "您已被拉黑");
|
||||||
|
}
|
||||||
|
if (communityUser.getUserType() != 2) {
|
||||||
|
return R.fail(HttpStatus.SHOW_ERROR_MSG, "您不是群主");
|
||||||
|
}
|
||||||
|
baseMapper.elitePublish(tenantId, communityId, publishId);
|
||||||
|
return R.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TableDataInfo publishList(PublishPageRes publishPageRes) {
|
public TableDataInfo publishList(PublishPageRes publishPageRes) {
|
||||||
Page<Publish> page = this.initPage(publishPageRes);
|
Page<Publish> page = this.initPage(publishPageRes);
|
||||||
|
|
||||||
List<Publish> publishList = baseMapper.publishList(page, publishPageRes);
|
List<PublishVo> publishVoList = baseMapper.publishList(page, publishPageRes);
|
||||||
|
|
||||||
List<PublishVo> publishVoList = BeanUtil.copyToList(publishList, PublishVo.class);
|
|
||||||
for (PublishVo publishVo : publishVoList) {
|
for (PublishVo publishVo : publishVoList) {
|
||||||
SysUser sysUser = sysUserService.selectUserById(publishVo.getUserId());
|
|
||||||
publishVo.setUserName(sysUser.getNickName());
|
CommentDetailRes commentDetailRes = new CommentDetailRes();
|
||||||
publishVo.setAvatar(sysUser.getAvatar());
|
commentDetailRes.setTenantId(publishVo.getTenantId());
|
||||||
|
commentDetailRes.setCommunityId(publishVo.getCommunityId());
|
||||||
|
commentDetailRes.setPublishId(publishVo.getId());
|
||||||
|
|
||||||
|
List<CommentVo> commentList = publishCommentService.getComment(commentDetailRes).getData();
|
||||||
|
|
||||||
|
|
||||||
PublishLikeRes publishLikeRes = new PublishLikeRes(publishVo.getTenantId(), publishVo.getCommunityId(), publishVo.getId());
|
PublishLikeRes publishLikeRes = new PublishLikeRes(publishVo.getTenantId(), publishVo.getCommunityId(), publishVo.getId());
|
||||||
PublishLike publishLike = publishLikeMapper.selectPublishLike(publishLikeRes, SecurityUtils.getUserId());
|
PublishLike publishLike = publishLikeMapper.selectPublishLike(publishLikeRes, SecurityUtils.getUserId());
|
||||||
if (Objects.nonNull(publishLike)) {
|
if (Objects.nonNull(publishLike)) {
|
||||||
publishVo.setIsLike(1);
|
String delFlag = publishLike.getDelFlag();
|
||||||
|
if ("0".equals(delFlag)) {
|
||||||
|
publishVo.setIsLike(1);
|
||||||
|
} else {
|
||||||
|
publishVo.setIsLike(0);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
publishVo.setIsLike(0);
|
publishVo.setIsLike(0);
|
||||||
}
|
}
|
||||||
|
@ -234,11 +261,18 @@ public class PublishServiceImpl extends ServiceImpl<PublishMapper, Publish> impl
|
||||||
PublishCollectRes publishCollectRes = new PublishCollectRes(publishVo.getTenantId(), publishVo.getCommunityId(), publishVo.getId());
|
PublishCollectRes publishCollectRes = new PublishCollectRes(publishVo.getTenantId(), publishVo.getCommunityId(), publishVo.getId());
|
||||||
PublishCollect publishCollect = publishCollectService.getPublishCollect(publishCollectRes, SecurityUtils.getUserId());
|
PublishCollect publishCollect = publishCollectService.getPublishCollect(publishCollectRes, SecurityUtils.getUserId());
|
||||||
if (Objects.nonNull(publishCollect)) {
|
if (Objects.nonNull(publishCollect)) {
|
||||||
publishVo.setIsCollect(1);
|
String delFlag = publishCollect.getDelFlag();
|
||||||
|
if ("0".equals(delFlag)) {
|
||||||
|
publishVo.setIsCollect(1);
|
||||||
|
} else {
|
||||||
|
publishVo.setIsCollect(0);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
publishVo.setIsCollect(0);
|
publishVo.setIsCollect(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
publishVo.setCommentList(commentList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -266,7 +300,7 @@ public class PublishServiceImpl extends ServiceImpl<PublishMapper, Publish> impl
|
||||||
CommentDetailRes commentDetailRes = new CommentDetailRes();
|
CommentDetailRes commentDetailRes = new CommentDetailRes();
|
||||||
commentDetailRes.setTenantId(myPublishPageRes.getTenantId());
|
commentDetailRes.setTenantId(myPublishPageRes.getTenantId());
|
||||||
commentDetailRes.setCommunityId(myPublishPageRes.getCommunityId());
|
commentDetailRes.setCommunityId(myPublishPageRes.getCommunityId());
|
||||||
commentDetailRes.setOperatorId(publishVo.getId());
|
commentDetailRes.setPublishId(publishVo.getId());
|
||||||
|
|
||||||
List<CommentVo> commentVoList = publishCommentService.getComment(commentDetailRes).getData();
|
List<CommentVo> commentVoList = publishCommentService.getComment(commentDetailRes).getData();
|
||||||
personHomeVo.setCommentList(commentVoList);
|
personHomeVo.setCommentList(commentVoList);
|
||||||
|
@ -309,7 +343,7 @@ public class PublishServiceImpl extends ServiceImpl<PublishMapper, Publish> impl
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (publishCollect.getDelFlag().equals("0")) {
|
if ("0".equals(publishCollect.getDelFlag())) {
|
||||||
publishCollect.setDelFlag("2");
|
publishCollect.setDelFlag("2");
|
||||||
} else {
|
} else {
|
||||||
publishCollect.setDelFlag("0");
|
publishCollect.setDelFlag("0");
|
||||||
|
@ -326,7 +360,7 @@ public class PublishServiceImpl extends ServiceImpl<PublishMapper, Publish> impl
|
||||||
communityAdvice.setTenantId(publish.getTenantId());
|
communityAdvice.setTenantId(publish.getTenantId());
|
||||||
communityAdvice.setCommunityId(publish.getCommunityId());
|
communityAdvice.setCommunityId(publish.getCommunityId());
|
||||||
communityAdvice.setSendUserId(SecurityUtils.getUserId());
|
communityAdvice.setSendUserId(SecurityUtils.getUserId());
|
||||||
communityAdvice.setAdviceType(AdviceConstant.COMMUNITY_NOTICE);
|
communityAdvice.setAdviceType(AdviceConstant.LIKE);
|
||||||
communityAdvice.setUserId(publish.getUserId());
|
communityAdvice.setUserId(publish.getUserId());
|
||||||
communityAdvice.setContent(StringUtils.format("{}收藏了你发布的{}",
|
communityAdvice.setContent(StringUtils.format("{}收藏了你发布的{}",
|
||||||
SecurityUtils.getLoginUser().getUser().getNickName(), publish.getContent()));
|
SecurityUtils.getLoginUser().getUser().getNickName(), publish.getContent()));
|
||||||
|
@ -347,6 +381,64 @@ public class PublishServiceImpl extends ServiceImpl<PublishMapper, Publish> impl
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void reportPublish(PublishReportRes publishReportRes) {
|
||||||
|
Long tenantId = publishReportRes.getTenantId();
|
||||||
|
Long communityId = publishReportRes.getCommunityId();
|
||||||
|
Long publishId = publishReportRes.getPublishId();
|
||||||
|
|
||||||
|
CommunityUser communityUser = communityUserMapper.selectCommunityUser(tenantId, communityId, SecurityUtils.getUserId());
|
||||||
|
if (Objects.isNull(communityUser)) {
|
||||||
|
throw new ServiceException("您不是该社区成员", HttpStatus.SHOW_ERROR_MSG);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ("1".equals(communityUser.getIsBlack())) {
|
||||||
|
throw new ServiceException("您已被拉黑", HttpStatus.SHOW_ERROR_MSG);
|
||||||
|
}
|
||||||
|
|
||||||
|
Publish publish = publishMapper.selectByIdAndTenantIdAndCommunityId(publishId, tenantId, communityId);
|
||||||
|
|
||||||
|
if (Objects.isNull(publish)) {
|
||||||
|
throw new ServiceException("该内容不存在", HttpStatus.SHOW_ERROR_MSG);
|
||||||
|
}
|
||||||
|
|
||||||
|
PublishReport publishReport = BeanUtil.toBean(publishReportRes, PublishReport.class);
|
||||||
|
publishReport.setUserId(SecurityUtils.getUserId());
|
||||||
|
|
||||||
|
publishReportMapper.insertReport(publishReport);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Publish getLastPublish(Long tenantId, Long communityId) {
|
||||||
|
return baseMapper.getLastPublish(tenantId, communityId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public R<Object> removePublish(PublishRemoveRes publishRemoveRes) {
|
||||||
|
Long tenantId = publishRemoveRes.getTenantId();
|
||||||
|
Long communityId = publishRemoveRes.getCommunityId();
|
||||||
|
Long publishId = publishRemoveRes.getPublishId();
|
||||||
|
|
||||||
|
Long currentUserId = SecurityUtils.getUserId();
|
||||||
|
CommunityUser communityUser = communityUserMapper.selectCommunityUser(tenantId, communityId, currentUserId);
|
||||||
|
if (Objects.isNull(communityUser)) {
|
||||||
|
return R.fail(HttpStatus.SHOW_ERROR_MSG, "您不是该社区成员");
|
||||||
|
}
|
||||||
|
|
||||||
|
Publish publish = publishMapper.selectByIdAndTenantIdAndCommunityId(publishId, tenantId, communityId);
|
||||||
|
if (Objects.isNull(publish)) {
|
||||||
|
return R.fail(HttpStatus.SHOW_ERROR_MSG, "该内容不存在");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (publish.getUserId().equals(currentUserId) || publish.getUserId().equals(tenantId)) {
|
||||||
|
publishMapper.removePublish(publishRemoveRes);
|
||||||
|
} else {
|
||||||
|
return R.fail(HttpStatus.SHOW_ERROR_MSG, "您没有权限删除该内容");
|
||||||
|
}
|
||||||
|
return R.ok(HttpStatus.SHOW_ERROR_MSG, "删除成功");
|
||||||
|
}
|
||||||
|
|
||||||
private Page<Publish> initPage(PageDomain pageDomain) {
|
private Page<Publish> initPage(PageDomain pageDomain) {
|
||||||
return new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
|
return new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,8 +17,11 @@ import com.mcwl.communityCenter.domain.dto.*;
|
||||||
import com.mcwl.communityCenter.domain.vo.QuestionCommentVo;
|
import com.mcwl.communityCenter.domain.vo.QuestionCommentVo;
|
||||||
import com.mcwl.communityCenter.domain.vo.QuestionVo;
|
import com.mcwl.communityCenter.domain.vo.QuestionVo;
|
||||||
import com.mcwl.communityCenter.mapper.*;
|
import com.mcwl.communityCenter.mapper.*;
|
||||||
|
import com.mcwl.communityCenter.service.IncomeInfoService;
|
||||||
import com.mcwl.communityCenter.service.QuestionCommentService;
|
import com.mcwl.communityCenter.service.QuestionCommentService;
|
||||||
import com.mcwl.communityCenter.service.QuestionService;
|
import com.mcwl.communityCenter.service.QuestionService;
|
||||||
|
import com.mcwl.myInvitation.domain.Consume;
|
||||||
|
import com.mcwl.myInvitation.mapper.ConsumeMapper;
|
||||||
import com.mcwl.system.service.ISysUserService;
|
import com.mcwl.system.service.ISysUserService;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
@ -26,6 +29,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
|
@ -41,6 +45,10 @@ public class QuestionCommentServiceImpl extends ServiceImpl<QuestionCommentMappe
|
||||||
|
|
||||||
private final CommunityUserMapper communityUserMapper;
|
private final CommunityUserMapper communityUserMapper;
|
||||||
|
|
||||||
|
private final ConsumeMapper consumeMapper;
|
||||||
|
|
||||||
|
private final IncomeInfoService incomeInfoService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public R<Object> comment(QuestionCommentRes questionCommentRes) {
|
public R<Object> comment(QuestionCommentRes questionCommentRes) {
|
||||||
|
@ -74,7 +82,7 @@ public class QuestionCommentServiceImpl extends ServiceImpl<QuestionCommentMappe
|
||||||
communityAdvice.setTenantId(tenantId);
|
communityAdvice.setTenantId(tenantId);
|
||||||
communityAdvice.setCommunityId(communityId);
|
communityAdvice.setCommunityId(communityId);
|
||||||
communityAdvice.setSendUserId(SecurityUtils.getUserId());
|
communityAdvice.setSendUserId(SecurityUtils.getUserId());
|
||||||
communityAdvice.setAdviceType(AdviceConstant.COMMUNITY_NOTICE);
|
communityAdvice.setAdviceType(AdviceConstant.REPLY_ME);
|
||||||
communityAdvice.setUserId(question.getQuestionUserId());
|
communityAdvice.setUserId(question.getQuestionUserId());
|
||||||
communityAdvice.setTitle(StringUtils.format("{}回复{}",
|
communityAdvice.setTitle(StringUtils.format("{}回复{}",
|
||||||
SecurityUtils.getLoginUser().getUser().getNickName(),
|
SecurityUtils.getLoginUser().getUser().getNickName(),
|
||||||
|
@ -161,9 +169,30 @@ public class QuestionCommentServiceImpl extends ServiceImpl<QuestionCommentMappe
|
||||||
sysUserService.updateUser(sysUser);
|
sysUserService.updateUser(sysUser);
|
||||||
|
|
||||||
|
|
||||||
|
Consume consume = new Consume();
|
||||||
|
consume.setUserId(SecurityUtils.getUserId());
|
||||||
|
consume.setAmount(question.getAmount());
|
||||||
|
consume.setType(4);
|
||||||
|
consume.setWallet(sysUser.getWallet());
|
||||||
|
consumeMapper.insert(consume);
|
||||||
|
|
||||||
|
IncomeInfo incomeInfo = new IncomeInfo();
|
||||||
|
incomeInfo.setTenantId(tenantId);
|
||||||
|
incomeInfo.setCommunityId(communityId);
|
||||||
|
incomeInfo.setUserId(questionUserId);
|
||||||
|
incomeInfo.setType(1);
|
||||||
|
incomeInfo.setAmount(question.getAmount());
|
||||||
|
incomeInfoService.save(incomeInfo);
|
||||||
|
|
||||||
|
|
||||||
return R.ok();
|
return R.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<QuestionCommentVo> getComment(QuestionDetailRes questionDetailRes) {
|
||||||
|
|
||||||
|
return baseMapper.getComment(questionDetailRes);
|
||||||
|
}
|
||||||
|
|
||||||
private Page<QuestionComment> initPage(QuestionCommentPageRes questionCommentPageRes) {
|
private Page<QuestionComment> initPage(QuestionCommentPageRes questionCommentPageRes) {
|
||||||
|
|
||||||
|
|
|
@ -24,8 +24,11 @@ import com.mcwl.communityCenter.mapper.*;
|
||||||
import com.mcwl.communityCenter.service.CommunityService;
|
import com.mcwl.communityCenter.service.CommunityService;
|
||||||
import com.mcwl.communityCenter.service.QuestionCommentService;
|
import com.mcwl.communityCenter.service.QuestionCommentService;
|
||||||
import com.mcwl.communityCenter.service.QuestionService;
|
import com.mcwl.communityCenter.service.QuestionService;
|
||||||
|
import com.mcwl.myInvitation.domain.Consume;
|
||||||
|
import com.mcwl.myInvitation.mapper.ConsumeMapper;
|
||||||
import com.mcwl.system.service.ISysUserService;
|
import com.mcwl.system.service.ISysUserService;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
@ -52,6 +55,9 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
|
||||||
|
|
||||||
private final QuestionCommentService questionCommentService;
|
private final QuestionCommentService questionCommentService;
|
||||||
|
|
||||||
|
private final ConsumeMapper consumeMapper;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 添加问题
|
* 添加问题
|
||||||
*
|
*
|
||||||
|
@ -101,15 +107,23 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
|
||||||
sysUserService.updateUser(sysUser);
|
sysUserService.updateUser(sysUser);
|
||||||
|
|
||||||
|
|
||||||
CommunityAdvice communityAdvice = new CommunityAdvice();
|
Consume consume = new Consume();
|
||||||
communityAdvice.setTenantId(tenantId);
|
consume.setUserId(SecurityUtils.getUserId());
|
||||||
communityAdvice.setCommunityId(communityId);
|
consume.setAmount(-questionRes.getAmount());
|
||||||
communityAdvice.setSendUserId(SecurityUtils.getUserId());
|
consume.setType(4);
|
||||||
communityAdvice.setAdviceType(AdviceConstant.WAIT_ME_ANSWER);
|
consume.setWallet(sysUser.getWallet());
|
||||||
communityAdvice.setUserId(questionUserId);
|
consumeMapper.insert(consume);
|
||||||
communityAdvice.setTitle(StringUtils.format("{}向你提问:", SecurityUtils.getLoginUser().getUser().getNickName()));
|
|
||||||
communityAdvice.setContent(questionRes.getContent());
|
|
||||||
communityAdviceMapper.insert(communityAdvice);
|
// CommunityAdvice communityAdvice = new CommunityAdvice();
|
||||||
|
// communityAdvice.setTenantId(tenantId);
|
||||||
|
// communityAdvice.setCommunityId(communityId);
|
||||||
|
// communityAdvice.setSendUserId(SecurityUtils.getUserId());
|
||||||
|
// communityAdvice.setAdviceType(AdviceConstant.WAIT_ME_ANSWER);
|
||||||
|
// communityAdvice.setUserId(questionUserId);
|
||||||
|
// communityAdvice.setTitle(StringUtils.format("{}向你提问:", SecurityUtils.getLoginUser().getUser().getNickName()));
|
||||||
|
// communityAdvice.setContent(questionRes.getContent());
|
||||||
|
// communityAdviceMapper.insert(communityAdvice);
|
||||||
|
|
||||||
|
|
||||||
return R.ok();
|
return R.ok();
|
||||||
|
@ -121,22 +135,17 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
|
||||||
|
|
||||||
Page<Question> page = initPage(questionPageRes);
|
Page<Question> page = initPage(questionPageRes);
|
||||||
|
|
||||||
// baseMapper.list(page, questionPageRes.getTenantId(), questionPageRes.getCommunityId(), questionPageRes.getStatus());
|
List<QuestionVo> questionVoList = baseMapper.list(page, questionPageRes.getTenantId(), questionPageRes.getCommunityId());
|
||||||
baseMapper.list(page, questionPageRes.getTenantId(), questionPageRes.getCommunityId());
|
for (QuestionVo questionVo : questionVoList) {
|
||||||
|
|
||||||
// 获取分页数据
|
QuestionDetailRes questionDetailRes = new QuestionDetailRes();
|
||||||
List<Question> questionList = page.getRecords();
|
questionDetailRes.setTenantId(questionVo.getTenantId());
|
||||||
// Question数据转为QuestionVo
|
questionDetailRes.setCommunityId(questionVo.getCommunityId());
|
||||||
List<QuestionVo> questionVoList = new ArrayList<>();
|
questionDetailRes.setQuestionId(questionVo.getId());
|
||||||
for (Question question : questionList) {
|
|
||||||
QuestionVo questionVo = new QuestionVo();
|
|
||||||
BeanUtil.copyProperties(question, questionVo);
|
|
||||||
Long questionUserId = question.getQuestionUserId();
|
|
||||||
SysUser sysUser = sysUserService.selectUserById(questionUserId);
|
|
||||||
questionVo.setQuestionUserName(sysUser.getNickName());
|
|
||||||
questionVo.setQuestionUserAvatar(sysUser.getAvatar());
|
|
||||||
questionVoList.add(questionVo);
|
|
||||||
|
|
||||||
|
List<QuestionCommentVo> commentList = questionCommentService.getComment(questionDetailRes);
|
||||||
|
|
||||||
|
questionVo.setCommentList(commentList);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 封装分页信息
|
// 封装分页信息
|
||||||
|
@ -237,34 +246,40 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
|
||||||
@Override
|
@Override
|
||||||
public TableDataInfo myQuestionList(QuestionPageRes questionPageRes) {
|
public TableDataInfo myQuestionList(QuestionPageRes questionPageRes) {
|
||||||
Page<Question> page = initPage(questionPageRes);
|
Page<Question> page = initPage(questionPageRes);
|
||||||
List<Question> questionList = baseMapper.myQuestionList(page, questionPageRes, SecurityUtils.getUserId());
|
List<QuestionVo> questionList = baseMapper.myQuestionList(page, questionPageRes, SecurityUtils.getUserId());
|
||||||
List<PersonHomeVo> personHomeVoList = new ArrayList<>();
|
List<PersonHomeVo> personHomeVoList = new ArrayList<>();
|
||||||
for (Question question : questionList) {
|
for (QuestionVo questionVo : questionList) {
|
||||||
PersonHomeVo personHomeVo = BeanUtil.toBean(question, PersonHomeVo.class);
|
PersonHomeVo personHomeVo = BeanUtil.toBean(questionVo, PersonHomeVo.class);
|
||||||
personHomeVo.setImageUrl(question.getQuestionUrl());
|
|
||||||
|
|
||||||
List<CommentVo> commentList = new ArrayList<>();
|
Long questionUserId = questionVo.getQuestionUserId();
|
||||||
QuestionCommentPageRes questionCommentPageRes = new QuestionCommentPageRes();
|
String questionUserName = questionVo.getQuestionUserName();
|
||||||
questionCommentPageRes.setTenantId(questionPageRes.getTenantId());
|
String questionUserAvatar = questionVo.getQuestionUserAvatar();
|
||||||
questionCommentPageRes.setCommunityId(questionPageRes.getCommunityId());
|
String questionUrl = questionVo.getQuestionUrl();
|
||||||
questionCommentPageRes.setQuestionId(question.getId());
|
|
||||||
questionCommentPageRes.setPageNum(1);
|
personHomeVo.setUserId(questionUserId);
|
||||||
questionCommentPageRes.setPageSize(10);
|
personHomeVo.setUserName(questionUserName);
|
||||||
|
personHomeVo.setAvatar(questionUserAvatar);
|
||||||
|
personHomeVo.setImageUrl(questionUrl);
|
||||||
|
|
||||||
|
QuestionDetailRes questionDetailRes = new QuestionDetailRes();
|
||||||
|
questionDetailRes.setTenantId(questionVo.getTenantId());
|
||||||
|
questionDetailRes.setCommunityId(questionVo.getCommunityId());
|
||||||
|
questionDetailRes.setQuestionId(questionVo.getId());
|
||||||
|
|
||||||
|
List<QuestionCommentVo> questionCommentList = questionCommentService.getComment(questionDetailRes);
|
||||||
|
|
||||||
|
// List<QuestionCommentVo> questionCommentList = questionVo.getCommentList();
|
||||||
|
|
||||||
|
List<CommentVo> commentList = BeanUtil.copyToList(questionCommentList, CommentVo.class);
|
||||||
|
|
||||||
TableDataInfo tableDataInfo = questionCommentService.listByPage(questionCommentPageRes);
|
|
||||||
List<QuestionCommentVo> questionCommentList = (List<QuestionCommentVo>) tableDataInfo.getRows();
|
|
||||||
for (QuestionCommentVo questionCommentVo : questionCommentList) {
|
|
||||||
CommentVo commentVo = BeanUtil.toBean(questionCommentVo, CommentVo.class);
|
|
||||||
SysUser sysUser = sysUserService.selectUserById(questionCommentVo.getUserId());
|
|
||||||
commentVo.setUserName(sysUser.getNickName());
|
|
||||||
commentVo.setUserAvatar(sysUser.getAvatar());
|
|
||||||
commentList.add(commentVo);
|
|
||||||
}
|
|
||||||
personHomeVo.setCommentList(commentList);
|
personHomeVo.setCommentList(commentList);
|
||||||
|
|
||||||
personHomeVoList.add(personHomeVo);
|
personHomeVoList.add(personHomeVo);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 封装分页信息
|
// 封装分页信息
|
||||||
TableDataInfo rspData = new TableDataInfo();
|
TableDataInfo rspData = new TableDataInfo();
|
||||||
rspData.setCode(HttpStatus.SUCCESS);
|
rspData.setCode(HttpStatus.SUCCESS);
|
||||||
|
|
|
@ -53,14 +53,12 @@
|
||||||
|
|
||||||
|
|
||||||
<select id="selectCommunityPublishNum" resultMap="CommunityPublishNumMap">
|
<select id="selectCommunityPublishNum" resultMap="CommunityPublishNumMap">
|
||||||
select p.community_id as id, COALESCE(count(*), 0) as publish_num
|
SELECT p.community_id AS id, COALESCE(count(p.id), 0) AS publish_num
|
||||||
from cc_community c
|
FROM cc_community c
|
||||||
join cc_publish p on c.id = p.community_id
|
JOIN cc_publish p ON c.id = p.community_id and c.tenant_id = p.tenant_id
|
||||||
join cc_question q on c.id = q.community_id
|
WHERE c.del_flag = '0'
|
||||||
where c.del_flag = '0'
|
AND p.del_flag = '0'
|
||||||
and p.del_flag = '0'
|
GROUP BY p.community_id
|
||||||
and q.del_flag = '0'
|
|
||||||
group by p.community_id
|
|
||||||
</select>
|
</select>
|
||||||
<select id="selectPageByCommunityTag" resultType="com.mcwl.communityCenter.domain.Community">
|
<select id="selectPageByCommunityTag" resultType="com.mcwl.communityCenter.domain.Community">
|
||||||
select
|
select
|
||||||
|
@ -91,28 +89,13 @@
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
<select id="getMyJoinCommunity" resultType="com.mcwl.communityCenter.domain.Community">
|
<select id="getMyJoinCommunity" resultType="com.mcwl.communityCenter.domain.Community">
|
||||||
select c.id,
|
select c.*
|
||||||
c.tenant_id,
|
|
||||||
c.image_url,
|
|
||||||
c.community_name,
|
|
||||||
c.description,
|
|
||||||
c.community_tag,
|
|
||||||
c.type,
|
|
||||||
c.price,
|
|
||||||
c.validity_day,
|
|
||||||
c.create_by,
|
|
||||||
c.create_time,
|
|
||||||
c.update_by,
|
|
||||||
c.update_time
|
|
||||||
from cc_community c
|
from cc_community c
|
||||||
join cc_community_user cu on c.id = cu.community_id
|
join cc_community_user cu on c.id = cu.community_id
|
||||||
where cu.user_id = #{userId}
|
where cu.user_id = #{userId}
|
||||||
and c.del_flag = '0'
|
and c.del_flag = '0'
|
||||||
and cu.del_flag = '0'
|
and cu.del_flag = '0'
|
||||||
<if test="joinCommunityListPageRes.isMyCreate == 1">
|
<if test="joinCommunityListPageRes.isMyCreate != 1">
|
||||||
and c.tenant_id = #{userId}
|
|
||||||
</if>
|
|
||||||
<if test="joinCommunityListPageRes.isMyCreate == 0">
|
|
||||||
and c.tenant_id != #{userId}
|
and c.tenant_id != #{userId}
|
||||||
</if>
|
</if>
|
||||||
<if test="joinCommunityListPageRes.searchContent != null and joinCommunityListPageRes.searchContent != ''">
|
<if test="joinCommunityListPageRes.searchContent != null and joinCommunityListPageRes.searchContent != ''">
|
||||||
|
@ -120,4 +103,11 @@
|
||||||
or c.description like concat('%', #{joinCommunityListPageRes.searchContent}, '%'))
|
or c.description like concat('%', #{joinCommunityListPageRes.searchContent}, '%'))
|
||||||
</if>
|
</if>
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getCommunity" resultType="com.mcwl.communityCenter.domain.Community">
|
||||||
|
select *
|
||||||
|
from cc_community
|
||||||
|
where id = #{communityId}
|
||||||
|
and tenant_id = #{tenantId}
|
||||||
|
and del_flag = '0'
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
|
@ -104,6 +104,7 @@
|
||||||
and ((CONVERT_TZ(NOW(), 'SYSTEM', '+08:00') >= start_time
|
and ((CONVERT_TZ(NOW(), 'SYSTEM', '+08:00') >= start_time
|
||||||
AND CONVERT_TZ(NOW(), 'SYSTEM', '+08:00') <= end_time) or (start_time is null and end_time is null))
|
AND CONVERT_TZ(NOW(), 'SYSTEM', '+08:00') <= end_time) or (start_time is null and end_time is null))
|
||||||
and (black_end_time is null or NOW() >= black_end_time)
|
and (black_end_time is null or NOW() >= black_end_time)
|
||||||
|
and del_flag = '0';
|
||||||
</select>
|
</select>
|
||||||
<select id="getAllCommunityUser" resultType="com.mcwl.communityCenter.domain.CommunityUser">
|
<select id="getAllCommunityUser" resultType="com.mcwl.communityCenter.domain.CommunityUser">
|
||||||
select id,
|
select id,
|
||||||
|
@ -123,4 +124,27 @@
|
||||||
and ((CONVERT_TZ(NOW(), 'SYSTEM', '+08:00') >= start_time
|
and ((CONVERT_TZ(NOW(), 'SYSTEM', '+08:00') >= start_time
|
||||||
AND CONVERT_TZ(NOW(), 'SYSTEM', '+08:00') <= end_time) or (start_time is null and end_time is null))
|
AND CONVERT_TZ(NOW(), 'SYSTEM', '+08:00') <= end_time) or (start_time is null and end_time is null))
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getExpireTime" resultType="java.util.Date">
|
||||||
|
select end_time
|
||||||
|
from cc_community_user
|
||||||
|
where tenant_id = #{tenantId}
|
||||||
|
and community_id = #{communityId}
|
||||||
|
and user_id = #{userId}
|
||||||
|
and ((CONVERT_TZ(NOW(), 'SYSTEM', '+08:00') >= start_time
|
||||||
|
AND CONVERT_TZ(NOW(), 'SYSTEM', '+08:00') <= end_time) or (start_time is null and end_time is null))
|
||||||
|
and del_flag = '0';
|
||||||
|
</select>
|
||||||
|
<select id="getCommunityUserAvatar" resultType="java.lang.String">
|
||||||
|
select u.avatar
|
||||||
|
from cc_community_user cu
|
||||||
|
left join sys_user u on cu.user_id = u.user_id
|
||||||
|
where cu.tenant_id = #{tenantId}
|
||||||
|
and cu.community_id = #{communityId}
|
||||||
|
and ((CONVERT_TZ(NOW(), 'SYSTEM', '+08:00') >= cu.start_time
|
||||||
|
AND CONVERT_TZ(NOW(), 'SYSTEM', '+08:00') <= cu.end_time) or
|
||||||
|
(cu.start_time is null and cu.end_time is null))
|
||||||
|
and cu.del_flag = '0'
|
||||||
|
order by cu.create_time desc
|
||||||
|
limit 5
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
|
@ -9,7 +9,7 @@
|
||||||
SELECT SUM(IF(DATE(create_time) = CURDATE(), amount, 0)) AS today_income,
|
SELECT SUM(IF(DATE(create_time) = CURDATE(), amount, 0)) AS today_income,
|
||||||
SUM(IF(DATE(create_time) = CURDATE() - INTERVAL 1 DAY, amount, 0)) AS yesterday_income
|
SUM(IF(DATE(create_time) = CURDATE() - INTERVAL 1 DAY, amount, 0)) AS yesterday_income
|
||||||
FROM cc_income_info
|
FROM cc_income_info
|
||||||
WHERE tenant_id = #{userId}
|
WHERE user_id = #{userId}
|
||||||
AND type = 0
|
AND type = 0
|
||||||
AND del_flag = '0'
|
AND del_flag = '0'
|
||||||
</select>
|
</select>
|
||||||
|
@ -18,14 +18,14 @@
|
||||||
SELECT SUM(IF(DATE(create_time) = CURDATE(), amount, 0)) AS today_income,
|
SELECT SUM(IF(DATE(create_time) = CURDATE(), amount, 0)) AS today_income,
|
||||||
SUM(IF(DATE(create_time) = CURDATE() - INTERVAL 1 DAY, amount, 0)) AS yesterday_income
|
SUM(IF(DATE(create_time) = CURDATE() - INTERVAL 1 DAY, amount, 0)) AS yesterday_income
|
||||||
FROM cc_income_info
|
FROM cc_income_info
|
||||||
WHERE tenant_id = #{userId}
|
WHERE user_id = #{userId}
|
||||||
AND type = 1
|
AND type = 1
|
||||||
AND del_flag = '0'
|
AND del_flag = '0'
|
||||||
</select>
|
</select>
|
||||||
<select id="totalIncome" resultType="java.lang.Double">
|
<select id="totalIncome" resultType="java.lang.Double">
|
||||||
SELECT SUM(amount)
|
SELECT SUM(amount)
|
||||||
FROM cc_income_info
|
FROM cc_income_info
|
||||||
WHERE del_flag = '0'
|
WHERE del_flag = '0' and user_id = #{userId}
|
||||||
</select>
|
</select>
|
||||||
<select id="incomeList" resultType="com.mcwl.communityCenter.domain.vo.IncomeInfoListVo">
|
<select id="incomeList" resultType="com.mcwl.communityCenter.domain.vo.IncomeInfoListVo">
|
||||||
SELECT u.nick_name as user_name,
|
SELECT u.nick_name as user_name,
|
||||||
|
@ -39,7 +39,7 @@
|
||||||
on ii.tenant_id = c.tenant_id
|
on ii.tenant_id = c.tenant_id
|
||||||
and ii.community_id = c.id
|
and ii.community_id = c.id
|
||||||
left join sys_user u on c.tenant_id = u.user_id
|
left join sys_user u on c.tenant_id = u.user_id
|
||||||
where ii.tenant_id = #{userId}
|
where ii.user_id = #{userId}
|
||||||
<if test="incomeInfoListPageRes.type != null ">
|
<if test="incomeInfoListPageRes.type != null ">
|
||||||
and ii.type = #{incomeInfoListPageRes.type}
|
and ii.type = #{incomeInfoListPageRes.type}
|
||||||
</if>
|
</if>
|
||||||
|
|
|
@ -17,17 +17,22 @@
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<select id="myCollectList" resultType="com.mcwl.communityCenter.domain.vo.PublishVo">
|
<select id="myCollectList" resultType="com.mcwl.communityCenter.domain.vo.PublishVo">
|
||||||
select p.*, IF(pc.id is not null, 1, 0) as is_collect
|
select p.*,
|
||||||
from cc_publish p left join cc_publish_collect pc
|
1 as is_collect,
|
||||||
on p.id = pc.publish_id
|
u.user_id,
|
||||||
and p.tenant_id = pc.tenant_id
|
u.avatar,
|
||||||
and p.community_id = pc.community_id
|
u.nick_name as user_name
|
||||||
<where>
|
from cc_publish p
|
||||||
and pc.tenant_id = #{myPublishCollectPageRes.tenantId}
|
left join cc_publish_collect pc
|
||||||
and pc.community_id = #{myPublishCollectPageRes.communityId}
|
on p.id = pc.publish_id
|
||||||
and pc.user_id = #{userId}
|
and p.tenant_id = pc.tenant_id
|
||||||
and pc.del_flag = '0'
|
and p.community_id = pc.community_id
|
||||||
</where>
|
left join sys_user u on p.user_id = u.user_id
|
||||||
|
where pc.tenant_id = #{myPublishCollectPageRes.tenantId}
|
||||||
|
and pc.community_id = #{myPublishCollectPageRes.communityId}
|
||||||
|
and pc.user_id = #{userId}
|
||||||
|
and pc.del_flag = '0'
|
||||||
|
and p.del_flag = '0'
|
||||||
</select>
|
</select>
|
||||||
<select id="getPublishCollect" resultType="com.mcwl.communityCenter.domain.PublishCollect">
|
<select id="getPublishCollect" resultType="com.mcwl.communityCenter.domain.PublishCollect">
|
||||||
select *
|
select *
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
set del_flag = #{publishCommentLike.delFlag}
|
set del_flag = #{publishCommentLike.delFlag}
|
||||||
where tenant_id = #{publishCommentLike.tenantId}
|
where tenant_id = #{publishCommentLike.tenantId}
|
||||||
and community_id = #{publishCommentLike.communityId}
|
and community_id = #{publishCommentLike.communityId}
|
||||||
and comment_id = #{publishCommentLike.publishCommentId}
|
and publish_comment_id = #{publishCommentLike.publishCommentId}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<select id="selectByTenantIdAndCommunityIdAndCommentId"
|
<select id="selectByTenantIdAndCommunityIdAndCommentId"
|
||||||
|
@ -16,14 +16,23 @@
|
||||||
select * from cc_publish_comment_like
|
select * from cc_publish_comment_like
|
||||||
where tenant_id = #{tenantId}
|
where tenant_id = #{tenantId}
|
||||||
and community_id = #{communityId}
|
and community_id = #{communityId}
|
||||||
and comment_id = #{commentId}
|
and publish_comment_id = #{commentId}
|
||||||
</select>
|
</select>
|
||||||
<select id="selectLike" resultType="com.mcwl.communityCenter.domain.PublishCommentLike">
|
<select id="selectLike" resultType="com.mcwl.communityCenter.domain.PublishCommentLike">
|
||||||
select * from cc_publish_comment_like
|
select * from cc_publish_comment_like
|
||||||
where tenant_id = #{publishCommentLikeRes.tenantId}
|
where tenant_id = #{publishCommentLikeRes.tenantId}
|
||||||
and community_id = #{publishCommentLikeRes.communityId}
|
and community_id = #{publishCommentLikeRes.communityId}
|
||||||
and publish_id = #{publishCommentLikeRes.publishId}
|
and publish_id = #{publishCommentLikeRes.publishId}
|
||||||
and comment_id = #{publishCommentLikeRes.commentId}
|
and publish_comment_id = #{publishCommentLikeRes.commentId}
|
||||||
and user_id = #{userId}
|
and user_id = #{userId}
|
||||||
</select>
|
</select>
|
||||||
|
<select id="publishCommentLike" resultType="com.mcwl.communityCenter.domain.PublishCommentLike">
|
||||||
|
select *
|
||||||
|
from cc_publish_comment_like
|
||||||
|
where tenant_id = #{commentLikeDetailRes.tenantId}
|
||||||
|
and community_id = #{commentLikeDetailRes.communityId}
|
||||||
|
and publish_id = #{commentLikeDetailRes.publishId}
|
||||||
|
and publish_comment_id = #{commentLikeDetailRes.publishCommentId}
|
||||||
|
and user_id = #{userId}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
|
@ -5,13 +5,34 @@
|
||||||
<mapper namespace="com.mcwl.communityCenter.mapper.PublishCommentMapper">
|
<mapper namespace="com.mcwl.communityCenter.mapper.PublishCommentMapper">
|
||||||
<update id="deleteByIdAndTenantIdAndCommunityIdAndOperatorId">
|
<update id="deleteByIdAndTenantIdAndCommunityIdAndOperatorId">
|
||||||
update cc_publish_comment set del_flag = '2'
|
update cc_publish_comment set del_flag = '2'
|
||||||
where tenant_id = #{tenantId}
|
where id = #{id}
|
||||||
|
and tenant_id = #{tenantId}
|
||||||
and community_id = #{communityId}
|
and community_id = #{communityId}
|
||||||
and publish_id = #{operatorId}
|
and publish_id = #{publishId}
|
||||||
and type = 0
|
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<select id="selectByTenantIdAndCommunityIdAndOperatorId"
|
<select id="selectByTenantIdAndCommunityIdAndPublishIdList"
|
||||||
|
resultType="com.mcwl.communityCenter.domain.PublishComment">
|
||||||
|
select pm1.id,
|
||||||
|
pm1.tenant_id,
|
||||||
|
pm1.community_id,
|
||||||
|
pm1.publish_id,
|
||||||
|
pm1.user_id,
|
||||||
|
pm1.content,
|
||||||
|
pm1.parent_id,
|
||||||
|
pm1.like_num,
|
||||||
|
pm1.create_time
|
||||||
|
from cc_publish_comment pm1 left join cc_publish_comment pm2 on pm1.parent_id = pm2.id
|
||||||
|
where pm1.tenant_id = #{tenantId}
|
||||||
|
and pm1.community_id = #{communityId}
|
||||||
|
and pm1.publish_id = #{publishId}
|
||||||
|
and pm1.del_flag = '0'
|
||||||
|
AND (pm2.del_flag = 0 OR pm2.id IS NULL)
|
||||||
|
order by create_time
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
<select id="selectByIdAndTenantIdAndCommunityIdAndPublishId"
|
||||||
resultType="com.mcwl.communityCenter.domain.PublishComment">
|
resultType="com.mcwl.communityCenter.domain.PublishComment">
|
||||||
select id,
|
select id,
|
||||||
tenant_id,
|
tenant_id,
|
||||||
|
@ -20,34 +41,14 @@
|
||||||
user_id,
|
user_id,
|
||||||
content,
|
content,
|
||||||
parent_id,
|
parent_id,
|
||||||
type,
|
|
||||||
like_num,
|
like_num,
|
||||||
create_time
|
create_time
|
||||||
from cc_publish_comment
|
from cc_publish_comment
|
||||||
where tenant_id = #{tenantId}
|
where id = #{id}
|
||||||
|
and tenant_id = #{tenantId}
|
||||||
and community_id = #{communityId}
|
and community_id = #{communityId}
|
||||||
and publish_id = #{operatorId}
|
and publish_id = #{publishId}
|
||||||
and type = 0
|
|
||||||
and del_flag = '0'
|
and del_flag = '0'
|
||||||
order by create_time
|
order by create_time
|
||||||
</select>
|
</select>
|
||||||
<select id="selectByIdAndTenantIdAndCommunityIdAndOperatorId"
|
|
||||||
resultType="com.mcwl.communityCenter.domain.PublishComment">
|
|
||||||
select id,
|
|
||||||
tenant_id,
|
|
||||||
community_id,
|
|
||||||
publish_id,
|
|
||||||
user_id,
|
|
||||||
content,
|
|
||||||
parent_id,
|
|
||||||
type,
|
|
||||||
like_num,
|
|
||||||
create_time
|
|
||||||
from cc_publish_comment
|
|
||||||
where tenant_id = #{tenantId}
|
|
||||||
and community_id = #{communityId}
|
|
||||||
and publish_id = #{operatorId}
|
|
||||||
and type = 0
|
|
||||||
and del_flag = '0'
|
|
||||||
</select>
|
|
||||||
</mapper>
|
</mapper>
|
|
@ -5,15 +5,33 @@
|
||||||
<mapper namespace="com.mcwl.communityCenter.mapper.PublishMapper">
|
<mapper namespace="com.mcwl.communityCenter.mapper.PublishMapper">
|
||||||
<insert id="insertPublish">
|
<insert id="insertPublish">
|
||||||
insert into cc_publish
|
insert into cc_publish
|
||||||
(tenant_id, community_id, user_id, content, image_url, file_url, file_name, publish_time)
|
(tenant_id, community_id, user_id, content, image_url, file_url, file_name, publish_time, create_time)
|
||||||
values (#{publish.tenantId}, #{publish.communityId}, #{publish.userId}, #{publish.content}, #{publish.imageUrl},
|
values (#{publish.tenantId}, #{publish.communityId}, #{publish.userId}, #{publish.content}, #{publish.imageUrl},
|
||||||
#{publish.fileUrl}, #{publish.fileName}, #{publish.publishTime})
|
#{publish.fileUrl}, #{publish.fileName}, #{publish.publishTime}, now())
|
||||||
</insert>
|
</insert>
|
||||||
<update id="elitePublish">
|
<update id="elitePublish">
|
||||||
update cc_publish
|
update cc_publish
|
||||||
set is_elite = !is_elite
|
set is_elite = !is_elite
|
||||||
where community_id = #{communityId}
|
where community_id = #{communityId}
|
||||||
and id = #{publishId}
|
and id = #{publishId}
|
||||||
|
and tenant_id = #{tenantId}
|
||||||
|
and del_flag = '0'
|
||||||
|
</update>
|
||||||
|
<update id="removePublish">
|
||||||
|
update cc_publish
|
||||||
|
set del_flag = '2'
|
||||||
|
where tenant_id = #{publishRemoveRes.tenantId}
|
||||||
|
and community_id = #{publishRemoveRes.communityId}
|
||||||
|
and id = #{publishRemoveRes.publishId}
|
||||||
|
and del_flag = '0'
|
||||||
|
</update>
|
||||||
|
<update id="updateLikeNum">
|
||||||
|
update cc_publish
|
||||||
|
set like_num = #{publish.likeNum}
|
||||||
|
where tenant_id = #{publish.tenantId}
|
||||||
|
and community_id = #{publish.communityId}
|
||||||
|
and id = #{publish.id}
|
||||||
|
and del_flag = '0'
|
||||||
</update>
|
</update>
|
||||||
<select id="selectByTenantIdAndCommunityIdPage" resultType="com.mcwl.communityCenter.domain.Publish">
|
<select id="selectByTenantIdAndCommunityIdPage" resultType="com.mcwl.communityCenter.domain.Publish">
|
||||||
select id,
|
select id,
|
||||||
|
@ -96,30 +114,38 @@
|
||||||
and del_flag = '0'
|
and del_flag = '0'
|
||||||
and file_url is not null
|
and file_url is not null
|
||||||
</select>
|
</select>
|
||||||
<select id="publishList" resultType="com.mcwl.communityCenter.domain.Publish">
|
<select id="publishList" resultType="com.mcwl.communityCenter.domain.vo.PublishVo">
|
||||||
select *
|
select p.*, u.nick_name as user_name, u.avatar
|
||||||
from cc_publish
|
from cc_publish p
|
||||||
|
left join sys_user u on p.user_id = u.user_id
|
||||||
<where>
|
<where>
|
||||||
and tenant_id = #{publishPageRes.tenantId}
|
and p.tenant_id = #{publishPageRes.tenantId}
|
||||||
and community_id = #{publishPageRes.communityId}
|
and p.community_id = #{publishPageRes.communityId}
|
||||||
and del_flag = '0'
|
and p.del_flag = '0'
|
||||||
<if test="publishPageRes.type != null">
|
<if test="publishPageRes.type != null">
|
||||||
<if test="publishPageRes.type == 0">
|
<if test="publishPageRes.type == 0">
|
||||||
and user_id = #{publishPageRes.tenantId}
|
and p.user_id = #{publishPageRes.tenantId}
|
||||||
</if>
|
</if>
|
||||||
<if test="publishPageRes.type == 1">
|
<if test="publishPageRes.type == 1">
|
||||||
and is_elite = 1
|
and p.is_elite = 1
|
||||||
</if>
|
</if>
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
order by create_time desc
|
order by p.create_time desc
|
||||||
</select>
|
</select>
|
||||||
<select id="myPublishList" resultType="com.mcwl.communityCenter.domain.vo.PublishVo">
|
<select id="myPublishList" resultType="com.mcwl.communityCenter.domain.vo.PublishVo">
|
||||||
select p.*, IF(pc.id is not null, 1, 0) as is_collect
|
select p.*, u.user_id, u.nick_name as user_name, u.avatar,
|
||||||
|
IF(pc.del_flag = '0', 1, 0) as is_collect,
|
||||||
|
IF(pl.del_flag = '0', 1, 0) as is_like
|
||||||
from cc_publish p left join cc_publish_collect pc
|
from cc_publish p left join cc_publish_collect pc
|
||||||
on p.id = pc.publish_id
|
on p.id = pc.publish_id
|
||||||
and p.tenant_id = pc.tenant_id
|
and p.tenant_id = pc.tenant_id
|
||||||
and p.community_id = pc.community_id
|
and p.community_id = pc.community_id
|
||||||
|
left join cc_publish_like pl
|
||||||
|
on pl.tenant_id = p.tenant_id
|
||||||
|
and pl.community_id = p.community_id
|
||||||
|
and pl.publish_id = p.id
|
||||||
|
left join sys_user u on p.user_id = u.user_id
|
||||||
<where>
|
<where>
|
||||||
and p.tenant_id = #{myPublishPageRes.tenantId}
|
and p.tenant_id = #{myPublishPageRes.tenantId}
|
||||||
and p.community_id = #{myPublishPageRes.communityId}
|
and p.community_id = #{myPublishPageRes.communityId}
|
||||||
|
@ -127,4 +153,13 @@
|
||||||
and p.del_flag = '0'
|
and p.del_flag = '0'
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getLastPublish" resultType="com.mcwl.communityCenter.domain.Publish">
|
||||||
|
select *
|
||||||
|
from cc_publish
|
||||||
|
where tenant_id = #{tenantId}
|
||||||
|
and community_id = #{communityId}
|
||||||
|
and del_flag = '0'
|
||||||
|
order by create_time desc
|
||||||
|
limit 1
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
|
@ -0,0 +1,12 @@
|
||||||
|
<?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.PublishReportMapper">
|
||||||
|
|
||||||
|
<insert id="insertReport">
|
||||||
|
INSERT INTO cc_report(tenant_id, community_id, publish_id, user_id, report_type, content)
|
||||||
|
VALUES (#{publishReport.tenantId}, #{publishReport.communityId}, #{publishReport.publishId},
|
||||||
|
#{publishReport.userId}, #{publishReport.reportType}, #{publishReport.content})
|
||||||
|
</insert>
|
||||||
|
</mapper>
|
|
@ -25,4 +25,15 @@
|
||||||
and question_id = #{questionId}
|
and question_id = #{questionId}
|
||||||
and del_flag = '0'
|
and del_flag = '0'
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getComment" resultType="com.mcwl.communityCenter.domain.vo.QuestionCommentVo">
|
||||||
|
select qm.*, u.nick_name as user_name, u.avatar
|
||||||
|
from cc_question_comment qm
|
||||||
|
left join sys_user u on qm.user_id = u.user_id
|
||||||
|
where qm.tenant_id = #{questionDetailRes.tenantId}
|
||||||
|
and qm.community_id = #{questionDetailRes.communityId}
|
||||||
|
and qm.question_id = #{questionDetailRes.questionId}
|
||||||
|
and qm.del_flag = '0'
|
||||||
|
order by qm.is_accept desc, qm.create_time desc
|
||||||
|
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
|
@ -5,34 +5,16 @@
|
||||||
<mapper namespace="com.mcwl.communityCenter.mapper.QuestionMapper">
|
<mapper namespace="com.mcwl.communityCenter.mapper.QuestionMapper">
|
||||||
|
|
||||||
|
|
||||||
<select id="list" resultType="com.mcwl.communityCenter.domain.Question">
|
<select id="list" resultType="com.mcwl.communityCenter.domain.vo.QuestionVo">
|
||||||
select id,
|
select q.*, u.nick_name as questionUserName, u.avatar as questionUserAvatar
|
||||||
tenant_id,
|
from cc_question q left join sys_user u on q.question_user_id = u.user_id
|
||||||
community_id,
|
where q.del_flag = '0'
|
||||||
question_user_id,
|
|
||||||
content,
|
|
||||||
question_url,
|
|
||||||
is_anonymous,
|
|
||||||
amount,
|
|
||||||
status,
|
|
||||||
type
|
|
||||||
from cc_question
|
|
||||||
where del_flag = '0'
|
|
||||||
and tenant_id = #{tenantId}
|
and tenant_id = #{tenantId}
|
||||||
and community_id = #{communityId}
|
and community_id = #{communityId}
|
||||||
order by amount desc, create_time desc
|
order by q.create_time desc, amount desc
|
||||||
</select>
|
</select>
|
||||||
<select id="selectByIdAndTenantIdAndCommunityId" resultType="com.mcwl.communityCenter.domain.Question">
|
<select id="selectByIdAndTenantIdAndCommunityId" resultType="com.mcwl.communityCenter.domain.Question">
|
||||||
select id,
|
select *
|
||||||
tenant_id,
|
|
||||||
community_id,
|
|
||||||
question_user_id,
|
|
||||||
content,
|
|
||||||
question_url,
|
|
||||||
is_anonymous,
|
|
||||||
amount,
|
|
||||||
status,
|
|
||||||
type
|
|
||||||
from cc_question
|
from cc_question
|
||||||
where id = #{id}
|
where id = #{id}
|
||||||
and tenant_id = #{tenantId}
|
and tenant_id = #{tenantId}
|
||||||
|
@ -40,16 +22,7 @@
|
||||||
and del_flag = '0'
|
and del_flag = '0'
|
||||||
</select>
|
</select>
|
||||||
<select id="listImage" resultType="com.mcwl.communityCenter.domain.Question">
|
<select id="listImage" resultType="com.mcwl.communityCenter.domain.Question">
|
||||||
select id,
|
select *
|
||||||
tenant_id,
|
|
||||||
community_id,
|
|
||||||
question_user_id,
|
|
||||||
content,
|
|
||||||
question_url,
|
|
||||||
is_anonymous,
|
|
||||||
amount,
|
|
||||||
status,
|
|
||||||
type
|
|
||||||
from cc_question
|
from cc_question
|
||||||
where del_flag = '0'
|
where del_flag = '0'
|
||||||
and tenant_id = #{tenantId}
|
and tenant_id = #{tenantId}
|
||||||
|
@ -57,10 +30,11 @@
|
||||||
and question_url is not null
|
and question_url is not null
|
||||||
order by amount desc, create_time desc
|
order by amount desc, create_time desc
|
||||||
</select>
|
</select>
|
||||||
<select id="myQuestionList" resultType="com.mcwl.communityCenter.domain.Question">
|
<select id="myQuestionList" resultType="com.mcwl.communityCenter.domain.vo.QuestionVo">
|
||||||
select *
|
select q.*, u.nick_name as questionUserName, u.avatar as questionUserAvatar
|
||||||
from cc_question
|
from cc_question q
|
||||||
where del_flag = '0'
|
left join sys_user u on q.question_user_id = u.user_id
|
||||||
|
where q.del_flag = '0'
|
||||||
and tenant_id = #{questionPageRes.tenantId}
|
and tenant_id = #{questionPageRes.tenantId}
|
||||||
and community_id = #{questionPageRes.communityId}
|
and community_id = #{questionPageRes.communityId}
|
||||||
and question_user_id = #{userId}
|
and question_user_id = #{userId}
|
||||||
|
|
|
@ -41,6 +41,7 @@ public class UserDetailsServiceImpl implements UserDetailsService, OtherUserDeta
|
||||||
@Override
|
@Override
|
||||||
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
|
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
|
||||||
SysUser user = null;
|
SysUser user = null;
|
||||||
|
log.info("当前num:{}",num);
|
||||||
if (num == 0 ){
|
if (num == 0 ){
|
||||||
user = userService.selectUserByUserName(username);
|
user = userService.selectUserByUserName(username);
|
||||||
}else {
|
}else {
|
||||||
|
@ -49,11 +50,14 @@ public class UserDetailsServiceImpl implements UserDetailsService, OtherUserDeta
|
||||||
|
|
||||||
if (StringUtils.isNull(user)) {
|
if (StringUtils.isNull(user)) {
|
||||||
log.info("登录用户:{} 不存在.", username);
|
log.info("登录用户:{} 不存在.", username);
|
||||||
|
num = 0;
|
||||||
throw new ServiceException(MessageUtils.message("user.not.exists"), HttpStatus.SHOW_ERROR_MSG);
|
throw new ServiceException(MessageUtils.message("user.not.exists"), HttpStatus.SHOW_ERROR_MSG);
|
||||||
} else if (UserStatus.DELETED.getCode().equals(user.getDelFlag())) {
|
} else if (UserStatus.DELETED.getCode().equals(user.getDelFlag())) {
|
||||||
|
num = 0;
|
||||||
log.info("登录用户:{} 已被删除.", username);
|
log.info("登录用户:{} 已被删除.", username);
|
||||||
throw new ServiceException(MessageUtils.message("user.password.delete"), HttpStatus.SHOW_ERROR_MSG);
|
throw new ServiceException(MessageUtils.message("user.password.delete"), HttpStatus.SHOW_ERROR_MSG);
|
||||||
} else if (UserStatus.DISABLE.getCode().equals(user.getStatus())) {
|
} else if (UserStatus.DISABLE.getCode().equals(user.getStatus())) {
|
||||||
|
num = 0;
|
||||||
log.info("登录用户:{} 已被停用.", username);
|
log.info("登录用户:{} 已被停用.", username);
|
||||||
throw new ServiceException(MessageUtils.message("user.blocked"), HttpStatus.SHOW_ERROR_MSG);
|
throw new ServiceException(MessageUtils.message("user.blocked"), HttpStatus.SHOW_ERROR_MSG);
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,6 +34,10 @@ public class CommissionRatio extends BaseEntity {
|
||||||
* 类型 0邀请人-被邀请人 1公司-商家
|
* 类型 0邀请人-被邀请人 1公司-商家
|
||||||
*/
|
*/
|
||||||
private Integer type;
|
private Integer type;
|
||||||
|
/**
|
||||||
|
* 描述
|
||||||
|
*/
|
||||||
|
private String description;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,12 +29,11 @@ public class Consume extends BaseEntity {
|
||||||
// 商品id
|
// 商品id
|
||||||
private Long productId;
|
private Long productId;
|
||||||
|
|
||||||
// 商品类型 0模型 1工作流 2图片
|
/**
|
||||||
|
* 商品类型 0模型 1工作流 2图片 3社区 4社区提问 5金币 6提现
|
||||||
|
*/
|
||||||
private Integer type;
|
private Integer type;
|
||||||
|
|
||||||
// 剩余金币
|
// 剩余金币
|
||||||
private Double wallet;
|
private Double wallet;
|
||||||
|
|
||||||
// 消费时间
|
|
||||||
private Date consumeDate;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,7 +31,7 @@ public class CommissionRatioVo {
|
||||||
*/
|
*/
|
||||||
private Double ratio;
|
private Double ratio;
|
||||||
/**
|
/**
|
||||||
* 提成类型,平台手续费、邀请人提成
|
* 提成类型,平台手续费、邀请人提成、星球手续费
|
||||||
*/
|
*/
|
||||||
private String ratioName;
|
private String ratioName;
|
||||||
|
|
||||||
|
|
|
@ -40,5 +40,5 @@ public class ConsumeVo {
|
||||||
// 消费时间
|
// 消费时间
|
||||||
@ApiModelProperty(value = "消费时间")
|
@ApiModelProperty(value = "消费时间")
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date consumeDate;
|
private Date createTime;
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,6 +49,7 @@ public class CommissionRatioServiceImpl extends ServiceImpl<CommissionRatioMappe
|
||||||
|
|
||||||
redisCache.deleteObject("CommissionRationInviterUser");
|
redisCache.deleteObject("CommissionRationInviterUser");
|
||||||
redisCache.deleteObject("CommissionRationMerchant");
|
redisCache.deleteObject("CommissionRationMerchant");
|
||||||
|
redisCache.deleteObject("CommissionRationCommunity");
|
||||||
|
|
||||||
return this.getCommissionRatioVo(commissionRatio);
|
return this.getCommissionRatioVo(commissionRatio);
|
||||||
}
|
}
|
||||||
|
@ -66,11 +67,7 @@ public class CommissionRatioServiceImpl extends ServiceImpl<CommissionRatioMappe
|
||||||
private CommissionRatioVo getCommissionRatioVo(CommissionRatio commissionRatio) {
|
private CommissionRatioVo getCommissionRatioVo(CommissionRatio commissionRatio) {
|
||||||
CommissionRatioVo vo = new CommissionRatioVo();
|
CommissionRatioVo vo = new CommissionRatioVo();
|
||||||
BeanUtil.copyProperties(commissionRatio, vo);
|
BeanUtil.copyProperties(commissionRatio, vo);
|
||||||
if (commissionRatio.getType() == 0) {
|
vo.setRatioName(commissionRatio.getDescription());
|
||||||
vo.setRatioName("平台手续费");
|
|
||||||
} else if (commissionRatio.getType() == 1) {
|
|
||||||
vo.setRatioName("邀请人提成");
|
|
||||||
}
|
|
||||||
return vo;
|
return vo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -62,7 +62,7 @@ public class ConsumeServiceImpl extends ServiceImpl<ConsumeMapper, Consume> impl
|
||||||
Long userId = SecurityUtils.getUserId();
|
Long userId = SecurityUtils.getUserId();
|
||||||
|
|
||||||
LambdaQueryWrapper<Consume> lqw = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<Consume> lqw = new LambdaQueryWrapper<>();
|
||||||
lqw.eq(Consume::getUserId, userId);
|
lqw.eq(Consume::getUserId, userId).orderByDesc(Consume::getCreateTime);
|
||||||
|
|
||||||
consumeMapper.selectPage(page, lqw);
|
consumeMapper.selectPage(page, lqw);
|
||||||
|
|
||||||
|
@ -81,6 +81,18 @@ public class ConsumeServiceImpl extends ServiceImpl<ConsumeMapper, Consume> impl
|
||||||
case 2:
|
case 2:
|
||||||
consumeVo.setProductName("图片");
|
consumeVo.setProductName("图片");
|
||||||
break;
|
break;
|
||||||
|
case 3:
|
||||||
|
consumeVo.setProductName("社区");
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
consumeVo.setProductName("社区提问");
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
consumeVo.setProductName("金币");
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
consumeVo.setProductName("提现");
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
consumeVoList.add(consumeVo);
|
consumeVoList.add(consumeVo);
|
||||||
|
|
||||||
|
|
|
@ -35,6 +35,8 @@ import com.mcwl.common.utils.ShareCodeUtils;
|
||||||
import com.mcwl.common.utils.StringUtils;
|
import com.mcwl.common.utils.StringUtils;
|
||||||
import com.mcwl.memberCenter.domain.MemberLevel;
|
import com.mcwl.memberCenter.domain.MemberLevel;
|
||||||
import com.mcwl.memberCenter.service.MemberLevelService;
|
import com.mcwl.memberCenter.service.MemberLevelService;
|
||||||
|
import com.mcwl.myInvitation.domain.Consume;
|
||||||
|
import com.mcwl.myInvitation.mapper.ConsumeMapper;
|
||||||
import com.mcwl.pay.config.AliConfig;
|
import com.mcwl.pay.config.AliConfig;
|
||||||
import com.mcwl.pay.domain.OrderTrade;
|
import com.mcwl.pay.domain.OrderTrade;
|
||||||
import com.mcwl.pay.domain.OrderTradeDto;
|
import com.mcwl.pay.domain.OrderTradeDto;
|
||||||
|
@ -92,6 +94,9 @@ public class AliPayServiceImpl implements AliPayService {
|
||||||
@Autowired
|
@Autowired
|
||||||
private OrderTradeService orderTradeService;
|
private OrderTradeService orderTradeService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ConsumeMapper consumeMapper;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ThreadPoolTaskExecutor threadPoolTaskExecutor;
|
private ThreadPoolTaskExecutor threadPoolTaskExecutor;
|
||||||
|
|
||||||
|
@ -153,7 +158,6 @@ public class AliPayServiceImpl implements AliPayService {
|
||||||
|
|
||||||
//调用支付宝的接口
|
//调用支付宝的接口
|
||||||
AlipayTradePrecreateResponse payResponse = Factory.Payment.FaceToFace()
|
AlipayTradePrecreateResponse payResponse = Factory.Payment.FaceToFace()
|
||||||
// 设置过期时间
|
|
||||||
.preCreate(memberLevel.getMemberName(),
|
.preCreate(memberLevel.getMemberName(),
|
||||||
tradeEntity.getCode(),
|
tradeEntity.getCode(),
|
||||||
orderTradeDto.getAmount().toString());
|
orderTradeDto.getAmount().toString());
|
||||||
|
@ -161,7 +165,6 @@ public class AliPayServiceImpl implements AliPayService {
|
||||||
if (Objects.nonNull(orderTradeDto.getPromotionId())) {
|
if (Objects.nonNull(orderTradeDto.getPromotionId())) {
|
||||||
redisCache.setCacheObject(tradeEntity.getCode() + "_promotionId", orderTradeDto.getPromotionId(), 15, TimeUnit.MINUTES);
|
redisCache.setCacheObject(tradeEntity.getCode() + "_promotionId", orderTradeDto.getPromotionId(), 15, TimeUnit.MINUTES);
|
||||||
}
|
}
|
||||||
// AlipayTradePrecreateResponse payResponse = Factory.Payment.FaceToFace().preCreate("订单主题:Mac笔记本", "LS123qwe123", "19999");
|
|
||||||
//参照官方文档响应示例,解析返回结果
|
//参照官方文档响应示例,解析返回结果
|
||||||
String httpBodyStr = payResponse.getHttpBody();
|
String httpBodyStr = payResponse.getHttpBody();
|
||||||
JSONObject jsonObject = JSONObject.parseObject(httpBodyStr);
|
JSONObject jsonObject = JSONObject.parseObject(httpBodyStr);
|
||||||
|
@ -537,6 +540,13 @@ public class AliPayServiceImpl implements AliPayService {
|
||||||
sysUser.setWallet(wallet.subtract(amountBigDecimal).setScale(2, RoundingMode.HALF_UP).doubleValue());
|
sysUser.setWallet(wallet.subtract(amountBigDecimal).setScale(2, RoundingMode.HALF_UP).doubleValue());
|
||||||
sysUserService.updateUser(sysUser);
|
sysUserService.updateUser(sysUser);
|
||||||
|
|
||||||
|
Consume consume = new Consume();
|
||||||
|
consume.setUserId(SecurityUtils.getUserId());
|
||||||
|
consume.setAmount(-Double.parseDouble(amount));
|
||||||
|
consume.setType(6);
|
||||||
|
consume.setWallet(sysUser.getWallet());
|
||||||
|
consumeMapper.insert(consume);
|
||||||
|
|
||||||
// 添加记录
|
// 添加记录
|
||||||
SysUserPayAccountLog sysUserPayAccountLog = new SysUserPayAccountLog();
|
SysUserPayAccountLog sysUserPayAccountLog = new SysUserPayAccountLog();
|
||||||
sysUserPayAccountLog.setUserId(sysUser.getUserId());
|
sysUserPayAccountLog.setUserId(sysUser.getUserId());
|
||||||
|
|
|
@ -26,6 +26,7 @@ import com.mcwl.memberCenter.service.RechargeRecordService;
|
||||||
import com.mcwl.myInvitation.domain.Commission;
|
import com.mcwl.myInvitation.domain.Commission;
|
||||||
import com.mcwl.myInvitation.domain.CommissionRatio;
|
import com.mcwl.myInvitation.domain.CommissionRatio;
|
||||||
import com.mcwl.myInvitation.domain.Consume;
|
import com.mcwl.myInvitation.domain.Consume;
|
||||||
|
import com.mcwl.myInvitation.mapper.ConsumeMapper;
|
||||||
import com.mcwl.myInvitation.service.CommissionRatioService;
|
import com.mcwl.myInvitation.service.CommissionRatioService;
|
||||||
import com.mcwl.myInvitation.service.CommissionService;
|
import com.mcwl.myInvitation.service.CommissionService;
|
||||||
import com.mcwl.myInvitation.service.ConsumeService;
|
import com.mcwl.myInvitation.service.ConsumeService;
|
||||||
|
@ -111,6 +112,9 @@ public class OrderTradeServiceImpl extends ServiceImpl<OrderTradeMapper, OrderTr
|
||||||
@Autowired
|
@Autowired
|
||||||
private RedisCache redisCache;
|
private RedisCache redisCache;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ConsumeMapper consumeMapper;
|
||||||
|
|
||||||
private static final Cache<String, Object> USER_LOCKS = CacheBuilder.newBuilder()
|
private static final Cache<String, Object> USER_LOCKS = CacheBuilder.newBuilder()
|
||||||
.expireAfterAccess(3, TimeUnit.MINUTES)
|
.expireAfterAccess(3, TimeUnit.MINUTES)
|
||||||
.build();
|
.build();
|
||||||
|
@ -170,7 +174,6 @@ public class OrderTradeServiceImpl extends ServiceImpl<OrderTradeMapper, OrderTr
|
||||||
consume.setProductId(productId);
|
consume.setProductId(productId);
|
||||||
consume.setType(productType);
|
consume.setType(productType);
|
||||||
consume.setWallet(sysUser.getWallet());
|
consume.setWallet(sysUser.getWallet());
|
||||||
consume.setConsumeDate(new Date());
|
|
||||||
consumeService.save(consume);
|
consumeService.save(consume);
|
||||||
|
|
||||||
//添加购买记录表
|
//添加购买记录表
|
||||||
|
@ -514,6 +517,13 @@ public class OrderTradeServiceImpl extends ServiceImpl<OrderTradeMapper, OrderTr
|
||||||
user.setWallet(walletDecimal.doubleValue());
|
user.setWallet(walletDecimal.doubleValue());
|
||||||
sysUserService.updateUser(user);
|
sysUserService.updateUser(user);
|
||||||
|
|
||||||
|
Consume consume = new Consume();
|
||||||
|
consume.setUserId(SecurityUtils.getUserId());
|
||||||
|
consume.setAmount(Double.parseDouble(amount));
|
||||||
|
consume.setType(5);
|
||||||
|
consume.setWallet(user.getWallet());
|
||||||
|
consumeMapper.insert(consume);
|
||||||
|
|
||||||
// 添加充值记录
|
// 添加充值记录
|
||||||
// RechargeRecord rechargeRecord = new RechargeRecord();
|
// RechargeRecord rechargeRecord = new RechargeRecord();
|
||||||
// rechargeRecord.setUserId(userId);
|
// rechargeRecord.setUserId(userId);
|
||||||
|
|
|
@ -26,6 +26,8 @@ public class PayTask {
|
||||||
List<OrderTrade> orderTradeList = orderTradeService.lambdaQuery()
|
List<OrderTrade> orderTradeList = orderTradeService.lambdaQuery()
|
||||||
.le(OrderTrade::getCreateTime, date)
|
.le(OrderTrade::getCreateTime, date)
|
||||||
.and(wrapper -> wrapper
|
.and(wrapper -> wrapper
|
||||||
|
.eq(OrderTrade::getOrderStatus, 1)
|
||||||
|
.or()
|
||||||
.eq(OrderTrade::getOrderStatus, 4)
|
.eq(OrderTrade::getOrderStatus, 4)
|
||||||
.or()
|
.or()
|
||||||
.eq(OrderTrade::getPayStatus, 1)
|
.eq(OrderTrade::getPayStatus, 1)
|
||||||
|
|
|
@ -3,6 +3,7 @@ package com.mcwl.system.mapper;
|
||||||
import com.mcwl.common.core.domain.entity.SysUser;
|
import com.mcwl.common.core.domain.entity.SysUser;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -149,4 +150,6 @@ public interface SysUserMapper
|
||||||
Integer getMonthUserCount();
|
Integer getMonthUserCount();
|
||||||
|
|
||||||
List<SysUser> selectAllList();
|
List<SysUser> selectAllList();
|
||||||
|
|
||||||
|
List<SysUser> selectUserByIds(@Param("userIds") Collection<Long> userIds);
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@ import com.mcwl.common.core.domain.AjaxResult;
|
||||||
import com.mcwl.common.core.domain.entity.SysUser;
|
import com.mcwl.common.core.domain.entity.SysUser;
|
||||||
import com.mcwl.system.domain.vo.UserDataVo;
|
import com.mcwl.system.domain.vo.UserDataVo;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -53,6 +54,14 @@ public interface ISysUserService
|
||||||
*/
|
*/
|
||||||
public SysUser selectUserById(Long userId);
|
public SysUser selectUserById(Long userId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过用户ID集合查询用户
|
||||||
|
*
|
||||||
|
* @param userIds 用户ID
|
||||||
|
* @return 用户对象信息
|
||||||
|
*/
|
||||||
|
public List<SysUser> selectUserByIds(Collection<Long> userIds);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据用户ID查询用户所属角色组
|
* 根据用户ID查询用户所属角色组
|
||||||
*
|
*
|
||||||
|
|
|
@ -38,6 +38,7 @@ import org.springframework.util.CollectionUtils;
|
||||||
import javax.validation.Validator;
|
import javax.validation.Validator;
|
||||||
import java.security.SecureRandom;
|
import java.security.SecureRandom;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
@ -160,6 +161,20 @@ public class SysUserServiceImpl implements ISysUserService
|
||||||
return userMapper.selectUserById(userId);
|
return userMapper.selectUserById(userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过用户ID集合查询用户
|
||||||
|
*
|
||||||
|
* @param userIds 用户ID
|
||||||
|
* @return 用户对象信息
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<SysUser> selectUserByIds(Collection<Long> userIds) {
|
||||||
|
if (userIds == null || userIds.isEmpty()) {
|
||||||
|
return Collections.emptyList();
|
||||||
|
}
|
||||||
|
return userMapper.selectUserByIds(userIds);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询用户所属角色组
|
* 查询用户所属角色组
|
||||||
*
|
*
|
||||||
|
|
|
@ -196,8 +196,15 @@
|
||||||
from sys_user
|
from sys_user
|
||||||
where del_flag = '0'
|
where del_flag = '0'
|
||||||
</select>
|
</select>
|
||||||
|
<select id="selectUserByIds" resultType="com.mcwl.common.core.domain.entity.SysUser">
|
||||||
|
<include refid="selectUserVo"/>
|
||||||
|
where u.user_id in
|
||||||
|
<foreach collection="userIds" item="userId" open="(" separator="," close=")">
|
||||||
|
#{userId}
|
||||||
|
</foreach>
|
||||||
|
</select>
|
||||||
|
|
||||||
<insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId">
|
<insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId">
|
||||||
insert into sys_user(
|
insert into sys_user(
|
||||||
<if test="userId != null and userId != 0">user_id,</if>
|
<if test="userId != null and userId != 0">user_id,</if>
|
||||||
<if test="deptId != null and deptId != 0">dept_id,</if>
|
<if test="deptId != null and deptId != 0">dept_id,</if>
|
||||||
|
|
Loading…
Reference in New Issue