| | |
| | | package com.ycl.api; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @author Lyq |
| | | * @version 1.0 |
| | | * @date 2022/9/7 |
| | | */ |
| | | @Data |
| | | public class BaseEntity { |
| | | @ApiModelProperty("创建时间") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Date createTime; |
| | | /** |
| | | * 上一次修改时间 |
| | | */ |
| | | @ApiModelProperty("修改时间") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Date updateTime; |
| | | |
| | | } |
| | | package com.ycl.api;
|
| | |
|
| | | import com.baomidou.mybatisplus.annotation.FieldFill;
|
| | | import com.baomidou.mybatisplus.annotation.TableField;
|
| | | import io.swagger.annotations.ApiModelProperty;
|
| | | import lombok.Data;
|
| | |
|
| | | import java.util.Date;
|
| | |
|
| | |
|
| | | @Data
|
| | | public class BaseEntity {
|
| | | @ApiModelProperty("创建时间")
|
| | | @TableField(fill = FieldFill.INSERT)
|
| | | private Date createTime;
|
| | | /**
|
| | | * 上一次修改时间
|
| | | */
|
| | | @ApiModelProperty("修改时间")
|
| | | @TableField(fill = FieldFill.INSERT_UPDATE)
|
| | | private Date updateTime;
|
| | |
|
| | | }
|
| | |
| | | package com.ycl.api; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author Lyq |
| | | * @version 1.0 |
| | | * @date 2022/9/9 |
| | | */ |
| | | @ApiModel |
| | | @Data |
| | | public class BasePageDTO<T> { |
| | | @ApiModelProperty("总数") |
| | | private long total; |
| | | @ApiModelProperty("列表") |
| | | private List<T> records = new ArrayList<>(); |
| | | } |
| | | package com.ycl.api;
|
| | |
|
| | | import io.swagger.annotations.ApiModel;
|
| | | import io.swagger.annotations.ApiModelProperty;
|
| | | import lombok.Data;
|
| | |
|
| | | import java.util.ArrayList;
|
| | | import java.util.List;
|
| | |
|
| | |
|
| | | @ApiModel
|
| | | @Data
|
| | | public class BasePageDTO<T> {
|
| | | @ApiModelProperty("总数")
|
| | | private long total;
|
| | | @ApiModelProperty("列表")
|
| | | private List<T> records = new ArrayList<>();
|
| | | }
|
| | |
| | | import org.springframework.web.cors.CorsConfiguration;
|
| | | import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
|
| | | import org.springframework.web.filter.CorsFilter;
|
| | | /**
|
| | | * @author Lyq
|
| | | * @version 1.0
|
| | | * @date 2022/9/10 11:09
|
| | | */
|
| | |
|
| | | @Configuration
|
| | | @Order(Ordered.HIGHEST_PRECEDENCE)
|
| | | public class WebConfig {
|
| | |
| | | package com.ycl.config; |
| | | |
| | | |
| | | import javax.servlet.*; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.IOException; |
| | | |
| | | /** |
| | | * @author Lyq |
| | | * @version 1.0 |
| | | * @date 2022/9/11 10:04 |
| | | */ |
| | | public class WebSecurityCorsFilter implements Filter { |
| | | @Override |
| | | public void init(FilterConfig filterConfig) throws ServletException { |
| | | } |
| | | @Override |
| | | public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { |
| | | HttpServletResponse res = (HttpServletResponse) response; |
| | | res.setHeader("Access-Control-Allow-Origin", "*"); |
| | | res.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT"); |
| | | res.setHeader("Access-Control-Max-Age", "3600"); |
| | | res.setHeader("Access-Control-Allow-Headers", "Authorization, Content-Type, Accept, x-requested-with, Cache-Control"); |
| | | chain.doFilter(request, res); |
| | | } |
| | | @Override |
| | | public void destroy() { |
| | | } |
| | | } |
| | | package com.ycl.config;
|
| | |
|
| | |
|
| | | import javax.servlet.*;
|
| | | import javax.servlet.http.HttpServletResponse;
|
| | | import java.io.IOException;
|
| | |
|
| | |
|
| | | public class WebSecurityCorsFilter implements Filter {
|
| | | @Override
|
| | | public void init(FilterConfig filterConfig) throws ServletException {
|
| | | }
|
| | | @Override
|
| | | public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
|
| | | HttpServletResponse res = (HttpServletResponse) response;
|
| | | res.setHeader("Access-Control-Allow-Origin", "*");
|
| | | res.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT");
|
| | | res.setHeader("Access-Control-Max-Age", "3600");
|
| | | res.setHeader("Access-Control-Allow-Headers", "Authorization, Content-Type, Accept, x-requested-with, Cache-Control");
|
| | | chain.doFilter(request, res);
|
| | | }
|
| | | @Override
|
| | | public void destroy() {
|
| | | }
|
| | | }
|
| | |
| | | package com.ycl.constant; |
| | | |
| | | /** |
| | | * 全局常量 |
| | | * @author Lyq |
| | | * @version 1.0 |
| | | * @date 2022/9/7 |
| | | */ |
| | | public class SysConst { |
| | | /**页面下拉框传 0表示 查询条件为全部*/ |
| | | public static final Integer COMBOBOX_ALL = 0; |
| | | |
| | | /** |
| | | * 推荐hashMap的初始长度 |
| | | */ |
| | | public static final Integer REF_MAP_LENGTH = 20; |
| | | } |
| | | package com.ycl.constant;
|
| | |
|
| | |
|
| | | public class SysConst {
|
| | | /**页面下拉框传 0表示 查询条件为全部*/
|
| | | public static final Integer COMBOBOX_ALL = 0;
|
| | |
|
| | | /**
|
| | | * 推荐hashMap的初始长度
|
| | | */
|
| | | public static final Integer REF_MAP_LENGTH = 20;
|
| | | }
|
| | |
| | | package com.ycl.entity.auth; |
| | | |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @author Lyq |
| | | * @version 1.0 |
| | | * @date 2022/9/9 |
| | | */ |
| | | @Data |
| | | public class AuthInfo { |
| | | private Long userId; |
| | | private String username; |
| | | } |
| | | package com.ycl.entity.auth;
|
| | |
|
| | | import lombok.Data;
|
| | |
|
| | |
|
| | | @Data
|
| | | public class AuthInfo {
|
| | | private Long userId;
|
| | | private String username;
|
| | | }
|
| | |
| | | package com.ycl.enums.common; |
| | | |
| | | /** |
| | | * 伪删除 |
| | | * @author lyq |
| | | * @since 2022-09-07 |
| | | * @Description |
| | | */ |
| | | public enum DelType { |
| | | |
| | | /***/ |
| | | NORMAL((byte) 0, "正常状态"), |
| | | |
| | | IS_DEL((byte) 1, "伪删除状态"); |
| | | |
| | | private byte code; |
| | | private String name; |
| | | |
| | | DelType(byte code, String name) { |
| | | this.code = code; |
| | | this.name = name; |
| | | } |
| | | |
| | | public static String getName(byte code) { |
| | | for (DelType del : DelType.values()) { |
| | | if (del.code == code) { |
| | | return del.name; |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | public byte getCode() { |
| | | return code; |
| | | } |
| | | |
| | | public void setCode(byte code) { |
| | | this.code = code; |
| | | } |
| | | |
| | | public String getName() { |
| | | return name; |
| | | } |
| | | |
| | | public void setName(String name) { |
| | | this.name = name; |
| | | } |
| | | } |
| | | package com.ycl.enums.common;
|
| | |
|
| | |
|
| | | public enum DelType {
|
| | |
|
| | | /***/
|
| | | NORMAL((byte) 0, "正常状态"),
|
| | |
|
| | | IS_DEL((byte) 1, "伪删除状态");
|
| | |
|
| | | private byte code;
|
| | | private String name;
|
| | |
|
| | | DelType(byte code, String name) {
|
| | | this.code = code;
|
| | | this.name = name;
|
| | | }
|
| | |
|
| | | public static String getName(byte code) {
|
| | | for (DelType del : DelType.values()) {
|
| | | if (del.code == code) {
|
| | | return del.name;
|
| | | }
|
| | | }
|
| | | return null;
|
| | | }
|
| | |
|
| | | public byte getCode() {
|
| | | return code;
|
| | | }
|
| | |
|
| | | public void setCode(byte code) {
|
| | | this.code = code;
|
| | | }
|
| | |
|
| | | public String getName() {
|
| | | return name;
|
| | | }
|
| | |
|
| | | public void setName(String name) {
|
| | | this.name = name;
|
| | | }
|
| | | }
|
| | |
| | | package com.ycl.enums.common; |
| | | |
| | | import com.ycl.api.IErrorCode; |
| | | |
| | | /** |
| | | * 枚举了一些常用API操作码 |
| | | * |
| | | * @author lyq |
| | | * @since 2022-09-06 |
| | | */ |
| | | public enum ResultCode implements IErrorCode { |
| | | API_SUCCESS(0, "操作成功"), |
| | | SUCCESS(200, "操作成功"), |
| | | FAILED(500, "操作失败"), |
| | | VALIDATE_FAILED(404, "参数检验失败"), |
| | | UNAUTHORIZED(401, "暂未登录或token已经过期"), |
| | | FORBIDDEN(403, "没有相关权限"), |
| | | |
| | | NULL_PARAMETER(-3, "空参"), |
| | | |
| | | RECORD_ALREADY_EXISTS(2001, "记录已存在"), |
| | | RECORD_SAVE_FAIL(2002, "记录保存失败"), |
| | | RECORD_UPDATE_FAIL(2003, "记录更新失败"), |
| | | RECORD_DELETE_FAIL(2004, "记录删除失败"), |
| | | RECORD_NOT_EXISTS(2005, "记录不存在"), |
| | | FILE_NOT_FOUND(2006, "文件不存在"), |
| | | FILE_TYPE_FAIL(2007, "文件格式错误"), |
| | | |
| | | CAR_NUMBER_REPETITION(2008, "车牌号重复"), |
| | | NOT_LOGGED(2015, "未登录,请登录后操作"), |
| | | |
| | | LOGIN_TIMEOUT(2016, "登录超时,请重新登录"), |
| | | |
| | | OPERATOR_TYPE_FETCH_FAIL(3001, "获取操作员失败"), |
| | | APPID_ERROR(3002, "appId错误"), |
| | | APPKEY_ERROR(3003, "appKey错误"), |
| | | SIGN_ERROR(3004,"sign错误"); |
| | | |
| | | private long code; |
| | | private String message; |
| | | |
| | | private ResultCode(long code, String message) { |
| | | this.code = code; |
| | | this.message = message; |
| | | } |
| | | |
| | | public long getCode() { |
| | | return code; |
| | | } |
| | | |
| | | public String getMessage() { |
| | | return message; |
| | | } |
| | | } |
| | | package com.ycl.enums.common;
|
| | |
|
| | | import com.ycl.api.IErrorCode;
|
| | |
|
| | |
|
| | | public enum ResultCode implements IErrorCode {
|
| | | API_SUCCESS(0, "操作成功"),
|
| | | SUCCESS(200, "操作成功"),
|
| | | FAILED(500, "操作失败"),
|
| | | VALIDATE_FAILED(404, "参数检验失败"),
|
| | | UNAUTHORIZED(401, "暂未登录或token已经过期"),
|
| | | FORBIDDEN(403, "没有相关权限"),
|
| | |
|
| | | NULL_PARAMETER(-3, "空参"),
|
| | |
|
| | | RECORD_ALREADY_EXISTS(2001, "记录已存在"),
|
| | | RECORD_SAVE_FAIL(2002, "记录保存失败"),
|
| | | RECORD_UPDATE_FAIL(2003, "记录更新失败"),
|
| | | RECORD_DELETE_FAIL(2004, "记录删除失败"),
|
| | | RECORD_NOT_EXISTS(2005, "记录不存在"),
|
| | | FILE_NOT_FOUND(2006, "文件不存在"),
|
| | | FILE_TYPE_FAIL(2007, "文件格式错误"),
|
| | |
|
| | | CAR_NUMBER_REPETITION(2008, "车牌号重复"),
|
| | | NOT_LOGGED(2015, "未登录,请登录后操作"),
|
| | |
|
| | | LOGIN_TIMEOUT(2016, "登录超时,请重新登录"),
|
| | |
|
| | | OPERATOR_TYPE_FETCH_FAIL(3001, "获取操作员失败"),
|
| | | APPID_ERROR(3002, "appId错误"),
|
| | | APPKEY_ERROR(3003, "appKey错误"),
|
| | | SIGN_ERROR(3004,"sign错误");
|
| | |
|
| | | private long code;
|
| | | private String message;
|
| | |
|
| | | private ResultCode(long code, String message) {
|
| | | this.code = code;
|
| | | this.message = message;
|
| | | }
|
| | |
|
| | | public long getCode() {
|
| | | return code;
|
| | | }
|
| | |
|
| | | public String getMessage() {
|
| | | return message;
|
| | | }
|
| | | }
|