Compare commits

...

13 Commits

Author SHA1 Message Date
6b0b49369c 上传文件至 sql 2024-07-02 09:09:09 +00:00
ff37cb8d22 删除 sql/加qq群即可获取.md 2024-07-02 09:08:21 +00:00
linfeng
bb2248e53d 修改头像提示 2024-07-02 09:44:46 +08:00
linfeng
38aa9a0e2c 顶部标题添加 2024-06-24 10:58:37 +08:00
linfeng
9f5a894cd2 支持昵称和签名修改&&个人页面样式优化 2024-06-17 16:25:07 +08:00
linfeng
da953520cb 优化代码 2024-06-11 08:38:07 +08:00
linfeng
cd5756e785 update showPic 2024-06-03 13:42:24 +08:00
linfeng
31ffdd9880 v1.15.0发布日志 2024-06-03 09:11:42 +08:00
linfeng
7a81f63f95 优化uniapp端删帖交互 2024-05-28 12:58:41 +08:00
linfeng
591e9680ff 新增用户端帖子管理 2024-05-20 12:07:08 +08:00
linfeng
b21dfe710b 重构升级H5登录页面UI 2024-05-11 16:46:15 +08:00
linfeng
b00b505a65 update AppUserServiceImpl.java 2024-05-07 08:57:57 +08:00
linfeng
7c052573c7 update README.md 2024-04-25 10:55:37 +08:00
27 changed files with 923 additions and 69 deletions

View File

@ -31,7 +31,7 @@
微信公众号:“林风科技”
| 官网地址 | https://net.linfeng.tech |
| 官网/备用官网 | https://net.linfeng.tech https://www.linfengtech.cn |
| ------------------------------------------ | ------------------------------------------------------------ |
| 管理后台演示地址: | https://dev.linfeng.tech |
| 开源版功能清单: | https://net.linfeng.tech/version/version.html |
@ -154,7 +154,41 @@ https://net.linfeng.tech/version/version.html
**当前版本V1.14.0**
**当前版本V1.15.0**
###### **V1.15.0发布**
<u>2024.6.3</u>
【新增】1.新增访客统计面板支持IP和活跃用户统计
【新增】2.H5端在PC端显示样式兼容
【新增】3.帖子详情页轮播图支持自适应高度
【新增】4.好友模块设置全局开关
【新增】5.细分用户禁言和用户封号功能
【新增】6.后台消息管理升级,支持消息单独发送
【新增】7.管理端登录日志增加ip城市查询
【新增】8.导航栏和用户菜单批量上下架
【优化】9.帖子列表瀑布流样式全新升级
【优化】10.账户充值、签到等页面样式升级
【优化】11.后台评论管理模块全新升级
【优化】12.优化积分奖励限制规则
【优化】13.优化阿里云海报生成下载
【优化】14.付费贴简介展示在帖子列表页
【优化】15.调整tabbar图标和高度UI升级
###### **V1.14.0发布**

Binary file not shown.

Before

Width:  |  Height:  |  Size: 685 KiB

After

Width:  |  Height:  |  Size: 706 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 KiB

After

Width:  |  Height:  |  Size: 157 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 547 KiB

After

Width:  |  Height:  |  Size: 524 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 408 KiB

After

Width:  |  Height:  |  Size: 412 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 494 KiB

After

Width:  |  Height:  |  Size: 442 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 678 KiB

After

Width:  |  Height:  |  Size: 412 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

View File

@ -0,0 +1,625 @@
/*
SQLyog Ultimate v11.13 (64 bit)
MySQL - 5.7.30-log : Database - linfeng-community-ky
*********************************************************************
*/
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
/*USE `linfeng-community-ky`;*/
/*Table structure for table `lf_category` */
DROP TABLE IF EXISTS `lf_category`;
CREATE TABLE `lf_category` (
`cate_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '<EFBFBD><EFBFBD>掩ID',
`cate_name` varchar(50) NOT NULL COMMENT '<EFBFBD><EFBFBD><EFBFBD>滨妍',
`is_top` int(1) DEFAULT '0' COMMENT '<EFBFBD>臬炏<EFBFBD><EFBFBD>',
`cover_image` varchar(255) DEFAULT '' COMMENT '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
PRIMARY KEY (`cate_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
/*Data for the table `lf_category` */
insert into `lf_category`(`cate_id`,`cate_name`,`is_top`,`cover_image`) values (1,'<EFBFBD>𤋮',0,'http://pic.linfeng.tech/test/20220210/88148b0cd20f4ad4a09ce61866024281.jpg'),(2,'<EFBFBD><EFBFBD>',1,'http://pic.linfeng.tech/test/20220207/8d796540337d4dd48ae11143fc570b77.jpg'),(3,'<EFBFBD><EFBFBD>',1,'http://pic.linfeng.tech/test/20220207/69aaaff2132447dc9c4b893ce53e242d.jpg'),(4,'<EFBFBD>渲閎',0,'http://pic.linfeng.tech/test/20220210/c7d2e8489a5642ba91b7b5f97c282141.jpg'),(5,'餈𣂼𢆡',0,'http://pic.linfeng.tech/test/20220207/69aaaff2132447dc9c4b893ce53e242d.jpg'),(6,'<EFBFBD><EFBFBD><EFBFBD>',1,'http://pic.linfeng.tech/test/20220207/69aaaff2132447dc9c4b893ce53e242d.jpg'),(7,'<EFBFBD><EFBFBD>',0,'http://pic.linfeng.tech/test/20220210/9621f4992cf64393be7567159b8d13f8.jpeg'),(8,'<EFBFBD>冽憤',0,'http://pic.linfeng.tech/test/20220207/69aaaff2132447dc9c4b893ce53e242d.jpg'),(9,'<EFBFBD><EFBFBD><EFBFBD>',0,'http://pic.linfeng.tech/test/20220207/69aaaff2132447dc9c4b893ce53e242d.jpg'),(10,'憡曹<EFBFBD>',0,'http://pic.linfeng.tech/test/20220207/69aaaff2132447dc9c4b893ce53e242d.jpg'),(11,'摰删<EFBFBD>',0,'http://pic.linfeng.tech/test/20220207/69aaaff2132447dc9c4b893ce53e242d.jpg'),(13,'蝢𡡞<EFBFBD>',0,'http://pic.linfeng.tech/test/20220207/69aaaff2132447dc9c4b893ce53e242d.jpg'),(14,'<EFBFBD><EFBFBD>',0,'http://pic.linfeng.tech/test/20220207/69aaaff2132447dc9c4b893ce53e242d.jpg'),(15,'<EFBFBD><EFBFBD>',1,'http://pic.linfeng.tech/test/20220207/69aaaff2132447dc9c4b893ce53e242d.jpg'),(16,'<EFBFBD><EFBFBD>',0,'http://pic.linfeng.tech/test/20220207/69aaaff2132447dc9c4b893ce53e242d.jpg'),(17,'<EFBFBD><EFBFBD>',0,'http://pic.linfeng.tech/test/20220207/69aaaff2132447dc9c4b893ce53e242d.jpg'),(18,'皜豢<EFBFBD>',0,'http://pic.linfeng.tech/test/20220207/69aaaff2132447dc9c4b893ce53e242d.jpg'),(19,'<EFBFBD>枏㨃',0,'http://pic.linfeng.tech/test/20220207/2858506e3dca4a9a8367201ed04b80bb.png'),(22,'<EFBFBD><EFBFBD><EFBFBD>',0,'http://pic.linfeng.tech/test/20220207/223ba0004cf54969a68a0ffad58cc51f.png'),(23,'鈭斗<EFBFBD>',0,'http://pic.linfeng.tech/test/20220207/e334ab448fb44083b3df5d288f18d261.jpg');
/*Table structure for table `lf_comment` */
DROP TABLE IF EXISTS `lf_comment`;
CREATE TABLE `lf_comment` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
`pid` int(11) DEFAULT '0' COMMENT '<EFBFBD>嗥漣id',
`type` int(1) NOT NULL DEFAULT '1' COMMENT '<EFBFBD>捏蝐餃<EFBFBD>',
`uid` bigint(20) NOT NULL DEFAULT '0' COMMENT '<EFBFBD>捏雿𡏭<EFBFBD><EFBFBD>D',
`to_uid` int(11) DEFAULT '0' COMMENT '鋡怠<EFBFBD>憭滨鍂<EFBFBD>弒D',
`post_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '<EFBFBD>捏撣硋<EFBFBD>ID',
`content` varchar(255) NOT NULL DEFAULT '' COMMENT '<EFBFBD><EFBFBD><EFBFBD>',
`status` tinyint(4) DEFAULT '1' COMMENT '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
`create_time` datetime DEFAULT NULL COMMENT '<EFBFBD>𥕦遣<EFBFBD>園𡢿',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT;
/*Data for the table `lf_comment` */
insert into `lf_comment`(`id`,`pid`,`type`,`uid`,`to_uid`,`post_id`,`content`,`status`,`create_time`) values (1,0,1,7,0,41,'<EFBFBD><EFBFBD>蝷曆漱霈箏<EFBFBD><EFBFBD>皞鞟<EFBFBD>',1,'2024-04-23 10:42:17');
/*Table structure for table `lf_comment_thumbs` */
DROP TABLE IF EXISTS `lf_comment_thumbs`;
CREATE TABLE `lf_comment_thumbs` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
`c_id` int(11) NOT NULL COMMENT '<EFBFBD>捏id',
`uid` int(11) NOT NULL COMMENT '<EFBFBD><EFBFBD>id',
`create_time` datetime DEFAULT NULL COMMENT '<EFBFBD>𥕦遣<EFBFBD>園𡢿',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
/*Data for the table `lf_comment_thumbs` */
insert into `lf_comment_thumbs`(`id`,`c_id`,`uid`,`create_time`) values (1,1,7,'2024-04-23 10:42:37');
/*Table structure for table `lf_follow` */
DROP TABLE IF EXISTS `lf_follow`;
CREATE TABLE `lf_follow` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
`uid` int(11) NOT NULL COMMENT '<EFBFBD><EFBFBD>id',
`follow_uid` int(11) NOT NULL COMMENT '<EFBFBD>單釣<EFBFBD><EFBFBD><EFBFBD>搏d',
`create_time` datetime DEFAULT NULL COMMENT '<EFBFBD>𥕦遣<EFBFBD>園𡢿',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `uid` (`uid`,`follow_uid`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
/*Data for the table `lf_follow` */
/*Table structure for table `lf_link` */
DROP TABLE IF EXISTS `lf_link`;
CREATE TABLE `lf_link` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`title` varchar(100) NOT NULL COMMENT '<EFBFBD><EFBFBD><EFBFBD>',
`url` varchar(255) NOT NULL COMMENT '頝唾蓮頝臬<EFBFBD>',
`img` varchar(255) NOT NULL COMMENT '<EFBFBD><EFBFBD>',
`type` int(1) DEFAULT '3' COMMENT '撟踹㦤頧格偘<EFBFBD><EFBFBD>',
`create_time` datetime DEFAULT NULL COMMENT '<EFBFBD>𥕦遣<EFBFBD>園𡢿',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=50 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
/*Data for the table `lf_link` */
insert into `lf_link`(`id`,`title`,`url`,`img`,`type`,`create_time`) values (47,'v1.13.0','/pages/post/detail?id=9248','https://pic.linfeng.tech/test/20240228/22cf911537754b8aa30699ed625b384f.png',3,'2022-01-26 14:03:38'),(48,'<EFBFBD>𡁜<EFBFBD>','/pages/post/detail?id=140','http://pic.linfeng.tech/test/20220418/fd00e1b7f5d84f50b7f06e7c232624f1.jpeg',3,'2022-01-26 14:03:38'),(49,'雿惩末','/pages/post/detail?id=293','http://pic.linfeng.tech/test/20220719/c002d92851654755877cb1f3e7c9460d.jpeg',3,'2022-07-19 20:49:39');
/*Table structure for table `lf_post` */
DROP TABLE IF EXISTS `lf_post`;
CREATE TABLE `lf_post` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '撣硋<EFBFBD>ID',
`uid` int(11) NOT NULL COMMENT '<EFBFBD><EFBFBD>ID',
`topic_id` int(11) DEFAULT '0' COMMENT '<EFBFBD><EFBFBD><EFBFBD>ID',
`discuss_id` int(11) DEFAULT '0' COMMENT '霂嗪<EFBFBD>ID',
`vote_id` int(11) DEFAULT NULL COMMENT '<EFBFBD>閧巨ID',
`title` varchar(50) DEFAULT '' COMMENT '<EFBFBD><EFBFBD><EFBFBD>',
`content` longtext CHARACTER SET utf8mb4 COMMENT '<EFBFBD><EFBFBD>',
`media` text COMMENT '<EFBFBD><EFBFBD>',
`read_count` int(255) DEFAULT '0' COMMENT '瘚讛<EFBFBD><EFBFBD><EFBFBD>',
`post_top` int(1) DEFAULT '0' COMMENT '蝵桅▲',
`type` int(1) DEFAULT '1' COMMENT '撣硋<EFBFBD>蝐餃<EFBFBD>1<EFBFBD><EFBFBD>',
`address` varchar(255) DEFAULT NULL COMMENT '<EFBFBD><EFBFBD>',
`longitude` double(10,6) DEFAULT '0.000000' COMMENT '蝏誩漲',
`latitude` double(10,6) DEFAULT '0.000000' COMMENT '蝥砍漲',
`create_time` datetime DEFAULT NULL COMMENT '<EFBFBD>𥕦遣<EFBFBD>園𡢿',
`status` int(1) NOT NULL DEFAULT '0' COMMENT '<EFBFBD><EFBFBD><EFBFBD>0甇<EFBFBD>虜1摰⊥瓲',
`cut` int(1) NOT NULL DEFAULT '0' COMMENT '<EFBFBD><EFBFBD>',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=46 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
/*Data for the table `lf_post` */
insert into `lf_post`(`id`,`uid`,`topic_id`,`discuss_id`,`vote_id`,`title`,`content`,`media`,`read_count`,`post_top`,`type`,`address`,`longitude`,`latitude`,`create_time`,`status`,`cut`) values (40,4,2,0,NULL,'憿寧𤌍霂湔<EFBFBD>','甇斤<EFBFBD><EFBFBD>砌蛹撘<EFBFBD>皞鞟<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>刻砭摰条<EFBFBD><EFBFBD>嚗䨵r\nhttps://www.linfengtech.cn\r\n<>𤥁<EFBFBD><F0A4A581><EFBFBD>瘜典凝靽<E99DBD>隡堒噡嚗𡁏<E59A97>憌𡒊<E6868C><F0A1928A><EFBFBD>','[]',5,0,1,'',0.000000,0.000000,'2023-08-01 16:33:23',0,1),(41,1,2,0,NULL,'<EFBFBD><EFBFBD>憿寧𤌍','<EFBFBD><EFBFBD>嚗𡁶<EFBFBD><EFBFBD>祈秩<EFBFBD><EFBFBD> \r\n<><EFBFBD>嚗𡁜恥<F0A1819C>滚倮霂<E580AE> \r\n<><EFBFBD>嚗𡁏<E59A97><F0A1818F><EFBFBD><EFBFBD>銝𡁶<E98A9D>瞍𠉛內<F0A0899B><EFBFBD> \r\n<><EFBFBD>嚗𡁜<E59A97>蝵髢r\n敺桐縑<E6A190><EFBFBD><E7A08C><EFBFBD><E79880><EFBFBD>蝘烐<E89D98>\r\n摰条<E691B0>嚗冴ttps://www.linfengtech.cn\r\n憭<6E>鍂嚗冴ttps://net.linfeng.tech\r\n\r\n敶枏<E695B6><E69E8F><EFBFBD>𧋦銝綽<E98A9D><EFBFBD>皞鞟<E79A9E>','[\"https://pic.linfeng.tech/test/20221105/516b75d3aee84d21b7e202e3db79a2bc.jpg\",\"https://pic.linfeng.tech/test/20221105/1b7eaa7a298442aca8af40893dad62e2.jpg\",\"https://pic.linfeng.tech/test/20230809/b2e932c936324527a2793fa234a85b89.jpg\",\"https://pic.linfeng.tech/test/20240406/7ca123989a514222befd9559e6f72025.png\"]',12334,0,1,'',0.000000,0.000000,'2023-08-02 16:33:23',0,1);
/*Table structure for table `lf_post_collection` */
DROP TABLE IF EXISTS `lf_post_collection`;
CREATE TABLE `lf_post_collection` (
`uid` int(11) NOT NULL COMMENT '<EFBFBD><EFBFBD>id',
`post_id` int(11) NOT NULL COMMENT '撣硋<EFBFBD>id'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
/*Data for the table `lf_post_collection` */
insert into `lf_post_collection`(`uid`,`post_id`) values (7,41);
/*Table structure for table `lf_system` */
DROP TABLE IF EXISTS `lf_system`;
CREATE TABLE `lf_system` (
`config` varchar(50) NOT NULL,
`value` text,
`extend` text,
`intro` varchar(255) DEFAULT NULL,
PRIMARY KEY (`config`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
/*Data for the table `lf_system` */
insert into `lf_system`(`config`,`value`,`extend`,`intro`) values ('miniapp','wx8068e9992da3e9d5','ba0b3020uio6bf078b8c0ada099e8ed','http://pic.linfeng.tech/test/20220724/9a665bf276a44827ad8ef0b3140a7d1d.png');
/*Table structure for table `lf_user` */
DROP TABLE IF EXISTS `lf_user`;
CREATE TABLE `lf_user` (
`uid` int(11) NOT NULL AUTO_INCREMENT COMMENT '<EFBFBD><EFBFBD>id',
`mobile` varchar(11) CHARACTER SET utf8 DEFAULT NULL COMMENT '<EFBFBD>𧢲㦤<EFBFBD><EFBFBD>',
`username` varchar(50) NOT NULL COMMENT '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
`password` varchar(32) CHARACTER SET utf8 DEFAULT NULL COMMENT '<EFBFBD><EFBFBD>',
`group_id` int(11) NOT NULL DEFAULT '2' COMMENT '<EFBFBD><EFBFBD><EFBFBD>',
`avatar` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT '憭游<EFBFBD>',
`gender` int(1) NOT NULL DEFAULT '0' COMMENT '<EFBFBD><EFBFBD>(0<>芰䰻嚗<E4B0BB>1<EFBFBD><EFBFBD>2憟<32>)',
`province` varchar(50) CHARACTER SET utf8 DEFAULT '' COMMENT '<EFBFBD><EFBFBD>',
`city` varchar(20) CHARACTER SET utf8 DEFAULT '' COMMENT '<EFBFBD>𤾸<EFBFBD>',
`openid` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT '撠讐<EFBFBD>摨莑penid',
`mp_openid` varchar(100) CHARACTER SET utf8 DEFAULT NULL COMMENT '<EFBFBD><EFBFBD><EFBFBD>搗penid',
`unionid` varchar(100) CHARACTER SET utf8 DEFAULT NULL COMMENT 'unionid',
`status` int(10) NOT NULL DEFAULT '0' COMMENT '<EFBFBD><EFBFBD><EFBFBD>',
`intro` varchar(255) DEFAULT '餈嗘葵鈭箏<EFBFBD><EFBFBD>𡜐<EFBFBD>瘝∠<EFBFBD>銝衤<EFBFBD><EFBFBD>' COMMENT '銝芣<EFBFBD>抒倌<EFBFBD><EFBFBD>',
`integral` int(255) DEFAULT '0' COMMENT '蝘臬<EFBFBD>',
`last_login_ip` varchar(20) CHARACTER SET utf8 DEFAULT NULL COMMENT '<EFBFBD><EFBFBD><EFBFBD>𡒊蒈敶飃p',
`tag_str` varchar(255) CHARACTER SET utf8 DEFAULT '' COMMENT '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
`type` int(1) DEFAULT '0' COMMENT '0銝箸芦<EFBFBD>𡁶鍂<EFBFBD><EFBFBD> 1摰䀹䲮韐血噡',
`update_time` datetime DEFAULT NULL COMMENT '<EFBFBD>湔鰵<EFBFBD>園𡢿',
`create_time` datetime DEFAULT NULL COMMENT '<EFBFBD>𥕦遣<EFBFBD>園𡢿',
PRIMARY KEY (`uid`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT;
/*Data for the table `lf_user` */
insert into `lf_user`(`uid`,`mobile`,`username`,`password`,`group_id`,`avatar`,`gender`,`province`,`city`,`openid`,`mp_openid`,`unionid`,`status`,`intro`,`integral`,`last_login_ip`,`tag_str`,`type`,`update_time`,`create_time`) values (1,'15678876545','<EFBFBD><EFBFBD>蝘烐<EFBFBD>',NULL,2,'https://pic.linfeng.tech/test/20240121/2e6d70dc0a6b4ec7a86f1f065983b1c5.png',2,'','瘚蹱<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','o7yfg4vyubvvxgjtaIuuuvcxcfGA',NULL,'ajskajskajskajskasd',1,'餈嗘葵鈭箏<EFBFBD><EFBFBD>𡜐<EFBFBD>瘝∠<EFBFBD>銝衤<EFBFBD><EFBFBD>',0,'39.130.106.136','[\"<22>峕鰵\",\"<22><><EFBFBD>\",\"<22><EFBFBD>颲曆犖\",\"餈𣂼𢆡\"]',0,'2022-01-21 15:12:16','2022-01-21 15:12:23'),(2,NULL,'pity',NULL,2,'http://pic.linfeng.tech/test/20220126/a58ae30c4bc44942afa4b9752bedc59b.jpeg',1,'','瘚蹱<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','o8cxg9vudddhsjjOK33TavcklbGA',NULL,NULL,0,'餈嗘葵鈭箏<EFBFBD><EFBFBD>𡜐<EFBFBD>瘝∠<EFBFBD>銝衤<EFBFBD><EFBFBD>',0,'39.130.106.135','[\"<22>峕鰵\",\"<22><><EFBFBD>\",\"<22><EFBFBD>颲曆犖\",\"餈𣂼𢆡\"]',0,'2022-01-21 15:12:26','2022-01-21 15:12:28'),(3,NULL,'憭抵器<EFBFBD><EFBFBD><EFBFBD>',NULL,2,'https://thirdwx.qlogo.cn/mmopen/vi_32/jXkb3ugwib7xMoiaOpz03GLBDEsy9G6e7m0iaIpWoIt1UpTxCzibQA4M5dAicSjQBkOYA7Yu6jgrTKqmMiag9jtWl5Aw/132',1,'','瘚蹱<EFBFBD><EFBFBD><EFBFBD>㜺撌𧼮<EFBFBD> 蝘駁<E89D98><E9A781>','o6z2m5Cc8jzhvANf42L5LQQRXsuu',NULL,NULL,0,'餈嗘葵鈭箏<EFBFBD><EFBFBD><EFBFBD>',0,'0:0:0:0:0:0:0:1','[\"<22>峕鰵\",\"<22><><EFBFBD>颲曆犖\",\"<22><><EFBFBD>\",\"頧臭辣撘<E8BEA3><E69298>髢"]',0,'2022-02-10 14:25:25','2022-01-20 14:25:30'),(4,NULL,'<EFBFBD><EFBFBD>',NULL,2,'https://thirdwx.qlogo.cn/mmopen/vi_32/DicojWMHWdvIFD9tQa7XBt1iaTBQtYJ4icLE9z971WErrNXLLdFmPvACiaHpmibuCKicoTR8S1Z7iayXYynRwEFgVqlnw/132',1,'','瘚蹱<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','o6z2m5DdnR0-9BdqZfK3Z3f_i4tt',NULL,NULL,0,'餈嗘葵鈭箏<EFBFBD><EFBFBD>𡜐<EFBFBD>瘝∠<EFBFBD>銝衤<EFBFBD><EFBFBD>',0,'0:0:0:0:0:0:0:1','[\"<22>峕鰵\",\"<22><><EFBFBD>\",\"<22><EFBFBD>颲曆犖\",\"餈𣂼𢆡\"]',1,'2022-04-15 12:37:39','2022-01-27 14:21:58'),(6,'15669210138','LF_968742',NULL,2,'http://pic.linfeng.tech/test/20220305/6c6b1a1f1a904d5bb155daa48d2a0649.jpg',0,'','瘚蹱<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>萎縑',NULL,NULL,NULL,0,'餈嗘葵鈭箏<EFBFBD><EFBFBD>𡜐<EFBFBD>瘝∠<EFBFBD>銝衤<EFBFBD><EFBFBD>',0,'0:0:0:0:0:0:0:1','[\"<22>峕鰵\"]',1,'2022-03-05 19:45:08','2022-03-05 19:42:28'),(7,'15105701666','LF_353869',NULL,2,'http://pic.linfeng.tech/test/20220126/4515fc2cbed74d0b9163d35a12bd4c3b.png',0,'','瘚蹱<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>萎縑',NULL,NULL,NULL,0,'餈嗘葵鈭箏<EFBFBD><EFBFBD>𡜐<EFBFBD>瘝∠<EFBFBD>銝衤<EFBFBD><EFBFBD>',0,'0:0:0:0:0:0:0:1','[\"<22>峕鰵\"]',0,'2022-04-03 14:20:01','2022-04-03 14:18:40'),(8,'13245677090','LF_79271821',NULL,2,'http://pic.linfeng.tech/test/20220126/4515fc2cbed74d0b9163d35a12bd4c3b.png',0,'','',NULL,NULL,NULL,0,'餈嗘葵鈭箏<EFBFBD><EFBFBD>𡜐<EFBFBD>瘝∠<EFBFBD>銝衤<EFBFBD><EFBFBD>',0,NULL,'[\"<22>唬犖\"]',0,'2022-07-27 16:33:05','2022-07-27 16:33:05'),(12,NULL,'憭抵器<EFBFBD><EFBFBD><EFBFBD>',NULL,2,'https://thirdwx.qlogo.cn/mmopen/vi_32/jXkb3ugwib7xMoiaOpz03GLBDEsy9G6e7m0iaIpWoIt1UpTxCzibQA4M5dAicSjQBkOYA7Yu6jgrTKqmMiag9jtWl5Aw/132',0,'','','o6z2m5Cc8jzhvANf42L5LQQRXsuY',NULL,NULL,0,'餈嗘葵鈭箏<EFBFBD><EFBFBD>𡜐<EFBFBD>瘝∠<EFBFBD>銝衤<EFBFBD><EFBFBD>',0,NULL,'[\"<22>唬犖\"]',0,'2022-08-18 11:03:36','2022-08-18 11:03:36'),(13,'15890909999','LF_74950175',NULL,2,'http://pic.linfeng.tech/test/20220126/4515fc2cbed74d0b9163d35a12bd4c3b.png',0,'','',NULL,NULL,NULL,0,'餈嗘葵鈭箏<EFBFBD><EFBFBD>𡜐<EFBFBD>瘝∠<EFBFBD>銝衤<EFBFBD><EFBFBD>',0,NULL,'[\"<22>唬犖\"]',0,'2022-09-04 10:48:54','2022-09-04 10:48:54'),(14,'17890909898','LF_55258784',NULL,2,'http://pic.linfeng.tech/test/20220126/4515fc2cbed74d0b9163d35a12bd4c3b.png',0,'','',NULL,NULL,NULL,0,'餈嗘葵鈭箏<EFBFBD><EFBFBD>𡜐<EFBFBD>瘝∠<EFBFBD>銝衤<EFBFBD><EFBFBD>',0,NULL,'[\"<22>唬犖\"]',0,'2022-10-08 13:41:03','2022-10-08 13:41:03');
/*Table structure for table `qrtz_blob_triggers` */
DROP TABLE IF EXISTS `qrtz_blob_triggers`;
CREATE TABLE `qrtz_blob_triggers` (
`SCHED_NAME` varchar(120) NOT NULL,
`TRIGGER_NAME` varchar(200) NOT NULL,
`TRIGGER_GROUP` varchar(200) NOT NULL,
`BLOB_DATA` blob,
PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
KEY `SCHED_NAME` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*Data for the table `qrtz_blob_triggers` */
/*Table structure for table `qrtz_calendars` */
DROP TABLE IF EXISTS `qrtz_calendars`;
CREATE TABLE `qrtz_calendars` (
`SCHED_NAME` varchar(120) NOT NULL,
`CALENDAR_NAME` varchar(200) NOT NULL,
`CALENDAR` blob NOT NULL,
PRIMARY KEY (`SCHED_NAME`,`CALENDAR_NAME`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*Data for the table `qrtz_calendars` */
/*Table structure for table `qrtz_cron_triggers` */
DROP TABLE IF EXISTS `qrtz_cron_triggers`;
CREATE TABLE `qrtz_cron_triggers` (
`SCHED_NAME` varchar(120) NOT NULL,
`TRIGGER_NAME` varchar(200) NOT NULL,
`TRIGGER_GROUP` varchar(200) NOT NULL,
`CRON_EXPRESSION` varchar(120) NOT NULL,
`TIME_ZONE_ID` varchar(80) DEFAULT NULL,
PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*Data for the table `qrtz_cron_triggers` */
insert into `qrtz_cron_triggers`(`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`,`CRON_EXPRESSION`,`TIME_ZONE_ID`) values ('RenrenScheduler','TASK_1','DEFAULT','0 0/30 * * * ?','Asia/Shanghai');
/*Table structure for table `qrtz_fired_triggers` */
DROP TABLE IF EXISTS `qrtz_fired_triggers`;
CREATE TABLE `qrtz_fired_triggers` (
`SCHED_NAME` varchar(120) NOT NULL,
`ENTRY_ID` varchar(95) NOT NULL,
`TRIGGER_NAME` varchar(200) NOT NULL,
`TRIGGER_GROUP` varchar(200) NOT NULL,
`INSTANCE_NAME` varchar(200) NOT NULL,
`FIRED_TIME` bigint(13) NOT NULL,
`SCHED_TIME` bigint(13) NOT NULL,
`PRIORITY` int(11) NOT NULL,
`STATE` varchar(16) NOT NULL,
`JOB_NAME` varchar(200) DEFAULT NULL,
`JOB_GROUP` varchar(200) DEFAULT NULL,
`IS_NONCONCURRENT` varchar(1) DEFAULT NULL,
`REQUESTS_RECOVERY` varchar(1) DEFAULT NULL,
PRIMARY KEY (`SCHED_NAME`,`ENTRY_ID`),
KEY `IDX_QRTZ_FT_TRIG_INST_NAME` (`SCHED_NAME`,`INSTANCE_NAME`),
KEY `IDX_QRTZ_FT_INST_JOB_REQ_RCVRY` (`SCHED_NAME`,`INSTANCE_NAME`,`REQUESTS_RECOVERY`),
KEY `IDX_QRTZ_FT_J_G` (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`),
KEY `IDX_QRTZ_FT_JG` (`SCHED_NAME`,`JOB_GROUP`),
KEY `IDX_QRTZ_FT_T_G` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
KEY `IDX_QRTZ_FT_TG` (`SCHED_NAME`,`TRIGGER_GROUP`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*Data for the table `qrtz_fired_triggers` */
/*Table structure for table `qrtz_job_details` */
DROP TABLE IF EXISTS `qrtz_job_details`;
CREATE TABLE `qrtz_job_details` (
`SCHED_NAME` varchar(120) NOT NULL,
`JOB_NAME` varchar(200) NOT NULL,
`JOB_GROUP` varchar(200) NOT NULL,
`DESCRIPTION` varchar(250) DEFAULT NULL,
`JOB_CLASS_NAME` varchar(250) NOT NULL,
`IS_DURABLE` varchar(1) NOT NULL,
`IS_NONCONCURRENT` varchar(1) NOT NULL,
`IS_UPDATE_DATA` varchar(1) NOT NULL,
`REQUESTS_RECOVERY` varchar(1) NOT NULL,
`JOB_DATA` blob,
PRIMARY KEY (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`),
KEY `IDX_QRTZ_J_REQ_RECOVERY` (`SCHED_NAME`,`REQUESTS_RECOVERY`),
KEY `IDX_QRTZ_J_GRP` (`SCHED_NAME`,`JOB_GROUP`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*Data for the table `qrtz_job_details` */
insert into `qrtz_job_details`(`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`,`DESCRIPTION`,`JOB_CLASS_NAME`,`IS_DURABLE`,`IS_NONCONCURRENT`,`IS_UPDATE_DATA`,`REQUESTS_RECOVERY`,`JOB_DATA`) values ('RenrenScheduler','TASK_1','DEFAULT',NULL,'io.linfeng.modules.job.utils.ScheduleJob','0','0','0','0','秒\0sr\0org.quartz.JobDataMap酜<70>罹匐\0\0xr\0&org.quartz.utils.StringKeyDirtyFlagMap<61>餖孶](\0Z\0allowsTransientDataxr\0org.quartz.utils.DirtyFlagMap<13>.<2E>(v\n<>\0Z\0dirtyL\0mapt\0Ljava/util/Map;xpsr\0java.util.HashMap<>`<60>\0F\0\nloadFactorI\0 thresholdxp?@\0\0\0\0\0 w\0\0\0\0\0\0t\0\rJOB_PARAM_KEYsr\0/io.linfeng.modules.job.entity.ScheduleJobEntity\0\0\0\0\0\0\0\0L\0beanNamet\0Ljava/lang/String;L\0\ncreateTimet\0Ljava/util/Date;L\0cronExpressionq\0~\0 L\0jobIdt\0Ljava/lang/Long;L\0paramsq\0~\0 L\0remarkq\0~\0 L\0statust\0Ljava/lang/Integer;xpt\0testTasksr\0java.util.Datehj<68>KYt\0\0xpw\0\0~(飱鉢t\00 0/30 * * * ?sr\0java.lang.Long;衤𦐐<E8A1A4>#<23>\0J\0valuexr\0java.lang.Number<65><72> 𠰍<>\0\0xp\0\0\0\0\0\0\0t\0renrent\0 <0C><>㺭瘚贝<E7989A>sr\0java.lang.Integer<12><EFBFBD>8\0I\0valuexq\0~\0\0\0\0\0x\0');
/*Table structure for table `qrtz_locks` */
DROP TABLE IF EXISTS `qrtz_locks`;
CREATE TABLE `qrtz_locks` (
`SCHED_NAME` varchar(120) NOT NULL,
`LOCK_NAME` varchar(40) NOT NULL,
PRIMARY KEY (`SCHED_NAME`,`LOCK_NAME`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*Data for the table `qrtz_locks` */
insert into `qrtz_locks`(`SCHED_NAME`,`LOCK_NAME`) values ('RenrenScheduler','STATE_ACCESS'),('RenrenScheduler','TRIGGER_ACCESS');
/*Table structure for table `qrtz_paused_trigger_grps` */
DROP TABLE IF EXISTS `qrtz_paused_trigger_grps`;
CREATE TABLE `qrtz_paused_trigger_grps` (
`SCHED_NAME` varchar(120) NOT NULL,
`TRIGGER_GROUP` varchar(200) NOT NULL,
PRIMARY KEY (`SCHED_NAME`,`TRIGGER_GROUP`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*Data for the table `qrtz_paused_trigger_grps` */
/*Table structure for table `qrtz_scheduler_state` */
DROP TABLE IF EXISTS `qrtz_scheduler_state`;
CREATE TABLE `qrtz_scheduler_state` (
`SCHED_NAME` varchar(120) NOT NULL,
`INSTANCE_NAME` varchar(200) NOT NULL,
`LAST_CHECKIN_TIME` bigint(13) NOT NULL,
`CHECKIN_INTERVAL` bigint(13) NOT NULL,
PRIMARY KEY (`SCHED_NAME`,`INSTANCE_NAME`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*Data for the table `qrtz_scheduler_state` */
insert into `qrtz_scheduler_state`(`SCHED_NAME`,`INSTANCE_NAME`,`LAST_CHECKIN_TIME`,`CHECKIN_INTERVAL`) values ('ProjectScheduler','LAPTOP-47M7VFTC1713840032062',1713840379425,15000),('RenrenScheduler','LAPTOP-47M7VFTC1641368553138',1641368599756,15000);
/*Table structure for table `qrtz_simple_triggers` */
DROP TABLE IF EXISTS `qrtz_simple_triggers`;
CREATE TABLE `qrtz_simple_triggers` (
`SCHED_NAME` varchar(120) NOT NULL,
`TRIGGER_NAME` varchar(200) NOT NULL,
`TRIGGER_GROUP` varchar(200) NOT NULL,
`REPEAT_COUNT` bigint(7) NOT NULL,
`REPEAT_INTERVAL` bigint(12) NOT NULL,
`TIMES_TRIGGERED` bigint(10) NOT NULL,
PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*Data for the table `qrtz_simple_triggers` */
/*Table structure for table `qrtz_simprop_triggers` */
DROP TABLE IF EXISTS `qrtz_simprop_triggers`;
CREATE TABLE `qrtz_simprop_triggers` (
`SCHED_NAME` varchar(120) NOT NULL,
`TRIGGER_NAME` varchar(200) NOT NULL,
`TRIGGER_GROUP` varchar(200) NOT NULL,
`STR_PROP_1` varchar(512) DEFAULT NULL,
`STR_PROP_2` varchar(512) DEFAULT NULL,
`STR_PROP_3` varchar(512) DEFAULT NULL,
`INT_PROP_1` int(11) DEFAULT NULL,
`INT_PROP_2` int(11) DEFAULT NULL,
`LONG_PROP_1` bigint(20) DEFAULT NULL,
`LONG_PROP_2` bigint(20) DEFAULT NULL,
`DEC_PROP_1` decimal(13,4) DEFAULT NULL,
`DEC_PROP_2` decimal(13,4) DEFAULT NULL,
`BOOL_PROP_1` varchar(1) DEFAULT NULL,
`BOOL_PROP_2` varchar(1) DEFAULT NULL,
PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
CONSTRAINT `qrtz_simprop_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*Data for the table `qrtz_simprop_triggers` */
/*Table structure for table `qrtz_triggers` */
DROP TABLE IF EXISTS `qrtz_triggers`;
CREATE TABLE `qrtz_triggers` (
`SCHED_NAME` varchar(120) NOT NULL,
`TRIGGER_NAME` varchar(200) NOT NULL,
`TRIGGER_GROUP` varchar(200) NOT NULL,
`JOB_NAME` varchar(200) NOT NULL,
`JOB_GROUP` varchar(200) NOT NULL,
`DESCRIPTION` varchar(250) DEFAULT NULL,
`NEXT_FIRE_TIME` bigint(13) DEFAULT NULL,
`PREV_FIRE_TIME` bigint(13) DEFAULT NULL,
`PRIORITY` int(11) DEFAULT NULL,
`TRIGGER_STATE` varchar(16) NOT NULL,
`TRIGGER_TYPE` varchar(8) NOT NULL,
`START_TIME` bigint(13) NOT NULL,
`END_TIME` bigint(13) DEFAULT NULL,
`CALENDAR_NAME` varchar(200) DEFAULT NULL,
`MISFIRE_INSTR` smallint(2) DEFAULT NULL,
`JOB_DATA` blob,
PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
KEY `IDX_QRTZ_T_J` (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`),
KEY `IDX_QRTZ_T_JG` (`SCHED_NAME`,`JOB_GROUP`),
KEY `IDX_QRTZ_T_C` (`SCHED_NAME`,`CALENDAR_NAME`),
KEY `IDX_QRTZ_T_G` (`SCHED_NAME`,`TRIGGER_GROUP`),
KEY `IDX_QRTZ_T_STATE` (`SCHED_NAME`,`TRIGGER_STATE`),
KEY `IDX_QRTZ_T_N_STATE` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`,`TRIGGER_STATE`),
KEY `IDX_QRTZ_T_N_G_STATE` (`SCHED_NAME`,`TRIGGER_GROUP`,`TRIGGER_STATE`),
KEY `IDX_QRTZ_T_NEXT_FIRE_TIME` (`SCHED_NAME`,`NEXT_FIRE_TIME`),
KEY `IDX_QRTZ_T_NFT_ST` (`SCHED_NAME`,`TRIGGER_STATE`,`NEXT_FIRE_TIME`),
KEY `IDX_QRTZ_T_NFT_MISFIRE` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`),
KEY `IDX_QRTZ_T_NFT_ST_MISFIRE` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`,`TRIGGER_STATE`),
KEY `IDX_QRTZ_T_NFT_ST_MISFIRE_GRP` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`,`TRIGGER_GROUP`,`TRIGGER_STATE`),
CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) REFERENCES `qrtz_job_details` (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*Data for the table `qrtz_triggers` */
insert into `qrtz_triggers`(`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`,`JOB_NAME`,`JOB_GROUP`,`DESCRIPTION`,`NEXT_FIRE_TIME`,`PREV_FIRE_TIME`,`PRIORITY`,`TRIGGER_STATE`,`TRIGGER_TYPE`,`START_TIME`,`END_TIME`,`CALENDAR_NAME`,`MISFIRE_INSTR`,`JOB_DATA`) values ('RenrenScheduler','TASK_1','DEFAULT','TASK_1','DEFAULT',NULL,1641369600000,-1,5,'WAITING','CRON',1641368553000,0,NULL,2,'');
/*Table structure for table `schedule_job` */
DROP TABLE IF EXISTS `schedule_job`;
CREATE TABLE `schedule_job` (
`job_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '隞餃𦛚id',
`bean_name` varchar(200) DEFAULT NULL COMMENT 'spring bean<61>滨妍',
`params` varchar(2000) DEFAULT NULL COMMENT '<EFBFBD><EFBFBD>',
`cron_expression` varchar(100) DEFAULT NULL COMMENT 'cron銵刻噢撘<EFBFBD>',
`status` tinyint(4) DEFAULT NULL COMMENT '隞餃𦛚<EFBFBD><EFBFBD><EFBFBD> 0嚗𡁏迤撣<E8BFA4> 1嚗𡁏<E59A97><F0A1818F><EFBFBD>',
`remark` varchar(255) DEFAULT NULL COMMENT '<EFBFBD>',
`create_time` datetime DEFAULT NULL COMMENT '<EFBFBD>𥕦遣<EFBFBD>園𡢿',
PRIMARY KEY (`job_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='摰𡁏𧒄隞餃𦛚';
/*Data for the table `schedule_job` */
/*Table structure for table `schedule_job_log` */
DROP TABLE IF EXISTS `schedule_job_log`;
CREATE TABLE `schedule_job_log` (
`log_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '隞餃𦛚<EFBFBD><EFBFBD>id',
`job_id` bigint(20) NOT NULL COMMENT '隞餃𦛚id',
`bean_name` varchar(200) DEFAULT NULL COMMENT 'spring bean<61>滨妍',
`params` varchar(2000) DEFAULT NULL COMMENT '<EFBFBD><EFBFBD>',
`status` tinyint(4) NOT NULL COMMENT '隞餃𦛚<EFBFBD><EFBFBD><EFBFBD> 0嚗𡁏<E59A97><F0A1818F><EFBFBD> 1嚗𡁜仃韐<E4BB83>',
`error` varchar(2000) DEFAULT NULL COMMENT '憭梯揖靽⊥<EFBFBD>',
`times` int(11) NOT NULL COMMENT '<EFBFBD>埈𧒄(<28><EFBFBD>嚗𡁏神蝘<E7A59E>)',
`create_time` datetime DEFAULT NULL COMMENT '<EFBFBD>𥕦遣<EFBFBD>園𡢿',
PRIMARY KEY (`log_id`),
KEY `job_id` (`job_id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COMMENT='摰𡁏𧒄隞餃𦛚<EFBFBD><EFBFBD>';
/*Data for the table `schedule_job_log` */
/*Table structure for table `sys_captcha` */
DROP TABLE IF EXISTS `sys_captcha`;
CREATE TABLE `sys_captcha` (
`uuid` char(36) NOT NULL COMMENT 'uuid',
`code` varchar(6) NOT NULL COMMENT '撉諹<EFBFBD><EFBFBD><EFBFBD>',
`expire_time` datetime DEFAULT NULL COMMENT '<EFBFBD><EFBFBD><EFBFBD>園𡢿',
PRIMARY KEY (`uuid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='蝟餌<EFBFBD>撉諹<EFBFBD><EFBFBD><EFBFBD>';
/*Data for the table `sys_captcha` */
/*Table structure for table `sys_config` */
DROP TABLE IF EXISTS `sys_config`;
CREATE TABLE `sys_config` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`param_key` varchar(50) DEFAULT NULL COMMENT 'key',
`param_value` varchar(2000) DEFAULT NULL COMMENT 'value',
`status` tinyint(4) DEFAULT '1' COMMENT '<EFBFBD><EFBFBD><EFBFBD>1<EFBFBD>曄內0<EFBFBD><EFBFBD>',
`remark` varchar(500) DEFAULT NULL COMMENT '<EFBFBD>',
PRIMARY KEY (`id`),
UNIQUE KEY `param_key` (`param_key`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COMMENT='蝟餌<EFBFBD><EFBFBD>滨蔭靽⊥<EFBFBD><EFBFBD>';
/*Data for the table `sys_config` */
insert into `sys_config`(`id`,`param_key`,`param_value`,`status`,`remark`) values (1,'CLOUD_STORAGE_CONFIG_KEY','{\"type\":2,\"qiniuDomain\":\"http://pic.linfeng.tech\",\"qiniuPrefix\":\"test\",\"qiniuAccessKey\":\"Fmp__H-4gMbT5nu-FSW7OzFKfFFPPkNO0CB\",\"qiniuSecretKey\":\"YVBVbxI_XXWlax5gXwwwzcIiNvqdeQNfb\",\"qiniuBucketName\":\"linfeng01\",\"aliyunDomain\":\"https://multishop.oss-cn-shenzhen.aliyuncs.com/\",\"aliyunPrefix\":\"\",\"aliyunEndPoint\":\"https://oss-cn-shenzhen.aliyuncs.com/\",\"aliyunAccessKeyId\":\"LTAIbbbbbbYgE0fyPX0iuX\",\"aliyunAccessKeySecret\":\"SH1ZOzzXH0WIg0gqyJ2oooYI5\",\"aliyunBucketName\":\"multshop\",\"qcloudDomain\":\"\",\"qcloudPrefix\":\"\",\"qcloudSecretId\":\"\",\"qcloudSecretKey\":\"\",\"qcloudBucketName\":\"\"}',0,'鈭穃<EFBFBD><EFBFBD><EFBFBD>蝵桐縑<EFBFBD><EFBFBD>');
/*Table structure for table `sys_log` */
DROP TABLE IF EXISTS `sys_log`;
CREATE TABLE `sys_log` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`username` varchar(50) DEFAULT NULL COMMENT '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
`operation` varchar(50) DEFAULT NULL COMMENT '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
`method` varchar(200) DEFAULT NULL COMMENT '霂瑟<EFBFBD><EFBFBD><EFBFBD>',
`params` varchar(5000) DEFAULT NULL COMMENT '霂瑟<EFBFBD><EFBFBD><EFBFBD>',
`time` bigint(20) NOT NULL COMMENT '<EFBFBD><EFBFBD><EFBFBD>園鵭<EFBFBD><EFBFBD>瘥怎<EFBFBD>',
`ip` varchar(64) DEFAULT NULL COMMENT 'IP',
`create_date` datetime DEFAULT NULL COMMENT '<EFBFBD>𥕦遣<EFBFBD>園𡢿',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='蝟餌<EFBFBD><EFBFBD><EFBFBD>';
/*Data for the table `sys_log` */
/*Table structure for table `sys_menu` */
DROP TABLE IF EXISTS `sys_menu`;
CREATE TABLE `sys_menu` (
`menu_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '<EFBFBD>𨅯<EFBFBD>ID',
`parent_id` bigint(20) DEFAULT NULL COMMENT '<EFBFBD><EFBFBD><EFBFBD>𣗏D',
`name` varchar(50) DEFAULT NULL COMMENT '<EFBFBD>𨅯<EFBFBD><EFBFBD>滨妍',
`url` varchar(200) DEFAULT NULL COMMENT '頝臬<EFBFBD>',
`perms` varchar(500) DEFAULT NULL COMMENT '<EFBFBD><EFBFBD><EFBFBD>',
`type` int(11) DEFAULT NULL COMMENT '蝐餃<EFBFBD>0<EFBFBD><EFBFBD>1<EFBFBD>𨅯<EFBFBD>2<EFBFBD>厰僼',
`icon` varchar(50) DEFAULT NULL COMMENT '<EFBFBD>𨅯<EFBFBD><EFBFBD><EFBFBD>',
`order_num` int(11) DEFAULT NULL COMMENT '<EFBFBD><EFBFBD>',
PRIMARY KEY (`menu_id`)
) ENGINE=InnoDB AUTO_INCREMENT=90 DEFAULT CHARSET=utf8mb4 COMMENT='<EFBFBD>𨅯<EFBFBD>蝞∠<EFBFBD>';
/*Data for the table `sys_menu` */
insert into `sys_menu`(`menu_id`,`parent_id`,`name`,`url`,`perms`,`type`,`icon`,`order_num`) values (1,0,'蝟餌<EFBFBD>蝞∠<EFBFBD>',NULL,NULL,0,'system',0),(2,1,'蝞∠<EFBFBD><EFBFBD><EFBFBD><EFBFBD>','sys/user',NULL,1,'admin',1),(3,1,'閫坿𠧧蝞∠<EFBFBD>','sys/role',NULL,1,'role',2),(4,1,'<EFBFBD>𨅯<EFBFBD>蝞∠<EFBFBD>','sys/menu',NULL,1,'menu',3),(5,1,'SQL<EFBFBD>烐綉','http://localhost:8080/druid/sql.html',NULL,1,'sql',4),(6,1,'摰𡁏𧒄隞餃𦛚','job/schedule',NULL,1,'job',5),(7,6,'<EFBFBD><EFBFBD>',NULL,'sys:schedule:list,sys:schedule:info',2,NULL,0),(8,6,'<EFBFBD><EFBFBD>',NULL,'sys:schedule:save',2,NULL,0),(9,6,'靽格㺿',NULL,'sys:schedule:update',2,NULL,0),(10,6,'<EFBFBD>𣳇膄',NULL,'sys:schedule:delete',2,NULL,0),(11,6,'<EFBFBD><EFBFBD><EFBFBD>',NULL,'sys:schedule:pause',2,NULL,0),(12,6,'<EFBFBD><EFBFBD>',NULL,'sys:schedule:resume',2,NULL,0),(13,6,'蝡见朖<EFBFBD><EFBFBD>',NULL,'sys:schedule:run',2,NULL,0),(14,6,'<EFBFBD><EFBFBD><EFBFBD>𡑒”',NULL,'sys:schedule:log',2,NULL,0),(15,2,'<EFBFBD><EFBFBD>',NULL,'sys:user:list,sys:user:info',2,NULL,0),(16,2,'<EFBFBD><EFBFBD>',NULL,'sys:user:save,sys:role:select',2,NULL,0),(17,2,'靽格㺿',NULL,'sys:user:update,sys:role:select',2,NULL,0),(18,2,'<EFBFBD>𣳇膄',NULL,'sys:user:delete',2,NULL,0),(19,3,'<EFBFBD><EFBFBD>',NULL,'sys:role:list,sys:role:info',2,NULL,0),(20,3,'<EFBFBD><EFBFBD>',NULL,'sys:role:save,sys:menu:list',2,NULL,0),(21,3,'靽格㺿',NULL,'sys:role:update,sys:menu:list',2,NULL,0),(22,3,'<EFBFBD>𣳇膄',NULL,'sys:role:delete',2,NULL,0),(23,4,'<EFBFBD><EFBFBD>',NULL,'sys:menu:list,sys:menu:info',2,NULL,0),(24,4,'<EFBFBD><EFBFBD>',NULL,'sys:menu:save,sys:menu:select',2,NULL,0),(25,4,'靽格㺿',NULL,'sys:menu:update,sys:menu:select',2,NULL,0),(26,4,'<EFBFBD>𣳇膄',NULL,'sys:menu:delete',2,NULL,0),(27,1,'<EFBFBD><EFBFBD>㺭蝞∠<EFBFBD>','sys/config','sys:config:list,sys:config:info,sys:config:save,sys:config:update,sys:config:delete',1,'config',6),(29,1,'蝟餌<EFBFBD><EFBFBD><EFBFBD>','sys/log','sys:log:list',1,'log',7),(30,42,'<EFBFBD><EFBFBD>辣銝𠹺<EFBFBD>','oss/oss','sys:oss:all',1,'oss',6),(36,0,'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','','',0,'geren',3),(37,42,'摨𠉛鍂<EFBFBD>滨蔭蝞∠<EFBFBD>','admin/system',NULL,1,'config',6),(38,37,'<EFBFBD><EFBFBD>',NULL,'admin:system:list,admin:system:info',2,NULL,6),(39,37,'<EFBFBD><EFBFBD>',NULL,'admin:system:save',2,NULL,6),(40,37,'靽格㺿',NULL,'admin:system:update',2,NULL,6),(41,37,'<EFBFBD>𣳇膄',NULL,'admin:system:delete',2,NULL,6),(42,0,'摨𠉛鍂蝞∠<EFBFBD>','','',0,'zhedie',2),(43,88,'隡𡁜<EFBFBD>蝞∠<EFBFBD>','admin/user',NULL,1,'geren',6),(44,43,'<EFBFBD><EFBFBD>',NULL,'admin:user:list,admin:user:info',2,NULL,6),(45,43,'<EFBFBD><EFBFBD>',NULL,'admin:user:save',2,NULL,6),(46,43,'靽格㺿',NULL,'admin:user:update',2,NULL,6),(47,43,'<EFBFBD>𣳇膄',NULL,'admin:user:delete',2,NULL,6),(48,89,'<EFBFBD><EFBFBD>掩蝞∠<EFBFBD>','admin/category',NULL,1,'zhedie',6),(49,48,'<EFBFBD><EFBFBD>',NULL,'admin:category:list,admin:category:info',2,NULL,6),(50,48,'<EFBFBD><EFBFBD>',NULL,'admin:category:save',2,NULL,6),(51,48,'靽格㺿',NULL,'admin:category:update',2,NULL,6),(58,36,'撣硋<EFBFBD>蝞∠<EFBFBD>','admin/post',NULL,1,'config',6),(59,58,'<EFBFBD><EFBFBD>',NULL,'admin:post:list,admin:post:info',2,NULL,6),(60,58,'<EFBFBD><EFBFBD>',NULL,'admin:post:save',2,NULL,6),(61,58,'靽格㺿',NULL,'admin:post:update',2,NULL,6),(62,58,'<EFBFBD>𣳇膄',NULL,'admin:post:delete',2,NULL,6),(68,36,'<EFBFBD>捏蝞∠<EFBFBD>','admin/comment',NULL,1,'config',6),(69,68,'<EFBFBD><EFBFBD>',NULL,'admin:comment:list,admin:comment:info',2,NULL,6),(70,68,'<EFBFBD><EFBFBD>',NULL,'admin:comment:save',2,NULL,6),(71,68,'靽格㺿',NULL,'admin:comment:update',2,NULL,6),(72,68,'<EFBFBD>𣳇膄',NULL,'admin:comment:delete',2,NULL,6),(78,42,'頧格偘<EFBFBD>曄恣<EFBFBD><EFBFBD>','admin/link',NULL,1,'config',6),(79,78,'<EFBFBD><EFBFBD>',NULL,'admin:link:list,admin:link:info',2,NULL,6),(80,78,'<EFBFBD><EFBFBD>',NULL,'admin:link:save',2,NULL,6),(81,78,'靽格㺿',NULL,'admin:link:update',2,NULL,6),(82,78,'<EFBFBD>𣳇膄',NULL,'admin:link:delete',2,NULL,6),(88,0,'<EFBFBD><EFBFBD>蝞∠<EFBFBD>','','',0,'admin',6),(89,0,'<EFBFBD><EFBFBD>捆蝞∠<EFBFBD>','','',0,'editor',9);
/*Table structure for table `sys_oss` */
DROP TABLE IF EXISTS `sys_oss`;
CREATE TABLE `sys_oss` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`url` varchar(200) DEFAULT NULL COMMENT '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
`create_date` datetime DEFAULT NULL COMMENT '<EFBFBD>𥕦遣<EFBFBD>園𡢿',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='<EFBFBD><EFBFBD>辣銝𠹺<EFBFBD>';
/*Data for the table `sys_oss` */
insert into `sys_oss`(`id`,`url`,`create_date`) values (1,'https://qingbaobbs.oss-cn-shenzhen.aliyuncs.com/20240423/b94d60f203b74f3a9fe8ca17d68703a3.jpg','2024-04-23 10:38:56');
/*Table structure for table `sys_role` */
DROP TABLE IF EXISTS `sys_role`;
CREATE TABLE `sys_role` (
`role_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '閫坿𠧧ID',
`role_name` varchar(100) DEFAULT NULL COMMENT '閫坿𠧧<EFBFBD>滨妍',
`remark` varchar(100) DEFAULT NULL COMMENT '<EFBFBD>',
`create_user_id` bigint(20) DEFAULT NULL COMMENT '<EFBFBD>𥕦遣<EFBFBD><EFBFBD>ID',
`create_time` datetime DEFAULT NULL COMMENT '<EFBFBD>𥕦遣<EFBFBD>園𡢿',
PRIMARY KEY (`role_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='閫坿𠧧';
/*Data for the table `sys_role` */
insert into `sys_role`(`role_id`,`role_name`,`remark`,`create_user_id`,`create_time`) values (1,'餈鞱𨯫','餈鞱𨯫鈭箏<EFBFBD>',1,'2022-01-05 13:35:45');
/*Table structure for table `sys_role_menu` */
DROP TABLE IF EXISTS `sys_role_menu`;
CREATE TABLE `sys_role_menu` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`role_id` bigint(20) DEFAULT NULL COMMENT '閫坿𠧧ID',
`menu_id` bigint(20) DEFAULT NULL COMMENT '<EFBFBD>𨅯<EFBFBD>ID',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='閫坿𠧧銝舘<EFBFBD><EFBFBD>訫笆摨𥪜<EFBFBD><EFBFBD>';
/*Data for the table `sys_role_menu` */
/*Table structure for table `sys_user` */
DROP TABLE IF EXISTS `sys_user`;
CREATE TABLE `sys_user` (
`user_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '<EFBFBD><EFBFBD>ID',
`username` varchar(50) NOT NULL COMMENT '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
`password` varchar(100) DEFAULT NULL COMMENT '<EFBFBD><EFBFBD>',
`salt` varchar(20) DEFAULT NULL COMMENT '<EFBFBD><EFBFBD>',
`email` varchar(100) DEFAULT NULL COMMENT '<EFBFBD>桃拳',
`mobile` varchar(100) DEFAULT NULL COMMENT '<EFBFBD>𧢲㦤<EFBFBD><EFBFBD>',
`status` tinyint(4) DEFAULT NULL COMMENT '<EFBFBD><EFBFBD><EFBFBD>1甇<EFBFBD>虜0蝳<EFBFBD>',
`create_user_id` bigint(20) DEFAULT NULL COMMENT '<EFBFBD>𥕦遣<EFBFBD><EFBFBD>ID',
`create_time` datetime DEFAULT NULL COMMENT '<EFBFBD>𥕦遣<EFBFBD>園𡢿',
PRIMARY KEY (`user_id`),
UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COMMENT='蝟餌<EFBFBD><EFBFBD><EFBFBD>';
/*Data for the table `sys_user` */
insert into `sys_user`(`user_id`,`username`,`password`,`salt`,`email`,`mobile`,`status`,`create_user_id`,`create_time`) values (1,'admin','cdac762d0ba79875489f6a8b430fa8b5dfe0cdd81da38b80f02f33328af7fd4a','YzcmCZNvbXocrsz9dm8e','root@163.com','18100900090',1,1,'2022-01-05 13:36:24'),(2,'yunying','5ad9030f5f5e49ed06e6dfb44f0da6f9a95cf9f68276207c1277c05d31bc5fc6','hXie4Fbhak1N6pNOtIoo','yunying@163.com','15669231234',1,1,'2022-01-05 13:36:24');
/*Table structure for table `sys_user_role` */
DROP TABLE IF EXISTS `sys_user_role`;
CREATE TABLE `sys_user_role` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`user_id` bigint(20) DEFAULT NULL COMMENT '<EFBFBD><EFBFBD>ID',
`role_id` bigint(20) DEFAULT NULL COMMENT '閫坿𠧧ID',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='<EFBFBD><EFBFBD>銝舘<EFBFBD><EFBFBD>脣笆摨𥪜<EFBFBD><EFBFBD>';
/*Data for the table `sys_user_role` */
insert into `sys_user_role`(`id`,`user_id`,`role_id`) values (1,2,1);
/*Table structure for table `sys_user_token` */
DROP TABLE IF EXISTS `sys_user_token`;
CREATE TABLE `sys_user_token` (
`user_id` bigint(20) NOT NULL COMMENT '<EFBFBD><EFBFBD>ID',
`token` varchar(100) NOT NULL COMMENT 'token<EFBFBD><EFBFBD>',
`expire_time` datetime DEFAULT NULL COMMENT '<EFBFBD><EFBFBD><EFBFBD>園𡢿',
`update_time` datetime DEFAULT NULL COMMENT '<EFBFBD>湔鰵<EFBFBD>園𡢿',
PRIMARY KEY (`user_id`),
UNIQUE KEY `token` (`token`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='蝟餌<EFBFBD><EFBFBD><EFBFBD>Token';
/*Data for the table `sys_user_token` */
insert into `sys_user_token`(`user_id`,`token`,`expire_time`,`update_time`) values (1,'bae623cdee585dc9db254b8385488e1b','2022-10-21 03:48:44','2022-10-20 15:48:44'),(2,'354a481dc6c46c194bc1d01aa7f4bbeb','2022-01-06 02:55:50','2022-01-05 14:55:50');
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

View File

@ -1,7 +0,0 @@
SQL文件开源的在QQ群开源不易
请在gitee或github左上角star后备注gitee的用户名加**QQ群640700429**获取
或者扫码进群
![](https://gitee.com/virus010101/linfeng-community/raw/master/images/qrcode.jpg)

View File

@ -52,6 +52,9 @@ public class Constant {
public static final Integer USER_NORMAL = 0;
public static final Integer USER_BANNER = 1;
public static final String USER_BANNER_MSG = "该账号已被禁用";
/**

View File

@ -55,5 +55,7 @@ public interface PostService extends IService<PostEntity> {
Integer addPost(AddPostForm request, AppUserEntity user);
AppPageUtils queryPageList(PostListForm request, AppUserEntity user);
void deleteMyPost(DeletePostForm request, AppUserEntity user);
}

View File

@ -101,8 +101,8 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserDao, AppUserEntity> i
@Transactional(rollbackFor = Exception.class)
public void ban(Integer id) {
Integer status = this.lambdaQuery().eq(AppUserEntity::getUid, id).one().getStatus();
if (status.equals(Constant.USER_BANNER)) {
throw new LinfengException("该用户已被禁用");
if(status.equals(Constant.USER_BANNER)){
throw new LinfengException(Constant.USER_BANNER_MSG);
}
this.lambdaUpdate()
.set(AppUserEntity::getStatus, Constant.USER_BANNER)
@ -116,7 +116,7 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserDao, AppUserEntity> i
public void openBan(Integer id) {
Integer status = this.lambdaQuery().eq(AppUserEntity::getUid, id).one().getStatus();
if (status.equals(Constant.USER_NORMAL)) {
throw new LinfengException("该用户已解除禁用");
throw new LinfengException(Constant.USER_BANNER_MSG);
}
boolean update = this.lambdaUpdate()
.set(AppUserEntity::getStatus, Constant.USER_NORMAL)
@ -165,7 +165,7 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserDao, AppUserEntity> i
if (ObjectUtil.isNotNull(appUserEntity)) {
//登录
if (appUserEntity.getStatus().equals(Constant.USER_BANNER)) {
throw new LinfengException("该账户已被禁用");
throw new LinfengException(Constant.USER_BANNER_MSG);
}
return appUserEntity.getUid();
} else {
@ -229,6 +229,12 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserDao, AppUserEntity> i
if(!ObjectUtil.isEmpty(appUserUpdateForm.getGender())){
user.setGender(appUserUpdateForm.getGender());
}
if(!ObjectUtil.isEmpty(appUserUpdateForm.getUsername())){
user.setUsername(appUserUpdateForm.getUsername());
}
if(!ObjectUtil.isEmpty(appUserUpdateForm.getIntro())){
user.setIntro(appUserUpdateForm.getIntro());
}
baseMapper.updateById(user);
redisUtils.delete(RedisKeys.getUserKey(user.getUid()));
}
@ -259,7 +265,7 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserDao, AppUserEntity> i
public AppPageUtils userFans(Integer currPage, Integer uid) {
List<Integer> uidList = followService.getFansList(uid);
if (uidList.isEmpty()) {
return new AppPageUtils(null, 0, 20, currPage);
return new AppPageUtils(new ArrayList<>(), 0, 20, currPage);
}
Page<AppUserEntity> page = new Page<>(currPage, 20);
QueryWrapper<AppUserEntity> queryWrapper1 = new QueryWrapper<>();
@ -284,7 +290,7 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserDao, AppUserEntity> i
public AppPageUtils follow(Integer currPage, AppUserEntity user) {
List<Integer> followUids = followService.getFollowUids(user);
if (followUids.isEmpty()) {
return new AppPageUtils(null, 0, 20, currPage);
return new AppPageUtils(new ArrayList<>(), 0, 20, currPage);
}
Page<AppUserEntity> page = new Page<>(currPage, 20);
QueryWrapper<AppUserEntity> queryWrapper1 = new QueryWrapper<>();
@ -330,8 +336,8 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserDao, AppUserEntity> i
.eq(AppUserEntity::getOpenid, openId)
.one();
if (ObjectUtil.isNotNull(user)) {
if (user.getStatus() .equals(Constant.USER_BANNER)) {
throw new LinfengException("该账户已被禁用");
if(user.getStatus().equals(Constant.USER_BANNER)){
throw new LinfengException(Constant.USER_BANNER_MSG);
}
//其他业务todo
return user.getUid();

View File

@ -202,7 +202,7 @@ public class PostServiceImpl extends ServiceImpl<PostDao, PostEntity> implements
@Transactional(rollbackFor = Exception.class)
public void addComment(AddCommentForm request, AppUserEntity user) {
if(user.getStatus().equals(Constant.USER_BANNER)){
throw new LinfengException("您的账号已被禁用!");
throw new LinfengException(Constant.USER_BANNER_MSG);
}
CommentEntity commentEntity=new CommentEntity();
@ -217,8 +217,8 @@ public class PostServiceImpl extends ServiceImpl<PostDao, PostEntity> implements
@Override
@Transactional(rollbackFor = Exception.class)
public Integer addPost(AddPostForm request, AppUserEntity user) {
if(user.getStatus()!=0){
throw new LinfengException("您的账号已被禁用");
if(user.getStatus().equals(Constant.USER_BANNER)){
throw new LinfengException(Constant.USER_BANNER_MSG);
}
PostEntity post=new PostEntity();
BeanUtils.copyProperties(request,post);
@ -268,6 +268,19 @@ public class PostServiceImpl extends ServiceImpl<PostDao, PostEntity> implements
return appPage;
}
@Override
public void deleteMyPost(DeletePostForm request, AppUserEntity user) {
PostEntity post = this.getById(request.getId());
if(post==null){
throw new LinfengException("帖子不存在");
}
if(!post.getUid().equals(user.getUid())){
throw new LinfengException("不能删除别人帖子");
}
this.removeById(request.getId());
//关联业务处理todo
}
/**
* 组装帖子分页
* 在一个循环里 尽量减少数据库查询操作 这种方式并不太好 应该全部查询出来后再set值

View File

@ -20,10 +20,7 @@ import io.linfeng.modules.admin.entity.AppUserEntity;
import io.linfeng.modules.admin.service.PostService;
import io.linfeng.modules.app.annotation.Login;
import io.linfeng.modules.app.annotation.LoginUser;
import io.linfeng.modules.app.param.AddCollectionForm;
import io.linfeng.modules.app.param.AddCommentForm;
import io.linfeng.modules.app.param.AddPostForm;
import io.linfeng.modules.app.param.PostListForm;
import io.linfeng.modules.app.param.*;
import io.linfeng.modules.app.service.PostCollectionService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@ -104,6 +101,16 @@ public class AppPostController {
return R.ok();
}
@Login
@PostMapping("/deleteMyPost")
@ApiOperation("删除自己帖子")
public R deleteMyPost(@RequestBody DeletePostForm request,
@ApiIgnore @LoginUser AppUserEntity user){
postService.deleteMyPost(request,user);
return R.ok();
}
@Login
@GetMapping("/myPost")
@ApiOperation("我的帖子")

View File

@ -35,7 +35,7 @@ public class AppSystemConfigController {
@ApiOperation("logo配置")
@GetMapping("/miniConfig")
@GetMapping("/config")
public R miniConfig(){
SystemEntity system = systemService.miniConfig();
return R.ok().put("logo",system.getIntro());

View File

@ -15,18 +15,21 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* app用户信息修改
*
*/
@Data
@ApiModel(value = "app用户信息修改")
@ApiModel(value = "app用户信息修改请求体")
public class AppUserUpdateForm {
@ApiModelProperty(value = "头像")
@ApiModelProperty(value = "LF头像")
private String avatar;
@ApiModelProperty(value = "性别")
@ApiModelProperty(value = "LF昵称")
private String username;
@ApiModelProperty(value = "LF个性签名")
private String intro;
@ApiModelProperty(value = "LF性别")
private Integer gender;
}

View File

@ -0,0 +1,26 @@
/**
* -----------------------------------
* 林风社交论坛开源版本请务必保留此注释头信息
* 开源地址: https://gitee.com/virus010101/linfeng-community
* 演示站点:https://www.linfeng.tech
* 可正常分享和学习源码不得用于非法牟利
* 商业版购买联系技术客服 QQ: 3582996245
* Copyright (c) 2021-2023 linfeng all rights reserved.
* 版权所有侵权必究
* -----------------------------------
*/
package io.linfeng.modules.app.param;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "帖子删除请求体")
public class DeletePostForm {
@ApiModelProperty(value = "帖子id")
private Integer id;
}

View File

@ -16,6 +16,7 @@ import io.linfeng.common.utils.PageUtils;
import io.linfeng.modules.admin.entity.AppUserEntity;
import io.linfeng.modules.app.entity.PostCollectionEntity;
import io.linfeng.modules.app.param.AddCollectionForm;
import io.linfeng.modules.app.param.DeletePostForm;
import java.util.List;
import java.util.Map;
@ -38,6 +39,5 @@ public interface PostCollectionService extends IService<PostCollectionEntity> {
void cancelCollection(AddCollectionForm request, AppUserEntity user);
List<Integer> getPostListByUid(Integer uid);
}

View File

@ -14,6 +14,7 @@ package io.linfeng.modules.app.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import io.linfeng.modules.admin.entity.AppUserEntity;
import io.linfeng.modules.app.param.AddCollectionForm;
import io.linfeng.modules.app.param.DeletePostForm;
import org.springframework.stereotype.Service;
import java.util.List;

View File

@ -21,8 +21,8 @@ spring:
enabled: true
url-pattern: /druid/*
#数据库监控账号密码 线上环境需开启
login-username: admin
login-password: admin
login-username: linfengcommunity
login-password: linfengcommunity
filter:
stat:
log-slow-sql: true

View File

@ -31,7 +31,7 @@
"path" : "pages/login/login",
"style" :
{
"navigationBarTitleText": "",
"navigationBarTitleText": "登录注册",
"enablePullDownRefresh": false
}
@ -68,7 +68,7 @@
"path" : "pages/user/edit",
"style" :
{
"navigationBarTitleText": "",
"navigationBarTitleText": "个人信息维护",
"enablePullDownRefresh": false
}
@ -105,7 +105,7 @@
"path" : "pages/post/category",
"style" :
{
"navigationBarTitleText": "",
"navigationBarTitleText": "帖子分类",
"enablePullDownRefresh": false
}

View File

@ -1,6 +1,7 @@
<template>
<view class="login-register">
<view class="title">请先登录/注册</view>
<view class="lf-login-register">
<image class="logo" :src="logo" mode="aspectFit" />
<view class="title">欢迎使用{{title}}</view>
<u-form :model="form" ref="uForm">
<u-form-item>
<u-input v-model="form.mobile" placeholder="请输入手机号" />
@ -13,8 +14,12 @@
</u-form-item>
</u-form>
<view class="button-login">
<u-button v-show="form.mobile && form.code" type="success" @click="phoneLogin" shape="circle">登录</u-button>
<u-button v-show="!form.mobile || !form.code" type="default" shape="circle">登录</u-button>
<u-button v-show="form.mobile && form.code" type="primary" @click="phoneLogin" shape="circle">登录/注册</u-button>
<u-button v-show="!form.mobile || !form.code" type="success" shape="circle">登录/注册</u-button>
</view>
<view class="lf-bottom" @click="goIndex"><text> 暂不登录再看看 </text></view>
<view class="">
</view>
</view>
</template>
@ -27,10 +32,27 @@
mobile: "",
code: ""
},
tips: '验证码'
tips: '验证码',
logo: '',
title: this.$c.miniappName
};
},
onLoad() {
this.getSysInfo();
},
methods: {
goIndex(){
uni.switchTab({
url:"/pages/index/index"
})
},
getSysInfo() {
this.$H.get("system/config").then(res => {
if (res.code == 0) {
this.logo = res.logo;
}
})
},
phoneLogin() {
uni.showLoading({
mask: true,
@ -86,17 +108,39 @@
</script>
<style lang="scss" scoped>
.login-register {
.lf-login-register {
padding: 20rpx 50rpx;
text-align: center;
}
.logo {
width: 200rpx;
height: 200rpx;
margin-top: 100rpx;
}
.title {
font-size: 44rpx;
font-weight: 600;
margin-bottom: 50rpx;
}
.button-login {
margin-top: 100rpx;
}
.title {
font-size: 40rpx;
font-weight: 600;
margin-bottom: 50rpx;
.lf-bottom {
text-align: center;
margin: 150rpx 0 0 0;
color: #666;
}
</style>
.lf-bottom text {
margin-left: 20rpx;
color: #aaaaaa;
font-size: 27rpx;
}
</style>

View File

@ -29,7 +29,7 @@
});
},
getSysInfo() {
this.$H.get("system/miniConfig").then(res => {
this.$H.get("system/config").then(res => {
if (res.code == 0) {
this.logo = res.logo;
}

View File

@ -8,10 +8,12 @@
<text class="user-name">{{ postDetail.userInfo.username }}</text>
<view class="userIntro">{{ postDetail.userInfo.intro }}</view>
</view>
<u-button v-show="postDetail.isFollow" size="mini" style="float:right;font-size: 14px;"
<u-button v-show="!isAuthor&&postDetail.isFollow" size="mini" style="float:right;font-size: 14px;"
@click="cancelFollow">已关注</u-button>
<u-button v-show="!postDetail.isFollow" size="mini" style="float:right;font-size: 14px;"
<u-button v-show="!isAuthor&&!postDetail.isFollow" size="mini" style="float:right;font-size: 14px;"
@click="follow">关注</u-button>
<u-button v-show="isAuthor" size="mini" type="error" style="float:right;font-size: 14px;"
@click="deletePost">删除</u-button>
</view>
<view class="icon">
<text>{{ postDetail.createTime }}</text>
@ -187,6 +189,7 @@
},
page: 1,
loadStatus: 'loadmore',
isAuthor: false, //
};
},
@ -235,6 +238,31 @@
};
},
methods: {
deletePost(){
var that = this;
uni.showModal({
title: '提示',
content: '确定删除该帖子吗?',
success: function(res) {
if (res.confirm) {
that.$H
.post('post/deleteMyPost', {
id: that.postId
})
.then(res => {
if(res.code==0){
uni.switchTab({
url:"/pages/index/index"
})
}
});
} else if (res.cancel) {
}
}
});
},
messageRead(mid) {
this.$H
.post('message/readMessage', {
@ -373,6 +401,13 @@
}, 1500);
}
this.postDetail = res.result;
if (uni.getStorageSync('hasLogin')) {
this.$H.get('user/userInfo').then(res => {
if (res.result.uid == this.postDetail.uid) {
this.isAuthor = true
}
});
}
uni.hideLoading();
});
},
@ -750,4 +785,4 @@
.post-text {
white-space: pre-wrap;
}
</style>
</style>

View File

@ -6,19 +6,22 @@
<u-avatar @click="onAvatar" mode="square" slot="right" :src="userInfo.avatar" size="100"></u-avatar>
</u-form-item>
<u-form-item label="昵称" right-icon="arrow-right">
<u-input :placeholder="userInfo.username"
input-align="right" :disabled="true" />
<u-input v-model="username"
input-align="right"/>
</u-form-item>
<u-form-item label="性别" right-icon="arrow-right">
<u-input @click="openGender" :placeholder="userInfo.gender"
input-align="right" />
input-align="right"/>
</u-form-item>
<u-form-item label="个性签名" right-icon="arrow-right">
<u-input :placeholder="userInfo.intro" :disabled="true"
input-align="right" />
<u-input v-model="intro"
input-align="right"/>
</u-form-item>
</u-form>
</view>
<view class="save-btn">
<u-button :custom-style="saveBtnStyle" @click="saveInfo">保存个人信息</u-button>
</view>
<view class="out-btn">
<u-button :custom-style="btnStyle" @click="outlogin">退出登录</u-button>
</view>
@ -31,6 +34,10 @@
export default {
data() {
return {
saveBtnStyle: {
color: "#fff",
backgroundColor: '#8f8fd6'
},
btnStyle: {
color: "#fff",
backgroundColor: '#333333'
@ -50,7 +57,9 @@
value: 0,
label: "保密"
}
]
],
username:"",
intro:""
};
},
onShow(options) {
@ -60,6 +69,24 @@
openGender(){
this.showGender = true
},
saveInfo(){
if (!this.username) {
this.$u.toast('昵称不能为空');
return;
}
if (!this.intro) {
this.$u.toast('个性签名不能为空');
return;
}
this.$H.post("user/userInfoEdit", {
username: this.username,
intro: this.intro
}).then(res => {
if (res.code == 0) {
this.$u.toast('个人信息更新成功');
}
})
},
//
saveGender(index) {
let gender = index[0].value;
@ -68,12 +95,15 @@
}).then(res => {
if (res.code == 0) {
this.userInfo.gender = index[0].label
this.$u.toast('性别更新成功');
}
})
},
getUserInfo() {
this.$H.get("user/userInfo").then(res => {
this.userInfo = res.result
this.username=res.result.username
this.intro=res.result.intro
if (res.result.gender === 1) {
this.userInfo.gender = '男'
} else if (res.result.gender === 2) {
@ -81,8 +111,6 @@
} else {
this.userInfo.gender = '保密'
}
})
},
outlogin() {
@ -129,6 +157,7 @@
}).then(res => {
if (res.code == 0) {
this.userInfo.avatar = avatar;
this.$u.toast('头像更新成功');
}
})
}
@ -140,7 +169,9 @@
padding: 20rpx;
background-color: #FFFFFF;
}
.save-btn {
margin: 40rpx 30rpx;
}
.out-btn {
margin: 40rpx 30rpx;
}

View File

@ -24,19 +24,19 @@
<u-grid :col="4" :border="false" style="margin: 20rpx 0;" @click="toNav">
<u-grid-item index="/pages/my/user?type=2">
<text>{{ userInfo.fans || 0}}</text>
<view class="grid-text">粉丝</view>
<view class="nav-text">粉丝</view>
</u-grid-item>
<u-grid-item index="/pages/my/user?type=1">
<text>{{ userInfo.follow || 0 }}</text>
<view class="grid-text">关注</view>
<view class="nav-text">关注</view>
</u-grid-item>
<u-grid-item index="/pages/my/post?type=2">
<text>{{ userInfo.postNum || 0 }}</text>
<view class="grid-text">帖子</view>
<view class="nav-text">帖子</view>
</u-grid-item>
<u-grid-item index="">
<text>{{ userInfo.integral || 0 }}</text>
<view class="grid-text">积分</view>
<view class="nav-text">积分</view>
</u-grid-item>
</u-grid>
</view>
@ -78,6 +78,15 @@
</u-grid-item>
</u-grid>
</view>
<view @click="commercialLink">
<view class="bottom-info">
林风社交论坛开源版
</view>
<view class="bottom-info-t">
© www.linfengtech.cn
</view>
</view>
<!-- 发贴入口 -->
<add-post-tag></add-post-tag>
</view>
@ -147,13 +156,13 @@
});
},
getSysInfo() {
this.$H.get('system/miniConfig').then(res => {
this.$H.get('system/config').then(res => {
this.shareCover = res.logo;
});
},
commercialLink() {
// #ifdef H5
window.open("https://h5.linfeng.tech")
window.open("https://www.linfengtech.cn")
// #endif
// #ifdef MP-WEIXIN
uni.navigateToMiniProgram({
@ -207,6 +216,12 @@
margin-left: 20rpx;
}
.nav-text {
color: #999;
font-size: 14px;
margin-bottom: 20rpx;
}
.grid-text {
color: #999;
font-size: 12px;
@ -275,4 +290,20 @@
padding: 20rpx;
}
}
.bottom-info {
display: flex;
align-items: center;
justify-content: center;
color: #737373;
font-size: 32rpx;
font-weight: 600;
}
.bottom-info-t{
display: flex;
align-items: center;
justify-content: center;
color: #1f1f1f;
font-size: 28rpx;
font-weight: 400;
}
</style>