From 2d5ca1f2a8adcaa2efcfa89174b69c2c56c9eefd Mon Sep 17 00:00:00 2001
From: wanghb <17803890193@163.com>
Date: Wed, 9 Aug 2023 17:34:07 +0800
Subject: [PATCH 1/4] dyc

---
 pom.xml                                       |  13 ++
 .../zhiyun/zhiyun03/Zhiyun03Application.java  |   3 +
 .../zhiyun03/course/common/JsonResult.java    |  48 ++++++++
 .../course/config/MyWebMvcConfig.java         |  25 ++++
 .../zhiyun03/course/config/SwaggerConfig.java | 112 ++++++++++++++++++
 .../course/controller/CourseController.java   |  73 ++++++++++++
 .../course/service/CourseService.java         |  15 +++
 .../service/impl/CourseServiceImpl.java       |  36 ++++++
 .../controller/DirectoryController.java       |  33 ++++++
 .../directory/servcie/DirectoryService.java   |   7 ++
 .../servcie/impl/DirectoryServiceImpl.java    |  19 +++
 src/main/resources/application.yml            |   7 +-
 .../mapper/directory/DirectoryDAO.xml         |  63 ++++++++++
 13 files changed, 452 insertions(+), 2 deletions(-)
 create mode 100644 src/main/java/com/zhiyun/zhiyun03/course/common/JsonResult.java
 create mode 100644 src/main/java/com/zhiyun/zhiyun03/course/config/MyWebMvcConfig.java
 create mode 100644 src/main/java/com/zhiyun/zhiyun03/course/config/SwaggerConfig.java
 create mode 100644 src/main/java/com/zhiyun/zhiyun03/course/controller/CourseController.java
 create mode 100644 src/main/java/com/zhiyun/zhiyun03/course/service/CourseService.java
 create mode 100644 src/main/java/com/zhiyun/zhiyun03/course/service/impl/CourseServiceImpl.java
 create mode 100644 src/main/java/com/zhiyun/zhiyun03/directory/controller/DirectoryController.java
 create mode 100644 src/main/java/com/zhiyun/zhiyun03/directory/servcie/DirectoryService.java
 create mode 100644 src/main/java/com/zhiyun/zhiyun03/directory/servcie/impl/DirectoryServiceImpl.java
 create mode 100644 src/main/resources/mapper/directory/DirectoryDAO.xml

diff --git a/pom.xml b/pom.xml
index adbb0e8..c470267 100644
--- a/pom.xml
+++ b/pom.xml
@@ -56,6 +56,19 @@
             <version>5.0.7</version>
         </dependency>
 
+        <dependency>
+            <groupId>com.github.pagehelper</groupId>
+            <artifactId>pagehelper</artifactId>
+            <version>5.3.2</version>
+        </dependency>
+
+
+        <dependency>
+            <groupId>com.github.xiaoymin</groupId>
+            <artifactId>knife4j-spring-boot-starter</artifactId>
+            <version>3.0.3</version>
+        </dependency>
+
     </dependencies>
 
     <build>
diff --git a/src/main/java/com/zhiyun/zhiyun03/Zhiyun03Application.java b/src/main/java/com/zhiyun/zhiyun03/Zhiyun03Application.java
index 8f91bf9..3b3da6b 100644
--- a/src/main/java/com/zhiyun/zhiyun03/Zhiyun03Application.java
+++ b/src/main/java/com/zhiyun/zhiyun03/Zhiyun03Application.java
@@ -1,9 +1,12 @@
 package com.zhiyun.zhiyun03;
 
+import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.ComponentScan;
 
 @SpringBootApplication
+@MapperScan("com.zhiyun.**.dao")
 public class Zhiyun03Application {
 
     public static void main(String[] args) {
diff --git a/src/main/java/com/zhiyun/zhiyun03/course/common/JsonResult.java b/src/main/java/com/zhiyun/zhiyun03/course/common/JsonResult.java
new file mode 100644
index 0000000..f0702fd
--- /dev/null
+++ b/src/main/java/com/zhiyun/zhiyun03/course/common/JsonResult.java
@@ -0,0 +1,48 @@
+package com.zhiyun.zhiyun03.course.common;
+
+import lombok.Data;
+
+@Data
+public class JsonResult<T> {
+
+    private Integer code;
+    private String msg;
+    private T data;
+    private Long count;
+
+    public static JsonResult ok() {
+
+        JsonResult jsonResult = new JsonResult();
+        jsonResult.setCode(200);//code值是自行定义
+        jsonResult.setMsg("success");
+
+        return jsonResult;
+    }
+
+    public static <T> JsonResult ok(T data) {
+
+        JsonResult jsonResult = new JsonResult();
+        jsonResult.setCode(200);//code值是自行定义
+        jsonResult.setMsg("success");
+        jsonResult.setData(data);
+        return jsonResult;
+    }
+
+    public static JsonResult error() {
+
+        JsonResult jsonResult = new JsonResult();
+        jsonResult.setCode(500);
+        jsonResult.setMsg("fail");
+
+        return jsonResult;
+    }
+
+    public static JsonResult error(int code, String msg) {
+
+        JsonResult jsonResult = new JsonResult();
+        jsonResult.setCode(code);
+        jsonResult.setMsg(msg);
+
+        return jsonResult;
+    }
+}
diff --git a/src/main/java/com/zhiyun/zhiyun03/course/config/MyWebMvcConfig.java b/src/main/java/com/zhiyun/zhiyun03/course/config/MyWebMvcConfig.java
new file mode 100644
index 0000000..ebf4cd7
--- /dev/null
+++ b/src/main/java/com/zhiyun/zhiyun03/course/config/MyWebMvcConfig.java
@@ -0,0 +1,25 @@
+package com.zhiyun.zhiyun03.course.config;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
+
+@Configuration
+public class MyWebMvcConfig extends WebMvcConfigurationSupport {
+
+    @Override
+    public void addResourceHandlers(ResourceHandlerRegistry registry) {
+        registry.addResourceHandler("/**").addResourceLocations(
+                "classpath:/static/");
+
+        // swagger静态资源相关
+        registry.addResourceHandler("swagger-ui.html", "doc.html").addResourceLocations(
+                "classpath:/META-INF/resources/");
+        registry.addResourceHandler("/webjars/**").addResourceLocations(
+                "classpath:/META-INF/resources/webjars/");
+        // 针对swagger自带的静态资源
+        registry.addResourceHandler("/swagger-ui/**").addResourceLocations(
+                "classpath:/META-INF/resources/webjars/springfox-swagger-ui/");
+        super.addResourceHandlers(registry);
+    }
+
+}
diff --git a/src/main/java/com/zhiyun/zhiyun03/course/config/SwaggerConfig.java b/src/main/java/com/zhiyun/zhiyun03/course/config/SwaggerConfig.java
new file mode 100644
index 0000000..b13017a
--- /dev/null
+++ b/src/main/java/com/zhiyun/zhiyun03/course/config/SwaggerConfig.java
@@ -0,0 +1,112 @@
+package com.zhiyun.zhiyun03.course.config;
+
+import io.swagger.annotations.ApiOperation;
+import io.swagger.models.auth.In;
+import org.springframework.beans.factory.annotation.Value;
+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.oas.annotations.EnableOpenApi;
+import springfox.documentation.service.*;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spi.service.contexts.SecurityContext;
+import springfox.documentation.spring.web.plugins.Docket;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Swagger3的接口配置
+ * <p>
+ * http://localhost:8080/swagger-ui/index.html#/
+ */
+@Configuration
+@EnableOpenApi // swagger3使用的注解
+public class SwaggerConfig {
+
+    /**
+     * 是否开启swagger
+     */
+    // 注入常量值
+    @Value("${swagger.enabled}")
+    private boolean enabled;
+
+    /**
+     * 创建API
+     */
+    @Bean
+    public Docket createRestApi() {
+        return new Docket(DocumentationType.OAS_30)
+                // 是否启用Swagger
+                .enable(enabled)
+                // 用来创建该API的基本信息,展示在文档的页面中(自定义展示的信息)
+                .apiInfo(apiInfo())
+                // 设置哪些接口暴露给Swagger展示
+                .select()
+                // 扫描所有有注解的api,用这种方式更灵活
+                .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
+                // 扫描指定包中的swagger注解
+                //.apis(RequestHandlerSelectors.basePackage("com.carpjump"))
+                // 扫描所有 .apis(RequestHandlerSelectors.any())
+                .paths(PathSelectors.any())
+                .build()
+                /* 设置安全模式,swagger可以设置访问token */
+                .securitySchemes(securitySchemes())
+                .securityContexts(securityContexts())
+                .pathMapping("/");
+    }
+
+    /**
+     * 安全模式,这里指定token通过请求头的token头传递
+     */
+    private List<SecurityScheme> securitySchemes() {
+        List<SecurityScheme> apiKeyList = new ArrayList<SecurityScheme>();
+        apiKeyList.add(new ApiKey("token", "token", In.HEADER.toValue()));
+        return apiKeyList;
+    }
+
+    /**
+     * 安全上下文
+     */
+    private List<SecurityContext> securityContexts() {
+        List<SecurityContext> securityContexts = new ArrayList<>();
+        securityContexts.add(
+                SecurityContext.builder()
+                        .securityReferences(defaultAuth())
+                        .operationSelector(o -> o.requestMappingPattern().matches("/.*"))
+                        .build());
+        return securityContexts;
+    }
+
+    /**
+     * 默认的安全上引用
+     */
+    private List<SecurityReference> defaultAuth() {
+        AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
+        AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
+        authorizationScopes[0] = authorizationScope;
+        List<SecurityReference> securityReferences = new ArrayList<>();
+        securityReferences.add(new SecurityReference("Authorization", authorizationScopes));
+        return securityReferences;
+    }
+
+    /**
+     * 添加摘要信息
+     */
+    private ApiInfo apiInfo() {
+        // 用ApiInfoBuilder进行定制
+        return new ApiInfoBuilder()
+                // 设置标题
+                .title("app接口文档")
+                // 描述
+                .description("具体包括XXX,XXX模块...")
+                // 作者信息
+                .contact(new Contact("qfedu", null, null))
+                // 版本
+                .version("1.0.0")
+                .build();
+    }
+}
+
diff --git a/src/main/java/com/zhiyun/zhiyun03/course/controller/CourseController.java b/src/main/java/com/zhiyun/zhiyun03/course/controller/CourseController.java
new file mode 100644
index 0000000..0ddb10e
--- /dev/null
+++ b/src/main/java/com/zhiyun/zhiyun03/course/controller/CourseController.java
@@ -0,0 +1,73 @@
+package com.zhiyun.zhiyun03.course.controller;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.zhiyun.zhiyun03.course.common.JsonResult;
+import com.zhiyun.zhiyun03.course.entity.Course;
+
+import com.zhiyun.zhiyun03.course.service.CourseService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@Api("课程")
+@RestController
+@RequestMapping("/api/course")
+public class CourseController {
+
+    @Autowired
+    private CourseService courseService;
+
+
+    @ApiOperation("查询课程")
+    @GetMapping("/selectAll")
+    public JsonResult selectAll(@RequestParam(value = "page", required = false,defaultValue = "1") Integer pageNum,
+                                @RequestParam(value = "limit", required = false,defaultValue = "1") Integer pageSize){
+
+        PageHelper.startPage(pageNum,pageSize);
+       List<Course>  courseList = courseService.selectAll();
+
+        PageInfo<Course> coursePageInfo = new PageInfo<>();
+
+        JsonResult jsonResult = JsonResult.ok();
+        jsonResult.setData(coursePageInfo.getList());
+        jsonResult.setCount(coursePageInfo.getTotal());
+        return jsonResult;
+    }
+
+
+    @ApiOperation("课程添加")
+    @PostMapping("/add")
+    public JsonResult addCourse(Course course){
+        courseService.addCourse(course);
+        return JsonResult.ok();
+    }
+
+//    @ApiOperation("查询目录")
+//    @PostMapping("/select")
+//    public JsonResult selectDir(Directory directory){
+//        courseService.se(course);
+//        return JsonResult.ok();
+//    }
+
+    @ApiOperation("删除课程")
+    @DeleteMapping("delById")
+    public JsonResult delCourseById(Integer id){
+        courseService.delCourseById(id);
+return JsonResult.ok();
+    }
+
+    @ApiOperation("更新课程")
+    @DeleteMapping("updateById")
+    public JsonResult updateById(Course course){
+        courseService.updateById(course);
+        return JsonResult.ok();
+    }
+
+
+
+
+}
diff --git a/src/main/java/com/zhiyun/zhiyun03/course/service/CourseService.java b/src/main/java/com/zhiyun/zhiyun03/course/service/CourseService.java
new file mode 100644
index 0000000..dc3b083
--- /dev/null
+++ b/src/main/java/com/zhiyun/zhiyun03/course/service/CourseService.java
@@ -0,0 +1,15 @@
+package com.zhiyun.zhiyun03.course.service;
+
+import com.zhiyun.zhiyun03.course.entity.Course;
+
+import java.util.List;
+
+public interface CourseService {
+    public void addCourse(Course course);
+
+    void delCourseById(Integer id);
+
+    void updateById(Course course);
+
+    List<Course> selectAll();
+}
diff --git a/src/main/java/com/zhiyun/zhiyun03/course/service/impl/CourseServiceImpl.java b/src/main/java/com/zhiyun/zhiyun03/course/service/impl/CourseServiceImpl.java
new file mode 100644
index 0000000..cbb3b52
--- /dev/null
+++ b/src/main/java/com/zhiyun/zhiyun03/course/service/impl/CourseServiceImpl.java
@@ -0,0 +1,36 @@
+package com.zhiyun.zhiyun03.course.service.impl;
+
+import com.zhiyun.zhiyun03.course.dao.CourseDAO;
+import com.zhiyun.zhiyun03.course.entity.Course;
+import com.zhiyun.zhiyun03.course.service.CourseService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class CourseServiceImpl implements CourseService {
+
+    @Autowired
+    private CourseDAO courseDAO;
+
+    @Override
+    public void addCourse(Course course) {
+        courseDAO.insert(course);
+    }
+
+    @Override
+    public void delCourseById(Integer id) {
+        courseDAO.deleteByPrimaryKey(id);
+    }
+
+    @Override
+    public void updateById(Course course) {
+        courseDAO.updateByPrimaryKey(course);
+    }
+
+    @Override
+    public List<Course> selectAll() {
+        return courseDAO.selectAll();
+    }
+}
diff --git a/src/main/java/com/zhiyun/zhiyun03/directory/controller/DirectoryController.java b/src/main/java/com/zhiyun/zhiyun03/directory/controller/DirectoryController.java
new file mode 100644
index 0000000..83059a3
--- /dev/null
+++ b/src/main/java/com/zhiyun/zhiyun03/directory/controller/DirectoryController.java
@@ -0,0 +1,33 @@
+package com.zhiyun.zhiyun03.directory.controller;
+
+import com.zhiyun.zhiyun03.course.common.JsonResult;
+import com.zhiyun.zhiyun03.directory.entity.Directory;
+import com.zhiyun.zhiyun03.directory.servcie.DirectoryService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@Api("目录")
+@RestController
+@RequestMapping("/api/directory")
+public class DirectoryController {
+    @Autowired
+    private DirectoryService directoryService;
+
+    @ApiOperation("添加目录")
+    @PostMapping("/add")
+    public JsonResult addDirectory(Directory directory){
+        directoryService.addDirectory(directory);
+        return JsonResult.ok();
+    }
+
+
+
+
+
+
+
+}
diff --git a/src/main/java/com/zhiyun/zhiyun03/directory/servcie/DirectoryService.java b/src/main/java/com/zhiyun/zhiyun03/directory/servcie/DirectoryService.java
new file mode 100644
index 0000000..5eb61ae
--- /dev/null
+++ b/src/main/java/com/zhiyun/zhiyun03/directory/servcie/DirectoryService.java
@@ -0,0 +1,7 @@
+package com.zhiyun.zhiyun03.directory.servcie;
+
+import com.zhiyun.zhiyun03.directory.entity.Directory;
+
+public interface DirectoryService {
+    void addDirectory(Directory directory);
+}
diff --git a/src/main/java/com/zhiyun/zhiyun03/directory/servcie/impl/DirectoryServiceImpl.java b/src/main/java/com/zhiyun/zhiyun03/directory/servcie/impl/DirectoryServiceImpl.java
new file mode 100644
index 0000000..e10e1ff
--- /dev/null
+++ b/src/main/java/com/zhiyun/zhiyun03/directory/servcie/impl/DirectoryServiceImpl.java
@@ -0,0 +1,19 @@
+package com.zhiyun.zhiyun03.directory.servcie.impl;
+
+import com.zhiyun.zhiyun03.course.dao.DirectoryDAO;
+import com.zhiyun.zhiyun03.directory.entity.Directory;
+import com.zhiyun.zhiyun03.directory.servcie.DirectoryService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class DirectoryServiceImpl implements DirectoryService {
+
+    @Autowired
+    private DirectoryDAO directoryDAO;
+
+    @Override
+    public void addDirectory(Directory directory) {
+        directoryDAO.insert(directory);
+    }
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 0653c9e..27bac68 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -12,9 +12,12 @@ mybatis:
 spring:
   datasource:
     type: com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.jdbc.Driver
+    driverClassName: com.mysql.cj.jdbc.Driver
     druid:
       url: jdbc:mysql://localhost:3306/zhiyun?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
       username: root
-      password: 123456
+      password: root
 
+
+swagger:
+  enabled: true
\ No newline at end of file
diff --git a/src/main/resources/mapper/directory/DirectoryDAO.xml b/src/main/resources/mapper/directory/DirectoryDAO.xml
new file mode 100644
index 0000000..50e1e0e
--- /dev/null
+++ b/src/main/resources/mapper/directory/DirectoryDAO.xml
@@ -0,0 +1,63 @@
+<?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.zhiyun.zhiyun03.course.dao.DirectoryDAO">
+  <resultMap id="BaseResultMap" type="com.zhiyun.zhiyun03.directory.entity.Directory">
+    <id column="id" jdbcType="INTEGER" property="id" />
+    <result column="dir_name" jdbcType="VARCHAR" property="dirName" />
+    <result column="dir_img" jdbcType="VARCHAR" property="dirImg" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    id, dir_name, dir_img
+  </sql>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
+    select 
+    <include refid="Base_Column_List" />
+    from directory
+    where id = #{id,jdbcType=INTEGER}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
+    delete from directory
+    where id = #{id,jdbcType=INTEGER}
+  </delete>
+  <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.zhiyun.zhiyun03.directory.entity.Directory" useGeneratedKeys="true">
+    insert into directory (id,dir_name, dir_img)
+    values (#{id},#{dirName,jdbcType=VARCHAR}, #{dirImg,jdbcType=VARCHAR})
+  </insert>
+  <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.zhiyun.zhiyun03.directory.entity.Directory" useGeneratedKeys="true">
+    insert into directory
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="dirName != null">
+        dir_name,
+      </if>
+      <if test="dirImg != null">
+        dir_img,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="dirName != null">
+        #{dirName,jdbcType=VARCHAR},
+      </if>
+      <if test="dirImg != null">
+        #{dirImg,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="com.zhiyun.zhiyun03.directory.entity.Directory">
+    update directory
+    <set>
+      <if test="dirName != null">
+        dir_name = #{dirName,jdbcType=VARCHAR},
+      </if>
+      <if test="dirImg != null">
+        dir_img = #{dirImg,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where id = #{id,jdbcType=INTEGER}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.zhiyun.zhiyun03.directory.entity.Directory">
+    update directory
+    set dir_name = #{dirName,jdbcType=VARCHAR},
+      dir_img = #{dirImg,jdbcType=VARCHAR}
+    where id = #{id,jdbcType=INTEGER}
+  </update>
+</mapper>
\ No newline at end of file

From 1658f5ca18086a7555f74e22da7f9645794a3d6c Mon Sep 17 00:00:00 2001
From: wanghb <17803890193@163.com>
Date: Wed, 9 Aug 2023 18:12:48 +0800
Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../zhiyun/zhiyun03/Zhiyun03Application.java  |  2 +-
 .../course/controller/CourseController.java   | 67 +++++++---------
 .../zhiyun03/course/mapper/CourseMapper.java  |  9 +++
 .../course/service/CourseService.java         | 12 +--
 .../service/impl/CourseServiceImpl.java       | 78 ++++++++++++++-----
 .../zhiyun/zhiyun03/course/vo/CourseVo.java   | 20 +++++
 .../controller/DirectoryController.java       | 33 --------
 .../directory/servcie/DirectoryService.java   |  7 --
 .../servcie/impl/DirectoryServiceImpl.java    | 19 -----
 src/main/resources/mapper/DirectoryMapper.xml |  5 ++
 .../mapper/directory/DirectoryDAO.xml         | 63 ---------------
 11 files changed, 131 insertions(+), 184 deletions(-)
 create mode 100644 src/main/java/com/zhiyun/zhiyun03/course/mapper/CourseMapper.java
 create mode 100644 src/main/java/com/zhiyun/zhiyun03/course/vo/CourseVo.java
 delete mode 100644 src/main/java/com/zhiyun/zhiyun03/directory/controller/DirectoryController.java
 delete mode 100644 src/main/java/com/zhiyun/zhiyun03/directory/servcie/DirectoryService.java
 delete mode 100644 src/main/java/com/zhiyun/zhiyun03/directory/servcie/impl/DirectoryServiceImpl.java
 create mode 100644 src/main/resources/mapper/DirectoryMapper.xml
 delete mode 100644 src/main/resources/mapper/directory/DirectoryDAO.xml

diff --git a/src/main/java/com/zhiyun/zhiyun03/Zhiyun03Application.java b/src/main/java/com/zhiyun/zhiyun03/Zhiyun03Application.java
index 3b3da6b..aa812b3 100644
--- a/src/main/java/com/zhiyun/zhiyun03/Zhiyun03Application.java
+++ b/src/main/java/com/zhiyun/zhiyun03/Zhiyun03Application.java
@@ -6,7 +6,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.context.annotation.ComponentScan;
 
 @SpringBootApplication
-@MapperScan("com.zhiyun.**.dao")
+
 public class Zhiyun03Application {
 
     public static void main(String[] args) {
diff --git a/src/main/java/com/zhiyun/zhiyun03/course/controller/CourseController.java b/src/main/java/com/zhiyun/zhiyun03/course/controller/CourseController.java
index 0ddb10e..7ec77fe 100644
--- a/src/main/java/com/zhiyun/zhiyun03/course/controller/CourseController.java
+++ b/src/main/java/com/zhiyun/zhiyun03/course/controller/CourseController.java
@@ -6,6 +6,7 @@ import com.zhiyun.zhiyun03.course.common.JsonResult;
 import com.zhiyun.zhiyun03.course.entity.Course;
 
 import com.zhiyun.zhiyun03.course.service.CourseService;
+import com.zhiyun.zhiyun03.course.vo.CourseVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -24,49 +25,41 @@ public class CourseController {
 
     @ApiOperation("查询课程")
     @GetMapping("/selectAll")
-    public JsonResult selectAll(@RequestParam(value = "page", required = false,defaultValue = "1") Integer pageNum,
-                                @RequestParam(value = "limit", required = false,defaultValue = "1") Integer pageSize){
+    public List<CourseVo> queryCourse(){
 
-        PageHelper.startPage(pageNum,pageSize);
-       List<Course>  courseList = courseService.selectAll();
-
-        PageInfo<Course> coursePageInfo = new PageInfo<>();
-
-        JsonResult jsonResult = JsonResult.ok();
-        jsonResult.setData(coursePageInfo.getList());
-        jsonResult.setCount(coursePageInfo.getTotal());
-        return jsonResult;
+        List<CourseVo> list = courseService.queryCourse();
+        return list;
     }
 
 
-    @ApiOperation("课程添加")
-    @PostMapping("/add")
-    public JsonResult addCourse(Course course){
-        courseService.addCourse(course);
-        return JsonResult.ok();
-    }
-
-//    @ApiOperation("查询目录")
-//    @PostMapping("/select")
-//    public JsonResult selectDir(Directory directory){
-//        courseService.se(course);
+//    @ApiOperation("课程添加")
+//    @PostMapping("/add")
+//    public JsonResult addCourse(Course course){
+//        courseService.addCourse(course);
 //        return JsonResult.ok();
 //    }
-
-    @ApiOperation("删除课程")
-    @DeleteMapping("delById")
-    public JsonResult delCourseById(Integer id){
-        courseService.delCourseById(id);
-return JsonResult.ok();
-    }
-
-    @ApiOperation("更新课程")
-    @DeleteMapping("updateById")
-    public JsonResult updateById(Course course){
-        courseService.updateById(course);
-        return JsonResult.ok();
-    }
-
+//
+////    @ApiOperation("查询目录")
+////    @PostMapping("/select")
+////    public JsonResult selectDir(Directory directory){
+////        courseService.se(course);
+////        return JsonResult.ok();
+////    }
+//
+//    @ApiOperation("删除课程")
+//    @DeleteMapping("delById")
+//    public JsonResult delCourseById(Integer id){
+//        courseService.delCourseById(id);
+//return JsonResult.ok();
+//    }
+//
+//    @ApiOperation("更新课程")
+//    @DeleteMapping("updateById")
+//    public JsonResult updateById(Course course){
+//        courseService.updateById(course);
+//        return JsonResult.ok();
+//    }
+//
 
 
 
diff --git a/src/main/java/com/zhiyun/zhiyun03/course/mapper/CourseMapper.java b/src/main/java/com/zhiyun/zhiyun03/course/mapper/CourseMapper.java
new file mode 100644
index 0000000..38c326f
--- /dev/null
+++ b/src/main/java/com/zhiyun/zhiyun03/course/mapper/CourseMapper.java
@@ -0,0 +1,9 @@
+package com.zhiyun.zhiyun03.course.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhiyun.zhiyun03.course.entity.Course;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface CourseMapper extends BaseMapper<Course> {
+}
diff --git a/src/main/java/com/zhiyun/zhiyun03/course/service/CourseService.java b/src/main/java/com/zhiyun/zhiyun03/course/service/CourseService.java
index dc3b083..c68e712 100644
--- a/src/main/java/com/zhiyun/zhiyun03/course/service/CourseService.java
+++ b/src/main/java/com/zhiyun/zhiyun03/course/service/CourseService.java
@@ -1,15 +1,17 @@
 package com.zhiyun.zhiyun03.course.service;
 
 import com.zhiyun.zhiyun03.course.entity.Course;
+import com.zhiyun.zhiyun03.course.vo.CourseVo;
 
 import java.util.List;
 
 public interface CourseService {
-    public void addCourse(Course course);
+//    public void addCourse(Course course);
+//
+//    void delCourseById(Integer id);
+//
+//    void updateById(Course course);
 
-    void delCourseById(Integer id);
 
-    void updateById(Course course);
-
-    List<Course> selectAll();
+    List<CourseVo> queryCourse();
 }
diff --git a/src/main/java/com/zhiyun/zhiyun03/course/service/impl/CourseServiceImpl.java b/src/main/java/com/zhiyun/zhiyun03/course/service/impl/CourseServiceImpl.java
index cbb3b52..ef36776 100644
--- a/src/main/java/com/zhiyun/zhiyun03/course/service/impl/CourseServiceImpl.java
+++ b/src/main/java/com/zhiyun/zhiyun03/course/service/impl/CourseServiceImpl.java
@@ -1,36 +1,76 @@
 package com.zhiyun.zhiyun03.course.service.impl;
 
-import com.zhiyun.zhiyun03.course.dao.CourseDAO;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zhiyun.zhiyun03.application.entity.Directory;
+import com.zhiyun.zhiyun03.application.mapper.DirectoryMapper;
+import com.zhiyun.zhiyun03.application.util.ConvertUtil;
 import com.zhiyun.zhiyun03.course.entity.Course;
 import com.zhiyun.zhiyun03.course.service.CourseService;
-import org.springframework.beans.factory.annotation.Autowired;
+import com.zhiyun.zhiyun03.course.vo.CourseVo;
+import com.zhiyun.zhiyun03.course.mapper.CourseMapper;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.util.List;
 
 @Service
-public class CourseServiceImpl implements CourseService {
+public class CourseServiceImpl extends ServiceImpl<CourseMapper,Course> implements CourseService {
 
-    @Autowired
-    private CourseDAO courseDAO;
+    @Resource
+    private CourseMapper courseMapper;
 
-    @Override
-    public void addCourse(Course course) {
-        courseDAO.insert(course);
-    }
+    @Resource
+    DirectoryMapper directoryMapper;
 
-    @Override
-    public void delCourseById(Integer id) {
-        courseDAO.deleteByPrimaryKey(id);
-    }
 
-    @Override
-    public void updateById(Course course) {
-        courseDAO.updateByPrimaryKey(course);
-    }
 
+    /**
+     * 应用中心查询
+     */
     @Override
-    public List<Course> selectAll() {
-        return courseDAO.selectAll();
+    public List<CourseVo> queryCourse() {
+        QueryWrapper<Course> qwa=new QueryWrapper<>();
+        List<Course> courses = courseMapper.selectList(qwa);
+        QueryWrapper<Directory> qwd=new QueryWrapper<>();
+        List<Directory> directories = directoryMapper.selectList(qwd);
+        ConvertUtil convertUtil=new ConvertUtil();
+        List<CourseVo> applicationVos = convertUtil.entityToVoList(courses, CourseVo.class);
+
+        for (int i = 0; i < courses.size(); i++) {
+            for (int j = 0; j <directories.size() ; j++) {
+                if(courses.get(i).getDirId()==directories.get(i).getId()){
+                    applicationVos.get(i).setDirName(directories.get(i).getDirName());
+                }
+            }
+        }
+        return applicationVos;
     }
+
+
+
+//    @Override
+//    public void addCourse(Course course) {
+//        courseDAO.insert(course);
+//    }
+//
+//    @Override
+//    public void delCourseById(Integer id) {
+//        courseDAO.deleteByPrimaryKey(id);
+//    }
+//
+//    @Override
+//    public void updateById(Course course) {
+//        courseDAO.updateByPrimaryKey(course);
+//    }
+//
+//    @Override
+//    public List<CourseVo> queryCourse() {
+//        return null;
+//    }
+//
+//    @Override
+//    public List<Course> selectAll() {
+//        return courseDAO.selectAll();
+//    }
 }
diff --git a/src/main/java/com/zhiyun/zhiyun03/course/vo/CourseVo.java b/src/main/java/com/zhiyun/zhiyun03/course/vo/CourseVo.java
new file mode 100644
index 0000000..19c222a
--- /dev/null
+++ b/src/main/java/com/zhiyun/zhiyun03/course/vo/CourseVo.java
@@ -0,0 +1,20 @@
+package com.zhiyun.zhiyun03.course.vo;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+@Data
+public class CourseVo{
+    @TableId
+    private int id;
+
+    private String courseName;
+
+    private String courseBrief;
+
+    private String courseUrl;
+
+    private String dirName;
+
+    private String appIcon;
+}
diff --git a/src/main/java/com/zhiyun/zhiyun03/directory/controller/DirectoryController.java b/src/main/java/com/zhiyun/zhiyun03/directory/controller/DirectoryController.java
deleted file mode 100644
index 83059a3..0000000
--- a/src/main/java/com/zhiyun/zhiyun03/directory/controller/DirectoryController.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.zhiyun.zhiyun03.directory.controller;
-
-import com.zhiyun.zhiyun03.course.common.JsonResult;
-import com.zhiyun.zhiyun03.directory.entity.Directory;
-import com.zhiyun.zhiyun03.directory.servcie.DirectoryService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-@Api("目录")
-@RestController
-@RequestMapping("/api/directory")
-public class DirectoryController {
-    @Autowired
-    private DirectoryService directoryService;
-
-    @ApiOperation("添加目录")
-    @PostMapping("/add")
-    public JsonResult addDirectory(Directory directory){
-        directoryService.addDirectory(directory);
-        return JsonResult.ok();
-    }
-
-
-
-
-
-
-
-}
diff --git a/src/main/java/com/zhiyun/zhiyun03/directory/servcie/DirectoryService.java b/src/main/java/com/zhiyun/zhiyun03/directory/servcie/DirectoryService.java
deleted file mode 100644
index 5eb61ae..0000000
--- a/src/main/java/com/zhiyun/zhiyun03/directory/servcie/DirectoryService.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.zhiyun.zhiyun03.directory.servcie;
-
-import com.zhiyun.zhiyun03.directory.entity.Directory;
-
-public interface DirectoryService {
-    void addDirectory(Directory directory);
-}
diff --git a/src/main/java/com/zhiyun/zhiyun03/directory/servcie/impl/DirectoryServiceImpl.java b/src/main/java/com/zhiyun/zhiyun03/directory/servcie/impl/DirectoryServiceImpl.java
deleted file mode 100644
index e10e1ff..0000000
--- a/src/main/java/com/zhiyun/zhiyun03/directory/servcie/impl/DirectoryServiceImpl.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.zhiyun.zhiyun03.directory.servcie.impl;
-
-import com.zhiyun.zhiyun03.course.dao.DirectoryDAO;
-import com.zhiyun.zhiyun03.directory.entity.Directory;
-import com.zhiyun.zhiyun03.directory.servcie.DirectoryService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-@Service
-public class DirectoryServiceImpl implements DirectoryService {
-
-    @Autowired
-    private DirectoryDAO directoryDAO;
-
-    @Override
-    public void addDirectory(Directory directory) {
-        directoryDAO.insert(directory);
-    }
-}
diff --git a/src/main/resources/mapper/DirectoryMapper.xml b/src/main/resources/mapper/DirectoryMapper.xml
new file mode 100644
index 0000000..8055e7d
--- /dev/null
+++ b/src/main/resources/mapper/DirectoryMapper.xml
@@ -0,0 +1,5 @@
+<?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.zhiyun.zhiyun03.application.mapper.DirectoryMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/directory/DirectoryDAO.xml b/src/main/resources/mapper/directory/DirectoryDAO.xml
deleted file mode 100644
index 50e1e0e..0000000
--- a/src/main/resources/mapper/directory/DirectoryDAO.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?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.zhiyun.zhiyun03.course.dao.DirectoryDAO">
-  <resultMap id="BaseResultMap" type="com.zhiyun.zhiyun03.directory.entity.Directory">
-    <id column="id" jdbcType="INTEGER" property="id" />
-    <result column="dir_name" jdbcType="VARCHAR" property="dirName" />
-    <result column="dir_img" jdbcType="VARCHAR" property="dirImg" />
-  </resultMap>
-  <sql id="Base_Column_List">
-    id, dir_name, dir_img
-  </sql>
-  <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
-    select 
-    <include refid="Base_Column_List" />
-    from directory
-    where id = #{id,jdbcType=INTEGER}
-  </select>
-  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
-    delete from directory
-    where id = #{id,jdbcType=INTEGER}
-  </delete>
-  <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.zhiyun.zhiyun03.directory.entity.Directory" useGeneratedKeys="true">
-    insert into directory (id,dir_name, dir_img)
-    values (#{id},#{dirName,jdbcType=VARCHAR}, #{dirImg,jdbcType=VARCHAR})
-  </insert>
-  <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.zhiyun.zhiyun03.directory.entity.Directory" useGeneratedKeys="true">
-    insert into directory
-    <trim prefix="(" suffix=")" suffixOverrides=",">
-      <if test="dirName != null">
-        dir_name,
-      </if>
-      <if test="dirImg != null">
-        dir_img,
-      </if>
-    </trim>
-    <trim prefix="values (" suffix=")" suffixOverrides=",">
-      <if test="dirName != null">
-        #{dirName,jdbcType=VARCHAR},
-      </if>
-      <if test="dirImg != null">
-        #{dirImg,jdbcType=VARCHAR},
-      </if>
-    </trim>
-  </insert>
-  <update id="updateByPrimaryKeySelective" parameterType="com.zhiyun.zhiyun03.directory.entity.Directory">
-    update directory
-    <set>
-      <if test="dirName != null">
-        dir_name = #{dirName,jdbcType=VARCHAR},
-      </if>
-      <if test="dirImg != null">
-        dir_img = #{dirImg,jdbcType=VARCHAR},
-      </if>
-    </set>
-    where id = #{id,jdbcType=INTEGER}
-  </update>
-  <update id="updateByPrimaryKey" parameterType="com.zhiyun.zhiyun03.directory.entity.Directory">
-    update directory
-    set dir_name = #{dirName,jdbcType=VARCHAR},
-      dir_img = #{dirImg,jdbcType=VARCHAR}
-    where id = #{id,jdbcType=INTEGER}
-  </update>
-</mapper>
\ No newline at end of file

From e8a9b2a66eee70ff15688f2cdd75639c5e7b7d09 Mon Sep 17 00:00:00 2001
From: wanghb <17803890193@163.com>
Date: Thu, 10 Aug 2023 10:17:52 +0800
Subject: [PATCH 3/4] =?UTF-8?q?=E5=85=A8=E5=B1=80=E5=BC=82=E5=B8=B8?=
 =?UTF-8?q?=E5=92=8C=E8=BF=94=E5=9B=9E=E7=BB=9F=E4=B8=80=E7=BB=93=E6=9E=9C?=
 =?UTF-8?q?=E9=9B=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../application/mapper/ApplicationMapper.java |  1 +
 .../course/config/MybatisPlusConfig.java      | 19 +++++
 .../course/controller/CourseController.java   | 49 ++++++------
 .../zhiyun03/course/mapper/CourseMapper.java  |  5 ++
 .../zhiyun03/course/param/PageParam.java      |  9 +++
 .../course/service/CourseService.java         | 12 ++-
 .../service/impl/CourseServiceImpl.java       | 54 +++++++++++--
 .../zhiyun/zhiyun03/course/vo/CourseVo.java   |  5 +-
 .../com/zhiyun/zhiyun03/course/vo/PageVO.java | 13 ++++
 .../zhiyun/zhiyun03/utils/common/Result.java  | 76 +++++++++++++++++++
 .../zhiyun03/utils/common/ResultCode.java     | 22 ++++++
 .../exception/GlobalExceptionHandler.java     | 27 +++++++
 .../utils/exception/ServiceException.java     | 33 ++++++++
 src/main/resources/application.yml            | 26 ++++---
 14 files changed, 307 insertions(+), 44 deletions(-)
 create mode 100644 src/main/java/com/zhiyun/zhiyun03/course/config/MybatisPlusConfig.java
 create mode 100644 src/main/java/com/zhiyun/zhiyun03/course/param/PageParam.java
 create mode 100644 src/main/java/com/zhiyun/zhiyun03/course/vo/PageVO.java
 create mode 100644 src/main/java/com/zhiyun/zhiyun03/utils/common/Result.java
 create mode 100644 src/main/java/com/zhiyun/zhiyun03/utils/common/ResultCode.java
 create mode 100644 src/main/java/com/zhiyun/zhiyun03/utils/exception/GlobalExceptionHandler.java
 create mode 100644 src/main/java/com/zhiyun/zhiyun03/utils/exception/ServiceException.java

diff --git a/src/main/java/com/zhiyun/zhiyun03/application/mapper/ApplicationMapper.java b/src/main/java/com/zhiyun/zhiyun03/application/mapper/ApplicationMapper.java
index 3408c5c..5c5aab4 100644
--- a/src/main/java/com/zhiyun/zhiyun03/application/mapper/ApplicationMapper.java
+++ b/src/main/java/com/zhiyun/zhiyun03/application/mapper/ApplicationMapper.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhiyun.zhiyun03.application.entity.Application;
 import org.apache.ibatis.annotations.Mapper;
 
+
 @Mapper
 public interface ApplicationMapper extends BaseMapper<Application> {
 }
diff --git a/src/main/java/com/zhiyun/zhiyun03/course/config/MybatisPlusConfig.java b/src/main/java/com/zhiyun/zhiyun03/course/config/MybatisPlusConfig.java
new file mode 100644
index 0000000..e5e1263
--- /dev/null
+++ b/src/main/java/com/zhiyun/zhiyun03/course/config/MybatisPlusConfig.java
@@ -0,0 +1,19 @@
+package com.zhiyun.zhiyun03.course.config;
+
+import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class MybatisPlusConfig {
+    // 从MyBatis-Plus 3.4.0开始,不再使用旧版本的PaginationInterceptor ,而是使用MybatisPlusInterceptor
+    @Bean
+    public MybatisPlusInterceptor mybatisPlusInterceptor() {
+        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
+        // 向MyBatis-Plus的过滤器链中添加分页拦截器,需要设置数据库类型(主要用于分页方言)
+        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
+        return interceptor;
+    }
+}
diff --git a/src/main/java/com/zhiyun/zhiyun03/course/controller/CourseController.java b/src/main/java/com/zhiyun/zhiyun03/course/controller/CourseController.java
index 7ec77fe..4722483 100644
--- a/src/main/java/com/zhiyun/zhiyun03/course/controller/CourseController.java
+++ b/src/main/java/com/zhiyun/zhiyun03/course/controller/CourseController.java
@@ -7,11 +7,14 @@ import com.zhiyun.zhiyun03.course.entity.Course;
 
 import com.zhiyun.zhiyun03.course.service.CourseService;
 import com.zhiyun.zhiyun03.course.vo.CourseVo;
+import com.zhiyun.zhiyun03.course.vo.PageVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import java.util.List;
 
 @Api("课程")
@@ -19,7 +22,7 @@ import java.util.List;
 @RequestMapping("/api/course")
 public class CourseController {
 
-    @Autowired
+    @Resource
     private CourseService courseService;
 
 
@@ -27,17 +30,17 @@ public class CourseController {
     @GetMapping("/selectAll")
     public List<CourseVo> queryCourse(){
 
-        List<CourseVo> list = courseService.queryCourse();
-        return list;
+        List<CourseVo> lists =  courseService.queryCourse();
+        return lists;
     }
 
 
-//    @ApiOperation("课程添加")
-//    @PostMapping("/add")
-//    public JsonResult addCourse(Course course){
-//        courseService.addCourse(course);
-//        return JsonResult.ok();
-//    }
+    @ApiOperation("课程添加")
+    @PostMapping("/add")
+    public String addCourse(Course course){
+        courseService.addCourse(course);
+        return "success";
+    }
 //
 ////    @ApiOperation("查询目录")
 ////    @PostMapping("/select")
@@ -46,20 +49,20 @@ public class CourseController {
 ////        return JsonResult.ok();
 ////    }
 //
-//    @ApiOperation("删除课程")
-//    @DeleteMapping("delById")
-//    public JsonResult delCourseById(Integer id){
-//        courseService.delCourseById(id);
-//return JsonResult.ok();
-//    }
-//
-//    @ApiOperation("更新课程")
-//    @DeleteMapping("updateById")
-//    public JsonResult updateById(Course course){
-//        courseService.updateById(course);
-//        return JsonResult.ok();
-//    }
-//
+    @ApiOperation("删除课程")
+    @DeleteMapping("delById")
+    public String delCourseById(Integer id){
+        courseService.delCourseById(id);
+        return "success";
+    }
+
+    @ApiOperation("更新课程")
+    @PostMapping("update")
+    public String updateById(Course course){
+        courseService.update(course);
+        return "success";
+    }
+
 
 
 
diff --git a/src/main/java/com/zhiyun/zhiyun03/course/mapper/CourseMapper.java b/src/main/java/com/zhiyun/zhiyun03/course/mapper/CourseMapper.java
index 38c326f..2548fa2 100644
--- a/src/main/java/com/zhiyun/zhiyun03/course/mapper/CourseMapper.java
+++ b/src/main/java/com/zhiyun/zhiyun03/course/mapper/CourseMapper.java
@@ -4,6 +4,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhiyun.zhiyun03.course.entity.Course;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.util.List;
+
 @Mapper
 public interface CourseMapper extends BaseMapper<Course> {
+
+
+
 }
diff --git a/src/main/java/com/zhiyun/zhiyun03/course/param/PageParam.java b/src/main/java/com/zhiyun/zhiyun03/course/param/PageParam.java
new file mode 100644
index 0000000..38c843a
--- /dev/null
+++ b/src/main/java/com/zhiyun/zhiyun03/course/param/PageParam.java
@@ -0,0 +1,9 @@
+package com.zhiyun.zhiyun03.course.param;
+
+import lombok.Data;
+
+@Data
+public class PageParam {
+    private Integer currentPage;
+    private Integer pageSize;
+}
diff --git a/src/main/java/com/zhiyun/zhiyun03/course/service/CourseService.java b/src/main/java/com/zhiyun/zhiyun03/course/service/CourseService.java
index c68e712..ef858c1 100644
--- a/src/main/java/com/zhiyun/zhiyun03/course/service/CourseService.java
+++ b/src/main/java/com/zhiyun/zhiyun03/course/service/CourseService.java
@@ -1,11 +1,15 @@
 package com.zhiyun.zhiyun03.course.service;
 
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.zhiyun.zhiyun03.course.entity.Course;
 import com.zhiyun.zhiyun03.course.vo.CourseVo;
+import com.zhiyun.zhiyun03.course.vo.PageVO;
+import io.swagger.annotations.ApiParam;
+import org.springframework.web.bind.annotation.RequestParam;
 
 import java.util.List;
 
-public interface CourseService {
+public interface CourseService extends IService<Course> {
 //    public void addCourse(Course course);
 //
 //    void delCourseById(Integer id);
@@ -14,4 +18,10 @@ public interface CourseService {
 
 
     List<CourseVo> queryCourse();
+
+    void addCourse(Course course);
+
+    void delCourseById(Integer id);
+
+    void update(Course course);
 }
diff --git a/src/main/java/com/zhiyun/zhiyun03/course/service/impl/CourseServiceImpl.java b/src/main/java/com/zhiyun/zhiyun03/course/service/impl/CourseServiceImpl.java
index ef36776..996834b 100644
--- a/src/main/java/com/zhiyun/zhiyun03/course/service/impl/CourseServiceImpl.java
+++ b/src/main/java/com/zhiyun/zhiyun03/course/service/impl/CourseServiceImpl.java
@@ -1,7 +1,10 @@
 package com.zhiyun.zhiyun03.course.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fasterxml.jackson.databind.util.BeanUtil;
+import com.github.pagehelper.Page;
 import com.zhiyun.zhiyun03.application.entity.Directory;
 import com.zhiyun.zhiyun03.application.mapper.DirectoryMapper;
 import com.zhiyun.zhiyun03.application.util.ConvertUtil;
@@ -9,6 +12,8 @@ import com.zhiyun.zhiyun03.course.entity.Course;
 import com.zhiyun.zhiyun03.course.service.CourseService;
 import com.zhiyun.zhiyun03.course.vo.CourseVo;
 import com.zhiyun.zhiyun03.course.mapper.CourseMapper;
+import com.zhiyun.zhiyun03.course.vo.PageVO;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -21,7 +26,7 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper,Course> implemen
     private CourseMapper courseMapper;
 
     @Resource
-    DirectoryMapper directoryMapper;
+   private DirectoryMapper directoryMapper;
 
 
 
@@ -30,6 +35,7 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper,Course> implemen
      */
     @Override
     public List<CourseVo> queryCourse() {
+
         QueryWrapper<Course> qwa=new QueryWrapper<>();
         List<Course> courses = courseMapper.selectList(qwa);
         QueryWrapper<Directory> qwd=new QueryWrapper<>();
@@ -39,21 +45,53 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper,Course> implemen
 
         for (int i = 0; i < courses.size(); i++) {
             for (int j = 0; j <directories.size() ; j++) {
-                if(courses.get(i).getDirId()==directories.get(i).getId()){
-                    applicationVos.get(i).setDirName(directories.get(i).getDirName());
+                //判断目录id是否相等
+                if(courses.get(i).getDirId()==directories.get(j).getId()){
+                    //将目录名称添加到vo类中
+                    applicationVos.get(i).setDirName(directories.get(j).getDirName());
                 }
             }
         }
         return applicationVos;
+
+
+
     }
 
 
 
-//    @Override
-//    public void addCourse(Course course) {
-//        courseDAO.insert(course);
-//    }
-//
+    @Override
+    public void addCourse(Course course) {
+
+        courseMapper.insert(course);
+        UpdateWrapper<Directory> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.set("id",course.getDirId());
+        directoryMapper.update(null,updateWrapper);
+
+
+    }
+
+    @Override
+    public void delCourseById(Integer id) {
+        courseMapper.deleteById(id);
+    }
+
+    @Override
+    public void update(Course course) {
+        //变更数据进行更新
+
+
+
+        UpdateWrapper<Course> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.set("course_name",course.getCourseName());
+        updateWrapper.set("course_brief",course.getCourseBrief());
+        updateWrapper.set("course_url",course.getCourseUrl());
+        updateWrapper.set("dir_id",course.getDirId());
+        updateWrapper.set("course_icon",course.getCourseIcon());
+        updateWrapper.eq("id",course.getId());
+        courseMapper.update(null,updateWrapper);
+    }
+
 //    @Override
 //    public void delCourseById(Integer id) {
 //        courseDAO.deleteByPrimaryKey(id);
diff --git a/src/main/java/com/zhiyun/zhiyun03/course/vo/CourseVo.java b/src/main/java/com/zhiyun/zhiyun03/course/vo/CourseVo.java
index 19c222a..804ee88 100644
--- a/src/main/java/com/zhiyun/zhiyun03/course/vo/CourseVo.java
+++ b/src/main/java/com/zhiyun/zhiyun03/course/vo/CourseVo.java
@@ -1,10 +1,11 @@
 package com.zhiyun.zhiyun03.course.vo;
 
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.zhiyun.zhiyun03.course.param.PageParam;
 import lombok.Data;
 
 @Data
-public class CourseVo{
+public class CourseVo {
     @TableId
     private int id;
 
@@ -16,5 +17,5 @@ public class CourseVo{
 
     private String dirName;
 
-    private String appIcon;
+    private String courseIcon;
 }
diff --git a/src/main/java/com/zhiyun/zhiyun03/course/vo/PageVO.java b/src/main/java/com/zhiyun/zhiyun03/course/vo/PageVO.java
new file mode 100644
index 0000000..f37cbee
--- /dev/null
+++ b/src/main/java/com/zhiyun/zhiyun03/course/vo/PageVO.java
@@ -0,0 +1,13 @@
+package com.zhiyun.zhiyun03.course.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class PageVO<T> {
+
+    private Integer currentPage;
+    private Long total;
+    private List<T> list;
+}
diff --git a/src/main/java/com/zhiyun/zhiyun03/utils/common/Result.java b/src/main/java/com/zhiyun/zhiyun03/utils/common/Result.java
new file mode 100644
index 0000000..4827bc2
--- /dev/null
+++ b/src/main/java/com/zhiyun/zhiyun03/utils/common/Result.java
@@ -0,0 +1,76 @@
+package com.zhiyun.zhiyun03.utils.common;
+
+import lombok.Data;
+
+@Data
+public class Result<T> {
+
+//返回信息码
+private String code;
+//返回信息
+private String msg;
+//返回数据
+T data;
+
+public Result(){}
+
+public  Result(T data){
+    this.data=data;
+}
+
+
+//成功,只返回成功码和信息
+public  Result<T> success(){
+    Result<T> result=new Result<>();
+    result.setCode(ResultCode.SUCCESS.code);
+    result.setMsg(ResultCode.SUCCESS.msg);
+    return result;
+}
+
+//成功,返回成功码、信息和数据
+public Result<T> success(T data){
+    Result<T> result=new Result();
+    result.setCode(ResultCode.SUCCESS.code);
+    result.setMsg(ResultCode.SUCCESS.msg);
+    result.setData(data);
+    return result;
+}
+
+//失败,返回自己定义的信息码和信息
+public Result<T> error(){
+    Result<T> result=new Result<>();
+    result.setCode(ResultCode.ERROR.code);
+    result.setMsg(ResultCode.ERROR.code);
+    return result;
+}
+
+//失败,返回controller层传过来信息码和信息
+public Result<T> error(String code,String msg){
+    Result<T> result=new Result<>();
+    result.setCode(code);
+    result.setMsg(msg);
+    return result;
+}
+
+
+public void setCode(String code){
+    this.code=code;
+}
+
+public void setMsg(String msg){
+    this.msg=msg;
+}
+
+public void setData(T data){
+    this.data=data;
+}
+
+@Override
+public String toString() {
+    return "Result{" +
+            "code='" + code + '\'' +
+            ", msg='" + msg + '\'' +
+            ", data=" + data +
+            '}';
+}
+}
diff --git a/src/main/java/com/zhiyun/zhiyun03/utils/common/ResultCode.java b/src/main/java/com/zhiyun/zhiyun03/utils/common/ResultCode.java
new file mode 100644
index 0000000..bc08107
--- /dev/null
+++ b/src/main/java/com/zhiyun/zhiyun03/utils/common/ResultCode.java
@@ -0,0 +1,22 @@
+package com.zhiyun.zhiyun03.utils.common;
+
+public enum ResultCode {
+    SUCCESS("0", "成功"),
+    ERROR("-1", "系统异常"),
+    PARAM_ERROR("1001", "参数异常"),
+    USER_EXIST_ERROR("2001", "用户已存在"),
+    USER_ACCOUNT_ERROR("2002", "账号或密码错误"),
+    USER_NOT_EXIST_ERROR("2003", "未找到用户"),
+    ORDER_PAY_ERROR("3001", "库存不足,下单失败"),
+    PARAM_LOST_ERROR("2004", "参数缺失"),
+    PARAM_PASSWORD_ERROR("2005", "原密码输入错误"),
+    ;
+
+    public String code;
+    public String msg;
+
+    ResultCode(String code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+}
diff --git a/src/main/java/com/zhiyun/zhiyun03/utils/exception/GlobalExceptionHandler.java b/src/main/java/com/zhiyun/zhiyun03/utils/exception/GlobalExceptionHandler.java
new file mode 100644
index 0000000..f853d53
--- /dev/null
+++ b/src/main/java/com/zhiyun/zhiyun03/utils/exception/GlobalExceptionHandler.java
@@ -0,0 +1,27 @@
+package com.zhiyun.zhiyun03.utils.exception;
+
+import com.zhiyun.zhiyun03.utils.common.Result;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.RestControllerAdvice;
+
+// @RestController + @ResponseBody
+@RestControllerAdvice
+@Slf4j
+public class GlobalExceptionHandler {
+
+    @ExceptionHandler(ServiceException.class)
+    public Result serviceExceptionHandler(ServiceException e) {
+        log.error("异常信息", e);
+        Result<Object> result = new Result<>();
+        return result.error(e.getCode(), e.getMsg());
+    }
+
+    @ExceptionHandler(Exception.class)
+    public Result exceptionHandler(Exception e) {
+        log.error("未知异常", e);
+        Result<Object> result = new Result<>();
+        return result.error("500", "未知异常,请联系管理员");
+    }
+
+}
diff --git a/src/main/java/com/zhiyun/zhiyun03/utils/exception/ServiceException.java b/src/main/java/com/zhiyun/zhiyun03/utils/exception/ServiceException.java
new file mode 100644
index 0000000..315528b
--- /dev/null
+++ b/src/main/java/com/zhiyun/zhiyun03/utils/exception/ServiceException.java
@@ -0,0 +1,33 @@
+package com.zhiyun.zhiyun03.utils.exception;
+
+public class ServiceException extends RuntimeException {
+
+    private String code;
+    private String msg;
+
+    public ServiceException() {
+    }
+
+    public ServiceException(String code, String msg) {
+        super(msg);
+        this.code = code;
+        this.msg = msg;
+
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 27bac68..bd3bb65 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,23 +1,29 @@
 server:
   port: 8080
 
-
-mybatis:
-  mapper-locations: classpath*:mapper/**/*.xml
-  configuration:
-    map-underscore-to-camel-case: true
-    # ???????
-    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
-
+#
+#mybatis:
+#  mapper-locations: classpath*:mapper/**/*.xml
+#  configuration:
+#    map-underscore-to-camel-case: true
+#    # ???????
+#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+#
 spring:
   datasource:
     type: com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
+    driverClassName: com.mysql.jdbc.Driver
     druid:
       url: jdbc:mysql://localhost:3306/zhiyun?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
       username: root
       password: root
 
 
+
+# mybatis plus的配置和mybatis类似,之前在mybatis的配置,使用mybtis-plus替换
+mybatis-plus:
+  configuration:
+    # 控制台打印日志
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
 swagger:
-  enabled: true
\ No newline at end of file
+  enabled: true

From 610d8b9c9fc3ade5e495c97b3b48bb6a8719f71f Mon Sep 17 00:00:00 2001
From: wanghb <17803890193@163.com>
Date: Thu, 10 Aug 2023 10:35:04 +0800
Subject: [PATCH 4/4] =?UTF-8?q?=E5=85=A8=E5=B1=80=E5=BC=82=E5=B8=B8?=
 =?UTF-8?q?=E5=92=8C=E8=BF=94=E5=9B=9E=E7=BB=9F=E4=B8=80=E7=BB=93=E6=9E=9C?=
 =?UTF-8?q?=E9=9B=86=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../course/controller/CourseController.java   | 23 +++---
 .../service/impl/CourseServiceImpl.java       | 39 ++++------
 .../{course => utils}/common/JsonResult.java  | 18 ++---
 .../zhiyun/zhiyun03/utils/common/Result.java  | 76 -------------------
 .../exception/GlobalExceptionHandler.java     | 14 ++--
 5 files changed, 41 insertions(+), 129 deletions(-)
 rename src/main/java/com/zhiyun/zhiyun03/{course => utils}/common/JsonResult.java (64%)
 delete mode 100644 src/main/java/com/zhiyun/zhiyun03/utils/common/Result.java

diff --git a/src/main/java/com/zhiyun/zhiyun03/course/controller/CourseController.java b/src/main/java/com/zhiyun/zhiyun03/course/controller/CourseController.java
index 4722483..e52020f 100644
--- a/src/main/java/com/zhiyun/zhiyun03/course/controller/CourseController.java
+++ b/src/main/java/com/zhiyun/zhiyun03/course/controller/CourseController.java
@@ -1,13 +1,13 @@
 package com.zhiyun.zhiyun03.course.controller;
 
-import com.github.pagehelper.PageHelper;
-import com.github.pagehelper.PageInfo;
-import com.zhiyun.zhiyun03.course.common.JsonResult;
+
 import com.zhiyun.zhiyun03.course.entity.Course;
 
 import com.zhiyun.zhiyun03.course.service.CourseService;
 import com.zhiyun.zhiyun03.course.vo.CourseVo;
 import com.zhiyun.zhiyun03.course.vo.PageVO;
+
+import com.zhiyun.zhiyun03.utils.common.JsonResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -28,18 +28,19 @@ public class CourseController {
 
     @ApiOperation("查询课程")
     @GetMapping("/selectAll")
-    public List<CourseVo> queryCourse(){
+    public JsonResult<CourseVo> queryCourse(){
 
         List<CourseVo> lists =  courseService.queryCourse();
-        return lists;
+
+        return JsonResult.success(lists);
     }
 
 
     @ApiOperation("课程添加")
     @PostMapping("/add")
-    public String addCourse(Course course){
+    public JsonResult addCourse(Course course){
         courseService.addCourse(course);
-        return "success";
+        return JsonResult.success();
     }
 //
 ////    @ApiOperation("查询目录")
@@ -51,16 +52,16 @@ public class CourseController {
 //
     @ApiOperation("删除课程")
     @DeleteMapping("delById")
-    public String delCourseById(Integer id){
+    public JsonResult delCourseById(Integer id){
         courseService.delCourseById(id);
-        return "success";
+        return JsonResult.success();
     }
 
     @ApiOperation("更新课程")
     @PostMapping("update")
-    public String updateById(Course course){
+    public JsonResult updateById(Course course){
         courseService.update(course);
-        return "success";
+        return JsonResult.success();
     }
 
 
diff --git a/src/main/java/com/zhiyun/zhiyun03/course/service/impl/CourseServiceImpl.java b/src/main/java/com/zhiyun/zhiyun03/course/service/impl/CourseServiceImpl.java
index 996834b..13e573b 100644
--- a/src/main/java/com/zhiyun/zhiyun03/course/service/impl/CourseServiceImpl.java
+++ b/src/main/java/com/zhiyun/zhiyun03/course/service/impl/CourseServiceImpl.java
@@ -59,29 +59,34 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper,Course> implemen
     }
 
 
-
+    /**
+     * 添加课程
+     */
     @Override
     public void addCourse(Course course) {
 
         courseMapper.insert(course);
-        UpdateWrapper<Directory> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.set("id",course.getDirId());
-        directoryMapper.update(null,updateWrapper);
+//        UpdateWrapper<Directory> updateWrapper = new UpdateWrapper<>();
+//        updateWrapper.set("id",course.getDirId());
+//        directoryMapper.update(null,updateWrapper);
 
 
     }
 
+    /**
+     * 删除课程
+     */
     @Override
     public void delCourseById(Integer id) {
         courseMapper.deleteById(id);
     }
 
+    /**
+     * 课程更新
+     */
     @Override
     public void update(Course course) {
         //变更数据进行更新
-
-
-
         UpdateWrapper<Course> updateWrapper = new UpdateWrapper<>();
         updateWrapper.set("course_name",course.getCourseName());
         updateWrapper.set("course_brief",course.getCourseBrief());
@@ -92,23 +97,5 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper,Course> implemen
         courseMapper.update(null,updateWrapper);
     }
 
-//    @Override
-//    public void delCourseById(Integer id) {
-//        courseDAO.deleteByPrimaryKey(id);
-//    }
-//
-//    @Override
-//    public void updateById(Course course) {
-//        courseDAO.updateByPrimaryKey(course);
-//    }
-//
-//    @Override
-//    public List<CourseVo> queryCourse() {
-//        return null;
-//    }
-//
-//    @Override
-//    public List<Course> selectAll() {
-//        return courseDAO.selectAll();
-//    }
+
 }
diff --git a/src/main/java/com/zhiyun/zhiyun03/course/common/JsonResult.java b/src/main/java/com/zhiyun/zhiyun03/utils/common/JsonResult.java
similarity index 64%
rename from src/main/java/com/zhiyun/zhiyun03/course/common/JsonResult.java
rename to src/main/java/com/zhiyun/zhiyun03/utils/common/JsonResult.java
index f0702fd..5c17099 100644
--- a/src/main/java/com/zhiyun/zhiyun03/course/common/JsonResult.java
+++ b/src/main/java/com/zhiyun/zhiyun03/utils/common/JsonResult.java
@@ -1,28 +1,28 @@
-package com.zhiyun.zhiyun03.course.common;
+package com.zhiyun.zhiyun03.utils.common;
 
 import lombok.Data;
 
 @Data
 public class JsonResult<T> {
 
-    private Integer code;
+    private String code;
     private String msg;
     private T data;
-    private Long count;
 
-    public static JsonResult ok() {
+
+    public static JsonResult success() {
 
         JsonResult jsonResult = new JsonResult();
-        jsonResult.setCode(200);//code值是自行定义
+        jsonResult.setCode("200");//code值是自行定义
         jsonResult.setMsg("success");
 
         return jsonResult;
     }
 
-    public static <T> JsonResult ok(T data) {
+    public static <T> JsonResult success(T data) {
 
         JsonResult jsonResult = new JsonResult();
-        jsonResult.setCode(200);//code值是自行定义
+        jsonResult.setCode("200");//code值是自行定义
         jsonResult.setMsg("success");
         jsonResult.setData(data);
         return jsonResult;
@@ -31,13 +31,13 @@ public class JsonResult<T> {
     public static JsonResult error() {
 
         JsonResult jsonResult = new JsonResult();
-        jsonResult.setCode(500);
+        jsonResult.setCode("500");
         jsonResult.setMsg("fail");
 
         return jsonResult;
     }
 
-    public static JsonResult error(int code, String msg) {
+    public static JsonResult error(String code, String msg) {
 
         JsonResult jsonResult = new JsonResult();
         jsonResult.setCode(code);
diff --git a/src/main/java/com/zhiyun/zhiyun03/utils/common/Result.java b/src/main/java/com/zhiyun/zhiyun03/utils/common/Result.java
deleted file mode 100644
index 4827bc2..0000000
--- a/src/main/java/com/zhiyun/zhiyun03/utils/common/Result.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package com.zhiyun.zhiyun03.utils.common;
-
-import lombok.Data;
-
-@Data
-public class Result<T> {
-
-//返回信息码
-private String code;
-//返回信息
-private String msg;
-//返回数据
-T data;
-
-public Result(){}
-
-public  Result(T data){
-    this.data=data;
-}
-
-
-//成功,只返回成功码和信息
-public  Result<T> success(){
-    Result<T> result=new Result<>();
-    result.setCode(ResultCode.SUCCESS.code);
-    result.setMsg(ResultCode.SUCCESS.msg);
-    return result;
-}
-
-//成功,返回成功码、信息和数据
-public Result<T> success(T data){
-    Result<T> result=new Result();
-    result.setCode(ResultCode.SUCCESS.code);
-    result.setMsg(ResultCode.SUCCESS.msg);
-    result.setData(data);
-    return result;
-}
-
-//失败,返回自己定义的信息码和信息
-public Result<T> error(){
-    Result<T> result=new Result<>();
-    result.setCode(ResultCode.ERROR.code);
-    result.setMsg(ResultCode.ERROR.code);
-    return result;
-}
-
-//失败,返回controller层传过来信息码和信息
-public Result<T> error(String code,String msg){
-    Result<T> result=new Result<>();
-    result.setCode(code);
-    result.setMsg(msg);
-    return result;
-}
-
-
-public void setCode(String code){
-    this.code=code;
-}
-
-public void setMsg(String msg){
-    this.msg=msg;
-}
-
-public void setData(T data){
-    this.data=data;
-}
-
-@Override
-public String toString() {
-    return "Result{" +
-            "code='" + code + '\'' +
-            ", msg='" + msg + '\'' +
-            ", data=" + data +
-            '}';
-}
-}
diff --git a/src/main/java/com/zhiyun/zhiyun03/utils/exception/GlobalExceptionHandler.java b/src/main/java/com/zhiyun/zhiyun03/utils/exception/GlobalExceptionHandler.java
index f853d53..5166940 100644
--- a/src/main/java/com/zhiyun/zhiyun03/utils/exception/GlobalExceptionHandler.java
+++ b/src/main/java/com/zhiyun/zhiyun03/utils/exception/GlobalExceptionHandler.java
@@ -1,6 +1,6 @@
 package com.zhiyun.zhiyun03.utils.exception;
 
-import com.zhiyun.zhiyun03.utils.common.Result;
+import com.zhiyun.zhiyun03.utils.common.JsonResult;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.ExceptionHandler;
 import org.springframework.web.bind.annotation.RestControllerAdvice;
@@ -11,17 +11,17 @@ import org.springframework.web.bind.annotation.RestControllerAdvice;
 public class GlobalExceptionHandler {
 
     @ExceptionHandler(ServiceException.class)
-    public Result serviceExceptionHandler(ServiceException e) {
+    public JsonResult serviceExceptionHandler(ServiceException e) {
         log.error("异常信息", e);
-        Result<Object> result = new Result<>();
-        return result.error(e.getCode(), e.getMsg());
+
+        return JsonResult.error(e.getCode(), e.getMsg());
     }
 
     @ExceptionHandler(Exception.class)
-    public Result exceptionHandler(Exception e) {
+    public JsonResult exceptionHandler(Exception e) {
         log.error("未知异常", e);
-        Result<Object> result = new Result<>();
-        return result.error("500", "未知异常,请联系管理员");
+
+        return JsonResult.error("500", "未知异常,请联系管理员");
     }
 
 }