青羊经侦大队-数据平台
安瑾然
2022-07-11 57a7ec6424a287d8d857d99b1488b3b2ce74ff6c
统一异常拦截,mybatis配置
6个文件已修改
7个文件已添加
2 文件已重命名
3个文件已删除
361 ■■■■ 已修改文件
pom.xml 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/JzApplication.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/config/DefaultExceptionHandlerConfig.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/config/MybatisPlusConfig.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/controller/AnnouncementController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/controller/CauseController.java 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/controller/GroupUserController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/dao/CaseDao.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/dao/CauseDao.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/enums/BusinessHttpStatus.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/exception/BusinessException.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/modle/entity/Announcement.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/modle/entity/Cause.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/service/CaseService.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/service/CauseService.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/service/impl/CaseServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/service/impl/CauseServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.properties 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml
@@ -48,12 +48,17 @@
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
            <version>3.0.0</version>
        </dependency>
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>swagger-bootstrap-ui</artifactId>
            <version>1.9.3</version>
            <version>1.9.6</version>
        </dependency>
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.8.3</version>
        </dependency>
    </dependencies>
src/main/java/com/example/jz/JzApplication.java
@@ -1,9 +1,11 @@
package com.example.jz;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("com.example.jz.dao")
public class JzApplication {
    public static void main(String[] args) {
src/main/java/com/example/jz/config/DefaultExceptionHandlerConfig.java
New file
@@ -0,0 +1,39 @@
package com.example.jz.config;
import com.example.jz.enums.BusinessHttpStatus;
import com.example.jz.exception.BusinessException;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindException;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
/**
 * 自定义错误处理器
 */
@Controller
@RestControllerAdvice
public class DefaultExceptionHandlerConfig {
    @ExceptionHandler(BindException.class)
    public ResponseEntity<String> bindExceptionHandler(BindException e) {
        e.printStackTrace();
        return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(e.getBindingResult().getFieldErrors().get(0).getDefaultMessage());
    }
    @ExceptionHandler(MethodArgumentNotValidException.class)
    public ResponseEntity<String> methodArgumentNotValidExceptionHandler(MethodArgumentNotValidException e) {
        e.printStackTrace();
        return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(e.getBindingResult().getFieldErrors().get(0).getDefaultMessage());
    }
    @ExceptionHandler(BusinessException.class)
    public ResponseEntity<String> unauthorizedExceptionHandler(BusinessException e) {
        e.printStackTrace();
        return ResponseEntity.status(e.getHttpStatusCode()).body(e.getMessage());
    }
}
src/main/java/com/example/jz/config/MybatisPlusConfig.java
New file
@@ -0,0 +1,24 @@
package com.example.jz.config;
import com.baomidou.mybatisplus.core.injector.ISqlInjector;
import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@MapperScan({"com.example.jz.dao"})
public class MybatisPlusConfig {
    /**
     * 分页插件
     * @return PaginationInterceptor
     */
    @Bean
    @ConditionalOnMissingBean
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor();
    }
}
src/main/java/com/example/jz/controller/AnnouncementController.java
@@ -1,13 +1,12 @@
package com.example.jz.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.api.ApiController;
import com.baomidou.mybatisplus.extension.api.R;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.jz.modle.entity.Announcement;
import com.example.jz.service.AnnouncementService;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -37,8 +36,8 @@
     * @return 所有数据
     */
    @GetMapping
    public R selectAll(Page<Announcement> page, Announcement announcement) {
        return success(this.announcementService.page(page, new QueryWrapper<>(announcement)));
    public ResponseEntity<Page<Announcement>> selectAll(Page<Announcement> page, Announcement announcement) {
        return ResponseEntity.ok(this.announcementService.page(page, new QueryWrapper<>(announcement)));
    }
    /**
src/main/java/com/example/jz/controller/CauseController.java
File was renamed from src/main/java/com/example/jz/controller/CaseController.java
@@ -1,13 +1,11 @@
package com.example.jz.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.api.ApiController;
import com.baomidou.mybatisplus.extension.api.R;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.jz.modle.entity.Case;
import com.example.jz.service.CaseService;
import com.example.jz.modle.entity.Cause;
import com.example.jz.service.CauseService;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -15,30 +13,30 @@
import java.util.List;
/**
 * (Case)表控制层
 * (Cause)表控制层
 *
 * @author makejava
 * @since 2022-07-11 16:35:56
 * @since 2022-07-11 16:55:40
 */
@RestController
@RequestMapping("case")
public class CaseController extends ApiController {
@RequestMapping("cause")
public class CauseController extends ApiController {
    /**
     * 服务对象
     */
    @Resource
    private CaseService caseService;
    private CauseService causeService;
    /**
     * 分页查询所有数据
     *
     * @param page 分页对象
     * @param case 查询实体
     * @param cause 查询实体
     * @return 所有数据
     */
    @GetMapping
    public R selectAll(Page<Case> page, Case case) {
        return success(this.caseService.page(page, new QueryWrapper<>(case)));
    public R selectAll(Page<Cause> page, Cause cause) {
        return success(this.causeService.page(page, new QueryWrapper<>(cause)));
    }
    /**
@@ -49,29 +47,29 @@
     */
    @GetMapping("{id}")
    public R selectOne(@PathVariable Serializable id) {
        return success(this.caseService.getById(id));
        return success(this.causeService.getById(id));
    }
    /**
     * 新增数据
     *
     * @param case 实体对象
     * @param cause 实体对象
     * @return 新增结果
     */
    @PostMapping
    public R insert(@RequestBody Case case) {
        return success(this.caseService.save(case));
    public R insert(@RequestBody Cause cause) {
        return success(this.causeService.save(cause));
    }
    /**
     * 修改数据
     *
     * @param case 实体对象
     * @param cause 实体对象
     * @return 修改结果
     */
    @PutMapping
    public R update(@RequestBody Case case) {
        return success(this.caseService.updateById(case));
    public R update(@RequestBody Cause cause) {
        return success(this.causeService.updateById(cause));
    }
    /**
@@ -82,7 +80,7 @@
     */
    @DeleteMapping
    public R delete(@RequestParam("idList") List<Long> idList) {
        return success(this.caseService.removeByIds(idList));
        return success(this.causeService.removeByIds(idList));
    }
}
src/main/java/com/example/jz/controller/GroupUserController.java
@@ -1,7 +1,5 @@
package com.example.jz.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.api.ApiController;
import com.baomidou.mybatisplus.extension.api.R;
src/main/java/com/example/jz/dao/CaseDao.java
File was deleted
src/main/java/com/example/jz/dao/CauseDao.java
New file
@@ -0,0 +1,15 @@
package com.example.jz.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.jz.modle.entity.Cause;
/**
 * (Cause)表数据库访问层
 *
 * @author makejava
 * @since 2022-07-11 16:55:40
 */
public interface CauseDao extends BaseMapper<Cause> {
}
src/main/java/com/example/jz/enums/BusinessHttpStatus.java
New file
@@ -0,0 +1,58 @@
package com.example.jz.enums;
public enum BusinessHttpStatus {
    // 未登录
    UNAUTHORIZED(401, "未授权");
    private final int value;
    private final String msg;
    BusinessHttpStatus(int value, String msg) {
        this.value = value;
        this.msg = msg;
    }
    /**
     * Return the integer value of this status code.
     */
    public int value() {
        return this.value;
    }
    /**
     * Return the msg of this status code.
     */
    public String getMsg() {
        return msg;
    }
    /**
     * Return a string representation of this status code.
     */
    @Override
    public String toString() {
        return this.value + " " + name();
    }
    public static BusinessHttpStatus valueOf(int statusCode) {
        BusinessHttpStatus status = resolve(statusCode);
        if (status == null) {
            throw new IllegalArgumentException("没有找到该Http状态码包含状态 [" + statusCode + "]");
        }
        return status;
    }
    public static BusinessHttpStatus resolve(int statusCode) {
        for (BusinessHttpStatus status : values()) {
            if (status.value == statusCode) {
                return status;
            }
        }
        return null;
    }
}
src/main/java/com/example/jz/exception/BusinessException.java
New file
@@ -0,0 +1,46 @@
package com.example.jz.exception;
import com.example.jz.enums.BusinessHttpStatus;
import org.springframework.http.HttpStatus;
public class BusinessException extends RuntimeException{
    /**
     *
     */
    private static final long serialVersionUID = -4137688758944857209L;
    /**
     * http状态码
     */
    private Integer httpStatusCode;
    /**
     * @param httpStatus http状态码
     */
    public BusinessException(BusinessHttpStatus httpStatus) {
        super(httpStatus.getMsg());
        this.httpStatusCode = httpStatus.value();
    }
    /**
     * @param httpStatus http状态码
     */
    public BusinessException(BusinessHttpStatus httpStatus, String msg) {
        super(msg);
        this.httpStatusCode = httpStatus.value();
    }
    public BusinessException(String msg) {
        super(msg);
        this.httpStatusCode = HttpStatus.BAD_REQUEST.value();
    }
    public Integer getHttpStatusCode() {
        return httpStatusCode;
    }
}
src/main/java/com/example/jz/modle/entity/Announcement.java
@@ -1,7 +1,9 @@
package com.example.jz.modle.entity;
import java.util.Date;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;
/**
@@ -20,7 +22,6 @@
    private Integer groupId;
    //创建时间
    private Date createTime;
    public Integer getAnnouncementId() {
        return announcementId;
src/main/java/com/example/jz/modle/entity/Cause.java
File was renamed from src/main/java/com/example/jz/modle/entity/Case.java
@@ -5,13 +5,13 @@
import java.io.Serializable;
/**
 * (Case)表实体类
 * (Cause)表实体类
 *
 * @author makejava
 * @since 2022-07-11 16:35:56
 * @since 2022-07-11 16:55:40
 */
@SuppressWarnings("serial")
public class Case extends Model<Case> {
public class Cause extends Model<Cause> {
    //案件ID
    private Integer id;
    //头像地址
@@ -28,11 +28,10 @@
    private String amountInvolved;
    //报案材料图片地址 多个用,分隔
    private String reportMaterials;
    //报案方式
    private String reportMethod
reportMethod;
    //报案时间
    private Date reportTime;
    //报案方式
    private String reportMethod;
    public Integer getId() {
@@ -99,20 +98,6 @@
        this.reportMaterials = reportMaterials;
    }
    public String getReportMethod
reportMethod() {
        return reportMethod
reportMethod;
    }
    public void setReportMethod
reportMethod(String reportMethod
reportMethod) {
        this.reportMethod
reportMethod = reportMethod
reportMethod;
    }
    public Date getReportTime() {
        return reportTime;
    }
@@ -121,6 +106,14 @@
        this.reportTime = reportTime;
    }
    public String getReportMethod() {
        return reportMethod;
    }
    public void setReportMethod(String reportMethod) {
        this.reportMethod = reportMethod;
    }
    /**
     * 获取主键值
     *
src/main/java/com/example/jz/service/CaseService.java
File was deleted
src/main/java/com/example/jz/service/CauseService.java
New file
@@ -0,0 +1,15 @@
package com.example.jz.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.jz.modle.entity.Cause;
/**
 * (Cause)表服务接口
 *
 * @author makejava
 * @since 2022-07-11 16:55:41
 */
public interface CauseService extends IService<Cause> {
}
src/main/java/com/example/jz/service/impl/CaseServiceImpl.java
File was deleted
src/main/java/com/example/jz/service/impl/CauseServiceImpl.java
New file
@@ -0,0 +1,19 @@
package com.example.jz.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.jz.dao.CauseDao;
import com.example.jz.modle.entity.Cause;
import com.example.jz.service.CauseService;
import org.springframework.stereotype.Service;
/**
 * (Cause)表服务实现类
 *
 * @author makejava
 * @since 2022-07-11 16:55:41
 */
@Service("causeService")
public class CauseServiceImpl extends ServiceImpl<CauseDao, Cause> implements CauseService {
}
src/main/resources/application.properties
@@ -3,7 +3,7 @@
###  datasource
#test
spring.datasource.url=jdbc:mysql://42.193.1.25/:3306/job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
spring.datasource.url=jdbc:mysql://42.193.1.25:3306/qyjz?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=321$YcYl@1970!
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver