用户故障上报文件表名更改

This commit is contained in:
yanglei 2025-11-26 10:27:30 +08:00
parent 7b14214941
commit b7118a50b2
17 changed files with 102 additions and 91 deletions

View File

@ -6,7 +6,7 @@ import com.cdzy.user.model.dto.EbikeFaultReportDto;
import com.cdzy.user.model.dto.EbikeFaultReportQueryDto;
import com.cdzy.user.model.dto.EbikeOrderFaultReportDto;
import com.cdzy.user.model.entity.EbikeFaultReport;
import com.cdzy.user.model.vo.EbikeAttachmentFileVo;
import com.cdzy.user.model.vo.EbikeFaultFileVo;
import com.cdzy.user.model.vo.EbikeFaultReportVo;
import com.cdzy.user.model.vo.EbikeOrderFaultReportVo;
import com.cdzy.user.service.EbikeFaultReportService;
@ -42,7 +42,7 @@ public class EbikeFaultReportController {
*/
@PostMapping("uploadFile")
public JsonResult<?> uploadFile(@RequestParam("multipartFile") MultipartFile multipartFile) {
EbikeAttachmentFileVo ebikeAttachmentFileVo = ebikeFaultReportService.uploadFile(multipartFile);
EbikeFaultFileVo ebikeAttachmentFileVo = ebikeFaultReportService.uploadFile(multipartFile);
return JsonResult.success(ebikeAttachmentFileVo);
}

View File

@ -129,7 +129,7 @@ public class EbikeRefundController {
*/
@PostMapping("uploadFile")
public JsonResult<?> uploadFile(@RequestParam("multipartFile") MultipartFile multipartFile) {
EbikeAttachmentFileVo ebikeAttachmentFileVo = ebikeRefundService.uploadFile(multipartFile);
EbikeFaultFileVo ebikeAttachmentFileVo = ebikeRefundService.uploadFile(multipartFile);
return JsonResult.success(ebikeAttachmentFileVo);
}

View File

@ -0,0 +1,26 @@
package com.cdzy.user.enums;
/**
* 用户故障上报处理状态
*
* @author yanglei
* @since 2025-11-26 10:23
*/
public interface EbikeFaultReportStatus {
/**
* 待处理
*/
int PENDING = 0;
/**
* 处理中
*/
int PROCESSING = 1;
/**
* 处理完成
*/
int PROCESS_COMPLETED = 2;
}

View File

@ -1,13 +0,0 @@
package com.cdzy.user.enums;
/**
* @author yanglei
* @since 2025-10-27 17:03
*/
public interface EbikeRegionInOperation {
String IN = "1";
String OUT = "0";
}

View File

@ -1,6 +1,6 @@
package com.cdzy.user.mapper;
import com.cdzy.user.model.entity.EbikeAttachmentFile;
import com.cdzy.user.model.entity.EbikeFaultFile;
import com.mybatisflex.core.BaseMapper;
/**
@ -10,5 +10,5 @@ import com.mybatisflex.core.BaseMapper;
* @since 2025-11-03 15:04
*/
public interface EbikeAttachmentFileMapper extends BaseMapper<EbikeAttachmentFile> {
public interface EbikeFaultFileMapper extends BaseMapper<EbikeFaultFile> {
}

View File

@ -13,7 +13,7 @@ import lombok.NoArgsConstructor;
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class EbikeAttachmentFileDto {
public class EbikeFaultFileDto {
/**
* 文件主键id

View File

@ -86,5 +86,5 @@ public class EbikeFaultReportDto {
/**
* 附件文件列表
*/
List<EbikeAttachmentFileDto> attachmentFiles;
List<EbikeFaultFileDto> attachmentFiles;
}

View File

@ -23,8 +23,8 @@ import java.time.LocalDateTime;
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table("ebike_attachment_file")
public class EbikeAttachmentFile implements Serializable {
@Table("ebike_fault_file")
public class EbikeFaultFile implements Serializable {
@Serial
private static final long serialVersionUID = 1L;

View File

@ -18,7 +18,7 @@ import java.io.Serializable;
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class EbikeAttachmentFileVo implements Serializable {
public class EbikeFaultFileVo implements Serializable {
/**
* 文件名称

View File

@ -3,7 +3,7 @@ package com.cdzy.user.model.vo;
import com.cdzy.user.handler.PGpointDeserializer;
import com.cdzy.user.handler.PGpointSerializer;
import com.cdzy.user.handler.PGpointTypeHandler;
import com.cdzy.user.model.dto.EbikeAttachmentFileDto;
import com.cdzy.user.model.dto.EbikeFaultFileDto;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.mybatisflex.annotation.Column;
@ -83,5 +83,5 @@ public class EbikeFaultReportVo {
/**
* 文件
*/
private List<EbikeAttachmentFileDto> attachmentFiles;
private List<EbikeFaultFileDto> attachmentFiles;
}

View File

@ -1,6 +1,6 @@
package com.cdzy.user.service;
import com.cdzy.user.model.entity.EbikeAttachmentFile;
import com.cdzy.user.model.entity.EbikeFaultFile;
import com.mybatisflex.core.service.IService;
import java.util.List;
@ -12,7 +12,7 @@ import java.util.List;
* @since 2025-11-03 15:06
*/
public interface EbikeAttachmentFileService extends IService<EbikeAttachmentFile> {
public interface EbikeFaultFileService extends IService<EbikeFaultFile> {
/**
* 根据故障上报主键id获取所有文件
@ -20,7 +20,7 @@ public interface EbikeAttachmentFileService extends IService<EbikeAttachmentFile
* @param reportId 故障上报主键id
* @return id下所有文件信息
*/
List<EbikeAttachmentFile> queryFiles(Long reportId);
List<EbikeFaultFile> queryFiles(Long reportId);
/**
* 根据故障上报主键id删除所有文件
@ -34,5 +34,5 @@ public interface EbikeAttachmentFileService extends IService<EbikeAttachmentFile
*
* @param reportIds 故障上报id
*/
List<EbikeAttachmentFile> queryFilesByReportIds(List<Long> reportIds);
List<EbikeFaultFile> queryFilesByReportIds(List<Long> reportIds);
}

View File

@ -4,7 +4,7 @@ import com.cdzy.user.model.dto.EbikeFaultReportDto;
import com.cdzy.user.model.dto.EbikeFaultReportQueryDto;
import com.cdzy.user.model.dto.EbikeOrderFaultReportDto;
import com.cdzy.user.model.entity.EbikeFaultReport;
import com.cdzy.user.model.vo.EbikeAttachmentFileVo;
import com.cdzy.user.model.vo.EbikeFaultFileVo;
import com.cdzy.user.model.vo.EbikeFaultReportVo;
import com.cdzy.user.model.vo.EbikeOrderFaultReportVo;
import com.mybatisflex.core.paginate.Page;
@ -35,7 +35,7 @@ public interface EbikeFaultReportService extends IService<EbikeFaultReport> {
* @param multipartFile 文件
* @return 上传文件信息
*/
EbikeAttachmentFileVo uploadFile(MultipartFile multipartFile);
EbikeFaultFileVo uploadFile(MultipartFile multipartFile);
/**
* 根据文件名称删除minio中的文件

View File

@ -11,8 +11,6 @@ import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
/**
* 用户退款 服务层
*
@ -93,7 +91,7 @@ public interface EbikeRefundService extends IService<EbikeRefund> {
* @param multipartFile 文件
* @return 文件信息
*/
EbikeAttachmentFileVo uploadFile(MultipartFile multipartFile);
EbikeFaultFileVo uploadFile(MultipartFile multipartFile);
/**
* 根据文件名称删除minio中的文件

View File

@ -1,8 +1,8 @@
package com.cdzy.user.service.impl;
import com.cdzy.user.mapper.EbikeAttachmentFileMapper;
import com.cdzy.user.model.entity.EbikeAttachmentFile;
import com.cdzy.user.service.EbikeAttachmentFileService;
import com.cdzy.user.mapper.EbikeFaultFileMapper;
import com.cdzy.user.model.entity.EbikeFaultFile;
import com.cdzy.user.service.EbikeFaultFileService;
import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
@ -19,10 +19,10 @@ import static com.cdzy.user.model.entity.table.EbikeAttachmentFileTableDef.EBIKE
* @since 2025-11-03 15:06
*/
@Service
public class EbikeAttachmentFileServiceImpl extends ServiceImpl<EbikeAttachmentFileMapper, EbikeAttachmentFile> implements EbikeAttachmentFileService {
public class EbikeFaultFileServiceImpl extends ServiceImpl<EbikeFaultFileMapper, EbikeFaultFile> implements EbikeFaultFileService {
@Override
public List<EbikeAttachmentFile> queryFiles(Long reportId) {
public List<EbikeFaultFile> queryFiles(Long reportId) {
QueryWrapper query = QueryWrapper.create()
.select(EBIKE_ATTACHMENT_FILE.ALL_COLUMNS)
.where(EBIKE_ATTACHMENT_FILE.REPORT_ID.eq(reportId));
@ -38,7 +38,7 @@ public class EbikeAttachmentFileServiceImpl extends ServiceImpl<EbikeAttachmentF
}
@Override
public List<EbikeAttachmentFile> queryFilesByReportIds(List<Long> reportIds) {
public List<EbikeFaultFile> queryFilesByReportIds(List<Long> reportIds) {
if (reportIds == null || reportIds.isEmpty()) {
return Collections.emptyList();
}

View File

@ -3,19 +3,20 @@ package com.cdzy.user.service.impl;
import com.cdzy.common.enums.Code;
import com.cdzy.common.ex.EbikeException;
import com.cdzy.common.model.response.JsonResult;
import com.cdzy.user.enums.EbikeFaultReportStatus;
import com.cdzy.user.enums.EbikeFileTypeEnum;
import com.cdzy.user.mapper.EbikeFaultReportMapper;
import com.cdzy.user.model.dto.EbikeAttachmentFileDto;
import com.cdzy.user.model.dto.EbikeFaultFileDto;
import com.cdzy.user.model.dto.EbikeFaultReportDto;
import com.cdzy.user.model.dto.EbikeFaultReportQueryDto;
import com.cdzy.user.model.dto.EbikeOrderFaultReportDto;
import com.cdzy.user.model.entity.EbikeAttachmentFile;
import com.cdzy.user.model.entity.EbikeFaultFile;
import com.cdzy.user.model.entity.EbikeFaultPart;
import com.cdzy.user.model.entity.EbikeFaultReport;
import com.cdzy.user.model.vo.EbikeAttachmentFileVo;
import com.cdzy.user.model.vo.EbikeFaultFileVo;
import com.cdzy.user.model.vo.EbikeFaultReportVo;
import com.cdzy.user.model.vo.EbikeOrderFaultReportVo;
import com.cdzy.user.service.EbikeAttachmentFileService;
import com.cdzy.user.service.EbikeFaultFileService;
import com.cdzy.user.service.EbikeFaultPartService;
import com.cdzy.user.service.EbikeFaultReportService;
import com.cdzy.user.utils.MinioUtil;
@ -51,7 +52,7 @@ import static com.cdzy.user.model.entity.table.EbikeUserTableDef.EBIKE_USER;
public class EbikeFaultReportServiceImpl extends ServiceImpl<EbikeFaultReportMapper, EbikeFaultReport> implements EbikeFaultReportService {
@Resource
private EbikeAttachmentFileService ebikeAttachmentFileService;
private EbikeFaultFileService ebikeAttachmentFileService;
@Resource
private OperationsFeignClient operationsFeignClient;
@ -74,6 +75,7 @@ public class EbikeFaultReportServiceImpl extends ServiceImpl<EbikeFaultReportMap
.userMobile(ebikeFaultReportDto.getUserMobile())
.reportSource(ebikeFaultReportDto.getReportSource())
.location(ebikeFaultReportDto.getLocation())
.handleStatus(EbikeFaultReportStatus.PENDING)
.orderId(ebikeFaultReportDto.getOrderId())
.reviewId(ebikeFaultReportDto.getReviewId())
.createBy(ebikeFaultReportDto.getUserId())
@ -81,10 +83,10 @@ public class EbikeFaultReportServiceImpl extends ServiceImpl<EbikeFaultReportMap
this.save(userFaultReport);
// 保存附件信息
Long reportId = userFaultReport.getReportId();
List<EbikeAttachmentFileDto> attachmentFiles = ebikeFaultReportDto.getAttachmentFiles();
List<EbikeFaultFileDto> attachmentFiles = ebikeFaultReportDto.getAttachmentFiles();
if (attachmentFiles != null && !attachmentFiles.isEmpty()) {
List<EbikeAttachmentFile> fileEntities = attachmentFiles.stream()
.map(dto -> EbikeAttachmentFile.builder()
List<EbikeFaultFile> fileEntities = attachmentFiles.stream()
.map(dto -> EbikeFaultFile.builder()
.reportId(reportId)
.fileName(dto.getFileName())
.fileType(dto.getFileType())
@ -108,7 +110,7 @@ public class EbikeFaultReportServiceImpl extends ServiceImpl<EbikeFaultReportMap
}
@Override
public EbikeAttachmentFileVo uploadFile(MultipartFile multipartFile) {
public EbikeFaultFileVo uploadFile(MultipartFile multipartFile) {
String fileName = multipartFile.getOriginalFilename();
if (!StringUtils.hasText(fileName)) {
throw new EbikeException("文件名不能为空");
@ -120,7 +122,7 @@ public class EbikeFaultReportServiceImpl extends ServiceImpl<EbikeFaultReportMap
// 文件上传
minioUtil.uploadFile(EbikeFileTypeEnum.FAULT_ATTACHMENT, inputStream, saveFileName);
String fileUrl = minioUtil.getFileUrl(EbikeFileTypeEnum.FAULT_ATTACHMENT, saveFileName);
return EbikeAttachmentFileVo.builder()
return EbikeFaultFileVo.builder()
.fileName(saveFileName)
.fileUrl(fileUrl)
.fileSize(multipartFile.getSize())
@ -146,9 +148,9 @@ public class EbikeFaultReportServiceImpl extends ServiceImpl<EbikeFaultReportMap
@Override
public void removeFaultReport(Long reportId) {
try {
List<EbikeAttachmentFile> files = ebikeAttachmentFileService.queryFiles(reportId);
List<EbikeFaultFile> files = ebikeAttachmentFileService.queryFiles(reportId);
if (!CollectionUtils.isEmpty(files)) {
for (EbikeAttachmentFile file : files) {
for (EbikeFaultFile file : files) {
minioUtil.deleteObject(file.getFileName());
}
}
@ -182,26 +184,26 @@ public class EbikeFaultReportServiceImpl extends ServiceImpl<EbikeFaultReportMap
.updateBy(ebikeFaultReportDto.getUserId())
.build();
this.updateById(userFaultReport);
List<EbikeAttachmentFileDto> attachmentFiles = ebikeFaultReportDto.getAttachmentFiles();
List<EbikeFaultFileDto> attachmentFiles = ebikeFaultReportDto.getAttachmentFiles();
// 更新文件信息
if (!CollectionUtils.isEmpty(attachmentFiles)) {
List<EbikeAttachmentFile> existingFiles = ebikeAttachmentFileService.queryFiles(ebikeFaultReportDto.getReportId());
List<EbikeFaultFile> existingFiles = ebikeAttachmentFileService.queryFiles(ebikeFaultReportDto.getReportId());
Set<Long> existingFileIds = existingFiles.stream()
.map(EbikeAttachmentFile::getFileId)
.map(EbikeFaultFile::getFileId)
.filter(Objects::nonNull)
.collect(Collectors.toSet());
// 分离前端数据,无id的新增,有id的对比
Set<Long> incomingFileIds = new HashSet<>();
List<EbikeAttachmentFile> filesToInsert = new ArrayList<>();
List<EbikeFaultFile> filesToInsert = new ArrayList<>();
for (EbikeAttachmentFileDto dto : attachmentFiles) {
for (EbikeFaultFileDto dto : attachmentFiles) {
if (dto.getFileId() != null) {
incomingFileIds.add(dto.getFileId());
} else {
// fileId 为空,则是新文件插入数据
EbikeAttachmentFile newFile = EbikeAttachmentFile.builder()
EbikeFaultFile newFile = EbikeFaultFile.builder()
.reportId(ebikeFaultReportDto.getReportId())
.fileName(dto.getFileName())
.fileType(dto.getFileType())
@ -262,10 +264,10 @@ public class EbikeFaultReportServiceImpl extends ServiceImpl<EbikeFaultReportMap
if (report == null) {
return null;
}
List<EbikeAttachmentFile> attachmentFiles = ebikeAttachmentFileService.queryFiles(reportId);
List<EbikeFaultFile> attachmentFiles = ebikeAttachmentFileService.queryFiles(reportId);
List<EbikeAttachmentFileDto> fileInfo = attachmentFiles.stream()
.map(file -> EbikeAttachmentFileDto.builder()
List<EbikeFaultFileDto> fileInfo = attachmentFiles.stream()
.map(file -> EbikeFaultFileDto.builder()
.fileId(file.getFileId())
.fileName(file.getFileName())
.fileType(file.getFileType())
@ -308,10 +310,10 @@ public class EbikeFaultReportServiceImpl extends ServiceImpl<EbikeFaultReportMap
.collect(Collectors.toList());
// 查询附件文件
Map<Long, List<EbikeAttachmentFile>> fileMap = ebikeAttachmentFileService
Map<Long, List<EbikeFaultFile>> fileMap = ebikeAttachmentFileService
.queryFilesByReportIds(reportIds)
.stream()
.collect(Collectors.groupingBy(EbikeAttachmentFile::getReportId));
.collect(Collectors.groupingBy(EbikeFaultFile::getReportId));
// 查询故障部件
List<EbikeFaultPart> faultParts = ebikeFaultPartService.list(
@ -325,10 +327,10 @@ public class EbikeFaultReportServiceImpl extends ServiceImpl<EbikeFaultReportMap
));
return reports.stream().map(report -> {
List<EbikeAttachmentFileDto> fileDtos = Optional.ofNullable(fileMap.get(report.getReportId()))
List<EbikeFaultFileDto> fileDtos = Optional.ofNullable(fileMap.get(report.getReportId()))
.orElse(Collections.emptyList())
.stream()
.map(file -> EbikeAttachmentFileDto.builder()
.map(file -> EbikeFaultFileDto.builder()
.fileId(file.getFileId())
.fileName(file.getFileName())
.fileType(file.getFileType())
@ -382,9 +384,9 @@ public class EbikeFaultReportServiceImpl extends ServiceImpl<EbikeFaultReportMap
QueryWrapper attachmentQuery = QueryWrapper.create()
.select(EBIKE_ATTACHMENT_FILE.ALL_COLUMNS)
.where(EBIKE_ATTACHMENT_FILE.REPORT_ID.in(reportIds));
List<EbikeAttachmentFile> allAttachments = ebikeAttachmentFileService.list(attachmentQuery);
Map<Long, List<EbikeAttachmentFile>> attachmentsByReportId = allAttachments.stream()
.collect(Collectors.groupingBy(EbikeAttachmentFile::getReportId));
List<EbikeFaultFile> allAttachments = ebikeAttachmentFileService.list(attachmentQuery);
Map<Long, List<EbikeFaultFile>> attachmentsByReportId = allAttachments.stream()
.collect(Collectors.groupingBy(EbikeFaultFile::getReportId));
// 获取部件 按照reportId分组
List<EbikeFaultPart> faultPart = ebikeFaultPartService.getFaultPart(reportIds);
@ -395,10 +397,10 @@ public class EbikeFaultReportServiceImpl extends ServiceImpl<EbikeFaultReportMap
));
for (EbikeOrderFaultReportVo record : records) {
List<EbikeAttachmentFile> files = attachmentsByReportId.get(record.getReportId());
List<EbikeFaultFile> files = attachmentsByReportId.get(record.getReportId());
List<String> fileUrls = new ArrayList<>();
if (files != null) {
for (EbikeAttachmentFile file : files) {
for (EbikeFaultFile file : files) {
try {
String url = minioUtil.getFileUrl(file.getFileName());
fileUrls.add(url);

View File

@ -391,7 +391,7 @@ public class EbikeRefundServiceImpl extends ServiceImpl<EbikeRefundMapper, Ebike
}
@Override
public EbikeAttachmentFileVo uploadFile(MultipartFile multipartFile) {
public EbikeFaultFileVo uploadFile(MultipartFile multipartFile) {
String fileName = multipartFile.getOriginalFilename();
if (!org.springframework.util.StringUtils.hasText(fileName)) {
throw new EbikeException("文件名不能为空");
@ -403,7 +403,7 @@ public class EbikeRefundServiceImpl extends ServiceImpl<EbikeRefundMapper, Ebike
// 文件上传
minioUtil.uploadFile(EbikeFileTypeEnum.USER_REFUND, inputStream, saveFileName);
String fileUrl = minioUtil.getFileUrl(EbikeFileTypeEnum.USER_REFUND, saveFileName);
return EbikeAttachmentFileVo.builder()
return EbikeFaultFileVo.builder()
.fileName(saveFileName)
.fileUrl(fileUrl)
.fileSize(multipartFile.getSize())

View File

@ -90,7 +90,7 @@ CREATE SEQUENCE IF NOT EXISTS ebike_fault_part_part_id_seq
CACHE 1;
-- 创建 ebike_attachment_file_file_id_seq 序列
-- 创建 ebike_fault_file_file_id_seq 序列
CREATE SEQUENCE IF NOT EXISTS ebike_attachment_file_file_id_seq
START WITH 1
INCREMENT BY 1
@ -420,7 +420,6 @@ CREATE TABLE "public"."ebike_fault_report" (
"report_id" int8 NOT NULL DEFAULT nextval('ebike_fault_report_report_id_seq'::regclass),
"operator_id" int8 NOT NULL,
"bike_code" varchar(50) COLLATE "pg_catalog"."default",
"fault_part" int2,
"fault_description" varchar(400) COLLATE "pg_catalog"."default",
"report_user_id" int8 COLLATE "pg_catalog"."default",
"user_mobile" varchar(20) COLLATE "pg_catalog"."default",
@ -438,7 +437,6 @@ CREATE TABLE "public"."ebike_fault_report" (
COMMENT ON COLUMN "public"."ebike_fault_report"."report_id" IS '主键ID';
COMMENT ON COLUMN "public"."ebike_fault_report"."operator_id" IS '运营商id';
COMMENT ON COLUMN "public"."ebike_fault_report"."bike_code" IS '车辆编号';
COMMENT ON COLUMN "public"."ebike_fault_report"."fault_part" IS '损坏部件';
COMMENT ON COLUMN "public"."ebike_fault_report"."fault_description" IS '故障说明';
COMMENT ON COLUMN "public"."ebike_fault_report"."report_user_id" IS '上报人主键id';
COMMENT ON COLUMN "public"."ebike_fault_report"."user_mobile" IS '上报人手机号';
@ -477,10 +475,10 @@ COMMENT ON COLUMN "public"."ebike_fault_part"."update_time" IS '最后修改时
COMMENT ON TABLE "public"."ebike_fault_part" IS '用户上报故障部位表';
-- ----------------------------
-- Table structure for ebike_attachment_file
-- Table structure for ebike_fault_file
-- ----------------------------
DROP TABLE IF EXISTS "public"."ebike_attachment_file";
CREATE TABLE "public"."ebike_attachment_file" (
DROP TABLE IF EXISTS "public"."ebike_fault_file";
CREATE TABLE "public"."ebike_fault_file" (
"file_id" int8 NOT NULL DEFAULT nextval('ebike_attachment_file_file_id_seq'::regclass),
"report_id" int8 NOT NULL,
"file_name" varchar(100) COLLATE "pg_catalog"."default",
@ -493,17 +491,17 @@ CREATE TABLE "public"."ebike_attachment_file" (
"update_time" timestamp(6),
"is_deleted" bool NOT NULL DEFAULT false
);
COMMENT ON COLUMN "public"."ebike_attachment_file"."file_id" IS '主键ID';
COMMENT ON COLUMN "public"."ebike_attachment_file"."report_id" IS '报告id';
COMMENT ON COLUMN "public"."ebike_attachment_file"."file_name" IS '附件文件名';
COMMENT ON COLUMN "public"."ebike_attachment_file"."file_type" IS '附件类型';
COMMENT ON COLUMN "public"."ebike_attachment_file"."file_url" IS '附件地址';
COMMENT ON COLUMN "public"."ebike_attachment_file"."file_size" IS '附件大小';
COMMENT ON COLUMN "public"."ebike_attachment_file"."create_by" IS '创建人ID';
COMMENT ON COLUMN "public"."ebike_attachment_file"."create_time" IS '创建时间';
COMMENT ON COLUMN "public"."ebike_attachment_file"."update_by" IS '最后修改人ID';
COMMENT ON COLUMN "public"."ebike_attachment_file"."update_time" IS '最后修改时间';
COMMENT ON TABLE "public"."ebike_attachment_file" IS '用车相关附件文件记录';
COMMENT ON COLUMN "public"."ebike_fault_file"."file_id" IS '主键ID';
COMMENT ON COLUMN "public"."ebike_fault_file"."report_id" IS '报告id';
COMMENT ON COLUMN "public"."ebike_fault_file"."file_name" IS '附件文件名';
COMMENT ON COLUMN "public"."ebike_fault_file"."file_type" IS '附件类型';
COMMENT ON COLUMN "public"."ebike_fault_file"."file_url" IS '附件地址';
COMMENT ON COLUMN "public"."ebike_fault_file"."file_size" IS '附件大小';
COMMENT ON COLUMN "public"."ebike_fault_file"."create_by" IS '创建人ID';
COMMENT ON COLUMN "public"."ebike_fault_file"."create_time" IS '创建时间';
COMMENT ON COLUMN "public"."ebike_fault_file"."update_by" IS '最后修改人ID';
COMMENT ON COLUMN "public"."ebike_fault_file"."update_time" IS '最后修改时间';
COMMENT ON TABLE "public"."ebike_fault_file" IS '用车相关附件文件记录';
@ -601,6 +599,6 @@ CREATE INDEX idx_ebike_refund_report_operator_id ON public.ebike_fault_report (o
ALTER TABLE "public"."ebike_fault_part" ADD CONSTRAINT "ebike_refund_part_pkey" PRIMARY KEY ("part_id");
-- ----------------------------
-- Primary Key structure for table ebike_attachment_file
-- Primary Key structure for table ebike_fault_file
-- ----------------------------
ALTER TABLE "public"."ebike_attachment_file" ADD CONSTRAINT "ebike_attachment_file_file_pkey" PRIMARY KEY ("file_id");
ALTER TABLE "public"."ebike_fault_file" ADD CONSTRAINT "ebike_fault_file_file_pkey" PRIMARY KEY ("file_id");