From 6ab8d5b7e1d3ebc55be1180db4dadea56b4c28f4 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Thu, 23 Nov 2023 17:54:00 +0800
Subject: [PATCH] 议题议事+公益报名
---
src/main/java/org/springblade/modules/discuss/service/impl/UserPublicEnrollServiceImpl.java | 42 +
src/main/java/org/springblade/modules/discuss/wrapper/UserTopicsWrapper.java | 50 +
src/main/java/org/springblade/modules/discuss/entity/UserPublicEnrollEntity.java | 79 ++
src/main/java/org/springblade/modules/discuss/mapper/UserPublicEnrollMapper.xml | 46 +
src/main/java/org/springblade/modules/discuss/mapper/UserTopicsMapper.xml | 48 +
src/main/java/org/springblade/modules/discuss/mapper/TopicsMapper.xml | 90 ++
src/main/java/org/springblade/modules/discuss/service/ITopicsService.java | 53 +
src/main/java/org/springblade/modules/discuss/entity/TopicsEntity.java | 114 ++
src/main/java/org/springblade/modules/discuss/mapper/PublicDiscussMapper.java | 52 +
src/main/java/sql/usertopics.menu.sql | 10
src/main/java/org/springblade/modules/discuss/vo/UserPublicEnrollVO.java | 35
src/main/java/org/springblade/modules/discuss/service/impl/TopicsServiceImpl.java | 48 +
src/main/java/org/springblade/modules/discuss/vo/UserTopicsVO.java | 35
src/main/java/sql/userpublicenroll.menu.sql | 10
src/main/java/org/springblade/modules/discuss/service/impl/UserTopicsServiceImpl.java | 42 +
src/main/java/org/springblade/modules/discuss/wrapper/UserPublicEnrollWrapper.java | 50 +
src/main/java/org/springblade/modules/discuss/controller/TopicsController.java | 149 +++
src/main/java/org/springblade/modules/discuss/service/impl/PublicDiscussServiceImpl.java | 42 +
src/main/java/org/springblade/modules/discuss/entity/UserTopicsEntity.java | 91 ++
src/main/java/org/springblade/modules/discuss/mapper/PublicDiscussMapper.xml | 76 +
src/main/java/org/springblade/modules/discuss/vo/PublicDiscussVO.java | 35
src/main/java/org/springblade/modules/discuss/mapper/TopicsMapper.java | 52 +
src/main/java/org/springblade/modules/discuss/dto/PublicDiscussDTO.java | 34
src/main/java/org/springblade/modules/discuss/entity/PublicDiscussEntity.java | 163 ++++
src/main/java/org/springblade/modules/discuss/mapper/UserTopicsMapper.java | 51 +
src/main/java/org/springblade/modules/discuss/wrapper/TopicsWrapper.java | 50 +
src/main/java/org/springblade/modules/discuss/wrapper/PublicDiscussWrapper.java | 50 +
src/main/java/org/springblade/modules/discuss/service/IUserPublicEnrollService.java | 42 +
src/main/java/org/springblade/modules/discuss/controller/UserPublicEnrollController.java | 126 +++
src/main/java/org/springblade/modules/discuss/dto/UserPublicEnrollDTO.java | 34
src/main/java/org/springblade/modules/discuss/service/IUserTopicsService.java | 42 +
src/main/java/org/springblade/modules/discuss/service/IPublicDiscussService.java | 43 +
src/main/java/sql/topics.menu.sql | 10
src/main/java/sql/publicdiscuss.menu.sql | 10
src/main/java/org/springblade/modules/discuss/dto/TopicsDTO.java | 38
src/main/java/org/springblade/modules/discuss/dto/UserTopicsDTO.java | 34
src/main/java/org/springblade/modules/discuss/controller/PublicDiscussController.java | 133 +++
src/main/java/org/springblade/modules/discuss/mapper/UserPublicEnrollMapper.java | 50 +
src/main/java/org/springblade/modules/discuss/vo/TopicsVO.java | 35
src/main/java/org/springblade/modules/discuss/controller/UserTopicsController.java | 126 +++
40 files changed, 2,320 insertions(+), 0 deletions(-)
diff --git a/src/main/java/org/springblade/modules/discuss/controller/PublicDiscussController.java b/src/main/java/org/springblade/modules/discuss/controller/PublicDiscussController.java
new file mode 100644
index 0000000..293fe29
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/controller/PublicDiscussController.java
@@ -0,0 +1,133 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.controller;
+
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import lombok.AllArgsConstructor;
+import javax.validation.Valid;
+
+import org.springblade.core.secure.BladeUser;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.article.entity.ArticleLikeEntity;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.discuss.entity.PublicDiscussEntity;
+import org.springblade.modules.discuss.vo.PublicDiscussVO;
+import org.springblade.modules.discuss.wrapper.PublicDiscussWrapper;
+import org.springblade.modules.discuss.service.IPublicDiscussService;
+import org.springblade.core.boot.ctrl.BladeController;
+
+/**
+ * 公益报名与议事 控制器
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("public_discuss/publicDiscuss")
+@Api(value = "公益报名与议事", tags = "公益报名与议事接口")
+public class PublicDiscussController extends BladeController {
+
+ private final IPublicDiscussService publicDiscussService;
+
+ /**
+ * 公益报名与议事 详情
+ */
+ @GetMapping("/detail")
+ @ApiOperationSupport(order = 1)
+ @ApiOperation(value = "详情", notes = "传入publicDiscuss")
+ public R<PublicDiscussVO> detail(PublicDiscussEntity publicDiscuss) {
+ PublicDiscussEntity detail = publicDiscussService.getOne(Condition.getQueryWrapper(publicDiscuss));
+ return R.data(PublicDiscussWrapper.build().entityVO(detail));
+ }
+ /**
+ * 公益报名与议事 分页
+ */
+ @GetMapping("/list")
+ @ApiOperationSupport(order = 2)
+ @ApiOperation(value = "分页", notes = "传入publicDiscuss")
+ public R<IPage<PublicDiscussVO>> list(PublicDiscussEntity publicDiscuss, Query query) {
+ IPage<PublicDiscussEntity> pages = publicDiscussService.page(Condition.getPage(query), Condition.getQueryWrapper(publicDiscuss));
+ return R.data(PublicDiscussWrapper.build().pageVO(pages));
+ }
+
+ /**
+ * 公益报名与议事 自定义分页
+ */
+ @GetMapping("/page")
+ @ApiOperationSupport(order = 3)
+ @ApiOperation(value = "分页", notes = "传入publicDiscuss")
+ public R<IPage<PublicDiscussVO>> page(PublicDiscussVO publicDiscuss, Query query) {
+ IPage<PublicDiscussVO> pages = publicDiscussService.selectPublicDiscussPage(Condition.getPage(query), publicDiscuss);
+ return R.data(pages);
+ }
+
+ /**
+ * 公益报名与议事 新增
+ */
+ @PostMapping("/save")
+ @ApiOperationSupport(order = 4)
+ @ApiOperation(value = "新增", notes = "传入publicDiscuss")
+ public R save(@Valid @RequestBody PublicDiscussEntity publicDiscuss) {
+ return R.status(publicDiscussService.save(publicDiscuss));
+ }
+
+ /**
+ * 公益报名与议事 修改
+ */
+ @PostMapping("/update")
+ @ApiOperationSupport(order = 5)
+ @ApiOperation(value = "修改", notes = "传入publicDiscuss")
+ public R update(@Valid @RequestBody PublicDiscussEntity publicDiscuss) {
+ return R.status(publicDiscussService.updateById(publicDiscuss));
+ }
+
+ /**
+ * 公益报名与议事 新增或修改
+ */
+ @PostMapping("/submit")
+ @ApiOperationSupport(order = 6)
+ @ApiOperation(value = "新增或修改", notes = "传入publicDiscuss")
+ public R submit(@Valid @RequestBody PublicDiscussEntity publicDiscuss) {
+ publicDiscuss.setCreateBy(AuthUtil.getUserId());
+ UpdateWrapper<PublicDiscussEntity> objectUpdateWrapper = new UpdateWrapper<>();
+ objectUpdateWrapper.eq("article_id", publicDiscuss.getArticleId());
+ objectUpdateWrapper.eq("event_type", publicDiscuss.getEventType());
+ return R.status(publicDiscussService.saveOrUpdate(publicDiscuss,objectUpdateWrapper));
+ }
+
+ /**
+ * 公益报名与议事 删除
+ */
+ @PostMapping("/remove")
+ @ApiOperationSupport(order = 7)
+ @ApiOperation(value = "逻辑删除", notes = "传入ids")
+ public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+ return R.status(publicDiscussService.removeByIds(Func.toLongList(ids)));
+ }
+
+
+}
diff --git a/src/main/java/org/springblade/modules/discuss/controller/TopicsController.java b/src/main/java/org/springblade/modules/discuss/controller/TopicsController.java
new file mode 100644
index 0000000..b6669b6
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/controller/TopicsController.java
@@ -0,0 +1,149 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.discuss.dto.TopicsDTO;
+import org.springblade.modules.discuss.entity.TopicsEntity;
+import org.springblade.modules.discuss.service.ITopicsService;
+import org.springblade.modules.discuss.vo.TopicsVO;
+import org.springblade.modules.discuss.wrapper.TopicsWrapper;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * 议题表 控制器
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("blade-topics/topics")
+@Api(value = "议题表", tags = "议题表接口")
+public class TopicsController extends BladeController {
+
+ private final ITopicsService topicsService;
+
+ /**
+ * 议题表 详情
+ */
+ @GetMapping("/detail")
+ @ApiOperationSupport(order = 1)
+ @ApiOperation(value = "详情", notes = "传入topics")
+ public R<TopicsVO> detail(TopicsEntity topics) {
+ TopicsEntity detail = topicsService.getOne(Condition.getQueryWrapper(topics));
+ return R.data(TopicsWrapper.build().entityVO(detail));
+ }
+
+ /**
+ * 议题表 分页
+ */
+ @GetMapping("/list")
+ @ApiOperationSupport(order = 2)
+ @ApiOperation(value = "分页", notes = "传入topics")
+ public R<IPage<TopicsVO>> list(TopicsEntity topics, Query query) {
+ IPage<TopicsEntity> pages = topicsService.page(Condition.getPage(query), Condition.getQueryWrapper(topics));
+ return R.data(TopicsWrapper.build().pageVO(pages));
+ }
+
+ /**
+ * 议题表 分页
+ */
+ @GetMapping("/lists")
+ @ApiOperationSupport(order = 2)
+ @ApiOperation(value = "分页", notes = "传入topics")
+ public R<List<TopicsDTO>> list(TopicsDTO topics) {
+ List<TopicsDTO> topicsDTOS = topicsService.selectTopicsList(topics);
+ return R.data(topicsDTOS);
+ }
+
+ /**
+ * 议题表 自定义分页
+ */
+ @GetMapping("/page")
+ @ApiOperationSupport(order = 3)
+ @ApiOperation(value = "分页", notes = "传入topics")
+ public R<IPage<TopicsVO>> page(TopicsVO topics, Query query) {
+ IPage<TopicsVO> pages = topicsService.selectTopicsPage(Condition.getPage(query), topics);
+ return R.data(pages);
+ }
+
+ /**
+ * 议题表 新增
+ */
+ @PostMapping("/save")
+ @ApiOperationSupport(order = 4)
+ @ApiOperation(value = "新增", notes = "传入topics")
+ public R save(@Valid @RequestBody TopicsDTO topics) {
+ return R.status(topicsService.save(topics));
+ }
+
+ /**
+ * 议题表 修改
+ */
+ @PostMapping("/update")
+ @ApiOperationSupport(order = 5)
+ @ApiOperation(value = "修改", notes = "传入topics")
+ public R update(@Valid @RequestBody TopicsEntity topics) {
+ return R.status(topicsService.updateById(topics));
+ }
+
+ /**
+ * 议题表 新增或修改
+ */
+ @PostMapping("/submit")
+ @ApiOperationSupport(order = 6)
+ @ApiOperation(value = "新增或修改", notes = "传入topics")
+ public R submit(@Valid @RequestBody TopicsDTO topics) {
+ boolean b = topicsService.saveOrUpdate(topics);
+ if (b) {
+ List<TopicsDTO> children = topics.getChildren();
+ for (TopicsDTO child : children) {
+ child.setParentId(topics.getId());
+ child.setLevel(2);
+ boolean b2 = topicsService.saveOrUpdate(child);
+ }
+ return R.status(b);
+ }
+ return R.status(false);
+ }
+
+ /**
+ * 议题表 删除
+ */
+ @PostMapping("/remove")
+ @ApiOperationSupport(order = 7)
+ @ApiOperation(value = "逻辑删除", notes = "传入ids")
+ public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+ return R.status(topicsService.removeByIds(Func.toLongList(ids)));
+ }
+
+
+}
diff --git a/src/main/java/org/springblade/modules/discuss/controller/UserPublicEnrollController.java b/src/main/java/org/springblade/modules/discuss/controller/UserPublicEnrollController.java
new file mode 100644
index 0000000..4b0b00e
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/controller/UserPublicEnrollController.java
@@ -0,0 +1,126 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import lombok.AllArgsConstructor;
+import javax.validation.Valid;
+
+import org.springblade.core.secure.BladeUser;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.discuss.entity.UserPublicEnrollEntity;
+import org.springblade.modules.discuss.vo.UserPublicEnrollVO;
+import org.springblade.modules.discuss.wrapper.UserPublicEnrollWrapper;
+import org.springblade.modules.discuss.service.IUserPublicEnrollService;
+import org.springblade.core.boot.ctrl.BladeController;
+
+/**
+ * 用户公益报名记录表 控制器
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("blade-userPublicEnroll/userPublicEnroll")
+@Api(value = "用户公益报名记录表", tags = "用户公益报名记录表接口")
+public class UserPublicEnrollController extends BladeController {
+
+ private final IUserPublicEnrollService userPublicEnrollService;
+
+ /**
+ * 用户公益报名记录表 详情
+ */
+ @GetMapping("/detail")
+ @ApiOperationSupport(order = 1)
+ @ApiOperation(value = "详情", notes = "传入userPublicEnroll")
+ public R<UserPublicEnrollVO> detail(UserPublicEnrollEntity userPublicEnroll) {
+ UserPublicEnrollEntity detail = userPublicEnrollService.getOne(Condition.getQueryWrapper(userPublicEnroll));
+ return R.data(UserPublicEnrollWrapper.build().entityVO(detail));
+ }
+ /**
+ * 用户公益报名记录表 分页
+ */
+ @GetMapping("/list")
+ @ApiOperationSupport(order = 2)
+ @ApiOperation(value = "分页", notes = "传入userPublicEnroll")
+ public R<IPage<UserPublicEnrollVO>> list(UserPublicEnrollEntity userPublicEnroll, Query query) {
+ IPage<UserPublicEnrollEntity> pages = userPublicEnrollService.page(Condition.getPage(query), Condition.getQueryWrapper(userPublicEnroll));
+ return R.data(UserPublicEnrollWrapper.build().pageVO(pages));
+ }
+
+ /**
+ * 用户公益报名记录表 自定义分页
+ */
+ @GetMapping("/page")
+ @ApiOperationSupport(order = 3)
+ @ApiOperation(value = "分页", notes = "传入userPublicEnroll")
+ public R<IPage<UserPublicEnrollVO>> page(UserPublicEnrollVO userPublicEnroll, Query query) {
+ IPage<UserPublicEnrollVO> pages = userPublicEnrollService.selectUserPublicEnrollPage(Condition.getPage(query), userPublicEnroll);
+ return R.data(pages);
+ }
+
+ /**
+ * 用户公益报名记录表 新增
+ */
+ @PostMapping("/save")
+ @ApiOperationSupport(order = 4)
+ @ApiOperation(value = "新增", notes = "传入userPublicEnroll")
+ public R save(@Valid @RequestBody UserPublicEnrollEntity userPublicEnroll) {
+ return R.status(userPublicEnrollService.save(userPublicEnroll));
+ }
+
+ /**
+ * 用户公益报名记录表 修改
+ */
+ @PostMapping("/update")
+ @ApiOperationSupport(order = 5)
+ @ApiOperation(value = "修改", notes = "传入userPublicEnroll")
+ public R update(@Valid @RequestBody UserPublicEnrollEntity userPublicEnroll) {
+ return R.status(userPublicEnrollService.updateById(userPublicEnroll));
+ }
+
+ /**
+ * 用户公益报名记录表 新增或修改
+ */
+ @PostMapping("/submit")
+ @ApiOperationSupport(order = 6)
+ @ApiOperation(value = "新增或修改", notes = "传入userPublicEnroll")
+ public R submit(@Valid @RequestBody UserPublicEnrollEntity userPublicEnroll) {
+ return R.status(userPublicEnrollService.saveOrUpdate(userPublicEnroll));
+ }
+
+ /**
+ * 用户公益报名记录表 删除
+ */
+ @PostMapping("/remove")
+ @ApiOperationSupport(order = 7)
+ @ApiOperation(value = "逻辑删除", notes = "传入ids")
+ public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+ return R.status(userPublicEnrollService.removeByIds(Func.toLongList(ids)));
+ }
+
+
+}
diff --git a/src/main/java/org/springblade/modules/discuss/controller/UserTopicsController.java b/src/main/java/org/springblade/modules/discuss/controller/UserTopicsController.java
new file mode 100644
index 0000000..11162c2
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/controller/UserTopicsController.java
@@ -0,0 +1,126 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import lombok.AllArgsConstructor;
+import javax.validation.Valid;
+
+import org.springblade.core.secure.BladeUser;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.discuss.entity.UserTopicsEntity;
+import org.springblade.modules.discuss.vo.UserTopicsVO;
+import org.springblade.modules.discuss.wrapper.UserTopicsWrapper;
+import org.springblade.modules.discuss.service.IUserTopicsService;
+import org.springblade.core.boot.ctrl.BladeController;
+
+/**
+ * 用户议题报表 控制器
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("blade-userTopics/userTopics")
+@Api(value = "用户议题报表", tags = "用户议题报表接口")
+public class UserTopicsController extends BladeController {
+
+ private final IUserTopicsService userTopicsService;
+
+ /**
+ * 用户议题报表 详情
+ */
+ @GetMapping("/detail")
+ @ApiOperationSupport(order = 1)
+ @ApiOperation(value = "详情", notes = "传入userTopics")
+ public R<UserTopicsVO> detail(UserTopicsEntity userTopics) {
+ UserTopicsEntity detail = userTopicsService.getOne(Condition.getQueryWrapper(userTopics));
+ return R.data(UserTopicsWrapper.build().entityVO(detail));
+ }
+ /**
+ * 用户议题报表 分页
+ */
+ @GetMapping("/list")
+ @ApiOperationSupport(order = 2)
+ @ApiOperation(value = "分页", notes = "传入userTopics")
+ public R<IPage<UserTopicsVO>> list(UserTopicsEntity userTopics, Query query) {
+ IPage<UserTopicsEntity> pages = userTopicsService.page(Condition.getPage(query), Condition.getQueryWrapper(userTopics));
+ return R.data(UserTopicsWrapper.build().pageVO(pages));
+ }
+
+ /**
+ * 用户议题报表 自定义分页
+ */
+ @GetMapping("/page")
+ @ApiOperationSupport(order = 3)
+ @ApiOperation(value = "分页", notes = "传入userTopics")
+ public R<IPage<UserTopicsVO>> page(UserTopicsVO userTopics, Query query) {
+ IPage<UserTopicsVO> pages = userTopicsService.selectUserTopicsPage(Condition.getPage(query), userTopics);
+ return R.data(pages);
+ }
+
+ /**
+ * 用户议题报表 新增
+ */
+ @PostMapping("/save")
+ @ApiOperationSupport(order = 4)
+ @ApiOperation(value = "新增", notes = "传入userTopics")
+ public R save(@Valid @RequestBody UserTopicsEntity userTopics) {
+ return R.status(userTopicsService.save(userTopics));
+ }
+
+ /**
+ * 用户议题报表 修改
+ */
+ @PostMapping("/update")
+ @ApiOperationSupport(order = 5)
+ @ApiOperation(value = "修改", notes = "传入userTopics")
+ public R update(@Valid @RequestBody UserTopicsEntity userTopics) {
+ return R.status(userTopicsService.updateById(userTopics));
+ }
+
+ /**
+ * 用户议题报表 新增或修改
+ */
+ @PostMapping("/submit")
+ @ApiOperationSupport(order = 6)
+ @ApiOperation(value = "新增或修改", notes = "传入userTopics")
+ public R submit(@Valid @RequestBody UserTopicsEntity userTopics) {
+ return R.status(userTopicsService.saveOrUpdate(userTopics));
+ }
+
+ /**
+ * 用户议题报表 删除
+ */
+ @PostMapping("/remove")
+ @ApiOperationSupport(order = 7)
+ @ApiOperation(value = "逻辑删除", notes = "传入ids")
+ public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+ return R.status(userTopicsService.removeByIds(Func.toLongList(ids)));
+ }
+
+
+}
diff --git a/src/main/java/org/springblade/modules/discuss/dto/PublicDiscussDTO.java b/src/main/java/org/springblade/modules/discuss/dto/PublicDiscussDTO.java
new file mode 100644
index 0000000..8e5d39d
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/dto/PublicDiscussDTO.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.dto;
+
+import org.springblade.modules.discuss.entity.PublicDiscussEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 公益报名与议事 数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class PublicDiscussDTO extends PublicDiscussEntity {
+ private static final long serialVersionUID = 1L;
+
+}
diff --git a/src/main/java/org/springblade/modules/discuss/dto/TopicsDTO.java b/src/main/java/org/springblade/modules/discuss/dto/TopicsDTO.java
new file mode 100644
index 0000000..c192639
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/dto/TopicsDTO.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.dto;
+
+import org.springblade.modules.discuss.entity.TopicsEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.List;
+
+/**
+ * 议题表 数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class TopicsDTO extends TopicsEntity {
+ private static final long serialVersionUID = 1L;
+
+ private List<TopicsDTO> children;
+
+}
diff --git a/src/main/java/org/springblade/modules/discuss/dto/UserPublicEnrollDTO.java b/src/main/java/org/springblade/modules/discuss/dto/UserPublicEnrollDTO.java
new file mode 100644
index 0000000..8bddac2
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/dto/UserPublicEnrollDTO.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.dto;
+
+import org.springblade.modules.discuss.entity.UserPublicEnrollEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 用户公益报名记录表 数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class UserPublicEnrollDTO extends UserPublicEnrollEntity {
+ private static final long serialVersionUID = 1L;
+
+}
diff --git a/src/main/java/org/springblade/modules/discuss/dto/UserTopicsDTO.java b/src/main/java/org/springblade/modules/discuss/dto/UserTopicsDTO.java
new file mode 100644
index 0000000..2eb507f
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/dto/UserTopicsDTO.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.dto;
+
+import org.springblade.modules.discuss.entity.UserTopicsEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 用户议题报表 数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class UserTopicsDTO extends UserTopicsEntity {
+ private static final long serialVersionUID = 1L;
+
+}
diff --git a/src/main/java/org/springblade/modules/discuss/entity/PublicDiscussEntity.java b/src/main/java/org/springblade/modules/discuss/entity/PublicDiscussEntity.java
new file mode 100644
index 0000000..247e8b2
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/entity/PublicDiscussEntity.java
@@ -0,0 +1,163 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springblade.core.mp.base.BaseEntity;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 公益报名与议事 实体类
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+@Data
+@TableName("jczz_public_discuss")
+@ApiModel(value = "PublicDiscuss对象", description = "公益报名与议事")
+public class PublicDiscussEntity implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+
+ @ApiModelProperty(value = "主键ID", example = "")
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 标题
+ */
+ @ApiModelProperty(value = "标题", example = "")
+ @TableField("title")
+ private String title;
+
+ /**
+ * 0 开启:1关闭
+ */
+ @ApiModelProperty(value = "0 开启:1关闭", example = "")
+ @TableField("open_flag")
+ private Integer openFlag;
+
+ /**
+ * 人数限制:0 不限制
+ */
+ @ApiModelProperty(value = "人数限制:0 不限制", example = "")
+ @TableField("number_restrictions")
+ private Integer numberRestrictions;
+
+ /**
+ * 投票限制:0 一人一票 1 一户一票
+ */
+ @ApiModelProperty(value = "投票限制:0 一人一票 1 一户一票", example = "")
+ @TableField("vote_restrictions")
+ private Integer voteRestrictions;
+
+ /**
+ * 用户限制 0 不限制 1 必须绑定手机 2 必须绑定住房
+ */
+ @ApiModelProperty(value = "用户限制 0 不限制 1 必须绑定手机 2 必须绑定住房", example = "")
+ @TableField("user_restrictions")
+ private Integer userRestrictions;
+
+ /**
+ * 截止时间
+ */
+ @ApiModelProperty(value = "截止时间", example = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @TableField("end_time")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date endTime;
+
+ /**
+ * 文章id
+ */
+ @ApiModelProperty(value = "文章id", example = "")
+ @TableField("article_id")
+ private Integer articleId;
+
+ /**
+ * 创建时间
+ */
+ @ApiModelProperty(value = "创建时间", example = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @TableField(value = "create_time",fill = FieldFill.INSERT)
+ private Date createTime;
+
+ /**
+ * 更新时间
+ */
+ @ApiModelProperty(value = "更新时间", example = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @TableField(value = "update_time",fill = FieldFill.UPDATE)
+ private Date updateTime;
+
+ /**
+ * 0:否 1 是
+ */
+ @ApiModelProperty(value = "0:否 1 是", example = "")
+ @TableField("delete_flag")
+ @TableLogic
+ private Integer deleteFlag;
+
+ /**
+ * 多房屋可重复投票 0否 1是
+ */
+ @ApiModelProperty(value = "多房屋可重复投票 0否 1是", example = "")
+ @TableField("repeat_vote")
+ private Integer repeatVote;
+
+ /**
+ * 票数公开 0 全程公开 1 投票后公开 2 投票结束公开 3 不公开
+ */
+ @ApiModelProperty(value = "票数公开 0 全程公开 1 投票后公开 2 投票结束公开 3 不公开", example = "")
+ @TableField("vote_number_public")
+ private Integer voteNumberPublic;
+
+ /**
+ * 指定用户 0 否 1是
+ */
+ @ApiModelProperty(value = "指定用户 0 否 1是", example = "")
+ @TableField("appoint_user")
+ private Integer appointUser;
+
+ /**
+ * 指定用户id [ 1,2,3,4,5,6,7,8,9 ]
+ */
+ @ApiModelProperty(value = "指定用户id [ 1,2,3,4,5,6,7,8,9 ]", example = "")
+ @TableField("user_ids")
+ private String userIds;
+
+ /**
+ * 0:公益报名 1:议事
+ */
+ @ApiModelProperty(value = "0:公益报名 1:议事", example = "")
+ @TableField("event_type")
+ private Integer eventType;
+
+ /**
+ * 创建人
+ */
+ @ApiModelProperty(value = "创建人", example = "")
+ @TableField("create_by")
+ private Long createBy;
+}
diff --git a/src/main/java/org/springblade/modules/discuss/entity/TopicsEntity.java b/src/main/java/org/springblade/modules/discuss/entity/TopicsEntity.java
new file mode 100644
index 0000000..7f22016
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/entity/TopicsEntity.java
@@ -0,0 +1,114 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springblade.core.mp.base.BaseEntity;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 议题表 实体类
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+@Data
+@TableName("jczz_topics")
+@ApiModel(value = "Topics对象", description = "议题表")
+public class TopicsEntity implements Serializable
+{
+ private static final long serialVersionUID = 1L;
+
+
+ @ApiModelProperty(value = "主键ID", example = "")
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ /** 议题内容 */
+ @ApiModelProperty(value = "议题内容", example = "")
+ @TableField("discuss_content")
+ private String discussContent;
+
+ /** 选项 0:单 1多 */
+ @ApiModelProperty(value = "选项 0:单 1多", example = "")
+ @TableField("option")
+ private Integer option;
+
+ /** 排序 */
+ @ApiModelProperty(value = "排序", example = "")
+ @TableField("sort")
+ private Integer sort;
+
+ /** 选择内容 */
+ @ApiModelProperty(value = "选择内容", example = "")
+ @TableField("option_content")
+ private String optionContent;
+
+ /** 选项说明 */
+ @ApiModelProperty(value = "选项说明", example = "")
+ @TableField("option_detail")
+ private String optionDetail;
+
+ /** 投票数量 */
+ @ApiModelProperty(value = "投票数量", example = "")
+ @TableField("number")
+ private Integer number;
+
+ /**
+ * 创建时间
+ */
+ @ApiModelProperty(value = "创建时间", example = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @TableField(value = "create_time",fill = FieldFill.INSERT)
+ private Date createTime;
+
+ /**
+ * 更新时间
+ */
+ @ApiModelProperty(value = "更新时间", example = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @TableField(value = "update_time",fill = FieldFill.UPDATE)
+ private Date updateTime;
+
+ /** 0否 1是 */
+ @ApiModelProperty(value = "0否 1是", example = "")
+ @TableField("delete_flag")
+ @TableLogic
+ private Integer deleteFlag;
+
+ /** 公益报名与议事表id */
+ @ApiModelProperty(value = "公益报名与议事表id", example = "")
+ @TableField("public_discuss_id")
+ private Integer publicDiscussId;
+
+ /** 父级id */
+ @ApiModelProperty(value = "父级id", example = "")
+ @TableField("parent_id")
+ private Integer parentId;
+
+ /** 层级 */
+ @ApiModelProperty(value = "层级", example = "")
+ @TableField("level")
+ private Integer level;
+}
+
diff --git a/src/main/java/org/springblade/modules/discuss/entity/UserPublicEnrollEntity.java b/src/main/java/org/springblade/modules/discuss/entity/UserPublicEnrollEntity.java
new file mode 100644
index 0000000..32c7cd0
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/entity/UserPublicEnrollEntity.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springblade.core.mp.base.BaseEntity;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 用户公益报名记录表 实体类
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+@Data
+@TableName("jczz_user_public_enroll")
+@ApiModel(value = "UserPublicEnroll对象", description = "用户公益报名记录表")
+public class UserPublicEnrollEntity implements Serializable
+{
+ private static final long serialVersionUID = 1L;
+
+
+ @ApiModelProperty(value = "主键ID", example = "")
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ /** 公益报名与议事表id */
+ @ApiModelProperty(value = "公益报名与议事表id", example = "")
+ @TableField("public_discuss_id")
+ private Integer publicDiscussId;
+
+ /** 用户id */
+ @ApiModelProperty(value = "用户id", example = "")
+ @TableField("user_id")
+ private Long userId;
+
+ /**
+ * 创建时间
+ */
+ @ApiModelProperty(value = "创建时间", example = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @TableField(value = "create_time",fill = FieldFill.INSERT)
+ private Date createTime;
+
+ /**
+ * 更新时间
+ */
+ @ApiModelProperty(value = "更新时间", example = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @TableField(value = "update_time",fill = FieldFill.UPDATE)
+ private Date updateTime;
+
+ /** 0否 1是 */
+ @ApiModelProperty(value = "0否 1是", example = "")
+ @TableField("delete_flag")
+ @TableLogic
+ private Integer deleteFlag;
+}
+
diff --git a/src/main/java/org/springblade/modules/discuss/entity/UserTopicsEntity.java b/src/main/java/org/springblade/modules/discuss/entity/UserTopicsEntity.java
new file mode 100644
index 0000000..15c613f
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/entity/UserTopicsEntity.java
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 用户议题报表 实体类
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+@Data
+@TableName("jczz_user_topics")
+@ApiModel(value = "UserTopics对象", description = "用户议题报表")
+public class UserTopicsEntity implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+
+ @ApiModelProperty(value = "主键ID", example = "")
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 用户id
+ */
+ @ApiModelProperty(value = "用户id", example = "")
+ @TableField("user_id")
+ private Long userId;
+
+ /**
+ * 议题id
+ */
+ @ApiModelProperty(value = "议题id", example = "")
+ @TableField("topics_id")
+ private Integer topicsId;
+
+ /**
+ * 创建时间
+ */
+ @ApiModelProperty(value = "创建时间", example = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @TableField(value = "create_time", fill = FieldFill.INSERT)
+ private Date createTime;
+
+ /**
+ * 更新时间
+ */
+ @ApiModelProperty(value = "更新时间", example = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @TableField(value = "update_time", fill = FieldFill.UPDATE)
+ private Date updateTime;
+
+ /**
+ * 0否 1是
+ */
+ @ApiModelProperty(value = "0否 1是", example = "")
+ @TableField("delete_flag")
+ @TableLogic
+ private Integer deleteFlag;
+
+ /**
+ * 公益报名与议事表id
+ */
+ @ApiModelProperty(value = "公益报名与议事表id", example = "")
+ @TableField("public_discuss_id")
+ private Integer publicDiscussId;
+
+
+}
diff --git a/src/main/java/org/springblade/modules/discuss/mapper/PublicDiscussMapper.java b/src/main/java/org/springblade/modules/discuss/mapper/PublicDiscussMapper.java
new file mode 100644
index 0000000..f8031f1
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/mapper/PublicDiscussMapper.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.mapper;
+
+import org.springblade.modules.discuss.dto.PublicDiscussDTO;
+import org.springblade.modules.discuss.entity.PublicDiscussEntity;
+import org.springblade.modules.discuss.vo.PublicDiscussVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ * 公益报名与议事 Mapper 接口
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+public interface PublicDiscussMapper extends BaseMapper<PublicDiscussEntity> {
+
+ /**
+ * 自定义分页
+ *
+ * @param page
+ * @param publicDiscuss
+ * @return
+ */
+ List<PublicDiscussVO> selectPublicDiscussPage(IPage page, PublicDiscussVO publicDiscuss);
+
+ /**
+ * 查询公益报名与议事表列表
+ *
+ * @param publicDiscussDTO 公益报名与议事表
+ * @return 公益报名与议事表集合
+ */
+ public List<PublicDiscussDTO> selectPublicDiscussList(PublicDiscussDTO publicDiscussDTO);
+
+
+}
diff --git a/src/main/java/org/springblade/modules/discuss/mapper/PublicDiscussMapper.xml b/src/main/java/org/springblade/modules/discuss/mapper/PublicDiscussMapper.xml
new file mode 100644
index 0000000..1c72266
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/mapper/PublicDiscussMapper.xml
@@ -0,0 +1,76 @@
+<?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="org.springblade.modules.discuss.mapper.PublicDiscussMapper">
+
+ <!-- 通用查询映射结果 -->
+ <resultMap id="publicDiscussResultMap" type="org.springblade.modules.discuss.entity.PublicDiscussEntity">
+ <result property="id" column="id" />
+ <result property="title" column="title" />
+ <result property="openFlag" column="open_flag" />
+ <result property="numberRestrictions" column="number_restrictions" />
+ <result property="voteRestrictions" column="vote_restrictions" />
+ <result property="userRestrictions" column="user_restrictions" />
+ <result property="endTime" column="end_time" />
+ <result property="articleId" column="article_id" />
+ <result property="createTime" column="create_time" />
+ <result property="updateTime" column="update_time" />
+ <result property="deleteFlag" column="delete_flag" />
+ <result property="repeatVote" column="repeat_vote" />
+ <result property="voteNumberPublic" column="vote_number_public" />
+ <result property="appointUser" column="appoint_user" />
+ <result property="userIds" column="user_ids" />
+ <result property="eventType" column="event_type" />
+ </resultMap>
+
+
+ <sql id="selectPublicDiscuss">
+ select
+ id,
+ title,
+ open_flag,
+ number_restrictions,
+ vote_restrictions,
+ user_restrictions,
+ end_time,
+ article_id,
+ create_time,
+ update_time,
+ delete_flag,
+ repeat_vote,
+ vote_number_public,
+ appoint_user,
+ user_ids,
+ event_type
+ from
+ jczz_public_discuss
+ </sql>
+
+
+ <select id="selectPublicDiscussPage" resultMap="publicDiscussResultMap">
+ select * from jczz_public_discuss where deleted_flag = 0
+ </select>
+
+ <select id="selectPublicDiscussList" parameterType="org.springblade.modules.discuss.dto.PublicDiscussDTO" resultMap="publicDiscussResultMap">
+ <include refid="selectPublicDiscuss"/>
+ <where>
+ <if test="id != null "> and id = #{id}</if>
+ <if test="title != null and title != ''"> and title = #{title}</if>
+ <if test="openFlag != null "> and open_flag = #{openFlag}</if>
+ <if test="numberRestrictions != null "> and number_restrictions = #{numberRestrictions}</if>
+ <if test="voteRestrictions != null "> and vote_restrictions = #{voteRestrictions}</if>
+ <if test="userRestrictions != null "> and user_restrictions = #{userRestrictions}</if>
+ <if test="endTime != null "> and end_time = #{endTime}</if>
+ <if test="articleId != null "> and article_id = #{articleId}</if>
+ <if test="createTime != null "> and create_time = #{createTime}</if>
+ <if test="updateTime != null "> and update_time = #{updateTime}</if>
+ <if test="deleteFlag != null "> and delete_flag = #{deleteFlag}</if>
+ <if test="repeatVote != null "> and repeat_vote = #{repeatVote}</if>
+ <if test="voteNumberPublic != null "> and vote_number_public = #{voteNumberPublic}</if>
+ <if test="appointUser != null "> and appoint_user = #{appointUser}</if>
+ <if test="userIds != null and userIds != ''"> and user_ids = #{userIds}</if>
+ <if test="eventType != null "> and event_type = #{eventType}</if>
+ </where>
+ </select>
+
+
+</mapper>
diff --git a/src/main/java/org/springblade/modules/discuss/mapper/TopicsMapper.java b/src/main/java/org/springblade/modules/discuss/mapper/TopicsMapper.java
new file mode 100644
index 0000000..4ec1125
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/mapper/TopicsMapper.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.mapper;
+
+import org.springblade.modules.discuss.dto.TopicsDTO;
+import org.springblade.modules.discuss.entity.TopicsEntity;
+import org.springblade.modules.discuss.vo.TopicsVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ * 议题表 Mapper 接口
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+public interface TopicsMapper extends BaseMapper<TopicsEntity> {
+
+ /**
+ * 自定义分页
+ *
+ * @param page
+ * @param topics
+ * @return
+ */
+ List<TopicsVO> selectTopicsPage(IPage page, TopicsVO topics);
+
+ /**
+ * 查询议题表列表
+ *
+ * @param topicsDTO 议题表
+ * @return 议题表集合
+ */
+ public List<TopicsDTO> selectTopicsList(TopicsDTO topicsDTO);
+
+
+}
diff --git a/src/main/java/org/springblade/modules/discuss/mapper/TopicsMapper.xml b/src/main/java/org/springblade/modules/discuss/mapper/TopicsMapper.xml
new file mode 100644
index 0000000..1032dc9
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/mapper/TopicsMapper.xml
@@ -0,0 +1,90 @@
+<?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="org.springblade.modules.discuss.mapper.TopicsMapper">
+
+ <!-- 通用查询映射结果 -->
+ <resultMap id="topicsResultMap" type="org.springblade.modules.discuss.entity.TopicsEntity">
+ <result property="id" column="id" />
+ <result property="discussContent" column="discuss_content" />
+ <result property="option" column="option" />
+ <result property="sort" column="sort" />
+ <result property="optionContent" column="option_content" />
+ <result property="optionDetail" column="option_detail" />
+ <result property="number" column="number" />
+ <result property="createTime" column="crete_time" />
+ <result property="updateTime" column="update_time" />
+ <result property="deleteFlag" column="delete_flag" />
+ <result property="publicDiscussId" column="public_discuss_id" />
+ <result property="parentId" column="parent_id" />
+ <result property="level" column="level" />
+ </resultMap>
+
+
+ <resultMap type="org.springblade.modules.discuss.dto.TopicsDTO" id="TopicsDTOResult">
+ <result property="id" column="id" />
+ <result property="discussContent" column="discuss_content" />
+ <result property="option" column="option" />
+ <result property="sort" column="sort" />
+ <result property="optionContent" column="option_content" />
+ <result property="optionDetail" column="option_detail" />
+ <result property="number" column="number" />
+ <result property="createTime" column="create_time" />
+ <result property="updateTime" column="update_time" />
+ <result property="deleteFlag" column="delete_flag" />
+ <result property="publicDiscussId" column="public_discuss_id" />
+ <result property="parentId" column="parent_id" />
+ <result property="level" column="level" />
+
+ <collection property="children" column="id" javaType="int" select="selectStlCount">
+ </collection>
+
+
+ </resultMap>
+
+ <select id="selectStlCount" resultMap="TopicsDTOResult">
+ <include refid="selectTopics"/>
+ where parent_id = #{id}
+ </select>
+
+
+ <sql id="selectTopics">
+ select
+ id,
+ discuss_content,
+ option,
+ sort,
+ option_content,
+ option_detail,
+ number,
+ create_time,
+ update_time,
+ delete_flag,
+ public_discuss_id,
+ parent_id,
+ level
+ from
+ jczz_topics
+ </sql>
+ <select id="selectTopicsPage" resultMap="topicsResultMap">
+ select * from jczz_topics where deleted_flag = 0
+ </select>
+
+ <select id="selectTopicsList" parameterType="org.springblade.modules.discuss.dto.TopicsDTO" resultMap="TopicsDTOResult">
+ <include refid="selectTopics"/>
+ <where>
+ <if test="id != null "> and id = #{id}</if>
+ <if test="discussContent != null and discussContent != ''"> and discuss_content = #{discussContent}</if>
+ <if test="option != null "> and option = #{option}</if>
+ <if test="sort != null "> and sort = #{sort}</if>
+ <if test="optionContent != null and optionContent != ''"> and option_content = #{optionContent}</if>
+ <if test="optionDetail != null and optionDetail != ''"> and option_detail = #{optionDetail}</if>
+ <if test="number != null "> and number = #{number}</if>
+ <if test="createTime != null "> and create_time = #{createTime}</if>
+ <if test="updateTime != null "> and update_time = #{updateTime}</if>
+ <if test="deleteFlag != null "> and delete_flag = #{deleteFlag}</if>
+ <if test="publicDiscussId != null "> and public_discuss_id = #{publicDiscussId}</if>
+ </where>
+ </select>
+
+
+</mapper>
diff --git a/src/main/java/org/springblade/modules/discuss/mapper/UserPublicEnrollMapper.java b/src/main/java/org/springblade/modules/discuss/mapper/UserPublicEnrollMapper.java
new file mode 100644
index 0000000..0111d8b
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/mapper/UserPublicEnrollMapper.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.mapper;
+
+import org.springblade.modules.discuss.dto.UserPublicEnrollDTO;
+import org.springblade.modules.discuss.entity.UserPublicEnrollEntity;
+import org.springblade.modules.discuss.vo.UserPublicEnrollVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ * 用户公益报名记录表 Mapper 接口
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+public interface UserPublicEnrollMapper extends BaseMapper<UserPublicEnrollEntity> {
+
+ /**
+ * 自定义分页
+ *
+ * @param page
+ * @param userPublicEnroll
+ * @return
+ */
+ List<UserPublicEnrollVO> selectUserPublicEnrollPage(IPage page, UserPublicEnrollVO userPublicEnroll);
+
+ /**
+ * 查询用户公益报名记录表列表
+ *
+ * @param userPublicEnrollDTO 用户公益报名记录表
+ * @return 用户公益报名记录表集合
+ */
+ public List<UserPublicEnrollDTO> selectUserPublicEnrollList(UserPublicEnrollDTO userPublicEnrollDTO);
+}
diff --git a/src/main/java/org/springblade/modules/discuss/mapper/UserPublicEnrollMapper.xml b/src/main/java/org/springblade/modules/discuss/mapper/UserPublicEnrollMapper.xml
new file mode 100644
index 0000000..a8e54b0
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/mapper/UserPublicEnrollMapper.xml
@@ -0,0 +1,46 @@
+<?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="org.springblade.modules.discuss.mapper.UserPublicEnrollMapper">
+
+ <!-- 通用查询映射结果 -->
+ <resultMap id="userPublicEnrollResultMap" type="org.springblade.modules.discuss.entity.UserPublicEnrollEntity">
+ <result property="id" column="id" />
+ <result property="publicDiscussId" column="public_discuss_id" />
+ <result property="userId" column="user_id" />
+ <result property="createTime" column="create_time" />
+ <result property="updateTime" column="update_time" />
+ <result property="deleteFlag" column="delete_flag" />
+ </resultMap>
+
+ <sql id="selectUserPublicEnroll">
+ select
+ id,
+ public_discuss_id,
+ user_id,
+ create_time,
+ update_time,
+ delete_flag
+ from
+ jczz_user_public_enroll
+ </sql>
+
+
+
+ <select id="selectUserPublicEnrollPage" resultMap="userPublicEnrollResultMap">
+ select * from jczz_user_public_enroll where deleted_flag = 0
+ </select>
+
+ <select id="selectUserPublicEnrollList" parameterType="org.springblade.modules.discuss.dto.UserPublicEnrollDTO" resultMap="userPublicEnrollResultMap">
+ <include refid="selectUserPublicEnroll"/>
+ <where>
+ <if test="id != null "> and id = #{id}</if>
+ <if test="publicDiscussId != null "> and public_discuss_id = #{publicDiscussId}</if>
+ <if test="userId != null "> and user_id = #{userId}</if>
+ <if test="createTime != null "> and create_time = #{createTime}</if>
+ <if test="updateTime != null "> and update_time = #{updateTime}</if>
+ <if test="deleteFlag != null "> and delete_flag = #{deleteFlag}</if>
+ </where>
+ </select>
+
+
+</mapper>
diff --git a/src/main/java/org/springblade/modules/discuss/mapper/UserTopicsMapper.java b/src/main/java/org/springblade/modules/discuss/mapper/UserTopicsMapper.java
new file mode 100644
index 0000000..f585bb7
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/mapper/UserTopicsMapper.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.mapper;
+
+import org.springblade.modules.discuss.dto.UserTopicsDTO;
+import org.springblade.modules.discuss.entity.UserTopicsEntity;
+import org.springblade.modules.discuss.vo.UserTopicsVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ * 用户议题报表 Mapper 接口
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+public interface UserTopicsMapper extends BaseMapper<UserTopicsEntity> {
+
+ /**
+ * 自定义分页
+ *
+ * @param page
+ * @param userTopics
+ * @return
+ */
+ List<UserTopicsVO> selectUserTopicsPage(IPage page, UserTopicsVO userTopics);
+
+
+ /**
+ * 查询用户议题报表列表
+ *
+ * @param userTopicsDTO 用户议题报表
+ * @return 用户议题报表集合
+ */
+ public List<UserTopicsDTO> selectUserTopicsList(UserTopicsDTO userTopicsDTO);
+}
diff --git a/src/main/java/org/springblade/modules/discuss/mapper/UserTopicsMapper.xml b/src/main/java/org/springblade/modules/discuss/mapper/UserTopicsMapper.xml
new file mode 100644
index 0000000..105c518
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/mapper/UserTopicsMapper.xml
@@ -0,0 +1,48 @@
+<?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="org.springblade.modules.discuss.mapper.UserTopicsMapper">
+
+ <!-- 通用查询映射结果 -->
+ <resultMap id="userTopicsResultMap" type="org.springblade.modules.discuss.entity.UserTopicsEntity">
+ <result property="id" column="id" />
+ <result property="userId" column="user_id" />
+ <result property="topicsId" column="topics_id" />
+ <result property="createTime" column="create_time" />
+ <result property="updateTime" column="update_time" />
+ <result property="deleteFlag" column="delete_flag" />
+ <result property="publicDiscussId" column="public_discuss_id" />
+ </resultMap>
+
+ <sql id="selectUserTopics">
+ select
+ id,
+ user_id,
+ topics_id,
+ create_time,
+ update_time,
+ delete_flag,
+ public_discuss_id
+ from
+ jczz_user_topics
+ </sql>
+
+
+ <select id="selectUserTopicsPage" resultMap="userTopicsResultMap">
+ select * from jczz_user_topics where deleted_flag = 0
+ </select>
+
+ <select id="selectUserTopicsList" parameterType="org.springblade.modules.discuss.dto.UserTopicsDTO" resultMap="userTopicsResultMap">
+ <include refid="selectUserTopics"/>
+ <where>
+ <if test="id != null "> and id = #{id}</if>
+ <if test="userId != null "> and user_id = #{userId}</if>
+ <if test="topicsId != null "> and topics_id = #{topicsId}</if>
+ <if test="createTime != null "> and create_time = #{createTime}</if>
+ <if test="updateTime != null "> and update_time = #{updateTime}</if>
+ <if test="deleteFlag != null "> and delete_flag = #{deleteFlag}</if>
+ <if test="publicDiscussId != null "> and public_discuss_id = #{publicDiscussId}</if>
+ </where>
+ </select>
+
+
+</mapper>
diff --git a/src/main/java/org/springblade/modules/discuss/service/IPublicDiscussService.java b/src/main/java/org/springblade/modules/discuss/service/IPublicDiscussService.java
new file mode 100644
index 0000000..e4524d9
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/service/IPublicDiscussService.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.modules.discuss.entity.PublicDiscussEntity;
+import org.springblade.modules.discuss.vo.PublicDiscussVO;
+import org.springblade.core.mp.base.BaseService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ * 公益报名与议事 服务类
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+public interface IPublicDiscussService extends IService<PublicDiscussEntity> {
+
+ /**
+ * 自定义分页
+ *
+ * @param page
+ * @param publicDiscuss
+ * @return
+ */
+ IPage<PublicDiscussVO> selectPublicDiscussPage(IPage<PublicDiscussVO> page, PublicDiscussVO publicDiscuss);
+
+
+}
diff --git a/src/main/java/org/springblade/modules/discuss/service/ITopicsService.java b/src/main/java/org/springblade/modules/discuss/service/ITopicsService.java
new file mode 100644
index 0000000..c20d3d7
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/service/ITopicsService.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.modules.discuss.dto.TopicsDTO;
+import org.springblade.modules.discuss.entity.TopicsEntity;
+import org.springblade.modules.discuss.vo.TopicsVO;
+
+import java.util.List;
+
+/**
+ * 议题表 服务类
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+public interface ITopicsService extends IService<TopicsEntity> {
+
+ /**
+ * 自定义分页
+ *
+ * @param page
+ * @param topics
+ * @return
+ */
+ IPage<TopicsVO> selectTopicsPage(IPage<TopicsVO> page, TopicsVO topics);
+
+
+ /**
+ *
+ * @param topicsDTO
+ * @return
+ */
+ public List<TopicsDTO> selectTopicsList(TopicsDTO topicsDTO);
+
+
+}
diff --git a/src/main/java/org/springblade/modules/discuss/service/IUserPublicEnrollService.java b/src/main/java/org/springblade/modules/discuss/service/IUserPublicEnrollService.java
new file mode 100644
index 0000000..1e01bf6
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/service/IUserPublicEnrollService.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.modules.discuss.entity.UserPublicEnrollEntity;
+import org.springblade.modules.discuss.vo.UserPublicEnrollVO;
+
+/**
+ * 用户公益报名记录表 服务类
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+public interface IUserPublicEnrollService extends IService<UserPublicEnrollEntity> {
+
+ /**
+ * 自定义分页
+ *
+ * @param page
+ * @param userPublicEnroll
+ * @return
+ */
+ IPage<UserPublicEnrollVO> selectUserPublicEnrollPage(IPage<UserPublicEnrollVO> page, UserPublicEnrollVO userPublicEnroll);
+
+
+}
diff --git a/src/main/java/org/springblade/modules/discuss/service/IUserTopicsService.java b/src/main/java/org/springblade/modules/discuss/service/IUserTopicsService.java
new file mode 100644
index 0000000..57a26d9
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/service/IUserTopicsService.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.modules.discuss.entity.UserTopicsEntity;
+import org.springblade.modules.discuss.vo.UserTopicsVO;
+
+/**
+ * 用户议题报表 服务类
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+public interface IUserTopicsService extends IService<UserTopicsEntity> {
+
+ /**
+ * 自定义分页
+ *
+ * @param page
+ * @param userTopics
+ * @return
+ */
+ IPage<UserTopicsVO> selectUserTopicsPage(IPage<UserTopicsVO> page, UserTopicsVO userTopics);
+
+
+}
diff --git a/src/main/java/org/springblade/modules/discuss/service/impl/PublicDiscussServiceImpl.java b/src/main/java/org/springblade/modules/discuss/service/impl/PublicDiscussServiceImpl.java
new file mode 100644
index 0000000..c78aeb9
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/service/impl/PublicDiscussServiceImpl.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.modules.discuss.entity.PublicDiscussEntity;
+import org.springblade.modules.discuss.mapper.PublicDiscussMapper;
+import org.springblade.modules.discuss.service.IPublicDiscussService;
+import org.springblade.modules.discuss.vo.PublicDiscussVO;
+import org.springframework.stereotype.Service;
+
+/**
+ * 公益报名与议事 服务实现类
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+@Service
+public class PublicDiscussServiceImpl extends ServiceImpl<PublicDiscussMapper, PublicDiscussEntity> implements IPublicDiscussService {
+
+ @Override
+ public IPage<PublicDiscussVO> selectPublicDiscussPage(IPage<PublicDiscussVO> page, PublicDiscussVO publicDiscuss) {
+ return page.setRecords(baseMapper.selectPublicDiscussPage(page, publicDiscuss));
+ }
+
+
+}
diff --git a/src/main/java/org/springblade/modules/discuss/service/impl/TopicsServiceImpl.java b/src/main/java/org/springblade/modules/discuss/service/impl/TopicsServiceImpl.java
new file mode 100644
index 0000000..aedc276
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/service/impl/TopicsServiceImpl.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.modules.discuss.dto.TopicsDTO;
+import org.springblade.modules.discuss.entity.TopicsEntity;
+import org.springblade.modules.discuss.mapper.TopicsMapper;
+import org.springblade.modules.discuss.service.ITopicsService;
+import org.springblade.modules.discuss.vo.TopicsVO;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 议题表 服务实现类
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+@Service
+public class TopicsServiceImpl extends ServiceImpl<TopicsMapper, TopicsEntity> implements ITopicsService {
+
+ @Override
+ public IPage<TopicsVO> selectTopicsPage(IPage<TopicsVO> page, TopicsVO topics) {
+ return page.setRecords(baseMapper.selectTopicsPage(page, topics));
+ }
+
+ @Override
+ public List<TopicsDTO> selectTopicsList(TopicsDTO topicsDTO) {
+ return baseMapper.selectTopicsList( topicsDTO);
+ }
+}
diff --git a/src/main/java/org/springblade/modules/discuss/service/impl/UserPublicEnrollServiceImpl.java b/src/main/java/org/springblade/modules/discuss/service/impl/UserPublicEnrollServiceImpl.java
new file mode 100644
index 0000000..ab9006a
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/service/impl/UserPublicEnrollServiceImpl.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.modules.discuss.entity.UserPublicEnrollEntity;
+import org.springblade.modules.discuss.mapper.UserPublicEnrollMapper;
+import org.springblade.modules.discuss.service.IUserPublicEnrollService;
+import org.springblade.modules.discuss.vo.UserPublicEnrollVO;
+import org.springframework.stereotype.Service;
+
+/**
+ * 用户公益报名记录表 服务实现类
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+@Service
+public class UserPublicEnrollServiceImpl extends ServiceImpl<UserPublicEnrollMapper, UserPublicEnrollEntity> implements IUserPublicEnrollService {
+
+ @Override
+ public IPage<UserPublicEnrollVO> selectUserPublicEnrollPage(IPage<UserPublicEnrollVO> page, UserPublicEnrollVO userPublicEnroll) {
+ return page.setRecords(baseMapper.selectUserPublicEnrollPage(page, userPublicEnroll));
+ }
+
+
+}
diff --git a/src/main/java/org/springblade/modules/discuss/service/impl/UserTopicsServiceImpl.java b/src/main/java/org/springblade/modules/discuss/service/impl/UserTopicsServiceImpl.java
new file mode 100644
index 0000000..354bea1
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/service/impl/UserTopicsServiceImpl.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.modules.discuss.entity.UserTopicsEntity;
+import org.springblade.modules.discuss.mapper.UserTopicsMapper;
+import org.springblade.modules.discuss.service.IUserTopicsService;
+import org.springblade.modules.discuss.vo.UserTopicsVO;
+import org.springframework.stereotype.Service;
+
+/**
+ * 用户议题报表 服务实现类
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+@Service
+public class UserTopicsServiceImpl extends ServiceImpl<UserTopicsMapper, UserTopicsEntity> implements IUserTopicsService {
+
+ @Override
+ public IPage<UserTopicsVO> selectUserTopicsPage(IPage<UserTopicsVO> page, UserTopicsVO userTopics) {
+ return page.setRecords(baseMapper.selectUserTopicsPage(page, userTopics));
+ }
+
+
+}
diff --git a/src/main/java/org/springblade/modules/discuss/vo/PublicDiscussVO.java b/src/main/java/org/springblade/modules/discuss/vo/PublicDiscussVO.java
new file mode 100644
index 0000000..3d8dba3
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/vo/PublicDiscussVO.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.vo;
+
+import org.springblade.modules.discuss.entity.PublicDiscussEntity;
+import org.springblade.core.tool.node.INode;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 公益报名与议事 视图实体类
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class PublicDiscussVO extends PublicDiscussEntity {
+ private static final long serialVersionUID = 1L;
+
+}
diff --git a/src/main/java/org/springblade/modules/discuss/vo/TopicsVO.java b/src/main/java/org/springblade/modules/discuss/vo/TopicsVO.java
new file mode 100644
index 0000000..29a6c5e
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/vo/TopicsVO.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.vo;
+
+import org.springblade.modules.discuss.entity.TopicsEntity;
+import org.springblade.core.tool.node.INode;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 议题表 视图实体类
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class TopicsVO extends TopicsEntity {
+ private static final long serialVersionUID = 1L;
+
+}
diff --git a/src/main/java/org/springblade/modules/discuss/vo/UserPublicEnrollVO.java b/src/main/java/org/springblade/modules/discuss/vo/UserPublicEnrollVO.java
new file mode 100644
index 0000000..ffa5b0b
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/vo/UserPublicEnrollVO.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.vo;
+
+import org.springblade.modules.discuss.entity.UserPublicEnrollEntity;
+import org.springblade.core.tool.node.INode;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 用户公益报名记录表 视图实体类
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class UserPublicEnrollVO extends UserPublicEnrollEntity {
+ private static final long serialVersionUID = 1L;
+
+}
diff --git a/src/main/java/org/springblade/modules/discuss/vo/UserTopicsVO.java b/src/main/java/org/springblade/modules/discuss/vo/UserTopicsVO.java
new file mode 100644
index 0000000..3aab930
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/vo/UserTopicsVO.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.vo;
+
+import org.springblade.modules.discuss.entity.UserTopicsEntity;
+import org.springblade.core.tool.node.INode;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 用户议题报表 视图实体类
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class UserTopicsVO extends UserTopicsEntity {
+ private static final long serialVersionUID = 1L;
+
+}
diff --git a/src/main/java/org/springblade/modules/discuss/wrapper/PublicDiscussWrapper.java b/src/main/java/org/springblade/modules/discuss/wrapper/PublicDiscussWrapper.java
new file mode 100644
index 0000000..5dd2b5d
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/wrapper/PublicDiscussWrapper.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.modules.discuss.entity.PublicDiscussEntity;
+import org.springblade.modules.discuss.vo.PublicDiscussVO;
+import java.util.Objects;
+
+/**
+ * 公益报名与议事 包装类,返回视图层所需的字段
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+public class PublicDiscussWrapper extends BaseEntityWrapper<PublicDiscussEntity, PublicDiscussVO> {
+
+ public static PublicDiscussWrapper build() {
+ return new PublicDiscussWrapper();
+ }
+
+ @Override
+ public PublicDiscussVO entityVO(PublicDiscussEntity publicDiscuss) {
+ PublicDiscussVO publicDiscussVO = Objects.requireNonNull(BeanUtil.copy(publicDiscuss, PublicDiscussVO.class));
+
+ //User createUser = UserCache.getUser(publicDiscuss.getCreateUser());
+ //User updateUser = UserCache.getUser(publicDiscuss.getUpdateUser());
+ //publicDiscussVO.setCreateUserName(createUser.getName());
+ //publicDiscussVO.setUpdateUserName(updateUser.getName());
+
+ return publicDiscussVO;
+ }
+
+
+}
diff --git a/src/main/java/org/springblade/modules/discuss/wrapper/TopicsWrapper.java b/src/main/java/org/springblade/modules/discuss/wrapper/TopicsWrapper.java
new file mode 100644
index 0000000..1e06482
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/wrapper/TopicsWrapper.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.modules.discuss.entity.TopicsEntity;
+import org.springblade.modules.discuss.vo.TopicsVO;
+import java.util.Objects;
+
+/**
+ * 议题表 包装类,返回视图层所需的字段
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+public class TopicsWrapper extends BaseEntityWrapper<TopicsEntity, TopicsVO> {
+
+ public static TopicsWrapper build() {
+ return new TopicsWrapper();
+ }
+
+ @Override
+ public TopicsVO entityVO(TopicsEntity topics) {
+ TopicsVO topicsVO = Objects.requireNonNull(BeanUtil.copy(topics, TopicsVO.class));
+
+ //User createUser = UserCache.getUser(topics.getCreateUser());
+ //User updateUser = UserCache.getUser(topics.getUpdateUser());
+ //topicsVO.setCreateUserName(createUser.getName());
+ //topicsVO.setUpdateUserName(updateUser.getName());
+
+ return topicsVO;
+ }
+
+
+}
diff --git a/src/main/java/org/springblade/modules/discuss/wrapper/UserPublicEnrollWrapper.java b/src/main/java/org/springblade/modules/discuss/wrapper/UserPublicEnrollWrapper.java
new file mode 100644
index 0000000..f14ef0f
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/wrapper/UserPublicEnrollWrapper.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.modules.discuss.entity.UserPublicEnrollEntity;
+import org.springblade.modules.discuss.vo.UserPublicEnrollVO;
+import java.util.Objects;
+
+/**
+ * 用户公益报名记录表 包装类,返回视图层所需的字段
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+public class UserPublicEnrollWrapper extends BaseEntityWrapper<UserPublicEnrollEntity, UserPublicEnrollVO> {
+
+ public static UserPublicEnrollWrapper build() {
+ return new UserPublicEnrollWrapper();
+ }
+
+ @Override
+ public UserPublicEnrollVO entityVO(UserPublicEnrollEntity userPublicEnroll) {
+ UserPublicEnrollVO userPublicEnrollVO = Objects.requireNonNull(BeanUtil.copy(userPublicEnroll, UserPublicEnrollVO.class));
+
+ //User createUser = UserCache.getUser(userPublicEnroll.getCreateUser());
+ //User updateUser = UserCache.getUser(userPublicEnroll.getUpdateUser());
+ //userPublicEnrollVO.setCreateUserName(createUser.getName());
+ //userPublicEnrollVO.setUpdateUserName(updateUser.getName());
+
+ return userPublicEnrollVO;
+ }
+
+
+}
diff --git a/src/main/java/org/springblade/modules/discuss/wrapper/UserTopicsWrapper.java b/src/main/java/org/springblade/modules/discuss/wrapper/UserTopicsWrapper.java
new file mode 100644
index 0000000..fbb0d26
--- /dev/null
+++ b/src/main/java/org/springblade/modules/discuss/wrapper/UserTopicsWrapper.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.discuss.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.modules.discuss.entity.UserTopicsEntity;
+import org.springblade.modules.discuss.vo.UserTopicsVO;
+import java.util.Objects;
+
+/**
+ * 用户议题报表 包装类,返回视图层所需的字段
+ *
+ * @author BladeX
+ * @since 2023-11-22
+ */
+public class UserTopicsWrapper extends BaseEntityWrapper<UserTopicsEntity, UserTopicsVO> {
+
+ public static UserTopicsWrapper build() {
+ return new UserTopicsWrapper();
+ }
+
+ @Override
+ public UserTopicsVO entityVO(UserTopicsEntity userTopics) {
+ UserTopicsVO userTopicsVO = Objects.requireNonNull(BeanUtil.copy(userTopics, UserTopicsVO.class));
+
+ //User createUser = UserCache.getUser(userTopics.getCreateUser());
+ //User updateUser = UserCache.getUser(userTopics.getUpdateUser());
+ //userTopicsVO.setCreateUserName(createUser.getName());
+ //userTopicsVO.setUpdateUserName(updateUser.getName());
+
+ return userTopicsVO;
+ }
+
+
+}
diff --git a/src/main/java/sql/publicdiscuss.menu.sql b/src/main/java/sql/publicdiscuss.menu.sql
new file mode 100644
index 0000000..ddce3c0
--- /dev/null
+++ b/src/main/java/sql/publicdiscuss.menu.sql
@@ -0,0 +1,10 @@
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1727263229228367873', 1123598815738675201, 'publicDiscuss', '公益报名与议事', 'menu', '/discuss/publicDiscuss', NULL, 1, 1, 0, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1727263229228367874', '1727263229228367873', 'publicDiscuss_add', '新增', 'add', '/discuss/publicDiscuss/add', 'plus', 1, 2, 1, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1727263229228367875', '1727263229228367873', 'publicDiscuss_edit', '修改', 'edit', '/discuss/publicDiscuss/edit', 'form', 2, 2, 2, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1727263229228367876', '1727263229228367873', 'publicDiscuss_delete', '删除', 'delete', '/api/public_discuss/publicDiscuss/remove', 'delete', 3, 2, 3, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1727263229228367877', '1727263229228367873', 'publicDiscuss_view', '查看', 'view', '/discuss/publicDiscuss/view', 'file-text', 4, 2, 2, 1, NULL, 0);
diff --git a/src/main/java/sql/topics.menu.sql b/src/main/java/sql/topics.menu.sql
new file mode 100644
index 0000000..b37d448
--- /dev/null
+++ b/src/main/java/sql/topics.menu.sql
@@ -0,0 +1,10 @@
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1727261996484665345', 1123598815738675201, 'topics', '议题表', 'menu', '/discuss/topics', NULL, 1, 1, 0, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1727261996484665346', '1727261996484665345', 'topics_add', '新增', 'add', '/discuss/topics/add', 'plus', 1, 2, 1, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1727261996484665347', '1727261996484665345', 'topics_edit', '修改', 'edit', '/discuss/topics/edit', 'form', 2, 2, 2, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1727261996484665348', '1727261996484665345', 'topics_delete', '删除', 'delete', '/api/blade-topics/topics/remove', 'delete', 3, 2, 3, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1727261996484665349', '1727261996484665345', 'topics_view', '查看', 'view', '/discuss/topics/view', 'file-text', 4, 2, 2, 1, NULL, 0);
diff --git a/src/main/java/sql/userpublicenroll.menu.sql b/src/main/java/sql/userpublicenroll.menu.sql
new file mode 100644
index 0000000..7cd76cc
--- /dev/null
+++ b/src/main/java/sql/userpublicenroll.menu.sql
@@ -0,0 +1,10 @@
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1727261996811821057', 1123598815738675201, 'userPublicEnroll', '用户公益报名记录表', 'menu', '/discuss/userPublicEnroll', NULL, 1, 1, 0, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1727261996811821058', '1727261996811821057', 'userPublicEnroll_add', '新增', 'add', '/discuss/userPublicEnroll/add', 'plus', 1, 2, 1, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1727261996811821059', '1727261996811821057', 'userPublicEnroll_edit', '修改', 'edit', '/discuss/userPublicEnroll/edit', 'form', 2, 2, 2, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1727261996811821060', '1727261996811821057', 'userPublicEnroll_delete', '删除', 'delete', '/api/blade-userPublicEnroll/userPublicEnroll/remove', 'delete', 3, 2, 3, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1727261996811821061', '1727261996811821057', 'userPublicEnroll_view', '查看', 'view', '/discuss/userPublicEnroll/view', 'file-text', 4, 2, 2, 1, NULL, 0);
diff --git a/src/main/java/sql/usertopics.menu.sql b/src/main/java/sql/usertopics.menu.sql
new file mode 100644
index 0000000..82efc35
--- /dev/null
+++ b/src/main/java/sql/usertopics.menu.sql
@@ -0,0 +1,10 @@
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1727261997134782465', 1123598815738675201, 'userTopics', '用户议题报表', 'menu', '/discuss/userTopics', NULL, 1, 1, 0, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1727261997134782466', '1727261997134782465', 'userTopics_add', '新增', 'add', '/discuss/userTopics/add', 'plus', 1, 2, 1, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1727261997134782467', '1727261997134782465', 'userTopics_edit', '修改', 'edit', '/discuss/userTopics/edit', 'form', 2, 2, 2, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1727261997134782468', '1727261997134782465', 'userTopics_delete', '删除', 'delete', '/api/blade-userTopics/userTopics/remove', 'delete', 3, 2, 3, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1727261997134782469', '1727261997134782465', 'userTopics_view', '查看', 'view', '/discuss/userTopics/view', 'file-text', 4, 2, 2, 1, NULL, 0);
--
Gitblit v1.9.3