responseJson = new DocResponseJson<>();
responseJson.setData(data);
return responseJson;
}
diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/config/MybatisPlusConfig.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/config/MybatisPlusConfig.java
index 58a2ce6f..f4346ea4 100644
--- a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/config/MybatisPlusConfig.java
+++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/config/MybatisPlusConfig.java
@@ -5,6 +5,7 @@ import com.atomikos.icatch.jta.UserTransactionManager;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.plugins.PerformanceInterceptor;
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
+import com.github.pagehelper.PageHelper;
import com.zyplayer.doc.data.repository.support.interceptor.SqlLogInterceptor;
import org.apache.ibatis.plugin.Interceptor;
import org.mybatis.spring.annotation.MapperScan;
@@ -27,52 +28,64 @@ import java.util.Properties;
*/
@Configuration
public class MybatisPlusConfig {
-
+
/**
* sql日志
**/
private static final SqlLogInterceptor SQL_LOG_INTERCEPTOR;
-
+ /**
+ * MYSQL 分页
+ **/
+ private static final PageHelper MYSQL_PAGE_HELPER;
+
static {
- SQL_LOG_INTERCEPTOR = new SqlLogInterceptor();
- Properties properties = new Properties();
- SQL_LOG_INTERCEPTOR.setProperties(properties);
+ {
+ MYSQL_PAGE_HELPER = new PageHelper();
+ Properties properties = new Properties();
+ properties.setProperty("dialect", "mysql");
+ MYSQL_PAGE_HELPER.setProperties(properties);
+ }
+ {
+ SQL_LOG_INTERCEPTOR = new SqlLogInterceptor();
+ Properties properties = new Properties();
+ SQL_LOG_INTERCEPTOR.setProperties(properties);
+ }
}
-
+
/**
* 分布式事务配置
*/
@Configuration
static class JTATransactionManagerConfig {
-
+
@Bean(name = "userTransaction")
public UserTransaction userTransaction() throws Throwable {
UserTransactionImp userTransactionImp = new UserTransactionImp();
userTransactionImp.setTransactionTimeout(300);
return userTransactionImp;
}
-
+
@Bean(name = "atomikosTransactionManager")
public TransactionManager atomikosTransactionManager() {
UserTransactionManager userTransactionManager = new UserTransactionManager();
userTransactionManager.setForceShutdown(true);
return userTransactionManager;
}
-
+
@Bean(name = "transactionManager")
public PlatformTransactionManager transactionManager() throws Throwable {
UserTransaction userTransaction = userTransaction();
TransactionManager atomikosTransactionManager = atomikosTransactionManager();
-
+
JtaTransactionManager jtaTransactionManager = new JtaTransactionManager(userTransaction, atomikosTransactionManager);
jtaTransactionManager.setAllowCustomIsolationLevels(true);
jtaTransactionManager.setGlobalRollbackOnParticipationFailure(true);
jtaTransactionManager.setDefaultTimeout(30);
-
+
return jtaTransactionManager;
}
}
-
+
/**
* 数据库配置
*/
@@ -80,7 +93,7 @@ public class MybatisPlusConfig {
@EnableTransactionManagement
@MapperScan(value = "com.zyplayer.doc.data.repository.manage.mapper", sqlSessionFactoryRef = "manageSqlSessionFactory")
static class ManageMybatisDbConfig {
-
+
@Value("${zyplayer.doc.manage.datasource.driverClassName}")
private String driverClassName;
@Value("${zyplayer.doc.manage.datasource.url}")
@@ -89,7 +102,7 @@ public class MybatisPlusConfig {
private String username;
@Value("${zyplayer.doc.manage.datasource.password}")
private String password;
-
+
@Bean(name = "manageDatasource")
public DataSource manageDatasource() {
Properties xaProperties = new Properties();
@@ -101,7 +114,7 @@ public class MybatisPlusConfig {
xaProperties.setProperty("testOnBorrow", "true");
xaProperties.setProperty("testWhileIdle", "true");
xaProperties.setProperty("validationQuery", "select 'x'");
-
+
AtomikosDataSourceBean xaDataSource = new AtomikosDataSourceBean();
xaDataSource.setXaProperties(xaProperties);
xaDataSource.setXaDataSourceClassName("com.alibaba.druid.pool.xa.DruidXADataSource");
@@ -111,19 +124,19 @@ public class MybatisPlusConfig {
xaDataSource.setMaxLifetime(60);
return xaDataSource;
}
-
+
@Bean(name = "manageSqlSessionFactory")
public MybatisSqlSessionFactoryBean manageSqlSessionFactory() throws Exception {
MybatisSqlSessionFactoryBean sqlSessionFactoryBean = new MybatisSqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(manageDatasource());
- sqlSessionFactoryBean.setPlugins(new Interceptor[]{SQL_LOG_INTERCEPTOR});
-
+ sqlSessionFactoryBean.setPlugins(new Interceptor[]{SQL_LOG_INTERCEPTOR, MYSQL_PAGE_HELPER});
+
PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classpath:/mapper/manage/*Mapper.xml"));
return sqlSessionFactoryBean;
}
}
-
+
@Bean
public PerformanceInterceptor performanceInterceptor() {
PerformanceInterceptor performanceInterceptor = new PerformanceInterceptor();
@@ -133,7 +146,7 @@ public class MybatisPlusConfig {
performanceInterceptor.setFormat(true);
return performanceInterceptor;
}
-
+
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/entity/WikiPageContent.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/entity/WikiPageContent.java
index 7c8d734e..d728b40a 100644
--- a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/entity/WikiPageContent.java
+++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/entity/WikiPageContent.java
@@ -1,9 +1,10 @@
package com.zyplayer.doc.data.repository.manage.entity;
import com.baomidou.mybatisplus.annotation.IdType;
-import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
+
import java.io.Serializable;
+import java.util.Date;
/**
*
@@ -63,6 +64,11 @@ public class WikiPageContent implements Serializable {
*/
private Date updateTime;
+ /**
+ * 预览内容
+ */
+ private String preview;
+
public Long getId() {
return id;
}
@@ -141,4 +147,12 @@ public class WikiPageContent implements Serializable {
", updateTime=" + updateTime +
"}";
}
+
+ public String getPreview() {
+ return preview;
+ }
+
+ public void setPreview(String preview) {
+ this.preview = preview;
+ }
}
diff --git a/zyplayer-doc-manage/src/main/resources/sql/zyplayer_doc_manage.1.0.2.sql b/zyplayer-doc-manage/src/main/resources/sql/zyplayer_doc_manage.1.0.2.sql
index e9c20762..bea8eff4 100644
--- a/zyplayer-doc-manage/src/main/resources/sql/zyplayer_doc_manage.1.0.2.sql
+++ b/zyplayer-doc-manage/src/main/resources/sql/zyplayer_doc_manage.1.0.2.sql
@@ -18,6 +18,7 @@ ALTER TABLE `wiki_page` ADD COLUMN `seq_no` int NOT NULL DEFAULT 0 COMMENT '顺
-- 初始化seq
UPDATE wiki_page SET seq_no=id WHERE del_flag=0;
+ALTER TABLE `wiki_page_content` ADD COLUMN `preview` varchar(1024) NULL COMMENT '预览内容';
-- 全新的库:
diff --git a/zyplayer-doc-ui/wiki-ui/src/App.vue b/zyplayer-doc-ui/wiki-ui/src/App.vue
index 74a24dc2..11c38e5f 100644
--- a/zyplayer-doc-ui/wiki-ui/src/App.vue
+++ b/zyplayer-doc-ui/wiki-ui/src/App.vue
@@ -275,7 +275,7 @@
}
}
app.doGetPageList(null);
- app.$router.push({path: '/home'});
+ app.$router.push({path: '/home', query: {spaceId: data}});
}
},
loadSpaceList() {
@@ -294,6 +294,7 @@
app.nowClickPath = {spaceId: spaceId};
app.choiceSpace = spaceId;
app.doGetPageList(null);
+ app.$router.push({path: '/home', query: {spaceId: spaceId}});
}
});
},
diff --git a/zyplayer-doc-ui/wiki-ui/src/common/config/apilist.js b/zyplayer-doc-ui/wiki-ui/src/common/config/apilist.js
index 01f3bde1..568e34db 100644
--- a/zyplayer-doc-ui/wiki-ui/src/common/config/apilist.js
+++ b/zyplayer-doc-ui/wiki-ui/src/common/config/apilist.js
@@ -7,6 +7,7 @@ var URL = {
pageList: '/zyplayer-doc-wiki/page/list',
updatePage: '/zyplayer-doc-wiki/page/update',
pageDetail: '/zyplayer-doc-wiki/page/detail',
+ pageNews: '/zyplayer-doc-wiki/page/news',
spaceList: '/zyplayer-doc-wiki/space/list',
updateSpace: '/zyplayer-doc-wiki/space/update',
getPageUserAuthList: '/zyplayer-doc-wiki/page/auth/list',
diff --git a/zyplayer-doc-ui/wiki-ui/src/views/home/Home.vue b/zyplayer-doc-ui/wiki-ui/src/views/home/Home.vue
index 6fbe8c82..190012dd 100644
--- a/zyplayer-doc-ui/wiki-ui/src/views/home/Home.vue
+++ b/zyplayer-doc-ui/wiki-ui/src/views/home/Home.vue
@@ -1,39 +1,121 @@
-
-
欢迎使用在线文档
-
- {{nowSpaceShow.name}}
-
· {{nowSpaceShow.spaceExplain}}
+
+
+
+
+
+
+
+ 暂无数据
+
+
+ {{item.createUserName}} 发布于 {{item.spaceName}}
+
+
+
{{item.pageTitle}}
+
{{item.previewContent}}
+
+
{{item.zanNum}}
+
{{item.viewNum}}
+
{{item.updateTime||item.createTime}}
+
+
+
+
+
+
+
+
+
diff --git a/zyplayer-doc-ui/wiki-ui/src/views/page/Edit.vue b/zyplayer-doc-ui/wiki-ui/src/views/page/Edit.vue
index 314e4a64..63e84825 100644
--- a/zyplayer-doc-ui/wiki-ui/src/views/page/Edit.vue
+++ b/zyplayer-doc-ui/wiki-ui/src/views/page/Edit.vue
@@ -63,12 +63,17 @@
toast.warn("标题不能为空");
return;
}
+ var preview = this.editor.txt.text();
+ if (preview.length > 200) {
+ preview = preview.substring(0, 200) + '...';
+ }
var param = {
spaceId: app.parentPath.spaceId,
parentId: parentId,
id: app.wikiPage.id,
name: app.newPageTitle,
- content: this.editor.txt.html()
+ content: this.editor.txt.html(),
+ preview: preview,
};
this.common.post(this.apilist1.updatePage, param, function (json) {
toast.success("保存成功!");
diff --git a/zyplayer-doc-ui/wiki-ui/src/views/page/Show.vue b/zyplayer-doc-ui/wiki-ui/src/views/page/Show.vue
index 19135854..63cd554a 100644
--- a/zyplayer-doc-ui/wiki-ui/src/views/page/Show.vue
+++ b/zyplayer-doc-ui/wiki-ui/src/views/page/Show.vue
@@ -253,7 +253,7 @@
this.common.post(this.apilist1.updatePage, param, function (json) {
// 重新加载左侧列表,跳转到展示页面
global.vue.$app.doGetPageList(null);
- app.$router.push({path: '/home'});
+ app.$router.push({path: '/home', query: {spaceId: app.nowClickPath.spaceId}});
});
});
},
diff --git a/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/controller/WikiPageController.java b/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/controller/WikiPageController.java
index 42d4531c..01da20d2 100644
--- a/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/controller/WikiPageController.java
+++ b/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/controller/WikiPageController.java
@@ -1,14 +1,19 @@
package com.zyplayer.doc.wiki.controller;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.zyplayer.doc.core.annotation.AuthMan;
import com.zyplayer.doc.core.json.DocResponseJson;
import com.zyplayer.doc.core.json.ResponseJson;
-import com.zyplayer.doc.core.annotation.AuthMan;
import com.zyplayer.doc.data.config.security.DocUserDetails;
import com.zyplayer.doc.data.config.security.DocUserUtil;
import com.zyplayer.doc.data.repository.manage.entity.*;
import com.zyplayer.doc.data.repository.manage.mapper.WikiPageMapper;
import com.zyplayer.doc.data.service.manage.*;
+import com.zyplayer.doc.wiki.controller.param.SpaceNewsParam;
+import com.zyplayer.doc.wiki.controller.vo.SpaceNewsVo;
import com.zyplayer.doc.wiki.controller.vo.WikiPageContentVo;
import com.zyplayer.doc.wiki.controller.vo.WikiPageVo;
import com.zyplayer.doc.wiki.framework.consts.SpaceType;
@@ -150,10 +155,11 @@ public class WikiPageController {
}
@PostMapping("/update")
- public ResponseJson