Design and Implementation of an Online Course Purchase System(16)

Complete the engineering of content service system

Posted by Chen Xingxu on June 3, 2020

易课寄在线购课系统开发笔记(十六)–完成内容服务系统的工程搭建

首页动态展示分析

内容信息要从数据库中获得。

动态展示分析

  1. 内容需要进行分类。
  2. 分类下有子分类,需要动态管理。
  3. 分类下有内容列表。
  4. 单点的内容信息:
    1. 有图片
    2. 有链接
    3. 有标题
    4. 有价格
    5. 包含大文本类型,可以作为公告

需要一个内容分类表和一个内容表。内容分类和内容表是一对多的关系。内容分类表需要存储树形结构的数据。

内容分类表:ecourses_content_category

内容表:ecourses_content

需要有后台来维护内容信息,CMS 系统。

需要创建一个内容服务系统,可以参考 易课寄在线购课系统开发笔记(七)–后台管理系统工程搭建分析 ecourses-bms 创建。

  • ecourses-parent:父工程,打包方式 pom,管理 jar 包的版本号。
    • ecourses-common:通用的工具类及通用的 pojo。打包方式 jar
    • ecourses-content:聚合工程,打包方式 pom
      • ecourses-content-interface 打包方式 jar
      • ecourses-content-service 打包方式 war

内容服务系统创建

工程搭建

可以参考 易课寄在线购课系统开发笔记(七)–后台管理系统工程搭建分析 ecourses-bms 创建。

ecourses-content

pom 文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <modules>
        <module>ecourses-content-interface</module>
        <module>ecourses-content-service</module>
    </modules>
    <parent>
        <groupId>cn.ecourses</groupId>
        <artifactId>ecourses-parent</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <groupId>cn.ecourses</groupId>
    <artifactId>ecourses-content</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <dependencies>
        <dependency>
            <groupId>cn.ecourses</groupId>
            <artifactId>ecourses-common</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>
    <!-- 配置tomcat插件 -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <configuration>
                    <path>/</path>
                    <port>8083</port>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

ecourses-content-interface

pom 文件

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>cn.ecourses</groupId>
    <artifactId>ecourses-content</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <groupId>cn.ecourses</groupId>
  <artifactId>ecourses-content-interface</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>
  <dependencies>
    <dependency>
      <groupId>cn.ecourses</groupId>
      <artifactId>ecourses-bms-pojo</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
  </dependencies>
</project>

ecourses-content-service

pom 文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>cn.ecourses</groupId>
    <artifactId>ecourses-content</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <groupId>cn.ecourses</groupId>
  <artifactId>ecourses-content-service</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>
  <dependencies>
    <dependency>
      <groupId>cn.ecourses</groupId>
      <artifactId>ecourses-bms-dao</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
    <dependency>
      <groupId>cn.ecourses</groupId>
      <artifactId>ecourses-content-interface</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
    <!-- Spring -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aspects</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jms</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
    </dependency>
    <!-- dubbo相关 -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>dubbo</artifactId>
      <exclusions>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.jboss.netty</groupId>
          <artifactId>netty</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.zookeeper</groupId>
      <artifactId>zookeeper</artifactId>
    </dependency>
    <dependency>
      <groupId>com.github.sgroschupf</groupId>
      <artifactId>zkclient</artifactId>
    </dependency>
  </dependencies>
</project>