diff --git a/src/main/java/com/iflytop/gd/app/controller/PhotoController.java b/src/main/java/com/iflytop/gd/app/controller/PhotoController.java new file mode 100644 index 0000000..0bf30cb --- /dev/null +++ b/src/main/java/com/iflytop/gd/app/controller/PhotoController.java @@ -0,0 +1,54 @@ +package com.iflytop.gd.app.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.iflytop.gd.app.model.entity.Photos; +import com.iflytop.gd.app.service.api.PhotosService; +import com.iflytop.gd.common.base.BasePageQuery; +import com.iflytop.gd.common.result.PageResult; +import com.iflytop.gd.common.result.Result; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 照片接口 + */ +@Tag(name = "认证") +@RestController +@RequestMapping("/api/photo") +@RequiredArgsConstructor +@Slf4j +public class PhotoController { + + private final PhotosService photosService; + + @Operation(summary = "照片列表") + @GetMapping("/list") + public PageResult getList(BasePageQuery pageQuery) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.orderByDesc(Photos::getCreateTime); + IPage result = photosService.page(new Page<>(pageQuery.getPageNum(), pageQuery.getPageSize()), queryWrapper); + return PageResult.success(result); + } + + @Operation(summary = "拍摄一张照片") + @GetMapping("/take") + public Result take() { + return Result.success("http://127.0.0.1/photos/temp/1.png"); + } + + + @Operation(summary = "保存照片") + @GetMapping("/save") + public Result save(Photos photos) { + return Result.success(); + } + + +} diff --git a/src/main/java/com/iflytop/gd/app/mapper/PhotosMapper.java b/src/main/java/com/iflytop/gd/app/mapper/PhotosMapper.java new file mode 100644 index 0000000..1141255 --- /dev/null +++ b/src/main/java/com/iflytop/gd/app/mapper/PhotosMapper.java @@ -0,0 +1,13 @@ +package com.iflytop.gd.app.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.iflytop.gd.app.model.entity.Photos; +import org.apache.ibatis.annotations.Mapper; + +/** + * 照片持久层接口 + */ +@Mapper +public interface PhotosMapper extends BaseMapper { + +} diff --git a/src/main/java/com/iflytop/gd/app/model/entity/Photos.java b/src/main/java/com/iflytop/gd/app/model/entity/Photos.java new file mode 100644 index 0000000..823ef69 --- /dev/null +++ b/src/main/java/com/iflytop/gd/app/model/entity/Photos.java @@ -0,0 +1,39 @@ +package com.iflytop.gd.app.model.entity; + + +import com.baomidou.mybatisplus.annotation.TableName; +import com.iflytop.gd.common.base.BaseEntity; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("photos") // 表名 +@Schema(description = "照片实体") +public class Photos extends BaseEntity { + + @Schema(description = "模式(手动、自动)") + private String mode; + + @Schema(description = "矿石ID") + private Long oreId; + + @Schema(description = "工艺ID") + private Long craftsId; + + @Schema(description = "矿石名称") + private String oreName; + + @Schema(description = "工艺名称(自动模式)") + private String craftsName; + + @Schema(description = "图片相对路径") + private String imagePath; + + @Schema(description = "图片问题数据") + private String problem; + + @Schema(description = "备注") + private String remarks; +} diff --git a/src/main/java/com/iflytop/gd/app/service/api/PhotosService.java b/src/main/java/com/iflytop/gd/app/service/api/PhotosService.java new file mode 100644 index 0000000..3d26e23 --- /dev/null +++ b/src/main/java/com/iflytop/gd/app/service/api/PhotosService.java @@ -0,0 +1,17 @@ +package com.iflytop.gd.app.service.api; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.iflytop.gd.app.mapper.PhotosMapper; +import com.iflytop.gd.app.model.entity.Photos; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * 照片接口服务 + */ +@Service +@RequiredArgsConstructor +public class PhotosService extends ServiceImpl { + + +} diff --git a/src/main/resources/sql/init.sql b/src/main/resources/sql/init.sql index bbddae3..5da13a5 100644 --- a/src/main/resources/sql/init.sql +++ b/src/main/resources/sql/init.sql @@ -175,4 +175,20 @@ CREATE TABLE IF NOT EXISTS device_param_config create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP -) \ No newline at end of file +); + +-- 照片表 +CREATE TABLE IF NOT EXISTS photos +( + id INTEGER PRIMARY KEY AUTOINCREMENT, -- 主键ID + mode TEXT NOT NULL, -- 模式(手动、自动) + ore_id INTEGER, -- 矿石ID + crafts_id INTEGER, -- 工艺ID + ore_name TEXT, -- 矿石名称 + crafts_name TEXT, -- 工艺名称(自动模式) + image_path TEXT, -- 图片相对路径 + remarks TEXT, -- 备注 + problem TEXT, -- 照片问题json数据 + create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 创建时间 + update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP -- 修改时间 +);