WangRuiLin 1 год назад
Родитель
Сommit
b67f897605

+ 1 - 0
pom.xml

@@ -415,6 +415,7 @@
     <modules>
         <module>taais-admin</module>
         <module>taais-common</module>
+        <module>taais-mydemo</module>
         <module>taais-extra</module>
         <module>taais-modules</module>
     </modules>

+ 81 - 0
script/sql/postgresql/data(postgresql).sql

@@ -0,0 +1,81 @@
+-- Table: public.data
+
+DROP TABLE IF EXISTS public.data;
+
+CREATE TABLE IF NOT EXISTS public.data
+(
+    id bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 9223372036854775807 CACHE 1 ),
+    name character varying(225) COLLATE pg_catalog."default" DEFAULT ''::character varying,
+    data_type character varying(225) COLLATE pg_catalog."default" DEFAULT ''::character varying,
+    file_type character varying(225) COLLATE pg_catalog."default" DEFAULT ''::character varying,
+    object_type character varying(225) COLLATE pg_catalog."default" DEFAULT ''::character varying,
+    object_subtype character varying(225) COLLATE pg_catalog."default" DEFAULT ''::character varying,
+    batch_num bigint,
+    scene character varying(225) COLLATE pg_catalog."default" DEFAULT ''::character varying,
+    data_source character varying(225) COLLATE pg_catalog."default" DEFAULT ''::character varying,
+    gather_time timestamp without time zone,
+    gather_spot character varying(225) COLLATE pg_catalog."default" DEFAULT ''::character varying,
+    url character varying(225) COLLATE pg_catalog."default",
+    increment character varying(225) COLLATE pg_catalog."default" DEFAULT ''::character varying,
+    labeled boolean DEFAULT false,
+    CONSTRAINT data_pkey PRIMARY KEY (id)
+    )
+
+    TABLESPACE pg_default;
+
+ALTER TABLE IF EXISTS public.data
+    OWNER to "86187";
+
+COMMENT ON TABLE public.data
+    IS '数据管理表';
+
+COMMENT ON COLUMN public.data.id
+    IS 'id';
+
+COMMENT ON COLUMN public.data.name
+    IS '名称';
+
+COMMENT ON COLUMN public.data.data_type
+    IS '数据类型';
+
+COMMENT ON COLUMN public.data.file_type
+    IS '文件类型';
+
+COMMENT ON COLUMN public.data.object_type
+    IS '目标类型';
+
+COMMENT ON COLUMN public.data.object_subtype
+    IS '目标子类型';
+
+COMMENT ON COLUMN public.data.batch_num
+    IS '批次号';
+
+COMMENT ON COLUMN public.data.scene
+    IS '场景';
+
+COMMENT ON COLUMN public.data.data_source
+    IS '数据源';
+
+COMMENT ON COLUMN public.data.gather_time
+    IS '采集时间';
+
+COMMENT ON COLUMN public.data.gather_spot
+    IS '采集地点';
+
+COMMENT ON COLUMN public.data.url
+    IS '图片url';
+
+COMMENT ON COLUMN public.data.increment
+    IS '扩增方式';
+
+COMMENT ON COLUMN public.data.labeled
+    IS '是否标注';
+
+-- 菜单 SQL
+INSERT INTO public.sys_menu (menu_id, menu_name, parent_id, order_num, path, component, component_name, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, version, create_by, create_time, update_by, update_time, remark) VALUES (2002, '数据管理查询', 2001, 1, NULL, '', NULL, NULL, '1', '0', 'F', '0', '0', 'demo:data:query', NULL, 0, 1, '2024-04-22 17:21:27.187713', 1, NULL, '');
+INSERT INTO public.sys_menu (menu_id, menu_name, parent_id, order_num, path, component, component_name, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, version, create_by, create_time, update_by, update_time, remark) VALUES (2003, '数据管理新增', 2001, 2, NULL, '', NULL, NULL, '1', '0', 'F', '0', '0', 'demo:data:add', NULL, 0, 1, '2024-04-22 17:21:27.187713', 1, NULL, '');
+INSERT INTO public.sys_menu (menu_id, menu_name, parent_id, order_num, path, component, component_name, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, version, create_by, create_time, update_by, update_time, remark) VALUES (2004, '数据管理修改', 2001, 3, NULL, '', NULL, NULL, '1', '0', 'F', '0', '0', 'demo:data:edit', NULL, 0, 1, '2024-04-22 17:21:27.187713', 1, NULL, '');
+INSERT INTO public.sys_menu (menu_id, menu_name, parent_id, order_num, path, component, component_name, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, version, create_by, create_time, update_by, update_time, remark) VALUES (2005, '数据管理删除', 2001, 4, NULL, '', NULL, NULL, '1', '0', 'F', '0', '0', 'demo:data:remove', NULL, 0, 1, '2024-04-22 17:21:27.187713', 1, NULL, '');
+INSERT INTO public.sys_menu (menu_id, menu_name, parent_id, order_num, path, component, component_name, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, version, create_by, create_time, update_by, update_time, remark) VALUES (2006, '数据管理导出', 2001, 5, NULL, '', NULL, NULL, '1', '0', 'F', '0', '0', 'demo:data:export', NULL, 0, 1, '2024-04-22 17:21:27.187713', 1, NULL, '');
+INSERT INTO public.sys_menu (menu_id, menu_name, parent_id, order_num, path, component, component_name, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, version, create_by, create_time, update_by, update_time, remark) VALUES (2001, '数据管理', 2, 1, '/demo/data', 'demo/data/index', '数据管理', NULL, '1', '0', 'C', '0', '0', 'demo:data:list', NULL, 6, 1, '2024-04-22 17:21:27.187713', 1, '2024-04-23 20:38:36.673', '数据管理菜单');
+INSERT INTO public.sys_menu (menu_id, menu_name, parent_id, order_num, path, component, component_name, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, version, create_by, create_time, update_by, update_time, remark) VALUES (2, '数据管理', 0, 2, 'data', NULL, NULL, NULL, '1', '0', 'M', '0', '0', NULL, 'data', 0, 1, NULL, 1, NULL, '数据管理目录');

+ 9 - 7
taais-admin/src/main/resources/application-dev.yml

@@ -17,11 +17,8 @@ spring:
       maxLifetime: 1800000
       # 多久检查一次连接的活性
       keepaliveTime: 30000
+
 mybatis-flex:
-  # sql审计
-  audit_enable: true
-  # sql打印
-  sql_print: true
   datasource:
     # 数据源-1
     ds1:
@@ -36,8 +33,13 @@ mybatis-flex:
       #postgresql数据库
       driver-class-name: org.postgresql.Driver
       url: jdbc:postgresql://localhost:5432/taais?useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true
-      username: postgres
-      password: P3x0LG8jzyHRX59l
+      username: 86187
+      password:
+# sql审计
+  audit_enable: true
+# sql打印
+  sql_print: true
+
 
 #    # 数据源-2
 #    ds2:
@@ -64,7 +66,7 @@ spring.data:
     # 数据库索引
     database: 0
     # 密码(如没有密码请注释掉)
-    password: CWwYsGjafmv8Sr7g
+    password: 123456
     # 连接超时时间
     timeout: 10s
     # 是否开启ssl

+ 1 - 1
taais-admin/src/main/resources/application.yml

@@ -9,7 +9,7 @@ taais:
   # 实例演示开关
   demoEnabled: true
   # 文件路径 示例( Windows配置D:/km/uploadPath,Linux配置 /home/km/uploadPath)
-  profile: D:/taais/uploadPath
+  profile: E:/taais/uploadPath
   # 获取ip地址开关
   addressEnabled: false
 

+ 2 - 2
taais-modules/taais-system/src/main/java/com/taais/system/controller/system/SysRoleController.java

@@ -159,8 +159,8 @@ public class SysRoleController extends BaseController {
      */
     @SaCheckPermission("system:role:remove")
     @Log(title = "角色管理", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{roleIds}")
-    public CommonResult<Void> remove(@PathVariable Long[] roleIds) {
+    @DeleteMapping("/remove")
+    public CommonResult<Void> remove(@RequestBody Long[] roleIds) {
         boolean deleted = roleService.deleteRoleByIds(roleIds);
         if (!deleted) {
             return CommonResult.fail("批量删除角色失败,请联系管理员");

+ 47 - 0
taais-mydemo/pom.xml

@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xmlns="http://maven.apache.org/POM/4.0.0"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <groupId>com.taais</groupId>
+        <artifactId>taais</artifactId>
+        <version>${revision}</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <packaging>jar</packaging>
+
+    <artifactId>taais-demo</artifactId>
+
+    <description>
+        mydemo模块
+    </description>
+
+    <dependencies>
+        <dependency>
+            <groupId>com.taais</groupId>
+            <artifactId>taais-common-core</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.taais</groupId>
+            <artifactId>taais-common-web</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.taais</groupId>
+            <artifactId>taais-common-springdoc</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.taais</groupId>
+            <artifactId>taais-common-excel</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.taais</groupId>
+            <artifactId>taais-common-log</artifactId>
+        </dependency>
+
+    </dependencies>
+
+</project>

+ 116 - 0
taais-mydemo/src/main/java/com/taais/demo/controller/DataController.java

@@ -0,0 +1,116 @@
+package com.taais.demo.controller;
+
+import java.util.List;
+
+import com.mybatisflex.core.query.QueryWrapper;
+import com.taais.common.core.core.page.PageResult;
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import com.taais.common.core.core.domain.CommonResult;
+import com.taais.common.excel.utils.ExcelUtil;
+import com.taais.common.log.annotation.Log;
+import com.taais.common.log.enums.BusinessType;
+import com.taais.common.web.annotation.RepeatSubmit;
+import com.taais.common.web.core.BaseController;
+import jakarta.annotation.Resource;
+import com.taais.demo.domain.vo.DataVo;
+import com.taais.demo.domain.bo.DataBo;
+import com.taais.demo.service.IDataService;
+
+import com.taais.common.orm.core.page.TableDataInfo;
+
+/**
+ * 数据管理Controller
+ *
+ * @author km
+ * 2024-04-22
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/demo/data")
+public class DataController extends BaseController {
+    @Resource
+    private IDataService dataService;
+
+    /**
+     * 查询数据管理列表
+     */
+    @SaCheckPermission("demo:data:list")
+    @GetMapping("/list")
+    public CommonResult<PageResult<DataVo>> list(DataBo dataBo) {
+        return CommonResult.success(dataService.selectPage(dataBo));
+
+    }
+
+    /**
+     * 导出数据管理列表
+     */
+    @SaCheckPermission("demo:data:export")
+    @Log(title = "数据管理", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, DataBo dataBo) {
+        List<DataVo> list = dataService.selectList(dataBo);
+        ExcelUtil.exportExcel(list, "数据管理", DataVo.class, response);
+    }
+
+    /**
+     * 获取数据管理详细信息
+     */
+    @SaCheckPermission("demo:data:query")
+    @GetMapping(value = "/{id}")
+    public CommonResult<DataVo> getInfo(@PathVariable Long id) {
+
+        return CommonResult.success(dataService.selectById(id));
+    }
+
+    /**
+     * 新增数据管理
+     */
+    @SaCheckPermission("demo:data:add")
+    @Log(title = "数据管理", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping
+    public CommonResult<Void> add(@Validated @RequestBody DataBo dataBo) {
+        boolean inserted = dataService.insert(dataBo);
+        if (!inserted) {
+            return CommonResult.fail("新增数据管理记录失败!");
+        }
+        return CommonResult.success();
+    }
+
+    /**
+     * 修改数据管理
+     */
+    @SaCheckPermission("demo:data:edit")
+    @Log(title = "数据管理", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PutMapping
+    public CommonResult<Void> edit(@Validated @RequestBody DataBo dataBo) {
+        Boolean updated = dataService.update(dataBo);
+        if (!updated) {
+            return CommonResult.fail("修改数据管理记录失败!");
+        }
+        return CommonResult.success();
+    }
+
+    /**
+     * 删除数据管理
+     */
+    @SaCheckPermission("demo:data:remove")
+    @Log(title = "数据管理", businessType = BusinessType.DELETE)
+    @PostMapping("/remove")
+
+    public CommonResult<Void> remove(@RequestBody Long[] ids) {
+
+
+        boolean deleted = dataService.deleteByIds(ids);
+        if (!deleted) {
+            return CommonResult.fail("删除数据管理记录失败!");
+        }
+        return CommonResult.success();
+    }
+}

+ 72 - 0
taais-mydemo/src/main/java/com/taais/demo/domain/Data.java

@@ -0,0 +1,72 @@
+package com.taais.demo.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.mybatisflex.annotation.Id;
+import com.mybatisflex.annotation.KeyType;
+import com.mybatisflex.annotation.Table;
+import com.taais.common.orm.core.domain.BaseEntity;
+
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * 数据管理对象 data
+ *
+ * @author km
+ * 2024-04-22
+ */
+@lombok.Data
+//@EqualsAndHashCode(callSuper = true)
+@Table(value = "data")
+public class Data {
+//    @Serial
+//    private static final long serialVersionUID = 1L;
+
+    /** id */
+    @Id(value = "id",keyType = KeyType.Auto)
+    private Long id;
+
+    /** 名称 */
+    private String name;
+
+    /** 数据类型 */
+    private String dataType;
+
+    /** 文件类型 */
+    private String fileType;
+
+    /** 目标类型 */
+    private String objectType;
+
+    /** 目标子类型 */
+    private String objectSubtype;
+
+    /** 批次号 */
+    private Long batchNum;
+
+    /** 场景 */
+    private String scene;
+
+    /** 数据源 */
+    private String dataSource;
+
+    /** 采集时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date gatherTime;
+
+    /** 采集地点 */
+    private String gatherSpot;
+
+    /** 图片url */
+    private String url;
+
+    /** 扩增方式 */
+    private String increment;
+
+    /** 是否标注 */
+    private Boolean labeled;
+
+
+}

+ 111 - 0
taais-mydemo/src/main/java/com/taais/demo/domain/bo/DataBo.java

@@ -0,0 +1,111 @@
+package com.taais.demo.domain.bo;
+
+import com.mybatisflex.annotation.Id;
+import com.mybatisflex.annotation.KeyType;
+import com.mybatisflex.annotation.Table;
+import com.taais.common.orm.core.domain.BaseEntity;
+import com.taais.demo.domain.Data;
+import io.github.linpeilie.annotations.AutoMapper;
+
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+/**
+ * 数据管理业务对象 data
+ *
+ * @author km
+ * @date 2024-04-22
+ */
+@lombok.Data
+//@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = Data.class, reverseConvertGenerate = false)
+public class DataBo {
+    /**
+     * id
+     */
+
+    private Long id;
+
+    /**
+     * 名称
+     */
+    @NotBlank(message = "名称不能为空")
+    private String name;
+
+    /**
+     * 数据类型
+     */
+    @NotBlank(message = "数据类型不能为空")
+    private String dataType;
+
+    /**
+     * 文件类型
+     */
+    @NotBlank(message = "文件类型不能为空")
+    private String fileType;
+
+    /**
+     * 目标类型
+     */
+    @NotBlank(message = "目标类型不能为空")
+    private String objectType;
+
+    /**
+     * 目标子类型
+     */
+    @NotBlank(message = "目标子类型不能为空")
+    private String objectSubtype;
+
+    /**
+     * 批次号
+     */
+    @NotNull(message = "批次号不能为空")
+    private Long batchNum;
+
+    /**
+     * 场景
+     */
+    @NotBlank(message = "场景不能为空")
+    private String scene;
+
+    /**
+     * 数据源
+     */
+    @NotBlank(message = "数据源不能为空")
+    private String dataSource;
+
+    /**
+     * 采集时间
+     */
+    @NotNull(message = "采集时间不能为空")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date gatherTime;
+
+    /**
+     * 采集地点
+     */
+    @NotBlank(message = "采集地点不能为空")
+    private String gatherSpot;
+
+    /**
+     * 图片url
+     */
+//    @NotBlank(message = "图片url不能为空")
+    private String url;
+
+    /**
+     * 扩增方式
+     */
+    @NotBlank(message = "扩增方式不能为空")
+    private String increment;
+
+    /**
+     * 是否标注
+     */
+
+    private Boolean labeled;
+
+
+}

+ 92 - 0
taais-mydemo/src/main/java/com/taais/demo/domain/vo/DataVo.java

@@ -0,0 +1,92 @@
+package com.taais.demo.domain.vo;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.taais.common.orm.core.domain.BaseEntity;
+import com.taais.demo.domain.Data;
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.taais.common.excel.annotation.ExcelDictFormat;
+import com.taais.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+
+import jakarta.validation.constraints.NotBlank;
+import lombok.EqualsAndHashCode;
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 数据管理视图对象 data
+ *
+ * @author km
+ * @date 2024-04-22
+ */
+@lombok.Data
+@ExcelIgnoreUnannotated
+//@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = Data.class)
+public class DataVo  implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /** id */
+    @ExcelProperty(value = "id")
+    private Long id;
+
+    /** 名称 */
+    @ExcelProperty(value = "名称")
+    private String name;
+
+    /** 数据类型 */
+    @ExcelProperty(value = "数据类型")
+    private String dataType;
+
+    /** 文件类型 */
+    @ExcelProperty(value = "文件类型")
+    private String fileType;
+
+    /** 目标类型 */
+    @ExcelProperty(value = "目标类型")
+    private String objectType;
+
+    /** 目标子类型 */
+    @ExcelProperty(value = "目标子类型")
+    private String objectSubtype;
+
+    /** 批次号 */
+    @ExcelProperty(value = "批次号")
+    private Long batchNum;
+
+    /** 场景 */
+    @ExcelProperty(value = "场景")
+    private String scene;
+
+    /** 数据源 */
+    @ExcelProperty(value = "数据源")
+    private String dataSource;
+
+    /** 采集时间 */
+    @ExcelProperty(value = "采集时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date gatherTime;
+
+    /** 采集地点 */
+    @ExcelProperty(value = "采集地点")
+    private String gatherSpot;
+
+    /** 图片url */
+//    @ExcelProperty(value = "url")
+    private String url;
+
+    /** 扩增方式 */
+    @ExcelProperty(value = "扩增方式")
+    private String increment;
+
+    /** 是否标注 */
+    @ExcelProperty(value = "是否标注")
+    private Boolean labeled;
+
+
+
+}

+ 16 - 0
taais-mydemo/src/main/java/com/taais/demo/mapper/DataMapper.java

@@ -0,0 +1,16 @@
+package com.taais.demo.mapper;
+
+import com.mybatisflex.core.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import com.taais.demo.domain.Data;
+
+/**
+ * 数据管理Mapper接口
+ *
+ * @author km
+ * 2024-04-22
+ */
+@Mapper
+public interface DataMapper extends BaseMapper<Data> {
+
+}

+ 67 - 0
taais-mydemo/src/main/java/com/taais/demo/service/IDataService.java

@@ -0,0 +1,67 @@
+package com.taais.demo.service;
+
+import java.util.List;
+
+import com.taais.common.core.core.page.PageResult;
+import com.taais.demo.domain.Data;
+import com.taais.demo.domain.vo.DataVo;
+import com.taais.demo.domain.bo.DataBo;
+import com.taais.common.orm.core.service.IBaseService;
+import com.taais.common.orm.core.page.TableDataInfo;
+
+/**
+ * 数据管理Service接口
+ *
+ * @author km
+ * 2024-04-22
+ */
+public interface IDataService extends IBaseService<Data> {
+    /**
+     * 查询数据管理
+     *
+     * @param id 数据管理主键
+     * @return 数据管理
+     */
+        DataVo selectById(Long id);
+
+    /**
+     * 查询数据管理列表
+     *
+     * @param dataBo 数据管理Bo
+     * @return 数据管理集合
+     */
+    List<DataVo> selectList(DataBo dataBo);
+
+    /**
+     * 分页查询数据管理列表
+     *
+     * @param dataBo 数据管理Bo
+     * @return 分页数据管理集合
+     */
+    PageResult<DataVo> selectPage(DataBo dataBo);
+
+    /**
+     * 新增数据管理
+     *
+     * @param dataBo 数据管理Bo
+     * @return 结果:true 操作成功,false 操作失败
+     */
+    boolean insert(DataBo dataBo);
+
+    /**
+     * 修改数据管理
+     *
+     * @param dataBo 数据管理Bo
+     * @return 结果:true 更新成功,false 更新失败
+     */
+    boolean update(DataBo dataBo);
+
+    /**
+     * 批量删除数据管理
+     *
+     * @param ids 需要删除的数据管理主键集合
+     * @return 结果:true 删除成功,false 删除失败
+     */
+    boolean deleteByIds(Long[] ids);
+
+}

+ 150 - 0
taais-mydemo/src/main/java/com/taais/demo/service/impl/DataServiceImpl.java

@@ -0,0 +1,150 @@
+package com.taais.demo.service.impl;
+
+import java.util.Arrays;
+import java.util.List;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.mybatisflex.core.paginate.Page;
+import com.mybatisflex.core.query.QueryWrapper;
+import com.taais.common.core.core.page.PageResult;
+import com.taais.common.core.utils.MapstructUtils;
+import com.taais.common.core.utils.StringUtils;
+import com.taais.common.orm.core.page.PageQuery;
+import com.taais.common.orm.core.page.TableDataInfo;
+import com.taais.common.orm.core.service.impl.BaseServiceImpl;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.taais.demo.mapper.DataMapper;
+import com.taais.demo.domain.Data;
+import com.taais.demo.domain.bo.DataBo;
+import com.taais.demo.domain.vo.DataVo;
+import com.taais.demo.service.IDataService;
+import static com.taais.demo.domain.table.DataTableDef.DATA;
+
+/**
+ * 数据管理Service业务层处理
+ *
+ * @author km
+ * 2024-04-22
+ */
+@Service
+public class DataServiceImpl extends BaseServiceImpl<DataMapper, Data> implements IDataService {
+    @Resource
+    private DataMapper dataMapper;
+
+    @Override
+    public QueryWrapper query() {
+        return super.query().from(DATA);
+    }
+
+    private QueryWrapper buildQueryWrapper(DataBo dataBo) {
+        QueryWrapper queryWrapper = super.buildBaseQueryWrapper();
+        queryWrapper.and(DATA.NAME.like
+        (dataBo.getName()));
+        queryWrapper.and(DATA.DATA_TYPE.eq
+        (dataBo.getDataType()));
+        queryWrapper.and(DATA.FILE_TYPE.eq
+        (dataBo.getFileType()));
+        queryWrapper.and(DATA.OBJECT_TYPE.eq
+        (dataBo.getObjectType()));
+        queryWrapper.and(DATA.OBJECT_SUBTYPE.eq
+        (dataBo.getObjectSubtype()));
+        queryWrapper.and(DATA.BATCH_NUM.eq
+        (dataBo.getBatchNum()));
+        queryWrapper.and(DATA.SCENE.eq
+        (dataBo.getScene()));
+        queryWrapper.and(DATA.DATA_SOURCE.eq
+        (dataBo.getDataSource()));
+        queryWrapper.and(DATA.GATHER_TIME.eq
+        (dataBo.getGatherTime()));
+        queryWrapper.and(DATA.GATHER_SPOT.eq
+        (dataBo.getGatherSpot()));
+        queryWrapper.and(DATA.INCREMENT.eq
+        (dataBo.getIncrement()));
+        queryWrapper.and(DATA.LABELED.eq
+        (dataBo.getLabeled()));
+
+        return queryWrapper;
+    }
+
+    /**
+     * 查询数据管理
+     *
+     * @param id 数据管理主键
+     * @return 数据管理
+     */
+    @Override
+    public DataVo selectById(Long id) {
+            return this.getOneAs(query().where(DATA.ID.eq(id)), DataVo.class);
+
+    }
+
+    /**
+     * 查询数据管理列表
+     *
+     * @param dataBo 数据管理Bo
+     * @return 数据管理集合
+     */
+    @Override
+    public List<DataVo> selectList(DataBo dataBo) {
+        QueryWrapper queryWrapper = buildQueryWrapper(dataBo);
+            return this.listAs(queryWrapper, DataVo.class);
+    }
+
+    /**
+     * 分页查询数据管理列表
+     *
+     * @param dataBo 数据管理Bo
+     * @return 分页数据管理集合
+     */
+    @Override
+    public PageResult<DataVo> selectPage(DataBo dataBo) {
+        QueryWrapper queryWrapper = buildQueryWrapper(dataBo);
+            Page<DataVo> page = this.pageAs(PageQuery.build(), queryWrapper, DataVo.class);
+        return PageResult.build(page);
+    }
+
+    /**
+     * 新增数据管理
+     *
+     * @param dataBo 数据管理Bo
+     * @return 结果:true 操作成功,false 操作失败
+     */
+    @Override
+    public boolean insert(DataBo dataBo) {
+    Data data =MapstructUtils.convert(dataBo, Data.class);
+
+        return this.save(data);//使用全局配置的雪花算法主键生成器生成ID值
+    }
+
+    /**
+     * 修改数据管理
+     *
+     * @param dataBo 数据管理Bo
+     * @return 结果:true 更新成功,false 更新失败
+     */
+    @Override
+    public boolean update(DataBo dataBo) {
+        Data data =MapstructUtils.convert(dataBo, Data. class);
+        if (ObjectUtil.isNotNull(data) && ObjectUtil.isNotNull(data.getId())){
+            boolean updated = this.updateById(data);
+                return updated;
+        }
+        return false;
+    }
+
+    /**
+     * 批量删除数据管理
+     *
+     * @param ids 需要删除的数据管理主键集合
+     * @return 结果:true 删除成功,false 删除失败
+     */
+//    @Transactional
+    @Override
+    public boolean deleteByIds(Long[] ids) {
+        QueryWrapper queryWrapper = QueryWrapper.create().from(DATA).where(DATA.ID.in(Arrays.asList(ids)));
+        return this.remove(queryWrapper);
+    }
+
+}

+ 7 - 0
taais-mydemo/src/main/resources/mapper/demo/DataMapper.xml

@@ -0,0 +1,7 @@
+<?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="com.taais.demo.mapper.DataMapper">
+
+</mapper>