Initial commit
This commit is contained in:
commit
1279a85007
|
@ -0,0 +1,33 @@
|
||||||
|
HELP.md
|
||||||
|
target/
|
||||||
|
!.mvn/wrapper/maven-wrapper.jar
|
||||||
|
!**/src/main/**/target/
|
||||||
|
!**/src/test/**/target/
|
||||||
|
|
||||||
|
### STS ###
|
||||||
|
.apt_generated
|
||||||
|
.classpath
|
||||||
|
.factorypath
|
||||||
|
.project
|
||||||
|
.settings
|
||||||
|
.springBeans
|
||||||
|
.sts4-cache
|
||||||
|
|
||||||
|
### IntelliJ IDEA ###
|
||||||
|
.idea
|
||||||
|
*.iws
|
||||||
|
*.iml
|
||||||
|
*.ipr
|
||||||
|
|
||||||
|
### NetBeans ###
|
||||||
|
/nbproject/private/
|
||||||
|
/nbbuild/
|
||||||
|
/dist/
|
||||||
|
/nbdist/
|
||||||
|
/.nb-gradle/
|
||||||
|
build/
|
||||||
|
!**/src/main/**/build/
|
||||||
|
!**/src/test/**/build/
|
||||||
|
|
||||||
|
### VS Code ###
|
||||||
|
.vscode/
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
||||||
|
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.5/apache-maven-3.8.5-bin.zip
|
||||||
|
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
|
|
@ -0,0 +1,71 @@
|
||||||
|
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-parent</artifactId>
|
||||||
|
<version>2.3.7.RELEASE</version>
|
||||||
|
<relativePath/> <!-- lookup parent from repository -->
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<groupId>com.offcn.edu</groupId>
|
||||||
|
<artifactId>uxue-edu001</artifactId>
|
||||||
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
|
<name>uxue-edu001</name>
|
||||||
|
<description>uxue-edu001</description>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<java.version>1.8</java.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-test</artifactId>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<!--mybatis-plus-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.baomidou</groupId>
|
||||||
|
<artifactId>mybatis-plus-boot-starter</artifactId>
|
||||||
|
<version>3.0.5</version>
|
||||||
|
</dependency>
|
||||||
|
<!--mysql-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>mysql</groupId>
|
||||||
|
<artifactId>mysql-connector-java</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<!--lombok用来简化实体类-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.projectlombok</groupId>
|
||||||
|
<artifactId>lombok</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<!--swagger-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.springfox</groupId>
|
||||||
|
<artifactId>springfox-swagger2</artifactId>
|
||||||
|
<version>2.9.2</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.springfox</groupId>
|
||||||
|
<artifactId>springfox-swagger-ui</artifactId>
|
||||||
|
<version>2.9.2</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
</project>
|
|
@ -0,0 +1,15 @@
|
||||||
|
package com.offcn.edu;
|
||||||
|
|
||||||
|
import org.mybatis.spring.annotation.MapperScan;
|
||||||
|
import org.springframework.boot.SpringApplication;
|
||||||
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
|
|
||||||
|
@SpringBootApplication
|
||||||
|
@MapperScan("com.offcn.edu.dao")
|
||||||
|
public class UxueEdu001Application {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
SpringApplication.run(UxueEdu001Application.class, args);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,35 @@
|
||||||
|
package com.offcn.edu.config;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import springfox.documentation.builders.ApiInfoBuilder;
|
||||||
|
import springfox.documentation.builders.PathSelectors;
|
||||||
|
import springfox.documentation.builders.RequestHandlerSelectors;
|
||||||
|
import springfox.documentation.service.ApiInfo;
|
||||||
|
import springfox.documentation.spi.DocumentationType;
|
||||||
|
import springfox.documentation.spring.web.plugins.Docket;
|
||||||
|
import springfox.documentation.swagger2.annotations.EnableSwagger2;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
@EnableSwagger2
|
||||||
|
public class SwaggerConfig {
|
||||||
|
@Bean
|
||||||
|
public Docket createRestApi() {
|
||||||
|
return new Docket(DocumentationType.SWAGGER_2)
|
||||||
|
.apiInfo(apiInfo())
|
||||||
|
.select()
|
||||||
|
.apis(RequestHandlerSelectors.basePackage("com.offcn.edu.controller"))
|
||||||
|
.paths(PathSelectors.any())
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
private ApiInfo apiInfo() {
|
||||||
|
return new ApiInfoBuilder()
|
||||||
|
.title("优学网后台端接口文档")
|
||||||
|
.description("优学网")
|
||||||
|
.termsOfServiceUrl("http://www.ujiuye.com/")
|
||||||
|
.contact("Vinchen")
|
||||||
|
.version("1.0")
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,103 @@
|
||||||
|
package com.offcn.edu.controller;
|
||||||
|
|
||||||
|
|
||||||
|
import com.offcn.edu.pojo.Course;
|
||||||
|
import com.offcn.edu.pojo.CourseUser;
|
||||||
|
import com.offcn.edu.pojo.User;
|
||||||
|
import com.offcn.edu.service.CourseService;
|
||||||
|
import com.offcn.edu.service.CourseUserService;
|
||||||
|
import com.offcn.edu.service.UserService;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiImplicitParam;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 课程表 前端控制器
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Vinchen
|
||||||
|
* @since 2022-06-22
|
||||||
|
*/
|
||||||
|
@Api(tags = "课程操作接口")
|
||||||
|
@CrossOrigin(origins = "*")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/edu/course")
|
||||||
|
public class CourseController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private CourseService courseService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private UserService userService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private CourseUserService courseUserService;
|
||||||
|
|
||||||
|
//测试读取全部课程
|
||||||
|
@GetMapping("/")
|
||||||
|
public List<Course> findAll() {
|
||||||
|
return courseService.list(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
//正式接口1:据题目分类编号,获取对应题目前八条集合
|
||||||
|
@ApiOperation(value = "据题目分类编号,获取给首页显示用的前8条对应题目集合")
|
||||||
|
@ApiImplicitParam(name = "typeId", value = "分类编号", required = true, paramType = "path")
|
||||||
|
@GetMapping("/items/{typeId}")
|
||||||
|
public List<Course> findCourseType(@PathVariable("typeId") Long typeId) {
|
||||||
|
return courseService.findCourseTypeTop8(typeId);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//正式接口2:搜索方法
|
||||||
|
@ApiOperation(value = "题目搜索接口")
|
||||||
|
@ApiImplicitParam(name = "keyword", value = "搜索关键字", paramType = "path", required = true)
|
||||||
|
@GetMapping("/search/{keyword}")
|
||||||
|
public List<Course> search(@PathVariable("keyword") String keyword) {
|
||||||
|
return courseService.searchCourseName(keyword);
|
||||||
|
}
|
||||||
|
|
||||||
|
//正式接口3:根据课程编号,获取对应课程信息+课程详情集合
|
||||||
|
@ApiOperation(value = "根据课程编号,获取对应课程信息+课程详情集合")
|
||||||
|
@ApiImplicitParam(name = "id", value = "课程编号", paramType = "path", required = true)
|
||||||
|
@GetMapping("/{id}")
|
||||||
|
public Map<String, Object> findCourseInfo(@PathVariable("id") Long id) {
|
||||||
|
return courseService.findCourseInfo(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
//正式接口4:据题目分类编号,获取对应题目全部集合
|
||||||
|
@ApiOperation(value = "据题目分类编号,获取给首页显示用的全部对应题目集合")
|
||||||
|
@ApiImplicitParam(name = "typeId", value = "分类编号", required = true, paramType = "path")
|
||||||
|
@GetMapping("/itemsall/{typeId}")
|
||||||
|
public List<Course> findCourseAll(@PathVariable("typeId") Long typeId) {
|
||||||
|
return courseService.findCourseTypeAll(typeId);
|
||||||
|
}
|
||||||
|
|
||||||
|
//根据指定用户名,获取当前用户购买课程
|
||||||
|
@ApiOperation(value = "根据指定用户名,获取当前用户购买课程")
|
||||||
|
@ApiImplicitParam(name = "username", value = "用户名", required = true, paramType = "path")
|
||||||
|
@GetMapping("/user/{username}")
|
||||||
|
public List<Course> findCouseByUserName(@PathVariable("username") String username) {
|
||||||
|
List<Course> courseList = new ArrayList<>();
|
||||||
|
//调用用户服务,根据用户名获取用户对象
|
||||||
|
User user = userService.findUserByUserName(username);
|
||||||
|
if (user != null) {
|
||||||
|
Integer uid = user.getUid();
|
||||||
|
List<CourseUser> courseUserList = courseUserService.findCourseUserByUid(uid);
|
||||||
|
//循环遍历集合
|
||||||
|
for (CourseUser courseUser : courseUserList) {
|
||||||
|
//根据课程编号,获取对应课程信息
|
||||||
|
Course course = courseService.getById(courseUser.getCid());
|
||||||
|
courseList.add(course);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return courseList;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,82 @@
|
||||||
|
package com.offcn.edu.controller;
|
||||||
|
|
||||||
|
|
||||||
|
import com.offcn.edu.pojo.Course;
|
||||||
|
import com.offcn.edu.pojo.CourseUser;
|
||||||
|
import com.offcn.edu.pojo.User;
|
||||||
|
import com.offcn.edu.service.CourseService;
|
||||||
|
import com.offcn.edu.service.CourseUserService;
|
||||||
|
import com.offcn.edu.service.UserService;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiImplicitParam;
|
||||||
|
import io.swagger.annotations.ApiImplicitParams;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.CrossOrigin;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 前端控制器
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Vinchen
|
||||||
|
* @since 2022-06-22
|
||||||
|
*/
|
||||||
|
@Api(tags = "课程购买接口")
|
||||||
|
@CrossOrigin(origins = "*")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/edu/course-user")
|
||||||
|
public class CourseUserController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private UserService userService;
|
||||||
|
@Autowired
|
||||||
|
private CourseService courseService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private CourseUserService courseUserService;
|
||||||
|
|
||||||
|
|
||||||
|
//课程购买接口
|
||||||
|
@ApiOperation(value = "课程购买接口")
|
||||||
|
@ApiImplicitParams({
|
||||||
|
@ApiImplicitParam(name = "cid",value = "课程编号",required = true),
|
||||||
|
@ApiImplicitParam(name = "username",value = "用户名",required = true)
|
||||||
|
})
|
||||||
|
@PostMapping("/")
|
||||||
|
public String courseSale(Integer cid, String username) {
|
||||||
|
|
||||||
|
//根据课程编号查询课程信息
|
||||||
|
Course course = courseService.getById(cid);
|
||||||
|
if (course == null) {
|
||||||
|
return "null:";
|
||||||
|
}
|
||||||
|
|
||||||
|
//根据用户名,获取用户信息
|
||||||
|
User user = userService.findUserByUserName(username);
|
||||||
|
if (user == null) {
|
||||||
|
return "null";
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取用户编号
|
||||||
|
Integer uid = user.getUid();
|
||||||
|
//调用用户课程服务,新增用户购物记录
|
||||||
|
|
||||||
|
//先验证该用户是否购买过该课程
|
||||||
|
CourseUser courseUser1 = courseUserService.findEqualByCidUid(cid, uid);
|
||||||
|
if (courseUser1!=null){
|
||||||
|
return "error";
|
||||||
|
}
|
||||||
|
|
||||||
|
CourseUser courseUser = new CourseUser();
|
||||||
|
courseUser.setCid(cid.intValue());
|
||||||
|
courseUser.setUid(uid);
|
||||||
|
|
||||||
|
courseUserService.save(courseUser);
|
||||||
|
return "success";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
package com.offcn.edu.controller;
|
||||||
|
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.CrossOrigin;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 前端控制器
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Vinchen
|
||||||
|
* @since 2022-06-22
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@CrossOrigin(origins = "*")
|
||||||
|
@RequestMapping("/edu/coursedetail")
|
||||||
|
public class CoursedetailController {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,77 @@
|
||||||
|
package com.offcn.edu.controller;
|
||||||
|
|
||||||
|
|
||||||
|
import com.offcn.edu.pojo.User;
|
||||||
|
import com.offcn.edu.service.UserService;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiImplicitParam;
|
||||||
|
import io.swagger.annotations.ApiImplicitParams;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.CrossOrigin;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 用户表 前端控制器
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Vinchen
|
||||||
|
* @since 2022-06-22
|
||||||
|
*/
|
||||||
|
@Api(tags = "用户操作接口")
|
||||||
|
@CrossOrigin(origins = "*")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/edu/user")
|
||||||
|
public class UserController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private UserService userService;
|
||||||
|
|
||||||
|
//正式接口:用户注册
|
||||||
|
@ApiOperation(value = "用户注册接口")
|
||||||
|
@ApiImplicitParams({
|
||||||
|
@ApiImplicitParam(name = "phone", value = "手机号", required = true),
|
||||||
|
@ApiImplicitParam(name = "password", value = "密码", required = true),
|
||||||
|
@ApiImplicitParam(name = "repassword", value = "重复密码", required = true)
|
||||||
|
})
|
||||||
|
@PostMapping("/")
|
||||||
|
public String register(String phone, String password, String repassword) {
|
||||||
|
//判断二次输入密码是否相同
|
||||||
|
if (password != null && repassword != null && password.equals(repassword)) {
|
||||||
|
//发起注册,创建用户对象
|
||||||
|
User user = new User();
|
||||||
|
user.setPhone(phone);
|
||||||
|
user.setUsername(phone);
|
||||||
|
user.setName(phone);
|
||||||
|
user.setPassword(password);
|
||||||
|
user.setCreatetime(new Date());
|
||||||
|
//调用用户服务,保存
|
||||||
|
userService.save(user);
|
||||||
|
return "成功";
|
||||||
|
} else {
|
||||||
|
return "失败";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//正式接口2:用户登录接口
|
||||||
|
@ApiOperation(value = "用户登录接口")
|
||||||
|
@ApiImplicitParams({
|
||||||
|
@ApiImplicitParam(name = "phone", value = "手机号", required = true),
|
||||||
|
@ApiImplicitParam(name = "password", value = "密码", required = true)
|
||||||
|
})
|
||||||
|
@PostMapping("/login")
|
||||||
|
public User login(String phone, String password) {
|
||||||
|
User user = userService.login(phone, password);
|
||||||
|
if (user != null) {
|
||||||
|
return user;
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
package com.offcn.edu.dao;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.offcn.edu.pojo.Course;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 课程表 Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Vinchen
|
||||||
|
* @since 2022-06-22
|
||||||
|
*/
|
||||||
|
public interface CourseMapper extends BaseMapper<Course> {
|
||||||
|
|
||||||
|
//定义一个方法,根据指定课程类型获取课程列表
|
||||||
|
List<Course> findCourseTypeTop8(@Param("typeId") Long typeId);
|
||||||
|
|
||||||
|
//定义搜索方法:根据课程名称:搜索关键字
|
||||||
|
List<Course> searchCourseName(@Param("keyword") String keyword);
|
||||||
|
|
||||||
|
//定义一个方法,根据指定课程类型全部课程列表
|
||||||
|
List<Course> findCourseTypeAll(@Param("typeId") Long typeId);
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,25 @@
|
||||||
|
package com.offcn.edu.dao;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.offcn.edu.pojo.CourseUser;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Vinchen
|
||||||
|
* @since 2022-06-22
|
||||||
|
*/
|
||||||
|
public interface CourseUserMapper extends BaseMapper<CourseUser> {
|
||||||
|
|
||||||
|
//查询用户是否购买过课程
|
||||||
|
CourseUser findEqualByCidUid(@Param("cid") Integer cid, @Param("uid") Integer uid);
|
||||||
|
|
||||||
|
//根据uid获取对应购买课程集合
|
||||||
|
List<CourseUser> findCourseUserByUid(@Param("uid") Integer uid);
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
package com.offcn.edu.dao;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.offcn.edu.pojo.Coursedetail;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Vinchen
|
||||||
|
* @since 2022-06-22
|
||||||
|
*/
|
||||||
|
public interface CoursedetailMapper extends BaseMapper<Coursedetail> {
|
||||||
|
//根据课程编号 cid获取对应课程详情集合
|
||||||
|
List<Coursedetail> findAllByCidCoursedetails(@Param("cid") Long cid);
|
||||||
|
}
|
|
@ -0,0 +1,23 @@
|
||||||
|
package com.offcn.edu.dao;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.offcn.edu.pojo.User;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 用户表 Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Vinchen
|
||||||
|
* @since 2022-06-22
|
||||||
|
*/
|
||||||
|
public interface UserMapper extends BaseMapper<User> {
|
||||||
|
|
||||||
|
//用户登录方法
|
||||||
|
User login(@Param("phone") String phone, @Param("password") String password);
|
||||||
|
|
||||||
|
//根据登录用户名,获取用户信息
|
||||||
|
User getUserByUsername(@Param("username") String username);
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,67 @@
|
||||||
|
package com.offcn.edu.pojo;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 课程表
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Vinchen
|
||||||
|
* @since 2022-06-22
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@ApiModel(value="Course对象", description="课程表")
|
||||||
|
public class Course implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "课程编号")
|
||||||
|
@TableId(value = "cid", type = IdType.AUTO)
|
||||||
|
private Integer cid;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "课程名称")
|
||||||
|
@TableField("courseName")
|
||||||
|
private String courseName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "课程简介")
|
||||||
|
private String descs;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "课程类型")
|
||||||
|
@TableField("courseType")
|
||||||
|
private Integer courseType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "课程图片地址")
|
||||||
|
@TableField("courseImage")
|
||||||
|
private String courseImage;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "课程视频地址")
|
||||||
|
@TableField("courseVideo")
|
||||||
|
private String courseVideo;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "价格")
|
||||||
|
@TableField("coursePrice")
|
||||||
|
private BigDecimal coursePrice;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "状态")
|
||||||
|
private Integer status;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "上传时间")
|
||||||
|
@TableField("createTime")
|
||||||
|
private Date createTime;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,36 @@
|
||||||
|
package com.offcn.edu.pojo;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
*
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Vinchen
|
||||||
|
* @since 2022-06-22
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@ApiModel(value="CourseUser对象", description="")
|
||||||
|
public class CourseUser implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@TableId(value = "id", type = IdType.AUTO)
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
private Integer cid;
|
||||||
|
|
||||||
|
private Integer uid;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,42 @@
|
||||||
|
package com.offcn.edu.pojo;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
*
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Vinchen
|
||||||
|
* @since 2022-06-22
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@ApiModel(value="Coursedetail对象", description="")
|
||||||
|
public class Coursedetail implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@TableId(value = "id", type = IdType.AUTO)
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
private String type;
|
||||||
|
|
||||||
|
private String url;
|
||||||
|
|
||||||
|
private String startData;
|
||||||
|
|
||||||
|
private Integer cid;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,65 @@
|
||||||
|
package com.offcn.edu.pojo;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 用户表
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Vinchen
|
||||||
|
* @since 2022-06-22
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@ApiModel(value="User对象", description="用户表")
|
||||||
|
public class User implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "学员编号")
|
||||||
|
@TableId(value = "uid", type = IdType.AUTO)
|
||||||
|
private Integer uid;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "真实姓名")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "手机号")
|
||||||
|
private String phone;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "年龄")
|
||||||
|
private Integer age;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "性别")
|
||||||
|
private Integer sex;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "账号")
|
||||||
|
private String username;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "密码")
|
||||||
|
private String password;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "状态")
|
||||||
|
private Integer status;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "注册时间")
|
||||||
|
private Date createtime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "角色")
|
||||||
|
private Integer role;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "头像")
|
||||||
|
private String picture;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
package com.offcn.edu.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.offcn.edu.pojo.Course;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 课程表 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Vinchen
|
||||||
|
* @since 2022-06-22
|
||||||
|
*/
|
||||||
|
public interface CourseService extends IService<Course> {
|
||||||
|
|
||||||
|
//根据题目分类编号,获取对应题目前8条集合
|
||||||
|
List<Course> findCourseTypeTop8(Long typeId);
|
||||||
|
|
||||||
|
//根据课程名称:搜索关键字
|
||||||
|
List<Course> searchCourseName(String keyword);
|
||||||
|
|
||||||
|
//根据课程编号,获取课程信息和对应课程详情集合
|
||||||
|
Map<String, Object> findCourseInfo(Long id);
|
||||||
|
|
||||||
|
//根据题目分类编号,获取对应题目全部集合
|
||||||
|
List<Course> findCourseTypeAll(Long typeId);
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
package com.offcn.edu.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.offcn.edu.pojo.CourseUser;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Vinchen
|
||||||
|
* @since 2022-06-22
|
||||||
|
*/
|
||||||
|
public interface CourseUserService extends IService<CourseUser> {
|
||||||
|
|
||||||
|
//根据用户编号和课程编号,验证是否购买过该课程
|
||||||
|
CourseUser findEqualByCidUid(Integer cid,Integer uid);
|
||||||
|
|
||||||
|
List<CourseUser> findCourseUserByUid(Integer uid);
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,16 @@
|
||||||
|
package com.offcn.edu.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.offcn.edu.pojo.Coursedetail;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Vinchen
|
||||||
|
* @since 2022-06-22
|
||||||
|
*/
|
||||||
|
public interface CoursedetailService extends IService<Coursedetail> {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
package com.offcn.edu.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.offcn.edu.pojo.User;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 用户表 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Vinchen
|
||||||
|
* @since 2022-06-22
|
||||||
|
*/
|
||||||
|
public interface UserService extends IService<User> {
|
||||||
|
//调用登录
|
||||||
|
User login(String phone,String password);
|
||||||
|
|
||||||
|
//根据username获取用户信息
|
||||||
|
User findUserByUserName(String username);
|
||||||
|
}
|
|
@ -0,0 +1,60 @@
|
||||||
|
package com.offcn.edu.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.offcn.edu.dao.CourseMapper;
|
||||||
|
import com.offcn.edu.dao.CoursedetailMapper;
|
||||||
|
import com.offcn.edu.pojo.Course;
|
||||||
|
import com.offcn.edu.pojo.Coursedetail;
|
||||||
|
import com.offcn.edu.service.CourseService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 课程表 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Vinchen
|
||||||
|
* @since 2022-06-22
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> implements CourseService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private CoursedetailMapper coursedetailMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Course> findCourseTypeTop8(Long typeId) {
|
||||||
|
return this.baseMapper.findCourseTypeTop8(typeId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Course> searchCourseName(String keyword) {
|
||||||
|
return this.baseMapper.searchCourseName(keyword);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<String, Object> findCourseInfo(Long id) {
|
||||||
|
Map<String, Object> map=new HashMap<>();
|
||||||
|
|
||||||
|
//调用课程数据访问接口,根据课程id获取课程信息
|
||||||
|
Course course = this.baseMapper.selectById(id);
|
||||||
|
//根据课程编号,去查询对应课程详情集合数据
|
||||||
|
List<Coursedetail> coursedetailList = coursedetailMapper.findAllByCidCoursedetails(id);
|
||||||
|
//把获取到数据封装到map
|
||||||
|
map.put("course",course);
|
||||||
|
map.put("coursedetailList",coursedetailList);
|
||||||
|
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Course> findCourseTypeAll(Long typeId){
|
||||||
|
return this.baseMapper.findCourseTypeAll(typeId);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
package com.offcn.edu.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.offcn.edu.dao.CourseUserMapper;
|
||||||
|
import com.offcn.edu.pojo.CourseUser;
|
||||||
|
import com.offcn.edu.service.CourseUserService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Vinchen
|
||||||
|
* @since 2022-06-22
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class CourseUserServiceImpl extends ServiceImpl<CourseUserMapper, CourseUser> implements CourseUserService {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CourseUser findEqualByCidUid(Integer cid,Integer uid){
|
||||||
|
return this.baseMapper.findEqualByCidUid(cid,uid);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<CourseUser> findCourseUserByUid(Integer cid) {
|
||||||
|
return this.baseMapper.findCourseUserByUid(cid);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
package com.offcn.edu.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.offcn.edu.dao.CoursedetailMapper;
|
||||||
|
import com.offcn.edu.pojo.Coursedetail;
|
||||||
|
import com.offcn.edu.service.CoursedetailService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Vinchen
|
||||||
|
* @since 2022-06-22
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class CoursedetailServiceImpl extends ServiceImpl<CoursedetailMapper, Coursedetail> implements CoursedetailService {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
package com.offcn.edu.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.offcn.edu.dao.UserMapper;
|
||||||
|
import com.offcn.edu.pojo.User;
|
||||||
|
import com.offcn.edu.service.UserService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 用户表 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Vinchen
|
||||||
|
* @since 2022-06-22
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public User login(String phone, String password) {
|
||||||
|
return this.baseMapper.login(phone, password);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public User findUserByUserName(String username) {
|
||||||
|
return this.baseMapper.getUserByUsername(username);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
server:
|
||||||
|
port: 8001
|
||||||
|
spring:
|
||||||
|
application:
|
||||||
|
name: uxue-edu
|
||||||
|
datasource:
|
||||||
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
|
url: jdbc:mysql://localhost:3306/cangzhou001?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8
|
||||||
|
username: root
|
||||||
|
password: 8520
|
||||||
|
jackson:
|
||||||
|
time-zone: GMT%2B
|
||||||
|
date-format: yyyy-MM-dd HH:mm:ss
|
||||||
|
mybatis-plus:
|
||||||
|
configuration:
|
||||||
|
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
|
||||||
|
mapper-locations: classpath:mapper/*.xml #??mybatis????????
|
||||||
|
type-aliases-package: com.offcn.edu.pojo #????????
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
<?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">
|
||||||
|
<mapper namespace="com.offcn.edu.dao.CourseMapper">
|
||||||
|
|
||||||
|
<select id="findCourseTypeTop8" resultType="com.offcn.edu.pojo.Course">
|
||||||
|
select *
|
||||||
|
from course
|
||||||
|
where courseType = #{typeId}
|
||||||
|
and status = 1 limit 0,8
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="searchCourseName" resultType="com.offcn.edu.pojo.Course">
|
||||||
|
select *
|
||||||
|
from course
|
||||||
|
where courseName like '%${keyword}%'
|
||||||
|
</select>
|
||||||
|
<select id="findCourseTypeAll" resultType="com.offcn.edu.pojo.Course">
|
||||||
|
select *
|
||||||
|
from course
|
||||||
|
where courseType = #{typeId}
|
||||||
|
and status = 1
|
||||||
|
</select>
|
||||||
|
</mapper>
|
|
@ -0,0 +1,17 @@
|
||||||
|
<?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">
|
||||||
|
<mapper namespace="com.offcn.edu.dao.CourseUserMapper">
|
||||||
|
|
||||||
|
<select id="findEqualByCidUid" resultType="com.offcn.edu.pojo.CourseUser">
|
||||||
|
select *
|
||||||
|
from course_user
|
||||||
|
where cid = #{cid}
|
||||||
|
and uid = #{uid} limit 0,1
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="findCourseUserByUid" resultType="com.offcn.edu.pojo.CourseUser">
|
||||||
|
select *
|
||||||
|
from course_user
|
||||||
|
where uid = #{uid}
|
||||||
|
</select>
|
||||||
|
</mapper>
|
|
@ -0,0 +1,10 @@
|
||||||
|
<?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">
|
||||||
|
<mapper namespace="com.offcn.edu.dao.CoursedetailMapper">
|
||||||
|
|
||||||
|
<select id="findAllByCidCoursedetails" resultType="com.offcn.edu.pojo.Coursedetail">
|
||||||
|
select *
|
||||||
|
from coursedetail
|
||||||
|
where cid = #{cid}
|
||||||
|
</select>
|
||||||
|
</mapper>
|
|
@ -0,0 +1,17 @@
|
||||||
|
<?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">
|
||||||
|
<mapper namespace="com.offcn.edu.dao.UserMapper">
|
||||||
|
|
||||||
|
<select id="login" resultType="com.offcn.edu.pojo.User">
|
||||||
|
select *
|
||||||
|
from user
|
||||||
|
where phone = #{phone}
|
||||||
|
and password = #{password} limit 0,1
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getUserByUsername" resultType="com.offcn.edu.pojo.User">
|
||||||
|
select *
|
||||||
|
from user
|
||||||
|
where username = #{username} limit 0,1
|
||||||
|
</select>
|
||||||
|
</mapper>
|
|
@ -0,0 +1,71 @@
|
||||||
|
package com.offcn.edu;
|
||||||
|
|
||||||
|
import com.offcn.edu.dao.CourseMapper;
|
||||||
|
import com.offcn.edu.dao.CoursedetailMapper;
|
||||||
|
import com.offcn.edu.dao.UserMapper;
|
||||||
|
import com.offcn.edu.pojo.Course;
|
||||||
|
import com.offcn.edu.pojo.Coursedetail;
|
||||||
|
import com.offcn.edu.pojo.User;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@SpringBootTest
|
||||||
|
class UxueEdu001ApplicationTests {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private CourseMapper courseMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private CoursedetailMapper coursedetailMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private UserMapper userMapper;
|
||||||
|
|
||||||
|
//测试首页展示方法
|
||||||
|
@Test
|
||||||
|
void testfindCourseType() {
|
||||||
|
List<Course> courseList = courseMapper.findCourseTypeTop8(2L);
|
||||||
|
for (Course course : courseList) {
|
||||||
|
System.out.println(course);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//测试课程搜索方法
|
||||||
|
@Test
|
||||||
|
public void testSearch(){
|
||||||
|
String keyword="Java";
|
||||||
|
List<Course> courseList = courseMapper.searchCourseName(keyword);
|
||||||
|
for (Course course : courseList) {
|
||||||
|
System.out.println(course);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//测试根据课程id获取课程信息
|
||||||
|
@Test
|
||||||
|
public void testGetCourseByID(){
|
||||||
|
Course course = courseMapper.selectById(1);
|
||||||
|
System.out.println(course);
|
||||||
|
}
|
||||||
|
|
||||||
|
//测试根据cid获取对应课程详情集合
|
||||||
|
@Test
|
||||||
|
public void testfindAllByCidCoursedetails(){
|
||||||
|
List<Coursedetail> coursedetailList = coursedetailMapper.findAllByCidCoursedetails(3L);
|
||||||
|
for (Coursedetail coursedetail : coursedetailList) {
|
||||||
|
System.out.println(coursedetail);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//测试登录
|
||||||
|
@Test
|
||||||
|
public void testLogin(){
|
||||||
|
User login = userMapper.login("13515823698", "123");
|
||||||
|
System.out.println(login);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue