前面有個粉絲找到猛哥,說遇到了困難!讓我開發一個基于springboot的活動管理系統!
他非常的著急,事情比較突然,
好吧,我去買了咖啡,熬了兩個通宵給趕制出來了!
后來小伙伴用完系統后,他說可以開源給大家一起學習!
果然人人為我,我為人人!求個三連,強烈建議收藏,不然以后找不到了,更多干貨猛哥持續分享!
原始碼見文章底部!
當然前面也分享了很多優質的專案:
1,基于springboot的醫藥管理系統
2,基于springboot+vue的校園招聘系統
3,基于ssm+小程式的物業管理系統
4,基于SpringCloud的微服務專案【原始碼+視頻教程】
目錄
1,系統功能及原始碼下載地址
2,系統教程:
3,系統環境
4,系統演示
4.1 小程式端演示
4.2 后端演示
5,系統核心代碼
6,資料表設計
7,贈人玫瑰,手留余香
?基于springboot的小程式系統,前臺是小程式,后臺用springboot開發的,原始碼進行開源,
系統和奈斯,前臺面向的是用戶,可以進行登錄、注冊、在線預約活動、公告查看、活動分類查看等
管理員端可以進行用戶的管理,活動的管理,活動分類管理,大家拿到原始碼后可以自己跑一下,自己可以二次開發或者學習使用,不可商用,
1,系統功能及原始碼下載地址
該系統 是一個 Java EE 企業級快速開發平臺,基于經典技術組合(Spring Boot、Apache Shiro、MyBatis、Thymeleaf、Bootstrap),內置模塊如:部門管理、角色用戶、選單及按鈕授權、資料權限、系統引數、日志管理、通知公告等,在線定時任務配置;支持集群,支持多資料源,本專案又在RuoYi的基礎上增加了很多功能,比如百度AI、OSS等,
文章底部分享
2,系統教程:
對系統的模塊進行了大體的介紹,幫你了解每個模塊是干啥的,
具體的視頻教程在文章底,

3,系統環境
系統開發平臺:
JDK1.8+Maven3.6.1
框架:Springboot2.X+Bootstrap
資料庫和工具:MySql5.7 Navicat
開發工具: Intellij Idea
瀏覽器:Chrome
涉及到的技術:MySql、Springboot、MyBatisPlus、Thymeleaf、Shiro、jquery、element

4,系統演示
4.1 小程式端演示



4.2 后端演示



5,系統核心代碼
BlogController
/**
* 廣告位Controller
*
* @author v:kaifaizixun
* @date 2021-08-16
*/
@Controller
@RequestMapping("/blog")
public class BlogController extends BaseController
{
private static final String prefix = "blog/theme";
//private static final String theme="/pnews";
//private static final String theme="/pblog";
//private static final String theme="/avatar";
@Autowired
private IArticleService articleService;
@Autowired
private IAlbumService albumService;
@Autowired
private ICommentService commentService;
@Autowired
private ITagsService tagsService;
@Autowired
private ICategoryService categoryService;
@Autowired
private IResourceService resourceService;
@Autowired
private ISysConfigService configService;
@Autowired
private ILinkTypeService linkTypeService;
@Autowired
private ILinkService linkService;
@Autowired
private IBlogThemeService blogThemeService;
private static Cache<String,Integer> articleViewCache= CacheUtil.newLRUCache(1000,1000*60*60);
private static Cache<String,Integer> articleUpVoteCache= CacheUtil.newLRUCache(1000,1000*60*60);
private static Cache<String,Integer> commentUpVoteCache= CacheUtil.newLRUCache(1000,1000*60*60);
private static Cache<String,Map> bannerCache= CacheUtil.newTimedCache(1000*60*60);
private static Cache<String,Object> blogCache= CacheUtil.newTimedCache(1000*60*60*3);
private String getTheme(){
return configService.selectConfigByKey(CmsConstants.KEY_BLOG_THEME);
}
/**
* 首頁
*
* @param model
* @return
*/
@GetMapping({"/","","/index"})
public String index(Model model) {
model.addAttribute("pageUrl", "blog/index");
model.addAttribute("categoryId", "index");
Article form = new Article();
startPage();
List<Article> articles = articleService.selectArticlesRegionNotNull(form);
model.addAttribute("pageNo", new PageInfo(articles).getPageNum());
model.addAttribute("pageSize", new PageInfo(articles).getPageSize());
model.addAttribute("totalPages", new PageInfo(articles).getPages());
model.addAttribute("articleList",articles);
return prefix+"/" + getTheme() + "/index";
}
/**
* 獲取一個專輯以及其關聯的素材
*/
@PostMapping( "/getIndexBanner")
@ResponseBody
public AjaxResult getAlbum(String code)
{
if(StringUtils.isEmpty(code)){
return AjaxResult.error("引數code不能為空!");
}
Map data= bannerCache.get(code,false);
if(data==null){
data= albumService.getAlbum(code);
bannerCache.put(code,data);
}
return AjaxResult.success(data);
}
/**
* 文章詳情
*
* @param model
* @param articleId
* @return
*/
@GetMapping("/article/{articleId}")
public String article(HttpServletRequest request, Model model, @PathVariable("articleId") String articleId) {
Article article = articleService.selectArticleById(articleId);
if (article == null) {
throw new BusinessException("該文章不存在!");
}
model.addAttribute("article", article);
model.addAttribute("categoryId", article.getCategoryId());
return prefix+"/" + getTheme() + "/article";
}
/**
* 分類串列
*
* @param model
* @return
*/
@GetMapping("/category")
public String category(Model model) {
model.addAttribute("categoryId", "category");
Article form = new Article();
startPage();
List<Article> articles = articleService.selectArticleList(form);
PageInfo pageInfo=new PageInfo(articles);
model.addAttribute("total", pageInfo.getTotal());
model.addAttribute("pageNo", pageInfo.getPageNum());
model.addAttribute("pageSize", pageInfo.getPageSize());
model.addAttribute("totalPages", pageInfo.getPages());
model.addAttribute("hasPrevious", pageInfo.isHasPreviousPage());
model.addAttribute("hasNext", pageInfo.isHasNextPage());
model.addAttribute("currentPage", pageInfo.getPageNum());
model.addAttribute("prePage", pageInfo.getPrePage());
model.addAttribute("nextPage", pageInfo.getNextPage());
model.addAttribute("navNums", pageInfo.getNavigatepageNums());
model.addAttribute("articleList",articles);
return prefix+"/" + getTheme() + "/category_article";
}
/**
* 分類串列
*
* @param categoryId
* @param model
* @return
*/
@GetMapping("/category/{categoryId}")
public String categoryBy(@PathVariable("categoryId") String categoryId, Model model) {
Category category=categoryService.selectCategoryById(Long.valueOf(categoryId));
if(category!=null){
model.addAttribute("categoryName", category.getCategoryName());
}
Article form = new Article();
form.setCategoryId(categoryId);
model.addAttribute("categoryId", categoryId);
startPage();
List<Article> articles = articleService.selectArticleList(form);
PageInfo pageInfo=new PageInfo(articles);
model.addAttribute("total", pageInfo.getTotal());
model.addAttribute("pageNo", pageInfo.getPageNum());
model.addAttribute("pageSize", pageInfo.getPageSize());
model.addAttribute("totalPages", pageInfo.getPages());
model.addAttribute("hasPrevious", pageInfo.isHasPreviousPage());
model.addAttribute("hasNext", pageInfo.isHasNextPage());
model.addAttribute("currentPage", pageInfo.getPageNum());
model.addAttribute("prePage", pageInfo.getPrePage());
model.addAttribute("nextPage", pageInfo.getNextPage());
model.addAttribute("navNums", pageInfo.getNavigatepageNums());
model.addAttribute("articleList",articles);
return prefix+"/" + getTheme() + "/category";
}
/**
* 分類串列
*
* @param model
* @return
*/
@GetMapping("/resource/list")
public String resourceList(Model model) {
model.addAttribute("categoryId", "resource");
Resource form = new Resource();
form.setStatus(CmsConstants.STATUS_NORMAL);
form.setAuditState(CmsConstants.AUDIT_STATE_AGREE.toString());
startPage();
List<Resource> resources = resourceService.selectResourceList(form);
PageInfo pageInfo=new PageInfo(resources);
model.addAttribute("total", pageInfo.getTotal());
model.addAttribute("pageNo", pageInfo.getPageNum());
model.addAttribute("pageSize", pageInfo.getPageSize());
model.addAttribute("totalPages", pageInfo.getPages());
model.addAttribute("hasPrevious", pageInfo.isHasPreviousPage());
model.addAttribute("hasNext", pageInfo.isHasNextPage());
model.addAttribute("currentPage", pageInfo.getPageNum());
model.addAttribute("prePage", pageInfo.getPrePage());
model.addAttribute("nextPage", pageInfo.getNextPage());
model.addAttribute("navNums", pageInfo.getNavigatepageNums());
model.addAttribute("resourceList",resources);
return prefix+"/" + getTheme() + "/list_resource";
}
/**
* 資源詳情
*
* @param model
* @param id
* @return
*/
@GetMapping("/resource/{id}")
public String resource(HttpServletRequest request, Model model, @PathVariable("id") String id) {
Resource resource = resourceService.selectResourceById(id);
if (resource == null) {
throw new BusinessException("該資源不存在!");
}
model.addAttribute("resource", resource);
model.addAttribute("categoryId","resource");
return prefix+"/" + getTheme() + "/resource";
}
/**
* 搜索內容
* 目前僅支持文章標題模糊搜索
*
* @param content
* @param model
* @return
*/
@GetMapping("/search")
public String search(String content, Model model) {
model.addAttribute("content", content);
Article form = new Article();
form.setTitle(content.trim());
startPage();
List<Article> articles = articleService.selectArticleList(form);
PageInfo pageInfo=new PageInfo(articles);
model.addAttribute("total", pageInfo.getTotal());
model.addAttribute("pageNo", pageInfo.getPageNum());
model.addAttribute("pageSize", pageInfo.getPageSize());
model.addAttribute("totalPages", pageInfo.getPages());
model.addAttribute("hasPrevious", pageInfo.isHasPreviousPage());
model.addAttribute("hasNext", pageInfo.isHasNextPage());
model.addAttribute("currentPage", pageInfo.getPageNum());
model.addAttribute("prePage", pageInfo.getPrePage());
model.addAttribute("nextPage", pageInfo.getNextPage());
model.addAttribute("navNums", pageInfo.getNavigatepageNums());
model.addAttribute("articleList",articles);
return prefix+"/" + getTheme() + "/search";
}
/**
* 標簽串列
*
* @param tagId
* @param model
* @return
*/
@GetMapping("/tag/{tagId}")
public String tag(@PathVariable("tagId") String tagId, Model model) {
model.addAttribute("tagId", tagId);
Tags tag=tagsService.selectTagsById(Long.valueOf(tagId));
if(tag!=null){
model.addAttribute("tagName", tag.getTagName());
}
Article form = new Article();
form.setTag(tagId);
model.addAttribute("pageUrl", "blog/tag/" + tagId);
startPage();
List<Article> articles = articleService.selectArticleList(form);
PageInfo pageInfo=new PageInfo(articles);
model.addAttribute("total", pageInfo.getTotal());
model.addAttribute("pageNo", pageInfo.getPageNum());
model.addAttribute("pageSize", pageInfo.getPageSize());
model.addAttribute("totalPages", pageInfo.getPages());
model.addAttribute("hasPrevious", pageInfo.isHasPreviousPage());
model.addAttribute("hasNext", pageInfo.isHasNextPage());
model.addAttribute("currentPage", pageInfo.getPageNum());
model.addAttribute("prePage", pageInfo.getPrePage());
model.addAttribute("nextPage", pageInfo.getNextPage());
model.addAttribute("navNums", pageInfo.getNavigatepageNums());
model.addAttribute("articleList",articles);
return prefix+"/" + getTheme() + "/tag";
}
/**
* 留言
*
* @param model
* @return
*/
@GetMapping("/siteMsg")
public String comment(Model model) {
model.addAttribute("categoryId", "siteMsg");
return prefix+"/" + getTheme() + "/siteMsg";
}
@PostMapping("/article/view")
@ResponseBody
public AjaxResult articleView(HttpServletRequest request,String articleId){
if(StringUtils.isEmpty(articleId)){
return AjaxResult.error("系統錯誤!");
}
String ip= IpUtils.getIpAddr(request);
Integer n=articleViewCache.get(ip+"|"+articleId);
if(n==null||n==0){
articleService.articleLook(articleId);
articleViewCache.put(ip+"|"+articleId,1);
return AjaxResult.success("瀏覽數+1");
}else{
articleViewCache.put(ip+"|"+articleId,n++);
return AjaxResult.error("系統錯誤!");
}
}
@PostMapping("/article/upVote")
@ResponseBody
public AjaxResult articleUpVote(HttpServletRequest request,String articleId){
if(StringUtils.isEmpty(articleId)){
return AjaxResult.error("系統錯誤!");
}
String ip= IpUtils.getIpAddr(request);
Integer n=articleUpVoteCache.get(ip+"|"+articleId);
if(n==null||n==0){
articleService.upVote(articleId);
articleUpVoteCache.put(ip+"|"+articleId,1);
return AjaxResult.success("點贊數+1");
}else{
articleUpVoteCache.put(ip+"|"+articleId,n++);
return AjaxResult.success("已經點贊");
}
}
ArticleController
/**
* 文章管理Controller
*
* @author v:kaifaizixun
* @date 2021-08-16
*/
@Controller
@RequestMapping("/cms/article")
public class ArticleController extends BaseController
{
private String prefix = "cms/article";
@Autowired
private IArticleService articleService;
@Autowired
private ITagsService tagsService;
@Autowired
private ISysConfigService configService;
private String getEditorType(){
return configService.selectConfigByKey(CmsConstants.KEY_EDITOR_TYPE);
}
@RequiresPermissions("cms:article:view")
@GetMapping()
public String article()
{
return prefix + "/article";
}
/**
* 查詢文章管理串列
*/
@RequiresPermissions("cms:article:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(Article article)
{
startPage();
List<Article> list = articleService.selectArticleList(article);
return getDataTable(list);
}
/**
* 匯出文章管理串列
*/
@RequiresPermissions("cms:article:export")
@PostMapping("/export")
@ResponseBody
public AjaxResult export(Article article)
{
List<Article> list = articleService.selectArticleList(article);
ExcelUtil<Article> util = new ExcelUtil<Article>(Article.class);
return util.exportExcel(list, "article");
}
ResourceController
/**
* 資源Controller
*
* @author wujiyue
* @date 2019-11-23
*/
@Controller
@RequestMapping("/cms/resource")
public class ResourceController extends BaseController
{
private String prefix = "cms/resource";
@Autowired
private IResourceService resourceService;
@RequiresPermissions("cms:resource:view")
@GetMapping()
public String resource()
{
return prefix + "/resource";
}
/**
* 查詢資源串列
*/
@RequiresPermissions("cms:resource:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(Resource resource)
{
startPage();
List<Resource> list = resourceService.selectResourceList(resource);
return getDataTable(list);
}
/**
* 匯出資源串列
*/
@RequiresPermissions("cms:resource:export")
@PostMapping("/export")
@ResponseBody
public AjaxResult export(Resource resource)
{
List<Resource> list = resourceService.selectResourceList(resource);
ExcelUtil<Resource> util = new ExcelUtil<Resource>(Resource.class);
return util.exportExcel(list, "resource");
}
6,資料表設計
系統核心資料表的設計如下所示:
/*
Date: 21/04/2020 12:02:53
author:menggge
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for blog_theme
-- ----------------------------
DROP TABLE IF EXISTS `blog_theme`;
CREATE TABLE `blog_theme` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '主題名稱',
`code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '主題代碼',
`cover_img` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '封面圖片',
`create_time` datetime(0) DEFAULT NULL COMMENT '創建時間',
`create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of blog_theme
-- ----------------------------
INSERT INTO `blog_theme` VALUES (1, 'Avatar回應式博客模版主題', 'avatar', '/images/cover/1561132050443308.jpg', '2019-12-21 08:55:00', 'ry');
INSERT INTO `blog_theme` VALUES (2, '葡萄資訊模板主題,葡萄內容管理系統模板主題', 'pnews', '/images/cover/201903051436106979.jpg', '2019-12-21 08:55:31', 'ry');
INSERT INTO `blog_theme` VALUES (3, '“pblog”個性博客模版主題,PT-CMS模版主題,免費下載', 'pblog', '/images/cover/pblog.jpg', '2019-12-21 08:55:58', 'ry');
-- ----------------------------
-- Table structure for cms_ad
-- ----------------------------
DROP TABLE IF EXISTS `cms_ad`;
CREATE TABLE `cms_ad` (
`ad_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '廣告位ID',
`ad_code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '廣告位編碼',
`ad_name` varchar(150) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '廣告位名稱',
`width` smallint(6) DEFAULT NULL COMMENT '寬度',
`height` smallint(6) DEFAULT NULL COMMENT '高度',
`status` smallint(6) DEFAULT NULL COMMENT '狀態',
`user_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '創建人ID',
`dept_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '部門ID',
`description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '描述',
`create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '創建人',
`create_time` datetime(0) DEFAULT NULL COMMENT '創建時間',
PRIMARY KEY (`ad_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of cms_ad
-- ----------------------------
INSERT INTO `cms_ad` VALUES (1, 'main', '首頁頂部', 1280, 38, 0, '1', '103', '測驗', NULL, '2019-11-16 20:26:57');
-- ----------------------------
-- Table structure for cms_ad_material
-- ----------------------------
DROP TABLE IF EXISTS `cms_ad_material`;
CREATE TABLE `cms_ad_material` (
`id` bigint(11) NOT NULL AUTO_INCREMENT,
`ad_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '廣告位ID',
`material_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '廣告素材ID',
`link` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '鏈接',
`sort` smallint(6) DEFAULT 255 COMMENT '排序',
`hit` int(11) DEFAULT 0 COMMENT '點擊數',
`start_time` datetime(0) DEFAULT NULL COMMENT '開始時間',
`end_time` datetime(0) DEFAULT NULL COMMENT '結束時間',
`status` smallint(6) DEFAULT NULL COMMENT '狀態',
`use_his_id` int(11) DEFAULT NULL COMMENT '使用記錄表ID',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for cms_album
-- ----------------------------
DROP TABLE IF EXISTS `cms_album`;
CREATE TABLE `cms_album` (
`album_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '相冊ID',
`album_name` varchar(150) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '相冊名稱',
`user_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '創建人ID',
`dept_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '部門ID',
`album_type` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '相冊型別',
`description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '描述',
`create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '創建人',
`create_time` datetime(0) DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '創建時間',
`audit_state` smallint(6) DEFAULT 0 COMMENT '審核狀態',
`code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '編碼',
`width` smallint(6) DEFAULT NULL COMMENT '寬度',
`height` smallint(6) DEFAULT NULL COMMENT '高度',
PRIMARY KEY (`album_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of cms_album
-- ----------------------------
INSERT INTO `cms_album` VALUES ('2019111014175065994146', '首頁banner', '3', '103', 'banner', NULL, 'yf', '2019-11-10 14:17:51', 1, 'main', 960, 320);
INSERT INTO `cms_album` VALUES ('2019111014175065994147', '博客首頁banner', '3', '103', 'banner', NULL, 'yf', '2019-11-19 10:47:24', 1, 'blog_index', 798, 256);
-- ----------------------------
-- Table structure for cms_album_material
-- ----------------------------
DROP TABLE IF EXISTS `cms_album_material`;
CREATE TABLE `cms_album_material` (
`id` bigint(11) NOT NULL AUTO_INCREMENT,
`album_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '專輯ID',
`material_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '素材ID',
`link` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '鏈接',
`sort` smallint(6) DEFAULT NULL COMMENT '排序',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 69 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of cms_album_material
-- ----------------------------
INSERT INTO `cms_album_material` VALUES (57, '2019111014175065994146', '2019111009322629296151', NULL, 1);
INSERT INTO `cms_album_material` VALUES (58, '2019111014175065994146', '2019111009381073394848', NULL, 2);
INSERT INTO `cms_album_material` VALUES (63, '2019111014175065994147', '2019111009322629296151', NULL, 1);
INSERT INTO `cms_album_material` VALUES (64, '2019111014175065994147', '2019111009381073394848', NULL, 2);
INSERT INTO `cms_album_material` VALUES (67, '2019111014175065994147', '2019111009382058929539', NULL, 1);
INSERT INTO `cms_album_material` VALUES (68, '2019111014175065994146', '2019111009382058929539', NULL, 1);
-- ----------------------------
-- Table structure for cms_article
-- ----------------------------
DROP TABLE IF EXISTS `cms_article`;
CREATE TABLE `cms_article` (
`id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主鍵,文章ID',
`yhid` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '作者',
`article_region` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '1' COMMENT '推薦到哪個專區,比如:頭條、精選、最新、熱門、評論最多等',
`author` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '原文作者',
`publish_time` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '發布時間',
`title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '文章標題',
`keywords` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '關鍵詞',
`description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '摘要',
`cover_image` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '封面圖片',
`article_model` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '文章模型',
`copy_flag` smallint(6) DEFAULT 0 COMMENT '轉載標志',
`category_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '頻道欄目ID',
`personal_category` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '個人分類,多個用逗號分隔',
`link` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '原始鏈接',
`static_url` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '靜態化后url',
`tags` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '標簽',
`hit` int(11) DEFAULT 0 COMMENT '點擊數',
`reply_num` int(11) DEFAULT 0 COMMENT '回復數',
`up_vote` int(11) DEFAULT 0 COMMENT '點贊數',
`down_vote` int(11) DEFAULT 0 COMMENT '差評數',
`hot_flag` smallint(6) DEFAULT 0 COMMENT '熱點標志',
`new_flag` smallint(6) DEFAULT 0 COMMENT '新增標志',
`comment_flag` smallint(6) DEFAULT 0 COMMENT '是否開啟評論',
`top_flag` smallint(6) DEFAULT 0 COMMENT '置頂標志',
`favourite` int(11) DEFAULT 0 COMMENT '收藏數',
`mission_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '趴取任務的ID',
`template_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '生成靜態頁面的模板(cms_template表中的name)',
`create_time` datetime(0) DEFAULT NULL COMMENT '創建時間',
`update_time` datetime(0) DEFAULT NULL COMMENT '更新時間',
`available` smallint(6) DEFAULT 1 COMMENT '狀態標志',
`deleted` smallint(6) DEFAULT 0 COMMENT '洗掉標志',
`extra1` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '附加欄位1',
`extra2` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '附加欄位2',
`extra3` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '附加欄位3',
PRIMARY KEY (`id`) USING BTREE,
INDEX `index_title`(`title`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
7,贈人玫瑰,手留余香
前面還整理了大量的優質的專案,幫助小伙伴快速學習,總有你需要的,


系統的視頻教程和原始碼全部開源了,強烈建議收藏,不然以后找不到了,求個三連,更多的更新ing:

本文章系統完整的原始碼和大量優質專案原始碼獲取:
1,點擊下面,關注彈出的圖片,
2,回復:活動
點擊 👇🏻👇🏻👇🏻
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/300467.html
標籤:java
