diff --git a/src/main/java/com/qyft/ms/app/controller/MatrixCraftController.java b/src/main/java/com/qyft/ms/app/controller/MatrixCraftController.java index 3250a0c..8c4ccfc 100644 --- a/src/main/java/com/qyft/ms/app/controller/MatrixCraftController.java +++ b/src/main/java/com/qyft/ms/app/controller/MatrixCraftController.java @@ -1,13 +1,13 @@ package com.qyft.ms.app.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.qyft.ms.app.model.dto.MatrixCraftPageDTO; import com.qyft.ms.app.model.entity.MatrixCraft; +import com.qyft.ms.app.model.vo.MatrixCraftListVO; import com.qyft.ms.app.service.MatrixCraftService; import com.qyft.ms.system.common.result.PageResult; import com.qyft.ms.system.common.result.Result; +import com.qyft.ms.system.common.result.ResultCode; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; @@ -28,42 +28,37 @@ public class MatrixCraftController { @Operation(summary = "新增工艺") @PostMapping("/add") - public Result add(@RequestBody MatrixCraft dto) { - String name = dto.getName(); + public Result add(@RequestBody MatrixCraft matrixCraft) { + String name = matrixCraft.getName(); if (matrixCraftService.getBaseMapper().selectOne(new QueryWrapper().eq("name", name)) != null) { - return Result.failed("工艺名称重复"); + return Result.failed(ResultCode.DATA_ALREADY_EXISTS); + } + if(matrixCraftService.save(matrixCraft)){ + return Result.success(); + }else{ + return Result.failed(); } - - return Result.success(matrixCraftService.save(dto)); } @Operation(summary = "工艺详情") @GetMapping("/{id}") public Result getCraftById(@PathVariable Long id) { - return Result.success(matrixCraftService.getBaseMapper().selectOne(new QueryWrapper().eq("id", id))); + return Result.success(matrixCraftService.getById(id)); } - @Operation(summary = "基质所属工艺") - @GetMapping("/getListByMatrixId/{matrixId}") - public Result> getListByMatrixId(@PathVariable Long matrixId) { - return Result.success(matrixCraftService.getBaseMapper().selectList(new QueryWrapper().eq("matrix_id", matrixId))); + @Operation(summary = "根据基质id查询工艺") + @GetMapping("/getListByMatrixId/{id}") + public Result> getListByMatrixId(@PathVariable Long id) { + return Result.success(matrixCraftService.getBaseMapper().selectList(new QueryWrapper().eq("matrix_id", id))); } - @Operation(summary = "所有工艺列表") + @Operation(summary = "工艺列表") @PostMapping("/list") - public PageResult getAll(@RequestBody MatrixCraftPageDTO dto) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - if (dto.getMatrixId() != null) { - queryWrapper.eq("matrix_id", dto.getMatrixId()); - } - if (dto.getMatrixCraftName() != null) { - queryWrapper.like("name", dto.getMatrixCraftName()); - } - IPage result = matrixCraftService.page(new Page<>(dto.getPageNum(), dto.getPageSize()), queryWrapper); - return PageResult.success(result); + public PageResult getAll(@RequestBody MatrixCraftPageDTO dto) { + return PageResult.success(matrixCraftService.getList(dto)); } - @Operation(summary = "基质工艺更新") + @Operation(summary = "更新工艺") @PutMapping public Result update(@RequestBody MatrixCraft matrixCraft) { // 如果名称和除了当前的重复, 则返回失败 @@ -73,7 +68,7 @@ public class MatrixCraftController { return Result.success(matrixCraftService.updateById(matrixCraft)); } - @Operation(summary = "基质删除") + @Operation(summary = "删除工艺") @DeleteMapping("/{ids}") public Result deleteMatrixCraft(@PathVariable String ids) { return Result.success(matrixCraftService.deleteMatrixCraft(ids)); diff --git a/src/main/java/com/qyft/ms/app/mapper/MatrixCraftMapper.java b/src/main/java/com/qyft/ms/app/mapper/MatrixCraftMapper.java index dc11dd7..fbd2a76 100644 --- a/src/main/java/com/qyft/ms/app/mapper/MatrixCraftMapper.java +++ b/src/main/java/com/qyft/ms/app/mapper/MatrixCraftMapper.java @@ -11,7 +11,5 @@ import java.util.List; */ @Mapper public interface MatrixCraftMapper extends BaseMapper { - List getListByMatrixId(Long matrixId); - Integer add(MatrixCraft dto); } diff --git a/src/main/java/com/qyft/ms/app/model/bo/SprayTimes.java b/src/main/java/com/qyft/ms/app/model/bo/SprayTimes.java new file mode 100644 index 0000000..bd02db2 --- /dev/null +++ b/src/main/java/com/qyft/ms/app/model/bo/SprayTimes.java @@ -0,0 +1,82 @@ +package com.qyft.ms.app.model.bo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "多次喷涂每次喷涂的参数") +public class SprayTimes { + + /** + * 喷涂路径类型 + */ + @Schema(description = "喷涂路径类型") + private String matrixPathType; + + /** + * Z轴距离玻片的高度 + */ + @Schema(description = "Z轴距离玻片的高度") + private Double motorZHeight; + + /** + * 氮气气压 + * Mpa兆帕 不处理 + */ + @Schema(description = "氮气气压") + private Double gasPressure; + + /** + * 单位uL微升 基质流速(控制注射泵速度) + */ + @Schema(description = "单位uL微升 基质流速(控制注射泵速度)") + private Double volume; + + /** + * 是否打开高压 + */ + @Schema(description = "是否打开高压") + private Boolean highVoltage; + + /** + * 高压值 + */ + @Schema(description = "高压值") + private Double highVoltageValue; + + /** + * 毫米 喷涂间距 + */ + @Schema(description = " 喷涂间距(毫米)") + private Double spacing; + + /** + * 移动速度 轴速度 + */ + @Schema(description = "轴移动速度") + private Double movingSpeed; + + /** + * 喷涂左上角x + */ + @Schema(description = "喷涂左上角x") + private Double x1; + + /** + * 喷涂左上角y + */ + @Schema(description = "喷涂左上角y") + private Double y1; + + /** + * 喷涂右下角x + */ + @Schema(description = "喷涂右下角x") + private Double x2; + + /** + * 喷涂右下角y + */ + @Schema(description = "喷涂右下角y") + private Double y2; +} \ No newline at end of file diff --git a/src/main/java/com/qyft/ms/app/model/dto/MatrixCraftDTO.java b/src/main/java/com/qyft/ms/app/model/dto/MatrixCraftDTO.java deleted file mode 100644 index 68562c8..0000000 --- a/src/main/java/com/qyft/ms/app/model/dto/MatrixCraftDTO.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.qyft.ms.app.model.dto; - -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import lombok.Data; - -@Data -public class MatrixCraftDTO { - - @NotBlank - @Schema(description = "名称") - private String name; - - @NotBlank - @Schema(description = "基质id") - private Long matrixId; - - @NotBlank - @Schema(description = "路径类型 0 竖向 1 横向") - private Integer routeType; - - @NotBlank - @Schema(description = "喷涂高度") - private Integer height; - - - @Schema(description = "氮气气压") - private Integer nitrogenAirPressure; - - @NotBlank - @Schema(description = "基质流速") - private Integer matrixFlowVelocity; - - @NotBlank - @Schema(description = "电压") - private Integer voltage; - - @NotBlank - @Schema(description = "移速") - private Integer movementSpeed; - - @NotBlank - @Schema(description = "行间距") - private Integer space; - - @Schema(description = "创建人") - private Long createUser; -} diff --git a/src/main/java/com/qyft/ms/app/model/entity/MatrixCraft.java b/src/main/java/com/qyft/ms/app/model/entity/MatrixCraft.java index f0b18e4..d7e314d 100644 --- a/src/main/java/com/qyft/ms/app/model/entity/MatrixCraft.java +++ b/src/main/java/com/qyft/ms/app/model/entity/MatrixCraft.java @@ -1,34 +1,21 @@ package com.qyft.ms.app.model.entity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; +import com.qyft.ms.app.model.bo.SprayTimes; import com.qyft.ms.system.common.base.BaseEntity; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; import lombok.Data; import lombok.EqualsAndHashCode; +import java.util.List; + -/** - * { - * cmdName:'matrix_spray_start' - * cmdId:'', - * param:{ - * matrix_path_type:;//喷涂路径类型 - * motor_z_height:;//高度 - * gas_pressure://Mpa兆帕 - * volume:20;//单位uL微升 - * high_voltage:true/false;//是否打开高压 - * high_voltage_value:4000;//高压值 - * spacing:''//毫米 - * moving_speed:8mm/s;//移动速度 - * times:;//喷涂遍数 - * position:[{x1,y1,x2,y2,index}] - * } - * } - */ @EqualsAndHashCode(callSuper = false) @Schema(description = "基质工艺") -@TableName("matrix_craft") +@TableName(value = "matrix_craft", autoResultMap = true) @Data public class MatrixCraft extends BaseEntity { @@ -40,43 +27,10 @@ public class MatrixCraft extends BaseEntity { @Schema(description = "基质id") private Long matrixId; - @NotBlank - @Schema(description = "路径类型 0 竖向 1 横向") - private String matrixPathType; - - @NotBlank - @Schema(description = "喷涂高度") - private Double motorZHeight; - - @NotBlank - @Schema(description = "氮气气压") - private Double gasPressure; - - @NotBlank - @Schema(description = "基质流速") - private Double volume; - - @NotBlank - @Schema(description = "是否电压") - private Boolean highVoltage; + @TableField(typeHandler = JacksonTypeHandler.class) + @Schema(description = "每次喷涂的参数") + private List times; - @NotBlank - @Schema(description = "电压") - private Double highVoltageValue; - - @NotBlank - @Schema(description = "移速") - private Double movingSpeed; - - @NotBlank - @Schema(description = "行间距") - private Double spacing; - - @NotBlank - @Schema(description = "喷涂遍数") - private Integer times; - - @NotBlank @Schema(description = "创建人") private Long createUser; } diff --git a/src/main/java/com/qyft/ms/app/model/vo/MatrixCraftListVO.java b/src/main/java/com/qyft/ms/app/model/vo/MatrixCraftListVO.java new file mode 100644 index 0000000..98e276c --- /dev/null +++ b/src/main/java/com/qyft/ms/app/model/vo/MatrixCraftListVO.java @@ -0,0 +1,35 @@ +package com.qyft.ms.app.model.vo; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class MatrixCraftListVO { + + private Long id; + + @Schema(description = "名称") + private String name; + + @Schema(description = "基质id") + private Long matrixId; + + @Schema(description = "基质名称") + private String matrixName; + + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + +} diff --git a/src/main/java/com/qyft/ms/app/model/vo/MatrixCraftResult.java b/src/main/java/com/qyft/ms/app/model/vo/MatrixCraftResult.java deleted file mode 100644 index 036e917..0000000 --- a/src/main/java/com/qyft/ms/app/model/vo/MatrixCraftResult.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.qyft.ms.app.model.vo; - -import com.qyft.ms.app.model.entity.MatrixCraft; -import lombok.Data; -import lombok.EqualsAndHashCode; - -@EqualsAndHashCode(callSuper = true) -@Data -public class MatrixCraftResult extends MatrixCraft { - - private String matrixName; - -} diff --git a/src/main/java/com/qyft/ms/app/service/MatrixCraftService.java b/src/main/java/com/qyft/ms/app/service/MatrixCraftService.java index 211bd42..8721513 100644 --- a/src/main/java/com/qyft/ms/app/service/MatrixCraftService.java +++ b/src/main/java/com/qyft/ms/app/service/MatrixCraftService.java @@ -10,7 +10,7 @@ import com.qyft.ms.app.mapper.MatrixMapper; import com.qyft.ms.app.model.dto.MatrixCraftPageDTO; import com.qyft.ms.app.model.entity.Matrix; import com.qyft.ms.app.model.entity.MatrixCraft; -import com.qyft.ms.app.model.vo.MatrixCraftResult; +import com.qyft.ms.app.model.vo.MatrixCraftListVO; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -29,22 +29,6 @@ public class MatrixCraftService extends ServiceImpl getListByMatrixId(Long matrixId) { - return matrixCraftMapper.getListByMatrixId(matrixId); - } - - public Boolean updateMatrixCraft(MatrixCraft matrixCraft) { - return matrixCraftMapper.updateById(matrixCraft) > 0; - } - public Boolean deleteMatrixCraft(String ids) { List idsArr = Arrays.stream(ids.split(",")) .map(Long::parseLong) @@ -52,24 +36,23 @@ public class MatrixCraftService extends ServiceImpl getAll(MatrixCraftPageDTO dto) { + public IPage getList(MatrixCraftPageDTO dto) { // 构建分页对象 - Page page = new Page<>(dto.getPageNum(), dto.getPageSize()); - ArrayList matrixCraftResultList = new ArrayList<>(); + Page page = new Page<>(dto.getPageNum(), dto.getPageSize()); + ArrayList matrixCraftResultList = new ArrayList<>(); - // 查询所有工艺 List matrixCrafts = matrixCraftMapper.selectList(new LambdaQueryWrapper() - .like(dto.getMatrixCraftName() != null, MatrixCraft::getName, "%" + dto.getMatrixCraftName() + "%") + .like(dto.getMatrixCraftName() != null, MatrixCraft::getName, dto.getMatrixCraftName()) .eq(dto.getMatrixId() != null, MatrixCraft::getMatrixId, dto.getMatrixId()) ); for (MatrixCraft matrixCraft : matrixCrafts) { Long matrixId = matrixCraft.getMatrixId(); Matrix matrix = matrixMapper.selectOne(new QueryWrapper().eq("id", matrixId)); - MatrixCraftResult matrixCraftResult = new MatrixCraftResult(); - BeanUtils.copyProperties(matrixCraft, matrixCraftResult); - matrixCraftResult.setMatrixName(matrix != null ? matrix.getName() : ""); + MatrixCraftListVO matrixCraftListVO = new MatrixCraftListVO(); + BeanUtils.copyProperties(matrixCraft, matrixCraftListVO); + matrixCraftListVO.setMatrixName(matrix != null ? matrix.getName() : ""); - matrixCraftResultList.add((matrixCraftResult)); + matrixCraftResultList.add((matrixCraftListVO)); } page.setRecords(matrixCraftResultList); return page; diff --git a/src/main/java/com/qyft/ms/system/common/result/ResultCode.java b/src/main/java/com/qyft/ms/system/common/result/ResultCode.java index e422009..b152be2 100644 --- a/src/main/java/com/qyft/ms/system/common/result/ResultCode.java +++ b/src/main/java/com/qyft/ms/system/common/result/ResultCode.java @@ -14,287 +14,24 @@ public enum ResultCode implements IResultCode, Serializable { SUCCESS("00000", "ok"), - /** - * 一级宏观错误码 - */ - USER_ERROR("A0001", "用户端错误"), - - /** - * 二级宏观错误码 - */ USER_REGISTRATION_ERROR("A0100", "用户注册错误"), - USER_NOT_AGREE_PRIVACY_AGREEMENT("A0101", "用户未同意隐私协议"), - REGISTRATION_COUNTRY_OR_REGION_RESTRICTED("A0102", "注册国家或地区受限"), - USERNAME_VERIFICATION_FAILED("A0110", "用户名校验失败"), USERNAME_ALREADY_EXISTS("A0111", "用户名已存在"), - USERNAME_CONTAINS_SENSITIVE_WORDS("A0112", "用户名包含敏感词"), - USERNAME_CONTAINS_SPECIAL_CHARACTERS("A0113", "用户名包含特殊字符"), - PASSWORD_VERIFICATION_FAILED("A0120", "密码校验失败"), - PASSWORD_LENGTH_NOT_ENOUGH("A0121", "密码长度不够"), - PASSWORD_STRENGTH_NOT_ENOUGH("A0122", "密码强度不够"), - - VERIFICATION_CODE_INPUT_ERROR("A0130", "校验码输入错误"), - SMS_VERIFICATION_CODE_INPUT_ERROR("A0131", "短信校验码输入错误"), - EMAIL_VERIFICATION_CODE_INPUT_ERROR("A0132", "邮件校验码输入错误"), - VOICE_VERIFICATION_CODE_INPUT_ERROR("A0133", "语音校验码输入错误"), - - USER_CERTIFICATE_EXCEPTION("A0140", "用户证件异常"), - USER_CERTIFICATE_TYPE_NOT_SELECTED("A0141", "用户证件类型未选择"), - MAINLAND_ID_NUMBER_VERIFICATION_ILLEGAL("A0142", "大陆身份证编号校验非法"), - USER_BASIC_INFORMATION_VERIFICATION_FAILED("A0150", "用户基本信息校验失败"), - PHONE_FORMAT_VERIFICATION_FAILED("A0151", "手机格式校验失败"), - ADDRESS_FORMAT_VERIFICATION_FAILED("A0152", "地址格式校验失败"), - EMAIL_FORMAT_VERIFICATION_FAILED("A0153", "邮箱格式校验失败"), - - /** - * 二级宏观错误码 - */ USER_LOGIN_EXCEPTION("A0200", "用户登录异常"), USER_ACCOUNT_FROZEN("A0201", "用户账户被冻结"), - USER_ACCOUNT_ABOLISHED("A0202", "用户账户已作废"), - USER_PASSWORD_ERROR("A0210", "用户名或密码错误"), USER_INPUT_PASSWORD_ERROR_LIMIT_EXCEEDED("A0211", "用户输入密码错误次数超限"), - - USER_IDENTITY_VERIFICATION_FAILED("A0220", "用户身份校验失败"), - USER_FINGERPRINT_RECOGNITION_FAILED("A0221", "用户指纹识别失败"), - USER_FACE_RECOGNITION_FAILED("A0222", "用户面容识别失败"), - USER_NOT_AUTHORIZED_THIRD_PARTY_LOGIN("A0223", "用户未获得第三方登录授权"), - ACCESS_TOKEN_INVALID("A0230", "访问令牌无效或已过期"), - REFRESH_TOKEN_INVALID("A0231", "刷新令牌无效或已过期"), - - // 验证码错误 - USER_VERIFICATION_CODE_ERROR("A0240", "用户验证码错误"), - USER_VERIFICATION_CODE_ATTEMPT_LIMIT_EXCEEDED("A0241", "用户验证码尝试次数超限"), - USER_VERIFICATION_CODE_EXPIRED("A0242", "用户验证码过期"), - - /** - * 二级宏观错误码 - */ - ACCESS_PERMISSION_EXCEPTION("A0300", "访问权限异常"), - ACCESS_UNAUTHORIZED("A0301", "访问未授权"), - AUTHORIZATION_IN_PROGRESS("A0302", "正在授权中"), - USER_AUTHORIZATION_APPLICATION_REJECTED("A0303", "用户授权申请被拒绝"), - - ACCESS_OBJECT_PRIVACY_SETTINGS_BLOCKED("A0310", "因访问对象隐私设置被拦截"), - AUTHORIZATION_EXPIRED("A0311", "授权已过期"), - NO_PERMISSION_TO_USE_API("A0312", "无权限使用 API"), - - USER_ACCESS_BLOCKED("A0320", "用户访问被拦截"), - BLACKLISTED_USER("A0321", "黑名单用户"), - ACCOUNT_FROZEN("A0322", "账号被冻结"), - ILLEGAL_IP_ADDRESS("A0323", "非法 IP 地址"), - GATEWAY_ACCESS_RESTRICTED("A0324", "网关访问受限"), - REGION_BLACKLIST("A0325", "地域黑名单"), - - SERVICE_ARREARS("A0330", "服务已欠费"), - - USER_SIGNATURE_EXCEPTION("A0340", "用户签名异常"), - RSA_SIGNATURE_ERROR("A0341", "RSA 签名错误"), - - /** - * 二级宏观错误码 - */ - USER_REQUEST_PARAMETER_ERROR("A0400", "用户请求参数错误"), - CONTAINS_ILLEGAL_MALICIOUS_REDIRECT_LINK("A0401", "包含非法恶意跳转链接"), - INVALID_USER_INPUT("A0402", "无效的用户输入"), - - REQUEST_REQUIRED_PARAMETER_IS_EMPTY("A0410", "请求必填参数为空"), - - REQUEST_PARAMETER_VALUE_EXCEEDS_ALLOWED_RANGE("A0420", "请求参数值超出允许的范围"), PARAMETER_FORMAT_MISMATCH("A0421", "参数格式不匹配"), - - USER_INPUT_CONTENT_ILLEGAL("A0430", "用户输入内容非法"), - CONTAINS_PROHIBITED_SENSITIVE_WORDS("A0431", "包含违禁敏感词"), - - USER_OPERATION_EXCEPTION("A0440", "用户操作异常"), - DATA_ALREADY_EXISTS("C0450", "数据已存在"), - - /** - * 二级宏观错误码 - */ - USER_REQUEST_SERVICE_EXCEPTION("A0500", "用户请求服务异常"), - REQUEST_LIMIT_EXCEEDED("A0501", "请求次数超出限制"), - REQUEST_CONCURRENCY_LIMIT_EXCEEDED("A0502", "请求并发数超出限制"), - USER_OPERATION_PLEASE_WAIT("A0503", "用户操作请等待"), - WEBSOCKET_CONNECTION_EXCEPTION("A0504", "WebSocket 连接异常"), - WEBSOCKET_CONNECTION_DISCONNECTED("A0505", "WebSocket 连接断开"), USER_DUPLICATE_REQUEST("A0506", "请求过于频繁,请稍后再试。"), - - /** - * 二级宏观错误码 - */ - USER_RESOURCE_EXCEPTION("A0600", "用户资源异常"), - ACCOUNT_BALANCE_INSUFFICIENT("A0601", "账户余额不足"), - USER_DISK_SPACE_INSUFFICIENT("A0602", "用户磁盘空间不足"), - USER_MEMORY_SPACE_INSUFFICIENT("A0603", "用户内存空间不足"), - USER_OSS_CAPACITY_INSUFFICIENT("A0604", "用户 OSS 容量不足"), - USER_QUOTA_EXHAUSTED("A0605", "用户配额已用光"), - USER_RESOURCE_NOT_FOUND("A0606", "用户资源不存在"), - - /** - * 二级宏观错误码 - */ UPLOAD_FILE_EXCEPTION("A0700", "上传文件异常"), UPLOAD_FILE_TYPE_MISMATCH("A0701", "上传文件类型不匹配"), UPLOAD_FILE_TOO_LARGE("A0702", "上传文件太大"), - UPLOAD_IMAGE_TOO_LARGE("A0703", "上传图片太大"), - UPLOAD_VIDEO_TOO_LARGE("A0704", "上传视频太大"), - UPLOAD_COMPRESSED_FILE_TOO_LARGE("A0705", "上传压缩文件太大"), - - DELETE_FILE_EXCEPTION("A0710", "删除文件异常"), - - /** - * 二级宏观错误码 - */ - USER_CURRENT_VERSION_EXCEPTION("A0800", "用户当前版本异常"), - USER_INSTALLED_VERSION_NOT_MATCH_SYSTEM("A0801", "用户安装版本与系统不匹配"), - USER_INSTALLED_VERSION_TOO_LOW("A0802", "用户安装版本过低"), - USER_INSTALLED_VERSION_TOO_HIGH("A0803", "用户安装版本过高"), - USER_INSTALLED_VERSION_EXPIRED("A0804", "用户安装版本已过期"), - USER_API_REQUEST_VERSION_NOT_MATCH("A0805", "用户 API 请求版本不匹配"), - USER_API_REQUEST_VERSION_TOO_HIGH("A0806", "用户 API 请求版本过高"), - USER_API_REQUEST_VERSION_TOO_LOW("A0807", "用户 API 请求版本过低"), - - /** - * 二级宏观错误码 - */ - USER_PRIVACY_NOT_AUTHORIZED("A0900", "用户隐私未授权"), - USER_PRIVACY_NOT_SIGNED("A0901", "用户隐私未签署"), - USER_CAMERA_NOT_AUTHORIZED("A0903", "用户相机未授权"), - USER_PHOTO_LIBRARY_NOT_AUTHORIZED("A0904", "用户图片库未授权"), - USER_FILE_NOT_AUTHORIZED("A0905", "用户文件未授权"), - USER_LOCATION_INFORMATION_NOT_AUTHORIZED("A0906", "用户位置信息未授权"), - USER_CONTACTS_NOT_AUTHORIZED("A0907", "用户通讯录未授权"), - - /** - * 二级宏观错误码 - */ - USER_DEVICE_EXCEPTION("A1000", "用户设备异常"), - USER_CAMERA_EXCEPTION("A1001", "用户相机异常"), - USER_MICROPHONE_EXCEPTION("A1002", "用户麦克风异常"), - USER_EARPIECE_EXCEPTION("A1003", "用户听筒异常"), - USER_SPEAKER_EXCEPTION("A1004", "用户扬声器异常"), - USER_GPS_POSITIONING_EXCEPTION("A1005", "用户 GPS 定位异常"), - - /** - * 一级宏观错误码 - */ SYSTEM_ERROR("B0001", "系统执行出错"), - - /** - * 二级宏观错误码 - */ - SYSTEM_EXECUTION_TIMEOUT("B0100", "系统执行超时"), - - /** - * 二级宏观错误码 - */ - SYSTEM_DISASTER_RECOVERY_FUNCTION_TRIGGERED("B0200", "系统容灾功能被触发"), - - SYSTEM_RATE_LIMITING("B0210", "系统限流"), - - SYSTEM_FUNCTION_DEGRADATION("B0220", "系统功能降级"), - - /** - * 二级宏观错误码 - */ - SYSTEM_RESOURCE_EXCEPTION("B0300", "系统资源异常"), - SYSTEM_RESOURCE_EXHAUSTED("B0310", "系统资源耗尽"), - SYSTEM_DISK_SPACE_EXHAUSTED("B0311", "系统磁盘空间耗尽"), - SYSTEM_MEMORY_EXHAUSTED("B0312", "系统内存耗尽"), - FILE_HANDLE_EXHAUSTED("B0313", "文件句柄耗尽"), - SYSTEM_CONNECTION_POOL_EXHAUSTED("B0314", "系统连接池耗尽"), - SYSTEM_THREAD_POOL_EXHAUSTED("B0315", "系统线程池耗尽"), - - SYSTEM_RESOURCE_ACCESS_EXCEPTION("B0320", "系统资源访问异常"), - SYSTEM_READ_DISK_FILE_FAILED("B0321", "系统读取磁盘文件失败"), - - - /** - * 一级宏观错误码 - */ - THIRD_PARTY_SERVICE_ERROR("C0001", "调用第三方服务出错"), - - /** - * 二级宏观错误码 - */ - MIDDLEWARE_SERVICE_ERROR("C0100", "中间件服务出错"), - - RPC_SERVICE_ERROR("C0110", "RPC 服务出错"), - RPC_SERVICE_NOT_FOUND("C0111", "RPC 服务未找到"), - RPC_SERVICE_NOT_REGISTERED("C0112", "RPC 服务未注册"), - INTERFACE_NOT_EXIST("C0113", "接口不存在"), - - MESSAGE_SERVICE_ERROR("C0120", "消息服务出错"), - MESSAGE_DELIVERY_ERROR("C0121", "消息投递出错"), - MESSAGE_CONSUMPTION_ERROR("C0122", "消息消费出错"), - MESSAGE_SUBSCRIPTION_ERROR("C0123", "消息订阅出错"), - MESSAGE_GROUP_NOT_FOUND("C0124", "消息分组未查到"), - - CACHE_SERVICE_ERROR("C0130", "缓存服务出错"), - KEY_LENGTH_EXCEEDS_LIMIT("C0131", "key 长度超过限制"), - VALUE_LENGTH_EXCEEDS_LIMIT("C0132", "value 长度超过限制"), - STORAGE_CAPACITY_FULL("C0133", "存储容量已满"), - UNSUPPORTED_DATA_FORMAT("C0134", "不支持的数据格式"), - - CONFIGURATION_SERVICE_ERROR("C0140", "配置服务出错"), - - NETWORK_RESOURCE_SERVICE_ERROR("C0150", "网络资源服务出错"), - VPN_SERVICE_ERROR("C0151", "VPN 服务出错"), - CDN_SERVICE_ERROR("C0152", "CDN 服务出错"), - DOMAIN_NAME_RESOLUTION_SERVICE_ERROR("C0153", "域名解析服务出错"), - GATEWAY_SERVICE_ERROR("C0154", "网关服务出错"), - - /** - * 二级宏观错误码 - */ - THIRD_PARTY_SYSTEM_EXECUTION_TIMEOUT("C0200", "第三方系统执行超时"), - - RPC_EXECUTION_TIMEOUT("C0210", "RPC 执行超时"), - - MESSAGE_DELIVERY_TIMEOUT("C0220", "消息投递超时"), - - CACHE_SERVICE_TIMEOUT("C0230", "缓存服务超时"), - - CONFIGURATION_SERVICE_TIMEOUT("C0240", "配置服务超时"), - - DATABASE_SERVICE_TIMEOUT("C0250", "数据库服务超时"), - - /** - * 二级宏观错误码 - */ - DATABASE_SERVICE_ERROR("C0300", "数据库服务出错"), - - TABLE_NOT_EXIST("C0311", "表不存在"), - COLUMN_NOT_EXIST("C0312", "列不存在"), - - MULTIPLE_SAME_NAME_COLUMNS_IN_MULTI_TABLE_ASSOCIATION("C0321", "多表关联中存在多个相同名称的列"), - - DATABASE_DEADLOCK("C0331", "数据库死锁"), - - PRIMARY_KEY_CONFLICT("C0341", "主键冲突"), - - /** - * 二级宏观错误码 - */ - THIRD_PARTY_DISASTER_RECOVERY_SYSTEM_TRIGGERED("C0400", "第三方容灾系统被触发"), - THIRD_PARTY_SYSTEM_RATE_LIMITING("C0401", "第三方系统限流"), - THIRD_PARTY_FUNCTION_DEGRADATION("C0402", "第三方功能降级"), - - /** - * 二级宏观错误码 - */ - NOTIFICATION_SERVICE_ERROR("C0500", "通知服务出错"), - SMS_REMINDER_SERVICE_FAILED("C0501", "短信提醒服务失败"), - VOICE_REMINDER_SERVICE_FAILED("C0502", "语音提醒服务失败"), - EMAIL_REMINDER_SERVICE_FAILED("C0503", "邮件提醒服务失败"); - + SYSTEM_EXECUTION_TIMEOUT("B0100", "系统执行超时"); private String code; private String msg; diff --git a/src/main/java/com/qyft/ms/system/common/utils/ResponseUtils.java b/src/main/java/com/qyft/ms/system/common/utils/ResponseUtils.java index 739e781..ae8a971 100644 --- a/src/main/java/com/qyft/ms/system/common/utils/ResponseUtils.java +++ b/src/main/java/com/qyft/ms/system/common/utils/ResponseUtils.java @@ -72,7 +72,7 @@ public class ResponseUtils { */ private static int getHttpStatus(ResultCode resultCode) { return switch (resultCode) { - case ACCESS_UNAUTHORIZED, ACCESS_TOKEN_INVALID, REFRESH_TOKEN_INVALID -> HttpStatus.UNAUTHORIZED.value(); + case ACCESS_TOKEN_INVALID -> HttpStatus.UNAUTHORIZED.value(); default -> HttpStatus.BAD_REQUEST.value(); }; } diff --git a/src/main/resources/sql/init.sql b/src/main/resources/sql/init.sql index 360d1fb..191ee2d 100644 --- a/src/main/resources/sql/init.sql +++ b/src/main/resources/sql/init.sql @@ -1,177 +1,70 @@ -- 创建 matrix 基质类型表 -CREATE TABLE IF NOT EXISTS matrix -( - id - INTEGER - PRIMARY - KEY - AUTOINCREMENT, - name - TEXT - NOT - NULL, - create_time - TIMESTAMP - DEFAULT - CURRENT_TIMESTAMP, - update_time - TIMESTAMP - DEFAULT - CURRENT_TIMESTAMP +CREATE TABLE IF NOT EXISTS matrix ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name TEXT NOT NULL, + create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- 插入 matrix 表数据 -INSERT -OR IGNORE INTO matrix (id, name, create_time, update_time) -VALUES (1, 'DHB', null, null); +INSERT OR IGNORE INTO matrix (id, name, create_time, update_time) +VALUES + (1, 'DHB', NULL, NULL); -- 创建 matrix_craft 基质工艺表 -CREATE TABLE IF NOT EXISTS matrix_craft -( - id - INTEGER - PRIMARY - KEY - AUTOINCREMENT, - name - TEXT - NOT - NULL, - matrix_id - INTEGER - NOT - NULL, - matrix_path_type - TEXT - NOT - NULL, - motor_z_height - INTEGER, - gas_pressure - INTEGER, - volume - INTEGER, - matrix_flow_velocity - INTEGER, - high_voltage - BOOLEAN, - high_voltage_value - INTEGER, - spacing - INTEGER, - moving_speed - INTEGER, - times - INTEGER, - create_user - INTEGER, - create_time - TIMESTAMP - DEFAULT - CURRENT_TIMESTAMP, - update_time - TIMESTAMP - DEFAULT - CURRENT_TIMESTAMP +CREATE TABLE IF NOT EXISTS matrix_craft ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name TEXT NOT NULL, + matrix_id INTEGER NOT NULL, + times TEXT, + create_user INTEGER, + create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- 创建 operation_log 操作记录表 -CREATE TABLE IF NOT EXISTS operation_log -( - id - INTEGER - PRIMARY - KEY - AUTOINCREMENT, - matrix_id - INTEGER, - matrix_info - TEXT, - status - INTEGER, - create_user - INTEGER, - create_time - TIMESTAMP - DEFAULT - CURRENT_TIMESTAMP, - update_time - TIMESTAMP - DEFAULT - CURRENT_TIMESTAMP +CREATE TABLE IF NOT EXISTS operation_log ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + matrix_id INTEGER, + matrix_info TEXT, + status INTEGER, + create_user INTEGER, + create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- 创建 sys_settings 系统配置表 -CREATE TABLE IF NOT EXISTS sys_settings -( - id - INTEGER - PRIMARY - KEY - AUTOINCREMENT, - parent_id - INTEGER, - name - TEXT - NOT - NULL, - code - TEXT, - value - TEXT +CREATE TABLE IF NOT EXISTS sys_settings ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + parent_id INTEGER, + name TEXT NOT NULL, + code TEXT, + value TEXT ); - -- 插入 sys_settings 表数据 -INSERT -OR IGNORE INTO sys_settings (id, parent_id, name, code, value) -VALUES (1, NULL, '玻片高度', 'slide_height', 101.2), - (2, NULL, 'z轴安全高度', 'safe_z_height', 80); - - +INSERT OR IGNORE INTO sys_settings (id, parent_id, name, code, value) +VALUES + (1, NULL, '玻片高度', 'slide_height', 101.2), + (2, NULL, 'z轴安全高度', 'safe_z_height', 80); --- 位置表,用来存储设备固定点位 -CREATE TABLE IF NOT EXISTS position -( - id - INTEGER - PRIMARY - KEY - AUTOINCREMENT, - point_name - TEXT - NOT - NULL, - point_code - TEXT - NOT - NULL, - x - REAL - NOT - NULL, - y - REAL - NOT - NULL, - z - REAL - NOT - NULL, - create_time - TIMESTAMP - DEFAULT - CURRENT_TIMESTAMP, - update_time - TIMESTAMP - DEFAULT - CURRENT_TIMESTAMP +-- 创建 position 位置表,用来存储设备固定点位 +CREATE TABLE IF NOT EXISTS position ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + point_name TEXT NOT NULL, + point_code TEXT NOT NULL, + x REAL NOT NULL, + y REAL NOT NULL, + z REAL NOT NULL, + create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -INSERT -OR IGNORE INTO position (id, point_name, point_code, x, y, z) - VALUES (1,'玻片1位置', 'slide_position1', 18.08, 0, 101.2), - (2,'玻片2位置', 'slide_position2', 45.08, 0, 101.2), - (3,'玻片3位置', 'slide_position3', 72.08, 0, 101.2), - (4,'玻片4位置', 'slide_position4', 99.08, 0, 101.2), - (5,'废液桶位置', 'waste_liquor', 173.08, 75, 70); +-- 插入 position 表数据 +INSERT OR IGNORE INTO position (id, point_name, point_code, x, y, z) +VALUES + (1, '玻片1位置', 'slide_position1', 18.08, 0, 101.2), + (2, '玻片2位置', 'slide_position2', 45.08, 0, 101.2), + (3, '玻片3位置', 'slide_position3', 72.08, 0, 101.2), + (4, '玻片4位置', 'slide_position4', 99.08, 0, 101.2), + (5, '废液桶位置', 'waste_liquor', 173.08, 75, 70);