From 857372192248bd9daf6fdf5906c7621555b21cc6 Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期五, 06 九月 2024 11:24:32 +0800 Subject: [PATCH] 设备型号功能 --- jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java | 2 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DevModelService.java | 54 +++++++ jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DevModelServiceImpl.java | 72 ++++++++++ jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevModelRespVO.java | 35 +++++ jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devmanage/DevModelMapper.java | 29 ++++ sql/mysql/jh.sql | 4 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/DevModelController.java | 95 +++++++++++++ jh-module-ecg/jh-module-ecg-biz/src/main/resources/mapper/devmanage/DevModelMapper.xml | 12 + jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevModelPageReqVO.java | 31 ++++ jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevModelSaveReqVO.java | 27 +++ jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/devmanage/DevModelDO.java | 43 ++++++ 11 files changed, 403 insertions(+), 1 deletions(-) diff --git a/jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java b/jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java index b48b328..b644a32 100644 --- a/jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java +++ b/jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java @@ -22,4 +22,6 @@ ErrorCode QUEUE_HAVE_PATIENT = new ErrorCode(1_010_003_002, "闃熷垪涓湁鎮h��"); ErrorCode QUEUE_NOT_READY_PATIENT = new ErrorCode(1_010_003_003, "娌℃湁鍑嗗涓殑鎮h��"); ErrorCode PATIENT_NOT_EXISTS = new ErrorCode(1_010_004_000, "鎮h�呬笉瀛樺湪"); + + ErrorCode DEV_MODEL_NOT_EXISTS = new ErrorCode(1_010_005_000, "璁惧鍨嬪彿涓嶅瓨鍦�"); } diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/DevModelController.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/DevModelController.java new file mode 100644 index 0000000..bee8e5c --- /dev/null +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/DevModelController.java @@ -0,0 +1,95 @@ +package cn.lihu.jh.module.ecg.controller.admin.devmanage; + +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import java.util.*; +import java.io.IOException; + +import cn.lihu.jh.framework.common.pojo.PageParam; +import cn.lihu.jh.framework.common.pojo.PageResult; +import cn.lihu.jh.framework.common.pojo.CommonResult; +import cn.lihu.jh.framework.common.util.object.BeanUtils; +import static cn.lihu.jh.framework.common.pojo.CommonResult.success; + +import cn.lihu.jh.framework.excel.core.util.ExcelUtils; + +import cn.lihu.jh.framework.apilog.core.annotation.ApiAccessLog; +import static cn.lihu.jh.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.lihu.jh.module.ecg.controller.admin.devmanage.vo.*; +import cn.lihu.jh.module.ecg.dal.dataobject.devmanage.DevModelDO; +import cn.lihu.jh.module.ecg.service.devmanage.DevModelService; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +@Tag(name = "绠$悊鍚庡彴 - 璁惧鍨嬪彿") +@RestController +@RequestMapping("/ecg/dev-model") +@Validated +public class DevModelController { + + @Resource + private DevModelService devModelService; + + @PostMapping("/create") + @Operation(summary = "鍒涘缓璁惧鍨嬪彿") + @PreAuthorize("@ss.hasPermission('ecg:dev-model:create')") + public CommonResult<Integer> createDevModel(@Valid @RequestBody DevModelSaveReqVO createReqVO) { + return success(devModelService.createDevModel(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "鏇存柊璁惧鍨嬪彿") + @PreAuthorize("@ss.hasPermission('ecg:dev-model:update')") + public CommonResult<Boolean> updateDevModel(@Valid @RequestBody DevModelSaveReqVO updateReqVO) { + devModelService.updateDevModel(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "鍒犻櫎璁惧鍨嬪彿") + @Parameter(name = "id", description = "缂栧彿", required = true) + @PreAuthorize("@ss.hasPermission('ecg:dev-model:delete')") + public CommonResult<Boolean> deleteDevModel(@RequestParam("id") Integer id) { + devModelService.deleteDevModel(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "鑾峰緱璁惧鍨嬪彿") + @Parameter(name = "id", description = "缂栧彿", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('ecg:dev-model:query')") + public CommonResult<DevModelRespVO> getDevModel(@RequestParam("id") Integer id) { + DevModelDO devModel = devModelService.getDevModel(id); + return success(BeanUtils.toBean(devModel, DevModelRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "鑾峰緱璁惧鍨嬪彿鍒嗛〉") + @PreAuthorize("@ss.hasPermission('ecg:dev-model:query')") + public CommonResult<PageResult<DevModelRespVO>> getDevModelPage(@Valid DevModelPageReqVO pageReqVO) { + PageResult<DevModelDO> pageResult = devModelService.getDevModelPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, DevModelRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "瀵煎嚭璁惧鍨嬪彿 Excel") + @PreAuthorize("@ss.hasPermission('ecg:dev-model:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportDevModelExcel(@Valid DevModelPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List<DevModelDO> list = devModelService.getDevModelPage(pageReqVO).getList(); + // 瀵煎嚭 Excel + ExcelUtils.write(response, "璁惧鍨嬪彿.xls", "鏁版嵁", DevModelRespVO.class, + BeanUtils.toBean(list, DevModelRespVO.class)); + } + +} \ No newline at end of file diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevModelPageReqVO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevModelPageReqVO.java new file mode 100644 index 0000000..9cc24d3 --- /dev/null +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevModelPageReqVO.java @@ -0,0 +1,31 @@ +package cn.lihu.jh.module.ecg.controller.admin.devmanage.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.lihu.jh.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.lihu.jh.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "绠$悊鍚庡彴 - 璁惧鍨嬪彿鍒嗛〉 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class DevModelPageReqVO extends PageParam { + + @Schema(description = "鍒嗙被鍚�") + private String category; + + @Schema(description = "鍝佺墝") + private String brand; + + @Schema(description = "鍨嬪彿") + private String model; + + @Schema(description = "鍒涘缓鏃堕棿") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevModelRespVO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevModelRespVO.java new file mode 100644 index 0000000..15916c0 --- /dev/null +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevModelRespVO.java @@ -0,0 +1,35 @@ +package cn.lihu.jh.module.ecg.controller.admin.devmanage.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "绠$悊鍚庡彴 - 璁惧鍨嬪彿 Response VO") +@Data +@ExcelIgnoreUnannotated +public class DevModelRespVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "14922") + @ExcelProperty("id") + private Integer id; + + @Schema(description = "鍒嗙被鍚�", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("鍒嗙被鍚�") + private String category; + + @Schema(description = "鍝佺墝", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("鍝佺墝") + private String brand; + + @Schema(description = "鍨嬪彿", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("鍨嬪彿") + private String model; + + @Schema(description = "鍒涘缓鏃堕棿", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("鍒涘缓鏃堕棿") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevModelSaveReqVO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevModelSaveReqVO.java new file mode 100644 index 0000000..e48f53c --- /dev/null +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevModelSaveReqVO.java @@ -0,0 +1,27 @@ +package cn.lihu.jh.module.ecg.controller.admin.devmanage.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; + +@Schema(description = "绠$悊鍚庡彴 - 璁惧鍨嬪彿鏂板/淇敼 Request VO") +@Data +public class DevModelSaveReqVO { + + private Integer id; + + @Schema(description = "鍒嗙被鍚�", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "鍒嗙被鍚嶄笉鑳戒负绌�") + private String category; + + @Schema(description = "鍝佺墝", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "鍝佺墝涓嶈兘涓虹┖") + private String brand; + + @Schema(description = "鍨嬪彿", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "鍨嬪彿涓嶈兘涓虹┖") + private String model; + +} \ No newline at end of file diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/devmanage/DevModelDO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/devmanage/DevModelDO.java new file mode 100644 index 0000000..1456999 --- /dev/null +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/devmanage/DevModelDO.java @@ -0,0 +1,43 @@ +package cn.lihu.jh.module.ecg.dal.dataobject.devmanage; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.lihu.jh.framework.mybatis.core.dataobject.BaseDO; + +/** + * 璁惧鍨嬪彿 DO + * + * @author majianbo + */ +@TableName("device_model") +@KeySequence("device_model_seq") // 鐢ㄤ簬 Oracle銆丳ostgreSQL銆並ingbase銆丏B2銆丠2 鏁版嵁搴撶殑涓婚敭鑷銆傚鏋滄槸 MySQL 绛夋暟鎹簱锛屽彲涓嶅啓銆� +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class DevModelDO extends BaseDO { + + /** + * id + */ + @TableId + private Integer id; + /** + * 鍒嗙被鍚� + */ + private String category; + /** + * 鍝佺墝 + */ + private String brand; + /** + * 鍨嬪彿 + */ + private String model; + +} \ No newline at end of file diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devmanage/DevModelMapper.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devmanage/DevModelMapper.java new file mode 100644 index 0000000..c37aba5 --- /dev/null +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devmanage/DevModelMapper.java @@ -0,0 +1,29 @@ +package cn.lihu.jh.module.ecg.dal.mysql.devmanage; + +import java.util.*; + +import cn.lihu.jh.framework.common.pojo.PageResult; +import cn.lihu.jh.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.lihu.jh.framework.mybatis.core.mapper.BaseMapperX; +import cn.lihu.jh.module.ecg.dal.dataobject.devmanage.DevModelDO; +import org.apache.ibatis.annotations.Mapper; +import cn.lihu.jh.module.ecg.controller.admin.devmanage.vo.*; + +/** + * 璁惧鍨嬪彿 Mapper + * + * @author majianbo + */ +@Mapper +public interface DevModelMapper extends BaseMapperX<DevModelDO> { + + default PageResult<DevModelDO> selectPage(DevModelPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX<DevModelDO>() + .eqIfPresent(DevModelDO::getCategory, reqVO.getCategory()) + .eqIfPresent(DevModelDO::getBrand, reqVO.getBrand()) + .eqIfPresent(DevModelDO::getModel, reqVO.getModel()) + .betweenIfPresent(DevModelDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(DevModelDO::getId)); + } + +} \ No newline at end of file diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DevModelService.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DevModelService.java new file mode 100644 index 0000000..ab17c84 --- /dev/null +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DevModelService.java @@ -0,0 +1,54 @@ +package cn.lihu.jh.module.ecg.service.devmanage; + +import cn.lihu.jh.module.ecg.controller.admin.devmanage.vo.*; +import cn.lihu.jh.module.ecg.dal.dataobject.devmanage.DevModelDO; +import cn.lihu.jh.framework.common.pojo.PageResult; + +import javax.validation.Valid; + +/** + * 璁惧鍨嬪彿 Service 鎺ュ彛 + * + * @author majianbo + */ +public interface DevModelService { + + /** + * 鍒涘缓璁惧鍨嬪彿 + * + * @param createReqVO 鍒涘缓淇℃伅 + * @return 缂栧彿 + */ + Integer createDevModel(@Valid DevModelSaveReqVO createReqVO); + + /** + * 鏇存柊璁惧鍨嬪彿 + * + * @param updateReqVO 鏇存柊淇℃伅 + */ + void updateDevModel(@Valid DevModelSaveReqVO updateReqVO); + + /** + * 鍒犻櫎璁惧鍨嬪彿 + * + * @param id 缂栧彿 + */ + void deleteDevModel(Integer id); + + /** + * 鑾峰緱璁惧鍨嬪彿 + * + * @param id 缂栧彿 + * @return 璁惧鍨嬪彿 + */ + DevModelDO getDevModel(Integer id); + + /** + * 鑾峰緱璁惧鍨嬪彿鍒嗛〉 + * + * @param pageReqVO 鍒嗛〉鏌ヨ + * @return 璁惧鍨嬪彿鍒嗛〉 + */ + PageResult<DevModelDO> getDevModelPage(DevModelPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DevModelServiceImpl.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DevModelServiceImpl.java new file mode 100644 index 0000000..29ec88b --- /dev/null +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DevModelServiceImpl.java @@ -0,0 +1,72 @@ +package cn.lihu.jh.module.ecg.service.devmanage; + +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import cn.lihu.jh.module.ecg.controller.admin.devmanage.vo.*; +import cn.lihu.jh.module.ecg.dal.dataobject.devmanage.DevModelDO; +import cn.lihu.jh.framework.common.pojo.PageResult; +import cn.lihu.jh.framework.common.util.object.BeanUtils; + +import cn.lihu.jh.module.ecg.dal.mysql.devmanage.DevModelMapper; + +import javax.annotation.Resource; + +import static cn.lihu.jh.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.lihu.jh.module.ecg.enums.ErrorCodeConstants.*; + +/** + * 璁惧鍨嬪彿 Service 瀹炵幇绫� + * + * @author majianbo + */ +@Service +@Validated +public class DevModelServiceImpl implements DevModelService { + + @Resource + private DevModelMapper devModelMapper; + + @Override + public Integer createDevModel(DevModelSaveReqVO createReqVO) { + // 鎻掑叆 + DevModelDO devModel = BeanUtils.toBean(createReqVO, DevModelDO.class); + devModelMapper.insert(devModel); + // 杩斿洖 + return devModel.getId(); + } + + @Override + public void updateDevModel(DevModelSaveReqVO updateReqVO) { + // 鏍¢獙瀛樺湪 + validateDevModelExists(updateReqVO.getId()); + // 鏇存柊 + DevModelDO updateObj = BeanUtils.toBean(updateReqVO, DevModelDO.class); + devModelMapper.updateById(updateObj); + } + + @Override + public void deleteDevModel(Integer id) { + // 鏍¢獙瀛樺湪 + validateDevModelExists(id); + // 鍒犻櫎 + devModelMapper.deleteById(id); + } + + private void validateDevModelExists(Integer id) { + if (devModelMapper.selectById(id) == null) { + throw exception(DEV_MODEL_NOT_EXISTS); + } + } + + @Override + public DevModelDO getDevModel(Integer id) { + return devModelMapper.selectById(id); + } + + @Override + public PageResult<DevModelDO> getDevModelPage(DevModelPageReqVO pageReqVO) { + return devModelMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/resources/mapper/devmanage/DevModelMapper.xml b/jh-module-ecg/jh-module-ecg-biz/src/main/resources/mapper/devmanage/DevModelMapper.xml new file mode 100644 index 0000000..63fc4c9 --- /dev/null +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/resources/mapper/devmanage/DevModelMapper.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="cn.lihu.jh.module.ecg.dal.mysql.devmanage.DevModelMapper"> + + <!-- + 涓�鑸儏鍐典笅锛屽敖鍙兘浣跨敤 Mapper 杩涜 CRUD 澧炲垹鏀规煡鍗冲彲銆� + 鏃犳硶婊¤冻鐨勫満鏅紝渚嬪璇村琛ㄥ叧鑱旀煡璇紝鎵嶄娇鐢� XML 缂栧啓 SQL銆� + 浠g爜鐢熸垚鍣ㄦ殏鏃跺彧鐢熸垚 Mapper XML 鏂囦欢鏈韩锛屾洿澶氭帹鑽� MybatisX 蹇�熷紑鍙戞彃浠舵潵鐢熸垚鏌ヨ銆� + 鏂囨。鍙锛歨ttps://www.iocoder.cn/MyBatis/x-plugins/ + --> + +</mapper> \ No newline at end of file diff --git a/sql/mysql/jh.sql b/sql/mysql/jh.sql index 491a578..34cdd05 100644 --- a/sql/mysql/jh.sql +++ b/sql/mysql/jh.sql @@ -99,12 +99,14 @@ -- ---------------------------- DROP TABLE IF EXISTS `device_model`; CREATE TABLE `device_model` ( - `id` int NOT NULL COMMENT 'id', + `id` int NOT NULL AUTO_INCREMENT COMMENT 'id', `category` varchar(45) DEFAULT NULL COMMENT '鍒嗙被鍚�', `brand` varchar(45) DEFAULT NULL COMMENT '鍝佺墝', `model` varchar(45) DEFAULT NULL COMMENT '鍨嬪彿', `tenant_id` int DEFAULT 1 COMMENT '绉熸埛缂栧彿', + `creator` varchar(10) DEFAULT '' COMMENT '鍒涘缓鑰�', `create_time` datetime NOT NULL COMMENT '鍒涘缓鏃堕棿', + `updater` varchar(10) DEFAULT '' COMMENT '鏇存柊鑰�', `update_time` datetime NOT NULL COMMENT '鏇存柊鏃堕棿', `deleted` bit(1) DEFAULT 0 COMMENT '鍒犻櫎鏍囪', PRIMARY KEY (`id`) -- Gitblit v1.9.3