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 @@ 5.0.7 + + com.github.pagehelper + pagehelper + 5.3.2 + + + + + com.github.xiaoymin + knife4j-spring-boot-starter + 3.0.3 + + 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 { + + 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 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的接口配置 + *

+ * 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 securitySchemes() { + List apiKeyList = new ArrayList(); + apiKeyList.add(new ApiKey("token", "token", In.HEADER.toValue())); + return apiKeyList; + } + + /** + * 安全上下文 + */ + private List securityContexts() { + List securityContexts = new ArrayList<>(); + securityContexts.add( + SecurityContext.builder() + .securityReferences(defaultAuth()) + .operationSelector(o -> o.requestMappingPattern().matches("/.*")) + .build()); + return securityContexts; + } + + /** + * 默认的安全上引用 + */ + private List defaultAuth() { + AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything"); + AuthorizationScope[] authorizationScopes = new AuthorizationScope[1]; + authorizationScopes[0] = authorizationScope; + List 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 courseList = courseService.selectAll(); + + PageInfo 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 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 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 @@ + + + + + + + + + + id, dir_name, dir_img + + + + delete from directory + where id = #{id,jdbcType=INTEGER} + + + insert into directory (id,dir_name, dir_img) + values (#{id},#{dirName,jdbcType=VARCHAR}, #{dirImg,jdbcType=VARCHAR}) + + + insert into directory + + + dir_name, + + + dir_img, + + + + + #{dirName,jdbcType=VARCHAR}, + + + #{dirImg,jdbcType=VARCHAR}, + + + + + update directory + + + dir_name = #{dirName,jdbcType=VARCHAR}, + + + dir_img = #{dirImg,jdbcType=VARCHAR}, + + + where id = #{id,jdbcType=INTEGER} + + + update directory + set dir_name = #{dirName,jdbcType=VARCHAR}, + dir_img = #{dirImg,jdbcType=VARCHAR} + where id = #{id,jdbcType=INTEGER} + + \ 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 queryCourse(){ - PageHelper.startPage(pageNum,pageSize); - List courseList = courseService.selectAll(); - - PageInfo coursePageInfo = new PageInfo<>(); - - JsonResult jsonResult = JsonResult.ok(); - jsonResult.setData(coursePageInfo.getList()); - jsonResult.setCount(coursePageInfo.getTotal()); - return jsonResult; + List 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 { +} 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 selectAll(); + List 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 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 selectAll() { - return courseDAO.selectAll(); + public List queryCourse() { + QueryWrapper qwa=new QueryWrapper<>(); + List courses = courseMapper.selectList(qwa); + QueryWrapper qwd=new QueryWrapper<>(); + List directories = directoryMapper.selectList(qwd); + ConvertUtil convertUtil=new ConvertUtil(); + List applicationVos = convertUtil.entityToVoList(courses, CourseVo.class); + + for (int i = 0; i < courses.size(); i++) { + for (int j = 0; j queryCourse() { +// return null; +// } +// +// @Override +// public List 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 @@ + + + + + \ 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 @@ - - - - - - - - - - id, dir_name, dir_img - - - - delete from directory - where id = #{id,jdbcType=INTEGER} - - - insert into directory (id,dir_name, dir_img) - values (#{id},#{dirName,jdbcType=VARCHAR}, #{dirImg,jdbcType=VARCHAR}) - - - insert into directory - - - dir_name, - - - dir_img, - - - - - #{dirName,jdbcType=VARCHAR}, - - - #{dirImg,jdbcType=VARCHAR}, - - - - - update directory - - - dir_name = #{dirName,jdbcType=VARCHAR}, - - - dir_img = #{dirImg,jdbcType=VARCHAR}, - - - where id = #{id,jdbcType=INTEGER} - - - update directory - set dir_name = #{dirName,jdbcType=VARCHAR}, - dir_img = #{dirImg,jdbcType=VARCHAR} - where id = #{id,jdbcType=INTEGER} - - \ 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 { } 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 queryCourse(){ - List list = courseService.queryCourse(); - return list; + List 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 { + + + } 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 { // public void addCourse(Course course); // // void delCourseById(Integer id); @@ -14,4 +18,10 @@ public interface CourseService { List 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 implemen private CourseMapper courseMapper; @Resource - DirectoryMapper directoryMapper; + private DirectoryMapper directoryMapper; @@ -30,6 +35,7 @@ public class CourseServiceImpl extends ServiceImpl implemen */ @Override public List queryCourse() { + QueryWrapper qwa=new QueryWrapper<>(); List courses = courseMapper.selectList(qwa); QueryWrapper qwd=new QueryWrapper<>(); @@ -39,21 +45,53 @@ public class CourseServiceImpl extends ServiceImpl implemen for (int i = 0; i < courses.size(); i++) { for (int j = 0; j 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 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 { + + private Integer currentPage; + private Long total; + private List 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 { + +//返回信息码 +private String code; +//返回信息 +private String msg; +//返回数据 +T data; + +public Result(){} + +public Result(T data){ + this.data=data; +} + + +//成功,只返回成功码和信息 +public Result success(){ + Result result=new Result<>(); + result.setCode(ResultCode.SUCCESS.code); + result.setMsg(ResultCode.SUCCESS.msg); + return result; +} + +//成功,返回成功码、信息和数据 +public Result success(T data){ + Result result=new Result(); + result.setCode(ResultCode.SUCCESS.code); + result.setMsg(ResultCode.SUCCESS.msg); + result.setData(data); + return result; +} + +//失败,返回自己定义的信息码和信息 +public Result error(){ + Result result=new Result<>(); + result.setCode(ResultCode.ERROR.code); + result.setMsg(ResultCode.ERROR.code); + return result; +} + +//失败,返回controller层传过来信息码和信息 +public Result error(String code,String msg){ + Result 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 result = new Result<>(); + return result.error(e.getCode(), e.getMsg()); + } + + @ExceptionHandler(Exception.class) + public Result exceptionHandler(Exception e) { + log.error("未知异常", e); + Result 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 queryCourse(){ + public JsonResult queryCourse(){ List 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 implemen } - + /** + * 添加课程 + */ @Override public void addCourse(Course course) { courseMapper.insert(course); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.set("id",course.getDirId()); - directoryMapper.update(null,updateWrapper); +// UpdateWrapper 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 updateWrapper = new UpdateWrapper<>(); updateWrapper.set("course_name",course.getCourseName()); updateWrapper.set("course_brief",course.getCourseBrief()); @@ -92,23 +97,5 @@ public class CourseServiceImpl extends ServiceImpl 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 queryCourse() { -// return null; -// } -// -// @Override -// public List 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 { - 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 JsonResult ok(T data) { + public static 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 { 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 { - -//返回信息码 -private String code; -//返回信息 -private String msg; -//返回数据 -T data; - -public Result(){} - -public Result(T data){ - this.data=data; -} - - -//成功,只返回成功码和信息 -public Result success(){ - Result result=new Result<>(); - result.setCode(ResultCode.SUCCESS.code); - result.setMsg(ResultCode.SUCCESS.msg); - return result; -} - -//成功,返回成功码、信息和数据 -public Result success(T data){ - Result result=new Result(); - result.setCode(ResultCode.SUCCESS.code); - result.setMsg(ResultCode.SUCCESS.msg); - result.setData(data); - return result; -} - -//失败,返回自己定义的信息码和信息 -public Result error(){ - Result result=new Result<>(); - result.setCode(ResultCode.ERROR.code); - result.setMsg(ResultCode.ERROR.code); - return result; -} - -//失败,返回controller层传过来信息码和信息 -public Result error(String code,String msg){ - Result 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 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 result = new Result<>(); - return result.error("500", "未知异常,请联系管理员"); + + return JsonResult.error("500", "未知异常,请联系管理员"); } }