diff --git a/playlet-admin/src/main/java/com/playlet/web/controller/app/PublicDetailShareAppController.java b/playlet-admin/src/main/java/com/playlet/web/controller/app/PublicDetailShareAppController.java new file mode 100644 index 0000000..7654fa2 --- /dev/null +++ b/playlet-admin/src/main/java/com/playlet/web/controller/app/PublicDetailShareAppController.java @@ -0,0 +1,30 @@ +package com.playlet.web.controller.app; + +import com.playlet.common.core.domain.Result; +import com.playlet.system.domain.PublicDetailShare; +import com.playlet.web.service.app.PublicDetailShareAppService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@Slf4j +@Api(tags = "公众号*用户分享记录接口") +@RestController +@RequestMapping(value = "/app/public/share") +@RequiredArgsConstructor(onConstructor = @__(@Autowired)) +public class PublicDetailShareAppController { + + private final PublicDetailShareAppService publicDetailShareAppService; + + @ResponseBody + @PostMapping("/add") + @ApiOperation(value = "新增用户分享记录") + public Result addRecord(@RequestBody PublicDetailShare publicDetailShare) { + publicDetailShareAppService.addRecord(publicDetailShare); + return Result.success(); + } + +} diff --git a/playlet-admin/src/main/java/com/playlet/web/controller/system/PublicCommentResponseController.java b/playlet-admin/src/main/java/com/playlet/web/controller/system/PublicCommentResponseController.java new file mode 100644 index 0000000..0e76636 --- /dev/null +++ b/playlet-admin/src/main/java/com/playlet/web/controller/system/PublicCommentResponseController.java @@ -0,0 +1,150 @@ +package com.playlet.web.controller.system; + +import java.util.Date; +import java.util.List; + +import cn.hutool.core.date.DateUtil; +import com.playlet.system.domain.PublicDetailComment; +import com.playlet.system.service.IPublicDetailCommentService; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import com.playlet.common.annotation.Log; +import com.playlet.common.enums.BusinessType; +import com.playlet.system.domain.PublicCommentResponse; +import com.playlet.system.service.IPublicCommentResponseService; +import com.playlet.common.core.controller.BaseController; +import com.playlet.common.core.domain.AjaxResult; +import com.playlet.common.utils.poi.ExcelUtil; +import com.playlet.common.core.page.TableDataInfo; + +/** + * 作者回复评论记录Controller + * + * @author ruoyi + * @date 2024-06-20 + */ +@Controller +@RequestMapping("/system/public/response") +public class PublicCommentResponseController extends BaseController +{ + private String prefix = "system/public/response"; + + @Autowired + private IPublicCommentResponseService publicCommentResponseService; + @Autowired + private IPublicDetailCommentService publicDetailCommentService; + + @RequiresPermissions("public:response:view") + @GetMapping() + public String response() + { + return prefix + "/response"; + } + + /** + * 查询作者回复评论记录列表 + */ + @RequiresPermissions("public:response:list") + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(PublicCommentResponse publicCommentResponse) + { + startPage(); + List list = publicCommentResponseService.selectPublicCommentResponseList(publicCommentResponse); + return getDataTable(list); + } + + /** + * 导出作者回复评论记录列表 + */ + @RequiresPermissions("public:response:export") + @Log(title = "作者回复评论记录", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ResponseBody + public AjaxResult export(PublicCommentResponse publicCommentResponse) + { + List list = publicCommentResponseService.selectPublicCommentResponseList(publicCommentResponse); + ExcelUtil util = new ExcelUtil(PublicCommentResponse.class); + return util.exportExcel(list, "作者回复评论记录数据"); + } + + /** + * 新增作者回复评论记录 + */ + @GetMapping("/add") + public String add() + { + return prefix + "/add"; + } + + /** + * 新增保存作者回复评论记录 + */ + @RequiresPermissions("public:response:add") + @Log(title = "作者回复评论记录", businessType = BusinessType.INSERT) + @PostMapping("/add") + @ResponseBody + public AjaxResult addSave(PublicCommentResponse publicCommentResponse) + { + PublicCommentResponse model = publicCommentResponseService.lambdaQuery() + .eq(PublicCommentResponse::getCommentId, publicCommentResponse.getCommentId()) + .one(); + if(model != null){ + model.setResponseContent(publicCommentResponse.getResponseContent()); + model.setCreateTime(new Date()); + publicCommentResponseService.updateById(model); + }else { + publicCommentResponse.setCreateBy(getLoginName()); + publicCommentResponseService.insertPublicCommentResponse(publicCommentResponse); + } + PublicDetailComment comment = publicDetailCommentService.getById(publicCommentResponse.getCommentId()); + if(comment != null){ + comment.setRemark("已回复,回复时间:" + DateUtil.format(new Date(), "yyyy-MM-dd HH:mm")); + publicDetailCommentService.updateById(comment); + } + return AjaxResult.success(); + } + + /** + * 修改作者回复评论记录 + */ + @RequiresPermissions("public:response:edit") + @GetMapping("/edit/{id}") + public String edit(@PathVariable("id") Long id, ModelMap mmap) + { + PublicCommentResponse publicCommentResponse = publicCommentResponseService.selectPublicCommentResponseById(id); + mmap.put("publicCommentResponse", publicCommentResponse); + return prefix + "/edit"; + } + + /** + * 修改保存作者回复评论记录 + */ + @RequiresPermissions("public:response:edit") + @Log(title = "作者回复评论记录", businessType = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(PublicCommentResponse publicCommentResponse) + { + return toAjax(publicCommentResponseService.updatePublicCommentResponse(publicCommentResponse)); + } + + /** + * 删除作者回复评论记录 + */ + @RequiresPermissions("public:response:remove") + @Log(title = "作者回复评论记录", businessType = BusinessType.DELETE) + @PostMapping( "/remove") + @ResponseBody + public AjaxResult remove(String ids) + { + return toAjax(publicCommentResponseService.deletePublicCommentResponseByIds(ids)); + } +} diff --git a/playlet-admin/src/main/java/com/playlet/web/controller/system/PublicDetailCommentController.java b/playlet-admin/src/main/java/com/playlet/web/controller/system/PublicDetailCommentController.java index f939e36..8df07b1 100644 --- a/playlet-admin/src/main/java/com/playlet/web/controller/system/PublicDetailCommentController.java +++ b/playlet-admin/src/main/java/com/playlet/web/controller/system/PublicDetailCommentController.java @@ -1,6 +1,11 @@ package com.playlet.web.controller.system; import java.util.List; + +import com.playlet.system.domain.PlayletPublicDetail; +import com.playlet.system.domain.PublicCommentResponse; +import com.playlet.system.service.IPlayletPublicDetailService; +import com.playlet.system.service.IPublicCommentResponseService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -33,6 +38,10 @@ public class PublicDetailCommentController extends BaseController @Autowired private IPublicDetailCommentService publicDetailCommentService; + @Autowired + private IPlayletPublicDetailService publicDetailService; + @Autowired + private IPublicCommentResponseService publicCommentResponseService; @RequiresPermissions("public:comment:view") @GetMapping() @@ -51,6 +60,13 @@ public class PublicDetailCommentController extends BaseController { startPage(); List list = publicDetailCommentService.selectPublicDetailCommentList(publicDetailComment); + list.forEach(model->{ + PlayletPublicDetail playletPublicDetail = publicDetailService.selectPlayletPublicDetailById(model.getDetailId()); + if(playletPublicDetail != null){ + model.setDetailName(playletPublicDetail.getTitle()); + model.setAuthorAlias(playletPublicDetail.getAuthorAlias()); + } + }); return getDataTable(list); } @@ -92,13 +108,19 @@ public class PublicDetailCommentController extends BaseController /** * 修改文章评论 */ - @RequiresPermissions("public:comment:edit") - @GetMapping("/edit/{id}") - public String edit(@PathVariable("id") Long id, ModelMap mmap) + @GetMapping("/responseComment/{id}") + public String responseComment(@PathVariable("id") Long id, ModelMap mmap) { PublicDetailComment publicDetailComment = publicDetailCommentService.selectPublicDetailCommentById(id); - mmap.put("publicDetailComment", publicDetailComment); - return prefix + "/edit"; + PublicCommentResponse publicCommentResponse = publicCommentResponseService.lambdaQuery() + .eq(PublicCommentResponse::getCommentId, id).one(); + if(publicCommentResponse == null){ + publicCommentResponse = new PublicCommentResponse(); + publicCommentResponse.setResponseContent(""); + } + mmap.put("comment", publicDetailComment); + mmap.put("commentResponse", publicCommentResponse); + return prefix + "/responseComment"; } /** diff --git a/playlet-admin/src/main/java/com/playlet/web/controller/system/PublicDetailShareController.java b/playlet-admin/src/main/java/com/playlet/web/controller/system/PublicDetailShareController.java new file mode 100644 index 0000000..0a01836 --- /dev/null +++ b/playlet-admin/src/main/java/com/playlet/web/controller/system/PublicDetailShareController.java @@ -0,0 +1,127 @@ +package com.playlet.web.controller.system; + +import java.util.List; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import com.playlet.common.annotation.Log; +import com.playlet.common.enums.BusinessType; +import com.playlet.system.domain.PublicDetailShare; +import com.playlet.system.service.IPublicDetailShareService; +import com.playlet.common.core.controller.BaseController; +import com.playlet.common.core.domain.AjaxResult; +import com.playlet.common.utils.poi.ExcelUtil; +import com.playlet.common.core.page.TableDataInfo; + +/** + * 文章分享记录Controller + * + * @author ruoyi + * @date 2024-06-20 + */ +@Controller +@RequestMapping("/system/public/share") +public class PublicDetailShareController extends BaseController +{ + private String prefix = "system/public/share"; + + @Autowired + private IPublicDetailShareService publicDetailShareService; + + @RequiresPermissions("public:share:view") + @GetMapping() + public String share() + { + return prefix + "/share"; + } + + /** + * 查询文章分享记录列表 + */ + @RequiresPermissions("public:share:list") + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(PublicDetailShare publicDetailShare) + { + startPage(); + List list = publicDetailShareService.selectPublicDetailShareList(publicDetailShare); + return getDataTable(list); + } + + /** + * 导出文章分享记录列表 + */ + @RequiresPermissions("public:share:export") + @Log(title = "文章分享记录", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ResponseBody + public AjaxResult export(PublicDetailShare publicDetailShare) + { + List list = publicDetailShareService.selectPublicDetailShareList(publicDetailShare); + ExcelUtil util = new ExcelUtil(PublicDetailShare.class); + return util.exportExcel(list, "文章分享记录数据"); + } + + /** + * 新增文章分享记录 + */ + @GetMapping("/add") + public String add() + { + return prefix + "/add"; + } + + /** + * 新增保存文章分享记录 + */ + @RequiresPermissions("public:share:add") + @Log(title = "文章分享记录", businessType = BusinessType.INSERT) + @PostMapping("/add") + @ResponseBody + public AjaxResult addSave(PublicDetailShare publicDetailShare) + { + return toAjax(publicDetailShareService.insertPublicDetailShare(publicDetailShare)); + } + + /** + * 修改文章分享记录 + */ + @RequiresPermissions("public:share:edit") + @GetMapping("/edit/{id}") + public String edit(@PathVariable("id") Long id, ModelMap mmap) + { + PublicDetailShare publicDetailShare = publicDetailShareService.selectPublicDetailShareById(id); + mmap.put("publicDetailShare", publicDetailShare); + return prefix + "/edit"; + } + + /** + * 修改保存文章分享记录 + */ + @RequiresPermissions("public:share:edit") + @Log(title = "文章分享记录", businessType = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(PublicDetailShare publicDetailShare) + { + return toAjax(publicDetailShareService.updatePublicDetailShare(publicDetailShare)); + } + + /** + * 删除文章分享记录 + */ + @RequiresPermissions("public:share:remove") + @Log(title = "文章分享记录", businessType = BusinessType.DELETE) + @PostMapping( "/remove") + @ResponseBody + public AjaxResult remove(String ids) + { + return toAjax(publicDetailShareService.deletePublicDetailShareByIds(ids)); + } +} diff --git a/playlet-admin/src/main/java/com/playlet/web/service/app/PublicDetailShareAppService.java b/playlet-admin/src/main/java/com/playlet/web/service/app/PublicDetailShareAppService.java new file mode 100644 index 0000000..91141f1 --- /dev/null +++ b/playlet-admin/src/main/java/com/playlet/web/service/app/PublicDetailShareAppService.java @@ -0,0 +1,14 @@ +package com.playlet.web.service.app; + +import com.playlet.system.domain.PublicDetailShare; + +/** + *

文章分享记录

+ * @author clunt + */ +public interface PublicDetailShareAppService { + + + void addRecord(PublicDetailShare publicDetailShare); + +} diff --git a/playlet-admin/src/main/java/com/playlet/web/service/app/impl/PublicDetailCommentAppServiceImpl.java b/playlet-admin/src/main/java/com/playlet/web/service/app/impl/PublicDetailCommentAppServiceImpl.java index b600fc0..b52049e 100644 --- a/playlet-admin/src/main/java/com/playlet/web/service/app/impl/PublicDetailCommentAppServiceImpl.java +++ b/playlet-admin/src/main/java/com/playlet/web/service/app/impl/PublicDetailCommentAppServiceImpl.java @@ -2,7 +2,9 @@ package com.playlet.web.service.app.impl; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.playlet.system.domain.PublicCommentResponse; import com.playlet.system.domain.PublicDetailComment; +import com.playlet.system.service.IPublicCommentResponseService; import com.playlet.system.service.IPublicDetailCommentService; import com.playlet.web.service.app.PublicDetailCommentAppService; import lombok.RequiredArgsConstructor; @@ -19,6 +21,8 @@ public class PublicDetailCommentAppServiceImpl implements PublicDetailCommentApp private final IPublicDetailCommentService iPublicDetailCommentService; + private final IPublicCommentResponseService iPublicCommentResponseService; + @Override public void add(PublicDetailComment detailComment) { iPublicDetailCommentService.save(detailComment); @@ -33,6 +37,9 @@ public class PublicDetailCommentAppServiceImpl implements PublicDetailCommentApp public PageInfo query(PublicDetailComment detailComment, Integer pageNum, Integer pageSize) { PageHelper.startPage(pageNum, pageSize); List comments = iPublicDetailCommentService.selectPublicDetailCommentList(detailComment); + comments.forEach(model->{ + model.setCommentResponse(iPublicCommentResponseService.lambdaQuery().eq(PublicCommentResponse::getCommentId, model.getId()).one()); + }); return PageInfo.of(comments); } diff --git a/playlet-admin/src/main/java/com/playlet/web/service/app/impl/PublicDetailShareAppServiceImpl.java b/playlet-admin/src/main/java/com/playlet/web/service/app/impl/PublicDetailShareAppServiceImpl.java new file mode 100644 index 0000000..66ef5cf --- /dev/null +++ b/playlet-admin/src/main/java/com/playlet/web/service/app/impl/PublicDetailShareAppServiceImpl.java @@ -0,0 +1,23 @@ +package com.playlet.web.service.app.impl; + +import com.playlet.system.domain.PublicDetailShare; +import com.playlet.system.service.IPublicDetailShareService; +import com.playlet.web.service.app.PublicDetailShareAppService; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; + +@Service +@RequiredArgsConstructor(onConstructor = @__(@Autowired)) +public class PublicDetailShareAppServiceImpl implements PublicDetailShareAppService { + + private final IPublicDetailShareService iPublicDetailShareService; + + @Override + public void addRecord(PublicDetailShare publicDetailShare) { + publicDetailShare.setCreateTime(new Date()); + iPublicDetailShareService.insertPublicDetailShare(publicDetailShare); + } +} diff --git a/playlet-admin/src/main/resources/templates/system/playlet/detail/add.html b/playlet-admin/src/main/resources/templates/system/playlet/detail/add.html index 8ff1ab9..82be4f3 100644 --- a/playlet-admin/src/main/resources/templates/system/playlet/detail/add.html +++ b/playlet-admin/src/main/resources/templates/system/playlet/detail/add.html @@ -136,6 +136,12 @@ +
+ +
+ +
+
diff --git a/playlet-admin/src/main/resources/templates/system/playlet/detail/detail.html b/playlet-admin/src/main/resources/templates/system/playlet/detail/detail.html index a22927d..fbc34c1 100644 --- a/playlet-admin/src/main/resources/templates/system/playlet/detail/detail.html +++ b/playlet-admin/src/main/resources/templates/system/playlet/detail/detail.html @@ -101,6 +101,10 @@ else {return ''} } }, + { + field: 'detailTag', + title: '文章标签' + }, { field: 'remark', title: '备注' diff --git a/playlet-admin/src/main/resources/templates/system/playlet/detail/edit.html b/playlet-admin/src/main/resources/templates/system/playlet/detail/edit.html index 9ad94aa..01faf9c 100644 --- a/playlet-admin/src/main/resources/templates/system/playlet/detail/edit.html +++ b/playlet-admin/src/main/resources/templates/system/playlet/detail/edit.html @@ -63,6 +63,12 @@
+
+ +
+ +
+
diff --git a/playlet-admin/src/main/resources/templates/system/public/comment/comment.html b/playlet-admin/src/main/resources/templates/system/public/comment/comment.html index 4f29d23..665c462 100644 --- a/playlet-admin/src/main/resources/templates/system/public/comment/comment.html +++ b/playlet-admin/src/main/resources/templates/system/public/comment/comment.html @@ -10,22 +10,10 @@
- - 添加 - - - 修改 - + + + + + + 删除 @@ -78,11 +66,21 @@ }, { field: 'detailId', - title: '文章id' + title: '文章id', + visible: false + }, + { + field: 'detailName', + title: '文章标题' + }, + { + field: 'authorAlias', + title: '作者花名' }, { field: 'userId', - title: '用户id【playlet_public_user_id】' + title: '用户id【playlet_public_user_id】', + visible: false }, { field: 'userName', @@ -94,18 +92,20 @@ }, { field: 'starCount', - title: '点赞数' + title: '点赞数', + visible: false }, { field: 'remark', - title: '备注' + title: '回复状态' }, { title: '操作', align: 'center', formatter: function(value, row, index) { var actions = []; - actions.push('编辑 '); + // actions.push('编辑 '); + actions.push('回复评论 '); actions.push('删除'); return actions.join(''); } @@ -113,6 +113,13 @@ }; $.table.init(options); }); + + + function responseComment(id){ + var url = ctx + 'system/public/comment/responseComment/' + id; + $.modal.open("回复评论", url, '770', '380'); + } + \ No newline at end of file diff --git a/playlet-admin/src/main/resources/templates/system/public/comment/responseComment.html b/playlet-admin/src/main/resources/templates/system/public/comment/responseComment.html new file mode 100644 index 0000000..0ec8a51 --- /dev/null +++ b/playlet-admin/src/main/resources/templates/system/public/comment/responseComment.html @@ -0,0 +1,41 @@ + + + + + + +
+ + +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+ + + + + diff --git a/playlet-system/src/main/java/com/playlet/system/domain/PlayletPlatformFlow.java b/playlet-system/src/main/java/com/playlet/system/domain/PlayletPlatformFlow.java index 6fceaec..6bb509c 100644 --- a/playlet-system/src/main/java/com/playlet/system/domain/PlayletPlatformFlow.java +++ b/playlet-system/src/main/java/com/playlet/system/domain/PlayletPlatformFlow.java @@ -1,5 +1,7 @@ package com.playlet.system.domain; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; import com.playlet.common.core.domain.BaseEntity; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -20,6 +22,7 @@ public class PlayletPlatformFlow extends BaseEntity private static final long serialVersionUID = 1L; /** 主键 */ + @TableId(value = "id", type = IdType.AUTO) private Long id; /** 平台类型 01.抖音 02.快手 03.视频号 */ diff --git a/playlet-system/src/main/java/com/playlet/system/domain/PlayletPublicDetail.java b/playlet-system/src/main/java/com/playlet/system/domain/PlayletPublicDetail.java index 71439d6..b7d0a48 100644 --- a/playlet-system/src/main/java/com/playlet/system/domain/PlayletPublicDetail.java +++ b/playlet-system/src/main/java/com/playlet/system/domain/PlayletPublicDetail.java @@ -65,6 +65,9 @@ public class PlayletPublicDetail extends BaseEntity @TableField(exist = false) private String pdfUrl; + @ApiModelProperty(value = "文章标签") + private String detailTag; + @ApiModelProperty(value = "点赞数") private String starCount; diff --git a/playlet-system/src/main/java/com/playlet/system/domain/PlayletPublicUser.java b/playlet-system/src/main/java/com/playlet/system/domain/PlayletPublicUser.java index 397cd6f..faa64c4 100644 --- a/playlet-system/src/main/java/com/playlet/system/domain/PlayletPublicUser.java +++ b/playlet-system/src/main/java/com/playlet/system/domain/PlayletPublicUser.java @@ -1,5 +1,7 @@ package com.playlet.system.domain; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; import com.playlet.common.core.domain.BaseEntity; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; @@ -22,6 +24,7 @@ public class PlayletPublicUser extends BaseEntity private static final long serialVersionUID = 1L; /** 主键 */ + @TableId(value = "id", type = IdType.AUTO) private Long id; /** 公众号id */ diff --git a/playlet-system/src/main/java/com/playlet/system/domain/PublicCommentResponse.java b/playlet-system/src/main/java/com/playlet/system/domain/PublicCommentResponse.java new file mode 100644 index 0000000..cd82876 --- /dev/null +++ b/playlet-system/src/main/java/com/playlet/system/domain/PublicCommentResponse.java @@ -0,0 +1,36 @@ +package com.playlet.system.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.playlet.common.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import com.playlet.common.annotation.Excel; + +/** + * 作者回复评论记录对象 public_comment_response + * + * @author ruoyi + * @date 2024-06-20 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName(value = "public_comment_response") +public class PublicCommentResponse extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键id */ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** 评论id */ + @Excel(name = "评论id") + private Long commentId; + + /** 回复内容 */ + @Excel(name = "回复内容") + private String responseContent; + +} diff --git a/playlet-system/src/main/java/com/playlet/system/domain/PublicDetailComment.java b/playlet-system/src/main/java/com/playlet/system/domain/PublicDetailComment.java index ae38f9e..f888504 100644 --- a/playlet-system/src/main/java/com/playlet/system/domain/PublicDetailComment.java +++ b/playlet-system/src/main/java/com/playlet/system/domain/PublicDetailComment.java @@ -1,5 +1,8 @@ package com.playlet.system.domain; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; import com.playlet.common.core.domain.BaseEntity; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; @@ -23,6 +26,7 @@ public class PublicDetailComment extends BaseEntity private static final long serialVersionUID = 1L; /** 主键id */ + @TableId(value = "id", type = IdType.AUTO) private Long id; /** 文章id */ @@ -30,6 +34,12 @@ public class PublicDetailComment extends BaseEntity @ApiModelProperty(value = "文章id") private Long detailId; + @TableField(exist = false) + private String authorAlias; + + @TableField(exist = false) + private String detailName; + /** 用户id【playlet_public_user_id】 */ @Excel(name = "用户id【playlet_public_user_id】") @ApiModelProperty(value = "用户id") @@ -53,4 +63,8 @@ public class PublicDetailComment extends BaseEntity @ApiModelProperty(value = "点赞数") private Long starCount; + @ApiModelProperty(value = "作者回复记录") + @TableField(exist = false) + private PublicCommentResponse commentResponse; + } diff --git a/playlet-system/src/main/java/com/playlet/system/domain/PublicDetailShare.java b/playlet-system/src/main/java/com/playlet/system/domain/PublicDetailShare.java new file mode 100644 index 0000000..09a69db --- /dev/null +++ b/playlet-system/src/main/java/com/playlet/system/domain/PublicDetailShare.java @@ -0,0 +1,66 @@ +package com.playlet.system.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.playlet.common.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import com.playlet.common.annotation.Excel; + +/** + * 文章分享记录对象 public_detail_share + * + * @author ruoyi + * @date 2024-06-20 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName(value = "public_detail_share") +@ApiModel(value = "文章分享记录") +public class PublicDetailShare extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键id */ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** 文章id */ + @Excel(name = "文章id") + @ApiModelProperty(value = "文章id") + private Long detailId; + + /** 作者id */ + @Excel(name = "作者id") + @ApiModelProperty(value = "作者id") + private Long authorId; + + /** 作者名称 */ + @Excel(name = "作者名称") + @ApiModelProperty(value = "作者名称") + private String authorName; + + /** 分享人id */ + @Excel(name = "分享人id") + @ApiModelProperty(value = "分享人id") + private Long readerOneId; + + /** 分享人名称 */ + @Excel(name = "分享人名称") + @ApiModelProperty(value = "分享人名称") + private String readerOneName; + + /** 被分享人id */ + @Excel(name = "被分享人id") + @ApiModelProperty(value = "被分享人id") + private Long readerTwoId; + + /** 被分享人名称 */ + @Excel(name = "被分享人名称") + @ApiModelProperty(value = "被分享人名称") + private String readerTwoName; + +} diff --git a/playlet-system/src/main/java/com/playlet/system/domain/PublicUserRecord.java b/playlet-system/src/main/java/com/playlet/system/domain/PublicUserRecord.java index d62c2de..1bf6a30 100644 --- a/playlet-system/src/main/java/com/playlet/system/domain/PublicUserRecord.java +++ b/playlet-system/src/main/java/com/playlet/system/domain/PublicUserRecord.java @@ -1,6 +1,9 @@ package com.playlet.system.domain; import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; import com.fasterxml.jackson.annotation.JsonFormat; import com.playlet.common.core.domain.BaseEntity; import com.baomidou.mybatisplus.annotation.TableName; @@ -25,6 +28,7 @@ public class PublicUserRecord extends BaseEntity private static final long serialVersionUID = 1L; /** 主键 */ + @TableId(value = "id", type = IdType.AUTO) private Long id; /** 用户昵称 */ diff --git a/playlet-system/src/main/java/com/playlet/system/mapper/PublicCommentResponseMapper.java b/playlet-system/src/main/java/com/playlet/system/mapper/PublicCommentResponseMapper.java new file mode 100644 index 0000000..cab34f0 --- /dev/null +++ b/playlet-system/src/main/java/com/playlet/system/mapper/PublicCommentResponseMapper.java @@ -0,0 +1,62 @@ +package com.playlet.system.mapper; + +import java.util.List; +import com.playlet.system.domain.PublicCommentResponse; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 作者回复评论记录Mapper接口 + * + * @author ruoyi + * @date 2024-06-20 + */ +public interface PublicCommentResponseMapper extends BaseMapper +{ + /** + * 查询作者回复评论记录 + * + * @param id 作者回复评论记录主键 + * @return 作者回复评论记录 + */ + public PublicCommentResponse selectPublicCommentResponseById(Long id); + + /** + * 查询作者回复评论记录列表 + * + * @param publicCommentResponse 作者回复评论记录 + * @return 作者回复评论记录集合 + */ + public List selectPublicCommentResponseList(PublicCommentResponse publicCommentResponse); + + /** + * 新增作者回复评论记录 + * + * @param publicCommentResponse 作者回复评论记录 + * @return 结果 + */ + public int insertPublicCommentResponse(PublicCommentResponse publicCommentResponse); + + /** + * 修改作者回复评论记录 + * + * @param publicCommentResponse 作者回复评论记录 + * @return 结果 + */ + public int updatePublicCommentResponse(PublicCommentResponse publicCommentResponse); + + /** + * 删除作者回复评论记录 + * + * @param id 作者回复评论记录主键 + * @return 结果 + */ + public int deletePublicCommentResponseById(Long id); + + /** + * 批量删除作者回复评论记录 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deletePublicCommentResponseByIds(String[] ids); +} diff --git a/playlet-system/src/main/java/com/playlet/system/mapper/PublicDetailShareMapper.java b/playlet-system/src/main/java/com/playlet/system/mapper/PublicDetailShareMapper.java new file mode 100644 index 0000000..a23fdae --- /dev/null +++ b/playlet-system/src/main/java/com/playlet/system/mapper/PublicDetailShareMapper.java @@ -0,0 +1,62 @@ +package com.playlet.system.mapper; + +import java.util.List; +import com.playlet.system.domain.PublicDetailShare; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 文章分享记录Mapper接口 + * + * @author ruoyi + * @date 2024-06-20 + */ +public interface PublicDetailShareMapper extends BaseMapper +{ + /** + * 查询文章分享记录 + * + * @param id 文章分享记录主键 + * @return 文章分享记录 + */ + public PublicDetailShare selectPublicDetailShareById(Long id); + + /** + * 查询文章分享记录列表 + * + * @param publicDetailShare 文章分享记录 + * @return 文章分享记录集合 + */ + public List selectPublicDetailShareList(PublicDetailShare publicDetailShare); + + /** + * 新增文章分享记录 + * + * @param publicDetailShare 文章分享记录 + * @return 结果 + */ + public int insertPublicDetailShare(PublicDetailShare publicDetailShare); + + /** + * 修改文章分享记录 + * + * @param publicDetailShare 文章分享记录 + * @return 结果 + */ + public int updatePublicDetailShare(PublicDetailShare publicDetailShare); + + /** + * 删除文章分享记录 + * + * @param id 文章分享记录主键 + * @return 结果 + */ + public int deletePublicDetailShareById(Long id); + + /** + * 批量删除文章分享记录 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deletePublicDetailShareByIds(String[] ids); +} diff --git a/playlet-system/src/main/java/com/playlet/system/service/IPublicCommentResponseService.java b/playlet-system/src/main/java/com/playlet/system/service/IPublicCommentResponseService.java new file mode 100644 index 0000000..8446f28 --- /dev/null +++ b/playlet-system/src/main/java/com/playlet/system/service/IPublicCommentResponseService.java @@ -0,0 +1,62 @@ +package com.playlet.system.service; + +import java.util.List; +import com.playlet.system.domain.PublicCommentResponse; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 作者回复评论记录Service接口 + * + * @author ruoyi + * @date 2024-06-20 + */ +public interface IPublicCommentResponseService extends IService +{ + /** + * 查询作者回复评论记录 + * + * @param id 作者回复评论记录主键 + * @return 作者回复评论记录 + */ + public PublicCommentResponse selectPublicCommentResponseById(Long id); + + /** + * 查询作者回复评论记录列表 + * + * @param publicCommentResponse 作者回复评论记录 + * @return 作者回复评论记录集合 + */ + public List selectPublicCommentResponseList(PublicCommentResponse publicCommentResponse); + + /** + * 新增作者回复评论记录 + * + * @param publicCommentResponse 作者回复评论记录 + * @return 结果 + */ + public int insertPublicCommentResponse(PublicCommentResponse publicCommentResponse); + + /** + * 修改作者回复评论记录 + * + * @param publicCommentResponse 作者回复评论记录 + * @return 结果 + */ + public int updatePublicCommentResponse(PublicCommentResponse publicCommentResponse); + + /** + * 批量删除作者回复评论记录 + * + * @param ids 需要删除的作者回复评论记录主键集合 + * @return 结果 + */ + public int deletePublicCommentResponseByIds(String ids); + + /** + * 删除作者回复评论记录信息 + * + * @param id 作者回复评论记录主键 + * @return 结果 + */ + public int deletePublicCommentResponseById(Long id); +} diff --git a/playlet-system/src/main/java/com/playlet/system/service/IPublicDetailShareService.java b/playlet-system/src/main/java/com/playlet/system/service/IPublicDetailShareService.java new file mode 100644 index 0000000..efdc3e8 --- /dev/null +++ b/playlet-system/src/main/java/com/playlet/system/service/IPublicDetailShareService.java @@ -0,0 +1,62 @@ +package com.playlet.system.service; + +import java.util.List; +import com.playlet.system.domain.PublicDetailShare; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 文章分享记录Service接口 + * + * @author ruoyi + * @date 2024-06-20 + */ +public interface IPublicDetailShareService extends IService +{ + /** + * 查询文章分享记录 + * + * @param id 文章分享记录主键 + * @return 文章分享记录 + */ + public PublicDetailShare selectPublicDetailShareById(Long id); + + /** + * 查询文章分享记录列表 + * + * @param publicDetailShare 文章分享记录 + * @return 文章分享记录集合 + */ + public List selectPublicDetailShareList(PublicDetailShare publicDetailShare); + + /** + * 新增文章分享记录 + * + * @param publicDetailShare 文章分享记录 + * @return 结果 + */ + public int insertPublicDetailShare(PublicDetailShare publicDetailShare); + + /** + * 修改文章分享记录 + * + * @param publicDetailShare 文章分享记录 + * @return 结果 + */ + public int updatePublicDetailShare(PublicDetailShare publicDetailShare); + + /** + * 批量删除文章分享记录 + * + * @param ids 需要删除的文章分享记录主键集合 + * @return 结果 + */ + public int deletePublicDetailShareByIds(String ids); + + /** + * 删除文章分享记录信息 + * + * @param id 文章分享记录主键 + * @return 结果 + */ + public int deletePublicDetailShareById(Long id); +} diff --git a/playlet-system/src/main/java/com/playlet/system/service/impl/PublicCommentResponseServiceImpl.java b/playlet-system/src/main/java/com/playlet/system/service/impl/PublicCommentResponseServiceImpl.java new file mode 100644 index 0000000..50b3a4f --- /dev/null +++ b/playlet-system/src/main/java/com/playlet/system/service/impl/PublicCommentResponseServiceImpl.java @@ -0,0 +1,98 @@ +package com.playlet.system.service.impl; + +import java.util.List; +import com.playlet.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.playlet.system.mapper.PublicCommentResponseMapper; +import com.playlet.system.domain.PublicCommentResponse; +import com.playlet.system.service.IPublicCommentResponseService; +import com.playlet.common.core.text.Convert; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * 作者回复评论记录Service业务层处理 + * + * @author ruoyi + * @date 2024-06-20 + */ +@Service +public class PublicCommentResponseServiceImpl extends ServiceImpl implements IPublicCommentResponseService +{ + @Autowired + private PublicCommentResponseMapper publicCommentResponseMapper; + + /** + * 查询作者回复评论记录 + * + * @param id 作者回复评论记录主键 + * @return 作者回复评论记录 + */ + @Override + public PublicCommentResponse selectPublicCommentResponseById(Long id) + { + return publicCommentResponseMapper.selectPublicCommentResponseById(id); + } + + /** + * 查询作者回复评论记录列表 + * + * @param publicCommentResponse 作者回复评论记录 + * @return 作者回复评论记录 + */ + @Override + public List selectPublicCommentResponseList(PublicCommentResponse publicCommentResponse) + { + return publicCommentResponseMapper.selectPublicCommentResponseList(publicCommentResponse); + } + + /** + * 新增作者回复评论记录 + * + * @param publicCommentResponse 作者回复评论记录 + * @return 结果 + */ + @Override + public int insertPublicCommentResponse(PublicCommentResponse publicCommentResponse) + { + publicCommentResponse.setCreateTime(DateUtils.getNowDate()); + return publicCommentResponseMapper.insertPublicCommentResponse(publicCommentResponse); + } + + /** + * 修改作者回复评论记录 + * + * @param publicCommentResponse 作者回复评论记录 + * @return 结果 + */ + @Override + public int updatePublicCommentResponse(PublicCommentResponse publicCommentResponse) + { + publicCommentResponse.setUpdateTime(DateUtils.getNowDate()); + return publicCommentResponseMapper.updatePublicCommentResponse(publicCommentResponse); + } + + /** + * 批量删除作者回复评论记录 + * + * @param ids 需要删除的作者回复评论记录主键 + * @return 结果 + */ + @Override + public int deletePublicCommentResponseByIds(String ids) + { + return publicCommentResponseMapper.deletePublicCommentResponseByIds(Convert.toStrArray(ids)); + } + + /** + * 删除作者回复评论记录信息 + * + * @param id 作者回复评论记录主键 + * @return 结果 + */ + @Override + public int deletePublicCommentResponseById(Long id) + { + return publicCommentResponseMapper.deletePublicCommentResponseById(id); + } +} diff --git a/playlet-system/src/main/java/com/playlet/system/service/impl/PublicDetailShareServiceImpl.java b/playlet-system/src/main/java/com/playlet/system/service/impl/PublicDetailShareServiceImpl.java new file mode 100644 index 0000000..ed99a28 --- /dev/null +++ b/playlet-system/src/main/java/com/playlet/system/service/impl/PublicDetailShareServiceImpl.java @@ -0,0 +1,98 @@ +package com.playlet.system.service.impl; + +import java.util.List; +import com.playlet.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.playlet.system.mapper.PublicDetailShareMapper; +import com.playlet.system.domain.PublicDetailShare; +import com.playlet.system.service.IPublicDetailShareService; +import com.playlet.common.core.text.Convert; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * 文章分享记录Service业务层处理 + * + * @author ruoyi + * @date 2024-06-20 + */ +@Service +public class PublicDetailShareServiceImpl extends ServiceImpl implements IPublicDetailShareService +{ + @Autowired + private PublicDetailShareMapper publicDetailShareMapper; + + /** + * 查询文章分享记录 + * + * @param id 文章分享记录主键 + * @return 文章分享记录 + */ + @Override + public PublicDetailShare selectPublicDetailShareById(Long id) + { + return publicDetailShareMapper.selectPublicDetailShareById(id); + } + + /** + * 查询文章分享记录列表 + * + * @param publicDetailShare 文章分享记录 + * @return 文章分享记录 + */ + @Override + public List selectPublicDetailShareList(PublicDetailShare publicDetailShare) + { + return publicDetailShareMapper.selectPublicDetailShareList(publicDetailShare); + } + + /** + * 新增文章分享记录 + * + * @param publicDetailShare 文章分享记录 + * @return 结果 + */ + @Override + public int insertPublicDetailShare(PublicDetailShare publicDetailShare) + { + publicDetailShare.setCreateTime(DateUtils.getNowDate()); + return publicDetailShareMapper.insertPublicDetailShare(publicDetailShare); + } + + /** + * 修改文章分享记录 + * + * @param publicDetailShare 文章分享记录 + * @return 结果 + */ + @Override + public int updatePublicDetailShare(PublicDetailShare publicDetailShare) + { + publicDetailShare.setUpdateTime(DateUtils.getNowDate()); + return publicDetailShareMapper.updatePublicDetailShare(publicDetailShare); + } + + /** + * 批量删除文章分享记录 + * + * @param ids 需要删除的文章分享记录主键 + * @return 结果 + */ + @Override + public int deletePublicDetailShareByIds(String ids) + { + return publicDetailShareMapper.deletePublicDetailShareByIds(Convert.toStrArray(ids)); + } + + /** + * 删除文章分享记录信息 + * + * @param id 文章分享记录主键 + * @return 结果 + */ + @Override + public int deletePublicDetailShareById(Long id) + { + return publicDetailShareMapper.deletePublicDetailShareById(id); + } +} diff --git a/playlet-system/src/main/resources/mapper/system/PlayletPublicDetailMapper.xml b/playlet-system/src/main/resources/mapper/system/PlayletPublicDetailMapper.xml index f2b3aae..3e243c3 100644 --- a/playlet-system/src/main/resources/mapper/system/PlayletPublicDetailMapper.xml +++ b/playlet-system/src/main/resources/mapper/system/PlayletPublicDetailMapper.xml @@ -8,6 +8,7 @@ + @@ -37,7 +38,7 @@ item_one,item_two,item_three,item_four,item_five, item_six,item_seven,item_eight,item_nine,item_ten, title,type,author_alias,img_url, content, create_by, create_time, - update_by, update_time, remark from playlet_public_detail + update_by, update_time, detail_tag, remark from playlet_public_detail + + + and comment_id = #{commentId} + and response_content = #{responseContent} + + + + + + + insert into public_comment_response + + comment_id, + response_content, + create_by, + create_time, + update_by, + update_time, + remark, + + + #{commentId}, + #{responseContent}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{remark}, + + + + + update public_comment_response + + comment_id = #{commentId}, + response_content = #{responseContent}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + remark = #{remark}, + + where id = #{id} + + + + delete from public_comment_response where id = #{id} + + + + delete from public_comment_response where id in + + #{id} + + + + \ No newline at end of file diff --git a/playlet-system/src/main/resources/mapper/system/PublicDetailShareMapper.xml b/playlet-system/src/main/resources/mapper/system/PublicDetailShareMapper.xml new file mode 100644 index 0000000..ed2fbac --- /dev/null +++ b/playlet-system/src/main/resources/mapper/system/PublicDetailShareMapper.xml @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + + + + + + + + + select id, detail_id, author_id, author_name, reader_one_id, reader_one_name, reader_two_id, reader_two_name, create_time, create_by, update_by, update_time, remark from public_detail_share + + + + + + + + insert into public_detail_share + + detail_id, + author_id, + author_name, + reader_one_id, + reader_one_name, + reader_two_id, + reader_two_name, + create_time, + create_by, + update_by, + update_time, + remark, + + + #{detailId}, + #{authorId}, + #{authorName}, + #{readerOneId}, + #{readerOneName}, + #{readerTwoId}, + #{readerTwoName}, + #{createTime}, + #{createBy}, + #{updateBy}, + #{updateTime}, + #{remark}, + + + + + update public_detail_share + + detail_id = #{detailId}, + author_id = #{authorId}, + author_name = #{authorName}, + reader_one_id = #{readerOneId}, + reader_one_name = #{readerOneName}, + reader_two_id = #{readerTwoId}, + reader_two_name = #{readerTwoName}, + create_time = #{createTime}, + create_by = #{createBy}, + update_by = #{updateBy}, + update_time = #{updateTime}, + remark = #{remark}, + + where id = #{id} + + + + delete from public_detail_share where id = #{id} + + + + delete from public_detail_share where id in + + #{id} + + + + \ No newline at end of file