reconsitution

main
tamguo 7 years ago
parent 126887e651
commit 2e6f528a79

@ -22,7 +22,7 @@
<attribute name="maven.pomderived" value="true"/> <attribute name="maven.pomderived" value="true"/>
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes> <attributes>
<attribute name="maven.pomderived" value="true"/> <attribute name="maven.pomderived" value="true"/>
</attributes> </attributes>

@ -0,0 +1,6 @@
eclipse.preferences.version=1
encoding//src/main/java=UTF-8
encoding//src/main/resources=UTF-8
encoding//src/test/java=UTF-8
encoding//src/test/resources=UTF-8
encoding/<project>=UTF-8

@ -1,5 +1,5 @@
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.5 org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.5 org.eclipse.jdt.core.compiler.source=1.8

@ -3,4 +3,163 @@
<groupId>com.tamguo</groupId> <groupId>com.tamguo</groupId>
<artifactId>tamguo-bms</artifactId> <artifactId>tamguo-bms</artifactId>
<version>1.0.0</version> <version>1.0.0</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.3.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
<mybatis-plus-boot-starter.version>2.1.9</mybatis-plus-boot-starter.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- mybatis-plus begin -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus-boot-starter.version}</version>
<exclusions>
<exclusion>
<artifactId>tomcat-jdbc</artifactId>
<groupId>org.apache.tomcat</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- mybatis-plus end -->
<dependency>
<groupId>net.sourceforge.nekohtml</groupId>
<artifactId>nekohtml</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
<version>1.3.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
<dependency>
<groupId>com.github.theborakompanioni</groupId>
<artifactId>thymeleaf-extras-shiro</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.32</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-ehcache</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>cn.songxinqiang</groupId>
<artifactId>com.baidu.ueditor</artifactId>
<version>1.1.2-edit-1.0</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.18</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-dysmsapi</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>3.2.8</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-email</artifactId>
<version>1.5</version>
</dependency>
<dependency>
<groupId>com.bladejava</groupId>
<artifactId>blade-patchca</artifactId>
<version>1.0.5</version>
</dependency>
<dependency>
<groupId>com.tamguo</groupId>
<artifactId>tamguo-modules-core</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Camden.SR6</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<finalName>bms</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project> </project>

@ -0,0 +1,36 @@
package com.tamguo;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.support.config.FastJsonConfig;
import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
@SpringBootApplication
@ComponentScan("com.tamguo")
public class Application {
public static void main(String[] args) {
new SpringApplicationBuilder(Application.class).run(args);
}
/**
* FastJsonJackson
* @return
*/
@Bean
public HttpMessageConverters fastJsonHttpMessageConverters() {
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss");
fastJsonConfig.setSerializerFeatures(SerializerFeature.DisableCircularReferenceDetect);
fastConverter.setFastJsonConfig(fastJsonConfig);
FastJsonHttpMessageConverter converter = fastConverter;
return new HttpMessageConverters(converter);
}
}

@ -0,0 +1,23 @@
package com.tamguo.config.dao;
import com.baomidou.mybatisplus.mapper.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* ,
*/
//@Component
public class MyMetaObjectHandler extends MetaObjectHandler {
protected final static Logger logger = LoggerFactory.getLogger(MyMetaObjectHandler.class);
@Override
public void insertFill(MetaObject metaObject) {
}
@Override
public void updateFill(MetaObject metaObject) {
}
}

@ -0,0 +1,93 @@
package com.tamguo.config.dao;
import java.util.ArrayList;
import java.util.List;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.baomidou.mybatisplus.mapper.ISqlInjector;
import com.baomidou.mybatisplus.mapper.LogicSqlInjector;
import com.baomidou.mybatisplus.mapper.MetaObjectHandler;
import com.baomidou.mybatisplus.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.plugins.PerformanceInterceptor;
import com.baomidou.mybatisplus.plugins.parser.ISqlParser;
import com.baomidou.mybatisplus.plugins.parser.tenant.TenantHandler;
import com.baomidou.mybatisplus.plugins.parser.tenant.TenantSqlParser;
import net.sf.jsqlparser.expression.Expression;
import net.sf.jsqlparser.expression.LongValue;
@Configuration
@MapperScan("com.tamguo.modules.*.dao*")
public class MybatisPlusConfig {
@Bean
public PerformanceInterceptor performanceInterceptor() {
return new PerformanceInterceptor();
}
/**
* mybatis-plus<br>
* http://mp.baomidou.com<br>
*/
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
paginationInterceptor.setLocalPage(true);// 开启 PageHelper 的支持
/*
* SQL <br>
* 1 cookie SQL <br>
*/
List<ISqlParser> sqlParserList = new ArrayList<>();
TenantSqlParser tenantSqlParser = new TenantSqlParser();
tenantSqlParser.setTenantHandler(new TenantHandler() {
@Override
public Expression getTenantId() {
return new LongValue(1L);
}
@Override
public String getTenantIdColumn() {
return "course_id";
}
@Override
public boolean doTableFilter(String tableName) {
// 这里可以判断是否过滤表
return true;
}
});
sqlParserList.add(tenantSqlParser);
paginationInterceptor.setSqlParserList(sqlParserList);
// 以下过滤方式与 @SqlParser(filter = true) 注解等效
// paginationInterceptor.setSqlParserFilter(new ISqlParserFilter() {
// @Override
// public boolean doFilter(MetaObject metaObject) {
// MappedStatement ms = PluginUtils.getMappedStatement(metaObject);
// // 过滤自定义查询此时无租户信息约束【 麻花藤 】出现
// if ("com.baomidou.springboot.mapper.UserMapper.selectListBySQL".equals(ms.getId())) {
// return true;
// }
// return false;
// }
// });
return paginationInterceptor;
}
@Bean
public MetaObjectHandler metaObjectHandler(){
return new MyMetaObjectHandler();
}
/**
* sql
*/
@Bean
public ISqlInjector sqlInjector(){
return new LogicSqlInjector();
}
}

@ -0,0 +1,21 @@
package com.tamguo.config.web;
import org.springframework.boot.web.server.ErrorPage;
import org.springframework.boot.web.server.ErrorPageRegistrar;
import org.springframework.boot.web.server.ErrorPageRegistry;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Component;
@Component
public class ErrorConfigurar implements ErrorPageRegistrar {
@Override
public void registerErrorPages(ErrorPageRegistry registry) {
ErrorPage[] errorPages=new ErrorPage[2];
errorPages[0]=new ErrorPage(HttpStatus.NOT_FOUND,"/error404");
errorPages[1]=new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR,"/error500");
registry.addErrorPages(errorPages);
}
}

@ -0,0 +1,40 @@
package com.tamguo.config.web;
import java.util.HashMap;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.context.EnvironmentAware;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;
import org.thymeleaf.spring5.view.ThymeleafViewResolver;
import com.tamguo.common.utils.SystemConstant;
@Component
public class ThymeleafConfig implements EnvironmentAware{
@Resource
private Environment env;
@Resource
private void configureThymeleafStaticVars(ThymeleafViewResolver viewResolver) {
if(viewResolver != null) {
Map<String, Object> vars = new HashMap<>();
vars.put("domainName", env.getProperty("domain.name"));
vars.put("adminDomain", env.getProperty("admin.domain.name"));
vars.put("PAPER_TYPE_ZHENTI", SystemConstant.ZHENGTI_PAPER_ID);
vars.put("PAPER_TYPE_MONI", SystemConstant.MONI_PAPER_ID);
vars.put("PAPER_TYPE_YATI", SystemConstant.YATI_PAPER_ID);
vars.put("PAPER_TYPE_MINGXIAO", SystemConstant.MINGXIAO_PAPER_ID);
vars.put("BEIJING_AREA_ID", SystemConstant.BEIJING_AREA_ID);
viewResolver.setStaticVariables(vars);
}
}
@Override
public void setEnvironment(Environment environment) {
env = environment;
}
}

@ -0,0 +1,18 @@
package com.tamguo.config.web;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Value("${file.storage.path}")
private String fileStoragePath;
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/files/**").addResourceLocations("file:"+fileStoragePath);
}
}

@ -0,0 +1,62 @@
domain.name=http://localhost:8083/
admin.domain.name=http://localhost:8083/
server.port=8083
jasypt.encryptor.password=tamguo
spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.filters=stat,wall,log4j
spring.datasource.initialSize=5
spring.datasource.maxActive=20
spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
spring.datasource.maxWait=60000
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.minIdle=5
spring.datasource.password=123456
spring.datasource.poolPreparedStatements=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
spring.datasource.testWhileIdle=true
spring.datasource.timeBetweenEvictionRunsMillis=60000
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/tamguo_20181110?useUnicode=true&characterEncoding=UTF-8&useSSL=false
spring.datasource.username=root
spring.datasource.validationQuery=SELECT 1 FROM DUAL
mybatis-plus.mapper-locations=classpath:/mappers/*Mapper.xml
mybatis-plus.typeAliasesPackage=com.tamguo.modules.*.model
mybatis-plus.typeEnumsPackage=com.tamguo.modules.*.model.enums
mybatis-plus.global-config.id-type=5
mybatis-plus.global-config.field-strategy=2
mybatis-plus.global-config.db-column-underline=true
mybatis-plus.global-config.refresh-mapper=true
mybatis-plus.global-config.key-generator=com.baomidou.mybatisplus.incrementer.H2KeyGenerator
mybatis-plus.global-config.logic-delete-value=0
mybatis-plus.global-config.logic-not-delete-value=1
mybatis-plus.global-config.sql-injector=com.baomidou.mybatisplus.mapper.LogicSqlInjector
mybatis-plus.global-config.meta-object-handler=com.tamguo.config.dao.MyMetaObjectHandler
mybatis-plus.global-config.sql-parser-cache=true
mybatis-plus.configuration.map-underscore-to-camel-case=true
mybatis-plus.configuration.cache-enabled=false
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.mode=LEGACYHTML5
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.content-type=text/html
spring.thymeleaf.cache=false
redis.hostname=127.0.0.1
redis.port=6379
redis.password=
logging.level.root=INFO
logging.level.org.springframework.web=INFO
logging.file=/home/webdata/log/tamguo.log
logging.pattern.console=%d{yyyy/MM/dd-HH:mm:ss} [%thread] %-5level %logger- %msg%n
logging.pattern.file=%d{yyyy/MM/dd-HH:mm} [%thread] %-5level %logger- %msg%n
server.compression.enabled=true
server.compression.mime-types=application/json,application/xml,text/html,text/xml,text/plain
file.storage.path=/home/webdata/files/

@ -0,0 +1,11 @@
<ehcache updateCheck="false" name="shiroCache">
<defaultCache
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
overflowToDisk="false"
diskPersistent="false"
diskExpiryThreadIntervalSeconds="120"
/>
</ehcache>

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<redis>
<preKey value="TAMGUO:" />
<pool maxActive="50" maxIdle="20" maxWait="1000" />
<servers>
<!-- test -->
<server ip="127.0.0.1" port="6379"/>
</servers>
</redis>

@ -0,0 +1,8 @@
package com.tamguo.modules.book.dao;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.tamguo.modules.book.model.BookCategoryEntity;
public interface BookCategoryMapper extends BaseMapper<BookCategoryEntity>{
}

@ -0,0 +1,8 @@
package com.tamguo.modules.book.dao;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.tamguo.modules.book.model.BookEntity;
public interface BookMapper extends BaseMapper<BookEntity> {
}

@ -0,0 +1,8 @@
package com.tamguo.modules.book.dao;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.tamguo.modules.book.model.DocumentEntity;
public interface DocumentMapper extends BaseMapper<DocumentEntity>{
}

@ -0,0 +1,112 @@
package com.tamguo.modules.book.model;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
@TableName(value="b_book_category")
public class BookCategoryEntity {
@TableId
private String id;
private String parentCode;
private String parentCodes;
private String treeSort;
private String treeSorts;
private String treeLeaf;
private String treeLevel;
private String treeNames;
private String name;
private String seoTitle;
private String seoKeywords;
private String seoDescription;
private Date createDate;
private Date updateDate;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getParentCode() {
return parentCode;
}
public void setParentCode(String parentCode) {
this.parentCode = parentCode;
}
public String getParentCodes() {
return parentCodes;
}
public void setParentCodes(String parentCodes) {
this.parentCodes = parentCodes;
}
public String getTreeSort() {
return treeSort;
}
public void setTreeSort(String treeSort) {
this.treeSort = treeSort;
}
public String getTreeSorts() {
return treeSorts;
}
public void setTreeSorts(String treeSorts) {
this.treeSorts = treeSorts;
}
public String getTreeLeaf() {
return treeLeaf;
}
public void setTreeLeaf(String treeLeaf) {
this.treeLeaf = treeLeaf;
}
public String getTreeLevel() {
return treeLevel;
}
public void setTreeLevel(String treeLevel) {
this.treeLevel = treeLevel;
}
public String getTreeNames() {
return treeNames;
}
public void setTreeNames(String treeNames) {
this.treeNames = treeNames;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSeoTitle() {
return seoTitle;
}
public void setSeoTitle(String seoTitle) {
this.seoTitle = seoTitle;
}
public String getSeoKeywords() {
return seoKeywords;
}
public void setSeoKeywords(String seoKeywords) {
this.seoKeywords = seoKeywords;
}
public String getSeoDescription() {
return seoDescription;
}
public void setSeoDescription(String seoDescription) {
this.seoDescription = seoDescription;
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
public Date getUpdateDate() {
return updateDate;
}
public void setUpdateDate(Date updateDate) {
this.updateDate = updateDate;
}
}

@ -0,0 +1,84 @@
package com.tamguo.modules.book.model;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
@TableName(value="b_book")
public class BookEntity {
@TableId
private String id;
private String categoryId;
private String bookImage;
private String owner;
private String name;
private String seoTitle;
private String seoKeywords;
private String seoDescription;
private Date createDate;
private Date updateDate;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getCategoryId() {
return categoryId;
}
public void setCategoryId(String categoryId) {
this.categoryId = categoryId;
}
public String getOwner() {
return owner;
}
public void setOwner(String owner) {
this.owner = owner;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSeoTitle() {
return seoTitle;
}
public void setSeoTitle(String seoTitle) {
this.seoTitle = seoTitle;
}
public String getSeoKeywords() {
return seoKeywords;
}
public void setSeoKeywords(String seoKeywords) {
this.seoKeywords = seoKeywords;
}
public String getSeoDescription() {
return seoDescription;
}
public void setSeoDescription(String seoDescription) {
this.seoDescription = seoDescription;
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
public Date getUpdateDate() {
return updateDate;
}
public void setUpdateDate(Date updateDate) {
this.updateDate = updateDate;
}
public String getBookImage() {
return bookImage;
}
public void setBookImage(String bookImage) {
this.bookImage = bookImage;
}
}

@ -0,0 +1,63 @@
package com.tamguo.modules.book.model;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
@TableName(value="b_document")
public class DocumentEntity {
@TableId
private String id;
private String bookId;
private String owner;
private String name;
private String status;
private Date createDate;
private Date updateDate;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getBookId() {
return bookId;
}
public void setBookId(String bookId) {
this.bookId = bookId;
}
public String getOwner() {
return owner;
}
public void setOwner(String owner) {
this.owner = owner;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
public Date getUpdateDate() {
return updateDate;
}
public void setUpdateDate(Date updateDate) {
this.updateDate = updateDate;
}
}

@ -0,0 +1,8 @@
package com.tamguo.modules.book.service;
import com.baomidou.mybatisplus.service.IService;
import com.tamguo.modules.book.model.BookEntity;
public interface BookService extends IService<BookEntity>{
}

@ -0,0 +1,13 @@
package com.tamguo.modules.book.service.impl;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.tamguo.modules.book.dao.BookMapper;
import com.tamguo.modules.book.model.BookEntity;
import com.tamguo.modules.book.service.BookService;
@Service(value="bbookServiceImpl")
public class BookServiceImpl extends ServiceImpl<BookMapper, BookEntity> implements BookService{
}

@ -8,7 +8,7 @@ import com.tamguo.modules.tiku.model.ChapterEntity;
public interface ChapterMapper extends SuperMapper<ChapterEntity>{ public interface ChapterMapper extends SuperMapper<ChapterEntity>{
@Select("select * from tiku_chapter where parent_code = #{parentCode} and id = (select min(id) from tiku_chapter where id > #{id})") @Select("select * from t_chapter where parent_code = #{parentCode} and id = (select min(id) from t_chapter where id > #{id})")
ChapterEntity selectNextChapter(@Param(value="parentCode")String parentCode , @Param(value="id")String id); ChapterEntity selectNextChapter(@Param(value="parentCode")String parentCode , @Param(value="id")String id);
} }

@ -4,10 +4,10 @@ import java.util.List;
import com.baomidou.mybatisplus.mapper.BaseMapper; import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.plugins.pagination.Pagination; import com.baomidou.mybatisplus.plugins.pagination.Pagination;
import com.tamguo.modules.tiku.model.BookEntity; import com.tamguo.modules.tiku.model.KnowPointEntity;
import com.tamguo.modules.tiku.model.condition.BookCondition; import com.tamguo.modules.tiku.model.condition.BookCondition;
public interface BookMapper extends BaseMapper<BookEntity>{ public interface KnowPointMapper extends BaseMapper<KnowPointEntity>{
List<BookEntity> listData(Pagination page , BookCondition condition); List<KnowPointEntity> listData(Pagination page , BookCondition condition);
} }

@ -11,7 +11,7 @@ import com.tamguo.config.dao.SuperEntity;
* The persistent class for the tiku_ad database table. * The persistent class for the tiku_ad database table.
* *
*/ */
@TableName(value="tiku_ad") @TableName(value="t_ad")
public class AdEntity extends SuperEntity<AdEntity> implements Serializable { public class AdEntity extends SuperEntity<AdEntity> implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

@ -16,7 +16,7 @@ import java.util.List;
* The persistent class for the tiku_chapter database table. * The persistent class for the tiku_chapter database table.
* *
*/ */
@TableName(value="tiku_chapter") @TableName(value="t_chapter")
public class ChapterEntity extends SuperEntity<ChapterEntity> implements Serializable { public class ChapterEntity extends SuperEntity<ChapterEntity> implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.FieldFill; import com.baomidou.mybatisplus.enums.FieldFill;
import com.tamguo.modules.tiku.model.enums.CourseStatusEnum; import com.tamguo.modules.tiku.model.enums.CourseStatusEnum;
@TableName(value="tiku_course") @TableName(value="t_course")
public class CourseEntity { public class CourseEntity {
@TableId @TableId

@ -9,8 +9,8 @@ import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.FieldFill; import com.baomidou.mybatisplus.enums.FieldFill;
import com.tamguo.modules.tiku.model.enums.BookStatusEnum; import com.tamguo.modules.tiku.model.enums.BookStatusEnum;
@TableName(value="tiku_book") @TableName(value="t_know_point")
public class BookEntity { public class KnowPointEntity {
@TableId @TableId
private String id; private String id;

@ -12,7 +12,7 @@ import java.util.List;
* The persistent class for the tiku_subject database table. * The persistent class for the tiku_subject database table.
* *
*/ */
@TableName(value="tiku_menu") @TableName(value="t_menu")
public class MenuEntity extends SuperEntity<MenuEntity> implements Serializable { public class MenuEntity extends SuperEntity<MenuEntity> implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

@ -13,7 +13,7 @@ import com.tamguo.config.dao.SuperEntity;
* The persistent class for the tiku_chapter database table. * The persistent class for the tiku_chapter database table.
* *
*/ */
@TableName(value="tiku_paper") @TableName(value="t_paper")
public class PaperEntity extends SuperEntity<PaperEntity> implements Serializable { public class PaperEntity extends SuperEntity<PaperEntity> implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

@ -5,7 +5,7 @@ import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableName; import com.baomidou.mybatisplus.annotations.TableName;
import com.tamguo.config.dao.SuperEntity; import com.tamguo.config.dao.SuperEntity;
@TableName(value="tiku_question_answer") @TableName(value="t_question_answer")
public class QuestionAnswerEntity extends SuperEntity<PaperEntity> implements Serializable{ public class QuestionAnswerEntity extends SuperEntity<PaperEntity> implements Serializable{
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

@ -9,7 +9,7 @@ import com.tamguo.config.dao.SuperEntity;
* The persistent class for the tiku_question database table. * The persistent class for the tiku_question database table.
* *
*/ */
@TableName(value="tiku_question") @TableName(value="t_question")
public class QuestionEntity extends SuperEntity<QuestionEntity> implements Serializable { public class QuestionEntity extends SuperEntity<QuestionEntity> implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

@ -12,7 +12,7 @@ import com.tamguo.config.dao.SuperEntity;
* The persistent class for the tiku_chapter database table. * The persistent class for the tiku_chapter database table.
* *
*/ */
@TableName(value="tiku_school") @TableName(value="t_school")
public class SchoolEntity extends SuperEntity<SchoolEntity> implements Serializable { public class SchoolEntity extends SuperEntity<SchoolEntity> implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.FieldFill; import com.baomidou.mybatisplus.enums.FieldFill;
import com.tamguo.modules.tiku.model.enums.SubjectStatusEnum; import com.tamguo.modules.tiku.model.enums.SubjectStatusEnum;
@TableName(value="tiku_subject") @TableName(value="t_subject")
public class SubjectEntity { public class SubjectEntity {
@TableId @TableId

@ -3,16 +3,16 @@ package com.tamguo.modules.tiku.service;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService; import com.baomidou.mybatisplus.service.IService;
import com.tamguo.modules.tiku.model.BookEntity; import com.tamguo.modules.tiku.model.KnowPointEntity;
import com.tamguo.modules.tiku.model.condition.BookCondition; import com.tamguo.modules.tiku.model.condition.BookCondition;
public interface IBookService extends IService<BookEntity>{ public interface IKnowPointService extends IService<KnowPointEntity>{
Page<BookEntity> listData(BookCondition condition); Page<KnowPointEntity> listData(BookCondition condition);
void save(BookEntity book); void save(KnowPointEntity book);
void update(BookEntity book); void update(KnowPointEntity book);
void delete(String id); void delete(String id);

@ -14,10 +14,10 @@ import com.baomidou.mybatisplus.mapper.Condition;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.tamguo.common.utils.SystemConstant; import com.tamguo.common.utils.SystemConstant;
import com.tamguo.modules.tiku.dao.BookMapper; import com.tamguo.modules.tiku.dao.KnowPointMapper;
import com.tamguo.modules.tiku.dao.ChapterMapper; import com.tamguo.modules.tiku.dao.ChapterMapper;
import com.tamguo.modules.tiku.dao.CourseMapper; import com.tamguo.modules.tiku.dao.CourseMapper;
import com.tamguo.modules.tiku.model.BookEntity; import com.tamguo.modules.tiku.model.KnowPointEntity;
import com.tamguo.modules.tiku.model.ChapterEntity; import com.tamguo.modules.tiku.model.ChapterEntity;
import com.tamguo.modules.tiku.model.condition.ChapterCondition; import com.tamguo.modules.tiku.model.condition.ChapterCondition;
import com.tamguo.modules.tiku.model.enums.ChapterStatusEnum; import com.tamguo.modules.tiku.model.enums.ChapterStatusEnum;
@ -31,7 +31,7 @@ public class ChapterServiceImpl extends ServiceImpl<ChapterMapper, ChapterEntity
@Autowired @Autowired
CourseMapper courseMapper; CourseMapper courseMapper;
@Autowired @Autowired
BookMapper bookMapper; KnowPointMapper bookMapper;
@Transactional(readOnly=false) @Transactional(readOnly=false)
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@ -201,7 +201,7 @@ public class ChapterServiceImpl extends ServiceImpl<ChapterMapper, ChapterEntity
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Override @Override
public List<ChapterEntity> findCourseChapter(String courseId) { public List<ChapterEntity> findCourseChapter(String courseId) {
List<BookEntity> bookList = bookMapper.selectList(Condition.create().eq("course_id", courseId)); List<KnowPointEntity> bookList = bookMapper.selectList(Condition.create().eq("course_id", courseId));
if(bookList.size() == 0) { if(bookList.size() == 0) {
return null; return null;
} }

@ -11,23 +11,23 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.Condition; import com.baomidou.mybatisplus.mapper.Condition;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.tamguo.modules.tiku.dao.BookMapper; import com.tamguo.modules.tiku.dao.KnowPointMapper;
import com.tamguo.modules.tiku.dao.CourseMapper; import com.tamguo.modules.tiku.dao.CourseMapper;
import com.tamguo.modules.tiku.dao.SubjectMapper; import com.tamguo.modules.tiku.dao.SubjectMapper;
import com.tamguo.modules.tiku.model.BookEntity; import com.tamguo.modules.tiku.model.KnowPointEntity;
import com.tamguo.modules.tiku.model.CourseEntity; import com.tamguo.modules.tiku.model.CourseEntity;
import com.tamguo.modules.tiku.model.SubjectEntity; import com.tamguo.modules.tiku.model.SubjectEntity;
import com.tamguo.modules.tiku.model.condition.BookCondition; import com.tamguo.modules.tiku.model.condition.BookCondition;
import com.tamguo.modules.tiku.model.enums.BookStatusEnum; import com.tamguo.modules.tiku.model.enums.BookStatusEnum;
import com.tamguo.modules.tiku.model.enums.CourseStatusEnum; import com.tamguo.modules.tiku.model.enums.CourseStatusEnum;
import com.tamguo.modules.tiku.model.enums.SubjectStatusEnum; import com.tamguo.modules.tiku.model.enums.SubjectStatusEnum;
import com.tamguo.modules.tiku.service.IBookService; import com.tamguo.modules.tiku.service.IKnowPointService;
@Service @Service
public class BookServiceImpl extends ServiceImpl<BookMapper, BookEntity> implements IBookService{ public class KnowPointServiceImpl extends ServiceImpl<KnowPointMapper, KnowPointEntity> implements IKnowPointService{
@Autowired @Autowired
BookMapper bookMapper; KnowPointMapper knowPointMapper;
@Autowired @Autowired
CourseMapper courseMapper; CourseMapper courseMapper;
@Autowired @Autowired
@ -35,26 +35,26 @@ public class BookServiceImpl extends ServiceImpl<BookMapper, BookEntity> impleme
@Transactional(readOnly=false) @Transactional(readOnly=false)
@Override @Override
public Page<BookEntity> listData(BookCondition condition) { public Page<KnowPointEntity> listData(BookCondition condition) {
Page<BookEntity> page = new Page<>(condition.getPageNo() , condition.getPageSize()); Page<KnowPointEntity> page = new Page<>(condition.getPageNo() , condition.getPageSize());
return page.setRecords(bookMapper.listData(page, condition)); return page.setRecords(knowPointMapper.listData(page, condition));
} }
@Transactional(readOnly=false) @Transactional(readOnly=false)
@Override @Override
public void save(BookEntity book) { public void save(KnowPointEntity book) {
CourseEntity course = courseMapper.selectById(book.getCourseId()); CourseEntity course = courseMapper.selectById(book.getCourseId());
book.setStatus(BookStatusEnum.NORMAL); book.setStatus(BookStatusEnum.NORMAL);
book.setSubjectId(course.getSubjectId()); book.setSubjectId(course.getSubjectId());
bookMapper.insert(book); knowPointMapper.insert(book);
} }
@Transactional(readOnly=false) @Transactional(readOnly=false)
@Override @Override
public void update(BookEntity book) { public void update(KnowPointEntity book) {
CourseEntity course = courseMapper.selectById(book.getCourseId()); CourseEntity course = courseMapper.selectById(book.getCourseId());
BookEntity entity = bookMapper.selectById(book.getId()); KnowPointEntity entity = knowPointMapper.selectById(book.getId());
entity.setName(book.getName()); entity.setName(book.getName());
entity.setPointNum(book.getPointNum()); entity.setPointNum(book.getPointNum());
@ -64,31 +64,31 @@ public class BookServiceImpl extends ServiceImpl<BookMapper, BookEntity> impleme
entity.setSort(book.getSort()); entity.setSort(book.getSort());
entity.setCourseId(course.getId()); entity.setCourseId(course.getId());
bookMapper.updateById(entity); knowPointMapper.updateById(entity);
} }
@Transactional(readOnly=false) @Transactional(readOnly=false)
@Override @Override
public void delete(String id) { public void delete(String id) {
BookEntity book = bookMapper.selectById(id); KnowPointEntity book = knowPointMapper.selectById(id);
book.setStatus(BookStatusEnum.DELETE); book.setStatus(BookStatusEnum.DELETE);
bookMapper.updateById(book); knowPointMapper.updateById(book);
} }
@Transactional(readOnly=false) @Transactional(readOnly=false)
@Override @Override
public void enable(String id) { public void enable(String id) {
BookEntity book = bookMapper.selectById(id); KnowPointEntity book = knowPointMapper.selectById(id);
book.setStatus(BookStatusEnum.NORMAL); book.setStatus(BookStatusEnum.NORMAL);
bookMapper.updateById(book); knowPointMapper.updateById(book);
} }
@Transactional(readOnly=false) @Transactional(readOnly=false)
@Override @Override
public void disabled(String id) { public void disabled(String id) {
BookEntity book = bookMapper.selectById(id); KnowPointEntity book = knowPointMapper.selectById(id);
book.setStatus(BookStatusEnum.DISABLED); book.setStatus(BookStatusEnum.DISABLED);
bookMapper.updateById(book); knowPointMapper.updateById(book);
} }
@Transactional(readOnly=false) @Transactional(readOnly=false)
@ -97,11 +97,11 @@ public class BookServiceImpl extends ServiceImpl<BookMapper, BookEntity> impleme
public JSONArray treeData() { public JSONArray treeData() {
List<SubjectEntity> subjectList = subjectMapper.selectList(Condition.create().eq("status", SubjectStatusEnum.NORMAL.getValue())); List<SubjectEntity> subjectList = subjectMapper.selectList(Condition.create().eq("status", SubjectStatusEnum.NORMAL.getValue()));
List<CourseEntity> courseList = courseMapper.selectList(Condition.create().eq("status", CourseStatusEnum.NORMAL.getValue())); List<CourseEntity> courseList = courseMapper.selectList(Condition.create().eq("status", CourseStatusEnum.NORMAL.getValue()));
List<BookEntity> bookList = bookMapper.selectList(Condition.create().eq("status", BookStatusEnum.NORMAL.getValue())); List<KnowPointEntity> bookList = knowPointMapper.selectList(Condition.create().eq("status", BookStatusEnum.NORMAL.getValue()));
return transform(subjectList, courseList , bookList); return transform(subjectList, courseList , bookList);
} }
private JSONArray transform(List<SubjectEntity> subjectList , List<CourseEntity> courseList , List<BookEntity> bookList) { private JSONArray transform(List<SubjectEntity> subjectList , List<CourseEntity> courseList , List<KnowPointEntity> bookList) {
JSONArray entitys = new JSONArray(); JSONArray entitys = new JSONArray();
for(int i=0 ; i<subjectList.size() ; i++) { for(int i=0 ; i<subjectList.size() ; i++) {
JSONObject entity = new JSONObject(); JSONObject entity = new JSONObject();

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.tamguo.modules.tiku.dao.BookMapper"> <mapper namespace="com.tamguo.modules.tiku.dao.KnowPointMapper">
<select id="listData" resultType="BookEntity"> <select id="listData" resultType="KnowPointEntity">
SELECT SELECT
b.id, b.id,
b.subject_id, b.subject_id,
@ -20,9 +20,9 @@
s.name AS subject_name, s.name AS subject_name,
c.name AS course_name c.name AS course_name
FROM FROM
tiku_book b t_know_point b
LEFT JOIN tiku_subject s ON s.id = b.subject_id LEFT JOIN t_subject s ON s.id = b.subject_id
LEFT JOIN tiku_course c ON c.id = b.course_id LEFT JOIN t_course c ON c.id = b.course_id
WHERE WHERE
1 = 1 1 = 1
<if test="id != null and id != ''"> <if test="id != null and id != ''">

@ -12,38 +12,38 @@ import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
import com.tamguo.common.utils.ExceptionSupport; import com.tamguo.common.utils.ExceptionSupport;
import com.tamguo.common.utils.Result; import com.tamguo.common.utils.Result;
import com.tamguo.modules.tiku.model.BookEntity; import com.tamguo.modules.tiku.model.KnowPointEntity;
import com.tamguo.modules.tiku.model.CourseEntity; import com.tamguo.modules.tiku.model.CourseEntity;
import com.tamguo.modules.tiku.model.condition.BookCondition; import com.tamguo.modules.tiku.model.condition.BookCondition;
import com.tamguo.modules.tiku.service.IBookService; import com.tamguo.modules.tiku.service.IKnowPointService;
import com.tamguo.modules.tiku.service.ICourseService; import com.tamguo.modules.tiku.service.ICourseService;
@Controller @Controller
@RequestMapping(path="tiku/book") @RequestMapping(path="tiku/knowpoint")
public class BookController { public class KnowPointController {
/** 书籍*/ /** 书籍*/
private final String BOOK_LIST_PAGE = "modules/tiku/book/list"; private final String KNOWPOINT_LIST_PAGE = "modules/tiku/knowpoint/list";
private final String BOOK_UPDATE_PAGE = "modules/tiku/book/update"; private final String KNOWPOINT_UPDATE_PAGE = "modules/tiku/knowpoint/update";
@Autowired @Autowired
private IBookService iBookService; private IKnowPointService iKnowPointService;
@Autowired @Autowired
private ICourseService iCourseService; private ICourseService iCourseService;
@RequestMapping(path="list") @RequestMapping(path="list")
public ModelAndView index(ModelAndView model) { public ModelAndView index(ModelAndView model) {
model.setViewName(BOOK_LIST_PAGE); model.setViewName(KNOWPOINT_LIST_PAGE);
return model; return model;
} }
@RequestMapping(path="update") @RequestMapping(path="update")
public ModelAndView update(String id, ModelAndView model) { public ModelAndView update(String id, ModelAndView model) {
model.setViewName(BOOK_UPDATE_PAGE); model.setViewName(KNOWPOINT_UPDATE_PAGE);
BookEntity book = iBookService.selectById(id); KnowPointEntity knowpoint = iKnowPointService.selectById(id);
CourseEntity course = iCourseService.selectById(book.getCourseId()); CourseEntity course = iCourseService.selectById(knowpoint.getCourseId());
model.addObject("book", book); model.addObject("knowpoint", knowpoint);
model.addObject("course", course); model.addObject("course", course);
return model; return model;
} }
@ -51,15 +51,15 @@ public class BookController {
@RequestMapping(path="listData",method=RequestMethod.POST) @RequestMapping(path="listData",method=RequestMethod.POST)
@ResponseBody @ResponseBody
public Map<String, Object> listData(BookCondition condition) { public Map<String, Object> listData(BookCondition condition) {
Page<BookEntity> page = iBookService.listData(condition); Page<KnowPointEntity> page = iKnowPointService.listData(condition);
return Result.jqGridResult(page.getRecords(), page.getTotal(), page.getSize(), page.getCurrent(), page.getPages()); return Result.jqGridResult(page.getRecords(), page.getTotal(), page.getSize(), page.getCurrent(), page.getPages());
} }
@RequestMapping(path="save",method=RequestMethod.POST) @RequestMapping(path="save",method=RequestMethod.POST)
@ResponseBody @ResponseBody
public Result save(BookEntity book) { public Result save(KnowPointEntity book) {
try { try {
iBookService.save(book); iKnowPointService.save(book);
return Result.result(0, null, "保存书籍【"+book.getName()+"】成功"); return Result.result(0, null, "保存书籍【"+book.getName()+"】成功");
} catch (Exception e) { } catch (Exception e) {
return ExceptionSupport.resolverResult("保存书籍", this.getClass(), e); return ExceptionSupport.resolverResult("保存书籍", this.getClass(), e);
@ -68,9 +68,9 @@ public class BookController {
@RequestMapping(path="update",method=RequestMethod.POST) @RequestMapping(path="update",method=RequestMethod.POST)
@ResponseBody @ResponseBody
public Result update(BookEntity book) { public Result update(KnowPointEntity book) {
try { try {
iBookService.update(book); iKnowPointService.update(book);
return Result.result(0, null, "修改书籍【"+book.getName()+"】成功"); return Result.result(0, null, "修改书籍【"+book.getName()+"】成功");
} catch (Exception e) { } catch (Exception e) {
return ExceptionSupport.resolverResult("修改书籍", this.getClass(), e); return ExceptionSupport.resolverResult("修改书籍", this.getClass(), e);
@ -81,7 +81,7 @@ public class BookController {
@ResponseBody @ResponseBody
public Result delete(String id) { public Result delete(String id) {
try { try {
iBookService.delete(id); iKnowPointService.delete(id);
return Result.result(0, null, "删除书籍成功"); return Result.result(0, null, "删除书籍成功");
} catch (Exception e) { } catch (Exception e) {
return ExceptionSupport.resolverResult("删除书籍", this.getClass(), e); return ExceptionSupport.resolverResult("删除书籍", this.getClass(), e);
@ -92,7 +92,7 @@ public class BookController {
@ResponseBody @ResponseBody
public Result enable(String id) { public Result enable(String id) {
try { try {
iBookService.enable(id); iKnowPointService.enable(id);
return Result.result(0, null, "激活书籍成功"); return Result.result(0, null, "激活书籍成功");
} catch (Exception e) { } catch (Exception e) {
return ExceptionSupport.resolverResult("激活书籍", this.getClass(), e); return ExceptionSupport.resolverResult("激活书籍", this.getClass(), e);
@ -103,7 +103,7 @@ public class BookController {
@ResponseBody @ResponseBody
public Result disabled(String id) { public Result disabled(String id) {
try { try {
iBookService.disabled(id); iKnowPointService.disabled(id);
return Result.result(0, null, "停用书籍成功"); return Result.result(0, null, "停用书籍成功");
} catch (Exception e) { } catch (Exception e) {
return ExceptionSupport.resolverResult("停用书籍", this.getClass(), e); return ExceptionSupport.resolverResult("停用书籍", this.getClass(), e);
@ -113,6 +113,6 @@ public class BookController {
@RequestMapping(path="treeData",method=RequestMethod.POST) @RequestMapping(path="treeData",method=RequestMethod.POST)
@ResponseBody @ResponseBody
public JSONArray treeData() { public JSONArray treeData() {
return iBookService.treeData(); return iKnowPointService.treeData();
} }
} }

@ -20,7 +20,7 @@ spring.datasource.testOnReturn=false
spring.datasource.testWhileIdle=true spring.datasource.testWhileIdle=true
spring.datasource.timeBetweenEvictionRunsMillis=60000 spring.datasource.timeBetweenEvictionRunsMillis=60000
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/tamguo?useUnicode=true&characterEncoding=UTF-8&useSSL=false spring.datasource.url=jdbc:mysql://127.0.0.1:3306/tamguo_20181110?useUnicode=true&characterEncoding=UTF-8&useSSL=false
spring.datasource.username=root spring.datasource.username=root
spring.datasource.validationQuery=SELECT 1 FROM DUAL spring.datasource.validationQuery=SELECT 1 FROM DUAL

@ -1,6 +1,5 @@
<!DOCTYPE html><html><head><meta charset="utf-8"><meta content="webkit" name="renderer"/><meta http-equiv="X-UA-Compatible" <!DOCTYPE html><html><head><meta charset="utf-8"><meta content="webkit" name="renderer"/><meta http-equiv="X-UA-Compatible"
content="IE=edge"><meta name="keywords" content="PoweredByJeeSiteV4.0"/><meta http-equiv="Cache-Control" content="IE=edge"><meta
content="no-cache, no-store, must-revalidate"/><meta name="description" content="PoweredByJeeSiteV4.0"/><meta
content="no-cache" http-equiv="Pragma"/><meta http-equiv="Expires" content="0"/><meta content="no-cache" http-equiv="Pragma"/><meta http-equiv="Expires" content="0"/><meta
content="width=device-width, initial-scale=1, user-scalable=1" name="viewport"/> content="width=device-width, initial-scale=1, user-scalable=1" name="viewport"/>
<title>书籍管理 - JeeSite Demo</title> <title>书籍管理 - JeeSite Demo</title>
@ -26,7 +25,7 @@ content="width=device-width, initial-scale=1, user-scalable=1" name="viewport"/>
<button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button> <button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
</div> </div>
</div> </div>
<form id="inputForm" th:action="${setting.domain + 'tiku/book/save'}" method="post" class="form-horizontal"> <form id="inputForm" th:action="${setting.domain + 'tiku/knowpoint/save'}" method="post" class="form-horizontal">
<div class="box-body"> <div class="box-body">
<div class="form-unit">基本信息</div> <div class="form-unit">基本信息</div>
<div class="row"> <div class="row">

@ -1,10 +1,9 @@
<!DOCTYPE html><html><head><meta charset="utf-8"><meta content="webkit" name="renderer"/><meta http-equiv="X-UA-Compatible" <!DOCTYPE html><html><head><meta charset="utf-8"><meta content="webkit" name="renderer"/><meta http-equiv="X-UA-Compatible"
content="IE=edge"><meta name="keywords" content="PoweredByJeeSiteV4.0"/><meta http-equiv="Cache-Control" content="IE=edge"><meta
content="no-cache, no-store, must-revalidate"/><meta name="description" content="PoweredByJeeSiteV4.0"/><meta
content="no-cache" http-equiv="Pragma"/><meta http-equiv="Expires" content="0"/><meta content="no-cache" http-equiv="Pragma"/><meta http-equiv="Expires" content="0"/><meta
content="width=device-width, initial-scale=1, user-scalable=1" name="viewport"/> content="width=device-width, initial-scale=1, user-scalable=1" name="viewport"/>
<title>书籍管理 - JeeSite Demo</title> <title>书籍管理 - Tamguo OMS</title>
<script th:src="${setting.domain + 'global.min.js'}"></script> <script th:src="${setting.domain + 'global.min.js'}"></script>
<script th:src="${setting.domain + 'jquery/jquery-1.12.4.min.js'}"></script> <script th:src="${setting.domain + 'jquery/jquery-1.12.4.min.js'}"></script>
<script th:src="${setting.domain + 'jquery/jquery-migrate-1.4.1.min.js'}"></script> <script th:src="${setting.domain + 'jquery/jquery-migrate-1.4.1.min.js'}"></script>
@ -41,7 +40,7 @@ content="width=device-width, initial-scale=1, user-scalable=1" name="viewport"/>
</div> </div>
<div class="ui-layout-center"> <div class="ui-layout-center">
<iframe id="mainFrame" name="mainFrame" class="ui-layout-content p0" <iframe id="mainFrame" name="mainFrame" class="ui-layout-content p0"
th:src="${setting.domain + 'tiku/book/list'}"></iframe> th:src="${setting.domain + 'tiku/knowpoint/list'}"></iframe>
</div> </div>
<a id="scroll-up" href="#" class="btn btn-sm"><i class="fa fa-angle-double-up"></i></a> <a id="scroll-up" href="#" class="btn btn-sm"><i class="fa fa-angle-double-up"></i></a>

@ -3,7 +3,7 @@ content="IE=edge"><meta name="keywords" content="PoweredByJeeSiteV4.0"/><meta ht
content="no-cache, no-store, must-revalidate"/><meta name="description" content="PoweredByJeeSiteV4.0"/><meta content="no-cache, no-store, must-revalidate"/><meta name="description" content="PoweredByJeeSiteV4.0"/><meta
content="no-cache" http-equiv="Pragma"/><meta http-equiv="Expires" content="0"/><meta content="no-cache" http-equiv="Pragma"/><meta http-equiv="Expires" content="0"/><meta
content="width=device-width, initial-scale=1, user-scalable=1" name="viewport"/> content="width=device-width, initial-scale=1, user-scalable=1" name="viewport"/>
<title>书籍管理 - JeeSite Demo</title> <title>书籍管理 - Tamguo OMS</title>
<script th:src="${setting.domain + 'global.min.js'}"></script> <script th:src="${setting.domain + 'global.min.js'}"></script>
<script th:src="${setting.domain + 'jquery/jquery-1.12.4.min.js'}"></script> <script th:src="${setting.domain + 'jquery/jquery-1.12.4.min.js'}"></script>
<script th:src="${setting.domain + 'jquery/jquery-migrate-1.4.1.min.js'}"></script> <script th:src="${setting.domain + 'jquery/jquery-migrate-1.4.1.min.js'}"></script>
@ -25,7 +25,7 @@ content="width=device-width, initial-scale=1, user-scalable=1" name="viewport"/>
</div> </div>
<div class="box-tools pull-right"> <div class="box-tools pull-right">
<a href="#" class="btn btn-default" id="btnSearch" title="查询"><i class="fa fa-filter"></i> 查询</a> <a href="#" class="btn btn-default" id="btnSearch" title="查询"><i class="fa fa-filter"></i> 查询</a>
<a href="tiku/book/add" class="btn btn-default btnTool" title="新增书籍"><i class="fa fa-plus"></i> 新增</a> <a href="tiku/knowpoint/add" class="btn btn-default btnTool" title="新增书籍"><i class="fa fa-plus"></i> 新增</a>
<div class="btn-group"> <div class="btn-group">
<a href="javascript:" class="btn btn-default dropdown-toggle" data-toggle="dropdown"> <a href="javascript:" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-navicon"></i> <span class="caret"></span> <i class="fa fa-navicon"></i> <span class="caret"></span>
@ -38,7 +38,7 @@ content="width=device-width, initial-scale=1, user-scalable=1" name="viewport"/>
</div> </div>
</div> </div>
<div class="box-body"> <div class="box-body">
<form id="searchForm" th:action="${setting.domain + 'tiku/book/listData'}" method="post" class="form-inline " data-page-no="1" data-page-size="10" data-order-by=""> <form id="searchForm" th:action="${setting.domain + 'tiku/knowpoint/listData'}" method="post" class="form-inline " data-page-no="1" data-page-size="10" data-order-by="">
<div class="form-group"> <div class="form-group">
<label class="control-label">书籍编号:</label> <label class="control-label">书籍编号:</label>
<div class="control-inline"> <div class="control-inline">
@ -171,7 +171,7 @@ $('#dataGrid').dataGrid({
searchForm: $("#searchForm"), searchForm: $("#searchForm"),
columnModel: [ columnModel: [
{header:'书籍编号', name:'id', index:'u.id', width:300, align:"center", frozen:true, formatter: function(val, obj, row, act){ {header:'书籍编号', name:'id', index:'u.id', width:300, align:"center", frozen:true, formatter: function(val, obj, row, act){
return '<a href="tiku/book/update?id='+row.id+'&op=edit" class="btnList" data-title="编辑书籍">'+(val||row.id)+'</a>'; return '<a href="tiku/knowpoint/update?id='+row.id+'&op=edit" class="btnList" data-title="编辑书籍">'+(val||row.id)+'</a>';
}}, }},
{header:'分类', name:'subjectName', index:'u.courseName', width:100, align:"center"}, {header:'分类', name:'subjectName', index:'u.courseName', width:100, align:"center"},
{header:'科目', name:'courseName', index:'u.courseName', width:100, align:"center"}, {header:'科目', name:'courseName', index:'u.courseName', width:100, align:"center"},
@ -189,14 +189,14 @@ $('#dataGrid').dataGrid({
}}, }},
{header:'操作', name:'actions', width:160, sortable:false, title:false, formatter: function(val, obj, row, act){ {header:'操作', name:'actions', width:160, sortable:false, title:false, formatter: function(val, obj, row, act){
var actions = []; var actions = [];
actions.push('<a href="tiku/book/update?id='+row.id+'&op=edit" class="btnList" title="编辑书籍"><i class="fa fa-pencil"></i></a>&nbsp;'); actions.push('<a href="tiku/knowpoint/update?id='+row.id+'&op=edit" class="btnList" title="编辑书籍"><i class="fa fa-pencil"></i></a>&nbsp;');
if (row.status == "normal"){ if (row.status == "normal"){
actions.push('<a href="'+ctx+'tiku/book/disabled?id='+row.id+'" class="btnList" title="停用书籍" data-confirm="确认要停用该书籍吗?"><i class="glyphicon glyphicon-ban-circle"></i></a>&nbsp;'); actions.push('<a href="'+ctx+'tiku/knowpoint/disabled?id='+row.id+'" class="btnList" title="停用书籍" data-confirm="确认要停用该书籍吗?"><i class="glyphicon glyphicon-ban-circle"></i></a>&nbsp;');
} }
if (row.status == "disabled"){ if (row.status == "disabled"){
actions.push('<a href="'+ctx+'tiku/book/enable?id='+row.id+'" class="btnList" title="启用书籍" data-confirm="确认要启用该书籍吗?"><i class="glyphicon glyphicon-ok-circle"></i></a>&nbsp;'); actions.push('<a href="'+ctx+'tiku/knowpoint/enable?id='+row.id+'" class="btnList" title="启用书籍" data-confirm="确认要启用该书籍吗?"><i class="glyphicon glyphicon-ok-circle"></i></a>&nbsp;');
} }
actions.push('<a href="'+ctx+'tiku/book/delete?id='+row.id+'" class="btnList" title="删除书籍" data-confirm="确认要删除该书籍吗?"><i class="fa fa-trash-o"></i></a>&nbsp;'); actions.push('<a href="'+ctx+'tiku/knowpoint/delete?id='+row.id+'" class="btnList" title="删除书籍" data-confirm="确认要删除该书籍吗?"><i class="fa fa-trash-o"></i></a>&nbsp;');
return actions.join(''); return actions.join('');
}} }}
], ],

@ -1,9 +1,8 @@
<!DOCTYPE html><html><head><meta charset="utf-8"><meta content="webkit" name="renderer"/><meta http-equiv="X-UA-Compatible" <!DOCTYPE html><html><head><meta charset="utf-8"><meta content="webkit" name="renderer"/><meta http-equiv="X-UA-Compatible"
content="IE=edge"><meta name="keywords" content="PoweredByJeeSiteV4.0"/><meta http-equiv="Cache-Control" content="IE=edge">
content="no-cache, no-store, must-revalidate"/><meta name="description" content="PoweredByJeeSiteV4.0"/><meta <meta content="no-cache" http-equiv="Pragma"/><meta http-equiv="Expires" content="0"/><meta
content="no-cache" http-equiv="Pragma"/><meta http-equiv="Expires" content="0"/><meta
content="width=device-width, initial-scale=1, user-scalable=1" name="viewport"/> content="width=device-width, initial-scale=1, user-scalable=1" name="viewport"/>
<title>书籍管理 - JeeSite Demo</title> <title>书籍管理 - Tamguo</title>
<script th:src="${setting.domain + 'global.min.js'}"></script> <script th:src="${setting.domain + 'global.min.js'}"></script>
<script th:src="${setting.domain + 'jquery/jquery-1.12.4.min.js'}"></script> <script th:src="${setting.domain + 'jquery/jquery-1.12.4.min.js'}"></script>
<script th:src="${setting.domain + 'jquery/jquery-migrate-1.4.1.min.js'}"></script> <script th:src="${setting.domain + 'jquery/jquery-migrate-1.4.1.min.js'}"></script>
@ -26,8 +25,8 @@ content="width=device-width, initial-scale=1, user-scalable=1" name="viewport"/>
<button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button> <button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
</div> </div>
</div> </div>
<form id="inputForm" th:action="${setting.domain + 'tiku/book/update'}" method="post" class="form-horizontal"> <form id="inputForm" th:action="${setting.domain + 'tiku/knowpoint/update'}" method="post" class="form-horizontal">
<input type="hidden" id="id" name="id" th:value="${book.id}"/> <input type="hidden" id="id" name="id" th:value="${knowpoint.id}"/>
<div class="box-body"> <div class="box-body">
<div class="form-unit">基本信息</div> <div class="form-unit">基本信息</div>
<div class="row"> <div class="row">
@ -36,7 +35,7 @@ content="width=device-width, initial-scale=1, user-scalable=1" name="viewport"/>
<label class="control-label col-sm-4" title=""> <label class="control-label col-sm-4" title="">
<span class="required ">*</span> 书籍名称:<i class="fa icon-question hide"></i></label> <span class="required ">*</span> 书籍名称:<i class="fa icon-question hide"></i></label>
<div class="col-sm-8"> <div class="col-sm-8">
<input type="text" id="name" name="name" th:value="${book.name}" maxlength="100" class="form-control required "/> <input type="text" id="name" name="name" th:value="${knowpoint.name}" maxlength="100" class="form-control required "/>
</div> </div>
</div> </div>
</div> </div>
@ -45,7 +44,7 @@ content="width=device-width, initial-scale=1, user-scalable=1" name="viewport"/>
<label class="control-label col-sm-4" title=""> <label class="control-label col-sm-4" title="">
<span class="required ">*</span> 出版社:<i class="fa icon-question hide"></i></label> <span class="required ">*</span> 出版社:<i class="fa icon-question hide"></i></label>
<div class="col-sm-8"> <div class="col-sm-8">
<input type="text" id="publishingHouse" name="publishingHouse" th:value="${book.publishingHouse}" maxlength="64" class="form-control required"/> <input type="text" id="publishingHouse" name="publishingHouse" th:value="${knowpoint.publishingHouse}" maxlength="64" class="form-control required"/>
</div> </div>
</div> </div>
</div> </div>
@ -149,7 +148,7 @@ content="width=device-width, initial-scale=1, user-scalable=1" name="viewport"/>
<label class="control-label col-sm-4" title=""> <label class="control-label col-sm-4" title="">
<span class="required hide">*</span> 排序号:<i class="fa icon-question hide"></i></label> <span class="required hide">*</span> 排序号:<i class="fa icon-question hide"></i></label>
<div class="col-sm-8"> <div class="col-sm-8">
<input type="text" id="sort" name="sort" th:value="${book.sort}" maxlength="10" class="form-control digits"/> <input type="text" id="sort" name="sort" th:value="${knowpoint.sort}" maxlength="10" class="form-control digits"/>
</div> </div>
</div> </div>
</div> </div>
@ -160,7 +159,7 @@ content="width=device-width, initial-scale=1, user-scalable=1" name="viewport"/>
<label class="control-label col-sm-4" title=""> <label class="control-label col-sm-4" title="">
<span class="required hide">*</span> 问题数量:<i class="fa icon-question hide"></i></label> <span class="required hide">*</span> 问题数量:<i class="fa icon-question hide"></i></label>
<div class="col-sm-8"> <div class="col-sm-8">
<input type="text" id="questionNum" name="questionNum" th:value="${book.questionNum}" maxlength="64" class="form-control required abc"/> <input type="text" id="questionNum" name="questionNum" th:value="${knowpoint.questionNum}" maxlength="64" class="form-control required abc"/>
</div> </div>
</div> </div>
</div> </div>
@ -169,7 +168,7 @@ content="width=device-width, initial-scale=1, user-scalable=1" name="viewport"/>
<label class="control-label col-sm-4" title=""> <label class="control-label col-sm-4" title="">
<span class="required hide">*</span> 知识点数量:<i class="fa icon-question hide"></i></label> <span class="required hide">*</span> 知识点数量:<i class="fa icon-question hide"></i></label>
<div class="col-sm-8"> <div class="col-sm-8">
<input type="text" id="pointNum" name="pointNum" th:value="${book.pointNum}" maxlength="10" class="form-control digits"/> <input type="text" id="pointNum" name="pointNum" th:value="${knowpoint.pointNum}" maxlength="10" class="form-control digits"/>
</div> </div>
</div> </div>
</div> </div>
@ -180,7 +179,7 @@ content="width=device-width, initial-scale=1, user-scalable=1" name="viewport"/>
<label class="control-label col-sm-2" title=""> <label class="control-label col-sm-2" title="">
<span class="required hide">*</span> 备注信息:<i class="fa icon-question hide"></i></label> <span class="required hide">*</span> 备注信息:<i class="fa icon-question hide"></i></label>
<div class="col-sm-10"> <div class="col-sm-10">
<textarea id="remarks" name="remarks" rows="4" maxlength="500" class="form-control " th:utext="${book.remarks}"></textarea> <textarea id="remarks" name="remarks" rows="4" maxlength="500" class="form-control " th:utext="${knowpoint.remarks}"></textarea>
</div> </div>
</div> </div>
</div> </div>

@ -15,11 +15,11 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import com.baomidou.mybatisplus.mapper.Condition; import com.baomidou.mybatisplus.mapper.Condition;
import com.tamguo.modules.tiku.model.BookEntity; import com.tamguo.modules.tiku.model.KnowPointEntity;
import com.tamguo.modules.tiku.model.ChapterEntity; import com.tamguo.modules.tiku.model.ChapterEntity;
import com.tamguo.modules.tiku.model.CourseEntity; import com.tamguo.modules.tiku.model.CourseEntity;
import com.tamguo.modules.tiku.model.SubjectEntity; import com.tamguo.modules.tiku.model.SubjectEntity;
import com.tamguo.modules.tiku.service.IBookService; import com.tamguo.modules.tiku.service.IKnowPointService;
import com.tamguo.modules.tiku.service.IChapterService; import com.tamguo.modules.tiku.service.IChapterService;
import com.tamguo.modules.tiku.service.ICourseService; import com.tamguo.modules.tiku.service.ICourseService;
import com.tamguo.modules.tiku.service.ISubjectService; import com.tamguo.modules.tiku.service.ISubjectService;
@ -42,7 +42,7 @@ public class CourseController {
@Autowired @Autowired
ISubjectService iSubjectService; ISubjectService iSubjectService;
@Autowired @Autowired
IBookService iBookService; IKnowPointService knowPointService;
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@RequestMapping(value = {"course/{uid}.html"}, method = RequestMethod.GET) @RequestMapping(value = {"course/{uid}.html"}, method = RequestMethod.GET)
@ -50,12 +50,12 @@ public class CourseController {
// request url // request url
logger.info("request url :{}" , request.getRequestURI()); logger.info("request url :{}" , request.getRequestURI());
CourseEntity course = iCourseService.selectById(uid); CourseEntity course = iCourseService.selectById(uid);
List<BookEntity> bookList = iBookService.selectList(Condition.create().eq("course_id", uid)); List<KnowPointEntity> knowPointList = knowPointService.selectList(Condition.create().eq("course_id", uid));
List<ChapterEntity> chapterList = null; List<ChapterEntity> chapterList = null;
BookEntity book = null; KnowPointEntity knowPoint = null;
if(bookList.size() > 0) { if(knowPointList.size() > 0) {
book = bookList.get(0); knowPoint = knowPointList.get(0);
chapterList = iChapterService.findChapterTree(book.getId()); chapterList = iChapterService.findChapterTree(knowPoint.getId());
} }
SubjectEntity subject = iSubjectService.selectById(course.getSubjectId()); SubjectEntity subject = iSubjectService.selectById(course.getSubjectId());
List<CourseEntity> courseList = iCourseService.selectList(Condition.create().eq("subject_id", course.getSubjectId()).orderAsc(Arrays.asList("sort"))); List<CourseEntity> courseList = iCourseService.selectList(Condition.create().eq("subject_id", course.getSubjectId()).orderAsc(Arrays.asList("sort")));
@ -64,8 +64,8 @@ public class CourseController {
model.addObject("courseList", courseList); model.addObject("courseList", courseList);
model.addObject("course", course); model.addObject("course", course);
model.addObject("subject", subject); model.addObject("subject", subject);
model.addObject("bookList", bookList); model.addObject("knowPointList", knowPointList);
model.addObject("book" , book); model.addObject("knowPoint" , knowPoint);
if(BrowserUtils.isMobile(request.getHeader("user-agent"))) { if(BrowserUtils.isMobile(request.getHeader("user-agent"))) {
model.setViewName("mobile/chapter"); model.setViewName("mobile/chapter");
}else { }else {

@ -15,21 +15,21 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import com.baomidou.mybatisplus.mapper.Condition; import com.baomidou.mybatisplus.mapper.Condition;
import com.tamguo.modules.tiku.model.BookEntity; import com.tamguo.modules.tiku.model.KnowPointEntity;
import com.tamguo.modules.tiku.model.ChapterEntity; import com.tamguo.modules.tiku.model.ChapterEntity;
import com.tamguo.modules.tiku.model.CourseEntity; import com.tamguo.modules.tiku.model.CourseEntity;
import com.tamguo.modules.tiku.model.SubjectEntity; import com.tamguo.modules.tiku.model.SubjectEntity;
import com.tamguo.modules.tiku.service.IBookService; import com.tamguo.modules.tiku.service.IKnowPointService;
import com.tamguo.modules.tiku.service.IChapterService; import com.tamguo.modules.tiku.service.IChapterService;
import com.tamguo.modules.tiku.service.ICourseService; import com.tamguo.modules.tiku.service.ICourseService;
import com.tamguo.modules.tiku.service.ISubjectService; import com.tamguo.modules.tiku.service.ISubjectService;
@Controller @Controller
public class BookController { public class KnowPointController {
private Logger logger = LoggerFactory.getLogger(getClass()); private Logger logger = LoggerFactory.getLogger(getClass());
@Autowired @Autowired
IBookService iBookService; IKnowPointService iKnowPointService;
@Autowired @Autowired
IChapterService iChapterService; IChapterService iChapterService;
@Autowired @Autowired
@ -38,23 +38,23 @@ public class BookController {
ICourseService iCourseService; ICourseService iCourseService;
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@RequestMapping(value = {"book/{uid}.html"}, method = RequestMethod.GET) @RequestMapping(value = {"knowpoint/{uid}.html"}, method = RequestMethod.GET)
public ModelAndView index(@PathVariable String uid , ModelAndView model , HttpServletRequest request) { public ModelAndView index(@PathVariable String uid , ModelAndView model , HttpServletRequest request) {
// request url // request url
logger.info("request url :{} " , request.getRequestURI()); logger.info("request url :{} " , request.getRequestURI());
BookEntity book = iBookService.selectById(uid); KnowPointEntity knowpoint = iKnowPointService.selectById(uid);
SubjectEntity subject = iSubjectService.selectById(book.getSubjectId()); SubjectEntity subject = iSubjectService.selectById(knowpoint.getSubjectId());
List<CourseEntity> courseList = iCourseService.selectList(Condition.create().eq("subject_id", subject.getId()).orderAsc(Arrays.asList("sort"))); List<CourseEntity> courseList = iCourseService.selectList(Condition.create().eq("subject_id", subject.getId()).orderAsc(Arrays.asList("sort")));
List<BookEntity> bookList = iBookService.selectList(Condition.create().eq("course_id", book.getCourseId())); List<KnowPointEntity> knowPointList = iKnowPointService.selectList(Condition.create().eq("course_id", knowpoint.getCourseId()));
CourseEntity course = iCourseService.selectById(book.getCourseId()); CourseEntity course = iCourseService.selectById(knowpoint.getCourseId());
List<ChapterEntity> chapterList = iChapterService.findChapterTree(book.getId()); List<ChapterEntity> chapterList = iChapterService.findChapterTree(knowpoint.getId());
model.addObject("book", book); model.addObject("knowpoint", knowpoint);
model.addObject("subject", subject); model.addObject("subject", subject);
model.addObject("course", course); model.addObject("course", course);
model.addObject("chapterList" , chapterList); model.addObject("chapterList" , chapterList);
model.addObject("courseList", courseList); model.addObject("courseList", courseList);
model.addObject("bookList", bookList); model.addObject("knowPointList", knowPointList);
model.setViewName("book"); model.setViewName("knowpoint");
return model; return model;
} }

@ -20,12 +20,12 @@ import com.baomidou.mybatisplus.mapper.Condition;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
import com.tamguo.common.utils.Result; import com.tamguo.common.utils.Result;
import com.tamguo.modules.sys.service.ISysAreaService; import com.tamguo.modules.sys.service.ISysAreaService;
import com.tamguo.modules.tiku.model.BookEntity; import com.tamguo.modules.tiku.model.KnowPointEntity;
import com.tamguo.modules.tiku.model.ChapterEntity; import com.tamguo.modules.tiku.model.ChapterEntity;
import com.tamguo.modules.tiku.model.CourseEntity; import com.tamguo.modules.tiku.model.CourseEntity;
import com.tamguo.modules.tiku.model.PaperEntity; import com.tamguo.modules.tiku.model.PaperEntity;
import com.tamguo.modules.tiku.model.SubjectEntity; import com.tamguo.modules.tiku.model.SubjectEntity;
import com.tamguo.modules.tiku.service.IBookService; import com.tamguo.modules.tiku.service.IKnowPointService;
import com.tamguo.modules.tiku.service.IChapterService; import com.tamguo.modules.tiku.service.IChapterService;
import com.tamguo.modules.tiku.service.ICourseService; import com.tamguo.modules.tiku.service.ICourseService;
import com.tamguo.modules.tiku.service.IPaperService; import com.tamguo.modules.tiku.service.IPaperService;
@ -52,7 +52,7 @@ public class SubjectController {
@Autowired @Autowired
private ICourseService iCourseService; private ICourseService iCourseService;
@Autowired @Autowired
private IBookService iBookService; private IKnowPointService iBookService;
@Autowired @Autowired
private IPaperService iPaperService; private IPaperService iPaperService;
@ -66,10 +66,10 @@ public class SubjectController {
// 获取第一个科目 // 获取第一个科目
CourseEntity course = courseList.get(0); CourseEntity course = courseList.get(0);
// 获取第一本书 // 获取第一本书
List<BookEntity> bookList = iBookService.selectList(Condition.create().eq("course_id", course.getId())); List<KnowPointEntity> bookList = iBookService.selectList(Condition.create().eq("course_id", course.getId()));
List<ChapterEntity> chapterList = null; List<ChapterEntity> chapterList = null;
if(bookList.size() > 0) { if(bookList.size() > 0) {
BookEntity book = bookList.get(0); KnowPointEntity book = bookList.get(0);
chapterList = iChapterService.selectList(Condition.create().eq("book_id", book.getId())); chapterList = iChapterService.selectList(Condition.create().eq("book_id", book.getId()));
} }
// 获取最新的试卷 // 获取最新的试卷

@ -1,5 +1,5 @@
domain.name=https://www.tamguo.com/ domain.name=http://localhost:8081/
admin.domain.name=https://www.tamguo.com/ admin.domain.name=http://localhost:8081/
server.port=8081 server.port=8081
jasypt.encryptor.password=tamguo jasypt.encryptor.password=tamguo
@ -12,14 +12,14 @@ spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
spring.datasource.maxWait=60000 spring.datasource.maxWait=60000
spring.datasource.minEvictableIdleTimeMillis=300000 spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.minIdle=5 spring.datasource.minIdle=5
spring.datasource.password=tanguo520pig spring.datasource.password=123456
spring.datasource.poolPreparedStatements=true spring.datasource.poolPreparedStatements=true
spring.datasource.testOnBorrow=false spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false spring.datasource.testOnReturn=false
spring.datasource.testWhileIdle=true spring.datasource.testWhileIdle=true
spring.datasource.timeBetweenEvictionRunsMillis=60000 spring.datasource.timeBetweenEvictionRunsMillis=60000
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/tamguo?useUnicode=true&characterEncoding=UTF-8&useSSL=false spring.datasource.url=jdbc:mysql://127.0.0.1:3306/tamguo_20181110?useUnicode=true&characterEncoding=UTF-8&useSSL=false
spring.datasource.username=root spring.datasource.username=root
spring.datasource.validationQuery=SELECT 1 FROM DUAL spring.datasource.validationQuery=SELECT 1 FROM DUAL

@ -67,7 +67,7 @@
</ul> </ul>
<ul class="sc-subject clearfix"> <ul class="sc-subject clearfix">
<li>课本:</li> <li>课本:</li>
<li th:class="${book.id == b.id} ? selected : ''" th:each="b,index:${bookList}"><a th:href="${domainName + 'book/' + b.id + '.html'}" th:text="${b.name}">必修1</a></li> <li th:class="${knowPoint.id == b.id} ? selected : ''" th:each="b,index:${knowPointList}"><a th:href="${domainName + 'knowpoint/' + b.id + '.html'}" th:text="${b.name}">必修1</a></li>
</ul> </ul>
</div> </div>

@ -67,7 +67,7 @@
</ul> </ul>
<ul class="sc-subject clearfix"> <ul class="sc-subject clearfix">
<li>课本:</li> <li>课本:</li>
<li th:class="${book.id == b.id} ? selected : ''" th:each="b,index:${bookList}"><a th:href="${domainName + 'book/' + b.id + '.html'}" th:text="${b.name}">必修1</a></li> <li th:class="${knowpoint.id == b.id} ? selected : ''" th:each="b,index:${knowPointList}"><a th:href="${domainName + 'knowpoint/' + b.id + '.html'}" th:text="${b.name}">必修1</a></li>
</ul> </ul>
</div> </div>
Loading…
Cancel
Save