浏览代码

feat: 数据管理后端搭建

WANGKANG 8 月之前
父节点
当前提交
2edbb20079

+ 109 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/controller/DataSeqController.java

@@ -0,0 +1,109 @@
+package com.taais.biz.controller;
+
+import java.util.List;
+
+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.biz.domain.vo.DataSeqVo;
+import com.taais.biz.domain.bo.DataSeqBo;
+import com.taais.biz.service.IDataSeqService;
+
+import com.taais.common.core.core.page.PageResult;
+
+/**
+ * 数据管理Controller
+ *
+ * @author wangkang
+ * 2024-10-08
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/demo/DataSeq")
+public class DataSeqController extends BaseController {
+    @Resource
+    private IDataSeqService dataSeqService;
+
+    /**
+     * 查询数据管理列表
+     */
+    @SaCheckPermission("demo:DataSeq:list")
+    @GetMapping("/list")
+    public CommonResult<PageResult<DataSeqVo>> list(DataSeqBo dataSeqBo) {
+        return CommonResult.success(dataSeqService.selectPage(dataSeqBo));
+    }
+
+    /**
+     * 导出数据管理列表
+     */
+    @SaCheckPermission("demo:DataSeq:export")
+    @Log(title = "数据管理", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, DataSeqBo dataSeqBo) {
+        List<DataSeqVo> list = dataSeqService.selectList(dataSeqBo);
+        ExcelUtil.exportExcel(list, "数据管理", DataSeqVo.class, response);
+    }
+
+    /**
+     * 获取数据管理详细信息
+     */
+    @SaCheckPermission("demo:DataSeq:query")
+    @GetMapping(value = "/{id}")
+    public CommonResult<DataSeqVo> getInfo(@PathVariable Long id) {
+        return CommonResult.success(dataSeqService.selectById(id));
+    }
+
+    /**
+     * 新增数据管理
+     */
+    @SaCheckPermission("demo:DataSeq:add")
+    @Log(title = "数据管理", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping
+    public CommonResult<Void> add(@Validated @RequestBody DataSeqBo dataSeqBo) {
+        boolean inserted = dataSeqService.insert(dataSeqBo);
+        if (!inserted) {
+            return CommonResult.fail("新增数据管理记录失败!");
+        }
+        return CommonResult.success();
+    }
+
+    /**
+     * 修改数据管理
+     */
+    @SaCheckPermission("demo:DataSeq:edit")
+    @Log(title = "数据管理", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PutMapping
+    public CommonResult<Void> edit(@Validated @RequestBody DataSeqBo dataSeqBo) {
+        Boolean updated = dataSeqService.update(dataSeqBo);
+        if (!updated) {
+            return CommonResult.fail("修改数据管理记录失败!");
+        }
+        return CommonResult.success();
+    }
+
+    /**
+     * 删除数据管理
+     */
+    @SaCheckPermission("demo:DataSeq:remove")
+    @Log(title = "数据管理", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public CommonResult<Void> remove(@PathVariable Long[] ids) {
+        boolean deleted = dataSeqService.deleteByIds(ids);
+        if (!deleted) {
+            return CommonResult.fail("删除数据管理记录失败!");
+        }
+        return CommonResult.success();
+    }
+}

+ 76 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/DataSeq.java

@@ -0,0 +1,76 @@
+package com.taais.biz.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.mybatisflex.annotation.Column;
+import com.mybatisflex.annotation.Id;
+import com.mybatisflex.annotation.Table;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+import com.taais.common.orm.core.domain.BaseEntity;
+
+/**
+ * 数据管理对象 data_seq
+ *
+ * @author wangkang
+ * 2024-10-08
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Table(value = "data_seq")
+public class DataSeq extends BaseEntity
+    {
+@Serial
+private static final long serialVersionUID = 1L;
+
+    /** id */
+    @Id
+    private Long id;
+
+    /** 名称 */
+    private String name;
+
+    /** 数据类型 */
+    private String dataType;
+
+    /** 文件类型 */
+    private String fileType;
+
+    /** 目标类型 */
+    private String objectType;
+
+    /** 目标子类型 */
+    private String objectSubtype;
+
+    /** 批次号 */
+    private String batchNum;
+
+    /** 场景 */
+    private String scene;
+
+    /** 数据源 */
+    private String dataSource;
+
+    /** 采集时间 */
+    private Date gatherTime;
+
+    /** 采集地点 */
+    private String gatherSpot;
+
+    /** 图片url */
+    private String url;
+
+    /** 日志 */
+    private String log;
+
+    /** 备注 */
+    private String remarks;
+
+    /** 逻辑删除标志(0代表存在 1代表删除) */
+    @Column(isLogicDelete = true)
+    private Integer delFlag;
+
+
+}

+ 108 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/bo/DataSeqBo.java

@@ -0,0 +1,108 @@
+package com.taais.biz.domain.bo;
+
+import com.taais.biz.domain.DataSeq;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.taais.common.orm.core.domain.BaseEntity;
+
+/**
+ * 数据管理业务对象 data_seq
+ *
+ * @author wangkang
+ * @date 2024-10-08
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = DataSeq.class, reverseConvertGenerate = false)
+public class DataSeqBo extends BaseEntity{
+    /**
+     * id
+     */
+    @NotNull(message = "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;
+
+    /**
+     * 批次号
+     */
+    @NotBlank(message = "批次号不能为空")
+    private String batchNum;
+
+    /**
+     * 场景
+     */
+    @NotBlank(message = "场景不能为空")
+    private String scene;
+
+    /**
+     * 数据源
+     */
+    @NotBlank(message = "数据源不能为空")
+    private String dataSource;
+
+    /**
+     * 采集时间
+     */
+    @NotNull(message = "采集时间不能为空")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date gatherTime;
+
+    /**
+     * 采集地点
+     */
+    @NotBlank(message = "采集地点不能为空")
+    private String gatherSpot;
+
+    /**
+     * 图片url
+     */
+    @NotBlank(message = "图片url不能为空")
+    private String url;
+
+    /**
+     * 日志
+     */
+    @NotBlank(message = "日志不能为空")
+    private String log;
+
+    /**
+     * 备注
+     */
+    @NotBlank(message = "备注不能为空")
+    private String remarks;
+
+
+}

+ 86 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/vo/DataSeqImportVo.java

@@ -0,0 +1,86 @@
+package com.taais.biz.domain.vo;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.taais.common.excel.annotation.ExcelDictFormat;
+import com.taais.common.excel.convert.ExcelDictConvert;
+import lombok.Data;
+import java.io.Serial;
+import java.io.Serializable;
+import lombok.NoArgsConstructor;
+
+/**
+ * 数据管理导入视图对象 data_seq
+ *
+ * @author wangkang
+ * @date 2024-10-08
+ */
+
+@Data
+@NoArgsConstructor
+public class DataSeqImportVo implements Serializable
+{
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+
+     /** 名称 */
+    @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 String batchNum;
+
+     /** 场景 */
+    @ExcelProperty(value = "场景")
+    private String scene;
+
+     /** 数据源 */
+    @ExcelProperty(value = "数据源")
+    private String dataSource;
+
+     /** 采集时间 */
+    @ExcelProperty(value = "采集时间")
+    private Date gatherTime;
+
+     /** 采集地点 */
+    @ExcelProperty(value = "采集地点")
+    private String gatherSpot;
+
+     /** 图片url */
+    @ExcelProperty(value = "图片url")
+    private String url;
+
+     /** 日志 */
+    @ExcelProperty(value = "日志")
+    private String log;
+
+     /** 备注 */
+    @ExcelProperty(value = "备注")
+    private String remarks;
+
+     /** 逻辑删除标志(0代表存在 1代表删除) */
+    @ExcelProperty(value = "逻辑删除标志(0代表存在 1代表删除)")
+    private Integer delFlag;
+
+
+}

+ 94 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/vo/DataSeqVo.java

@@ -0,0 +1,94 @@
+package com.taais.biz.domain.vo;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.taais.biz.domain.DataSeq;
+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 lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serial;
+import java.io.Serializable;
+import com.taais.common.orm.core.domain.BaseEntity;
+
+/**
+ * 数据管理视图对象 data_seq
+ *
+ * @author wangkang
+ * @date 2024-10-08
+ */
+@Data
+@ExcelIgnoreUnannotated
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = DataSeq.class)
+public class DataSeqVo extends BaseEntity 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 String batchNum;
+
+    /** 场景 */
+    @ExcelProperty(value = "场景")
+    private String scene;
+
+    /** 数据源 */
+    @ExcelProperty(value = "数据源")
+    private String dataSource;
+
+    /** 采集时间 */
+    @ExcelProperty(value = "采集时间")
+    private Date gatherTime;
+
+    /** 采集地点 */
+    @ExcelProperty(value = "采集地点")
+    private String gatherSpot;
+
+    /** 图片url */
+    @ExcelProperty(value = "图片url")
+    private String url;
+
+    /** 日志 */
+    @ExcelProperty(value = "日志")
+    private String log;
+
+    /** 备注 */
+    @ExcelProperty(value = "备注")
+    private String remarks;
+
+    /** 逻辑删除标志(0代表存在 1代表删除) */
+    @ExcelProperty(value = "逻辑删除标志(0代表存在 1代表删除)")
+    private Integer delFlag;
+
+
+
+}

+ 119 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/listener/DataSeqImportListener.java

@@ -0,0 +1,119 @@
+package com.taais.biz.listener;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.event.AnalysisEventListener;
+import com.taais.common.core.exception.ServiceException;
+import com.taais.common.core.utils.SpringUtils;
+import com.taais.common.core.utils.ValidatorUtils;
+import com.taais.common.excel.core.ExcelListener;
+import com.taais.common.excel.core.ExcelResult;
+import com.taais.biz.domain.bo.DataSeqBo;
+import com.taais.biz.domain.vo.DataSeqImportVo;
+import com.taais.biz.domain.vo.DataSeqVo;
+import com.taais.biz.service.IDataSeqService;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.List;
+
+/**
+ * 数据管理自定义导入
+ *
+ * @author wangkang
+ */
+@Slf4j
+public class DataSeqImportListener extends AnalysisEventListener<DataSeqImportVo> implements ExcelListener<DataSeqImportVo> {
+    private final IDataSeqService dataSeqService;
+
+    private final Boolean isUpdateSupport;
+    private int successNum = 0;
+    private int failureNum = 0;
+    private final StringBuilder successMsg = new StringBuilder();
+    private final StringBuilder failureMsg = new StringBuilder();
+
+    public DataSeqImportListener(Boolean isUpdateSupport) {
+        this.dataSeqService = SpringUtils.getBean(IDataSeqService.class);
+        this.isUpdateSupport = isUpdateSupport;
+    }
+
+    @Override
+    public void invoke(DataSeqImportVo dataSeqVo, AnalysisContext context) {
+        try {
+
+            DataSeqBo dataSeqBo = BeanUtil.toBean(dataSeqVo, DataSeqBo.class);
+
+            //TODO:根据某个字段,查询数据库表中是否存在记录,不存在就新增,存在就更新
+            DataSeqVo dataSeqVo1 = null;
+
+            //dataSeqVo1 = dataSeqService.selectBySomefield(dataSeqVo.getSomefield());
+            if (ObjectUtil.isNull(dataSeqVo1)) {
+                //不存在就新增
+                dataSeqBo.setVersion(0);
+                ValidatorUtils.validate(dataSeqBo);
+                boolean inserted = dataSeqService.insert(dataSeqBo);
+
+                if (inserted) {
+                    successNum++;
+                    successMsg.append("<br/>").append(successNum).append("、数据管理 记录导入成功");
+                    return;
+                } else {
+                    failureNum++;
+                    failureMsg.append("<br/>").append(failureNum).append("、数据管理 记录导入失败");
+                    return;
+                }
+            } else if (isUpdateSupport) {
+                //存在就更新
+                dataSeqBo.setId(dataSeqVo1.getId());//主键
+                dataSeqBo.setVersion(dataSeqVo1.getVersion());
+                boolean updated = dataSeqService.update(dataSeqBo);
+                if (updated) {
+                    successNum++;
+                    successMsg.append("<br/>").append(successNum).append("、数据管理 记录更新成功");
+                    return;
+                } else {
+                    failureNum++;
+                    failureMsg.append("<br/>").append(failureNum).append("、数据管理 记录更新失败");
+                    return;
+                }
+            }
+        } catch (Exception e) {
+            failureNum++;
+            String msg = "<br/>" + failureNum + "、数据管理 记录导入失败:";
+            failureMsg.append(msg).append(e.getMessage());
+            log.error(msg, e);
+        }
+    }
+
+    @Override
+    public void doAfterAllAnalysed(AnalysisContext context) {
+
+    }
+
+    @Override
+    public ExcelResult<DataSeqImportVo> getExcelResult() {
+        return new ExcelResult<>() {
+
+            @Override
+            public String getAnalysis() {
+                if (failureNum > 0) {
+                    failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据没有成功导入,错误如下:");
+                    throw new ServiceException(failureMsg.toString());
+                } else {
+                    successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:");
+                }
+                return successMsg.toString();
+            }
+
+            @Override
+            public List<DataSeqImportVo> getList() {
+                return null;
+            }
+
+            @Override
+            public List<String> getErrorList() {
+                return null;
+            }
+        };
+    }
+}

+ 16 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/mapper/DataSeqMapper.java

@@ -0,0 +1,16 @@
+package com.taais.biz.mapper;
+
+import com.mybatisflex.core.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import com.taais.biz.domain.DataSeq;
+
+/**
+ * 数据管理Mapper接口
+ *
+ * @author wangkang
+ * 2024-10-08
+ */
+@Mapper
+public interface DataSeqMapper extends BaseMapper<DataSeq> {
+
+}

+ 66 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/service/IDataSeqService.java

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

+ 150 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/service/impl/DataSeqServiceImpl.java

@@ -0,0 +1,150 @@
+package com.taais.biz.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.utils.MapstructUtils;
+import com.taais.common.core.utils.StringUtils;
+import com.taais.common.orm.core.page.PageQuery;
+import com.taais.common.core.core.page.PageResult;
+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.biz.mapper.DataSeqMapper;
+import com.taais.biz.domain.DataSeq;
+import com.taais.biz.domain.bo.DataSeqBo;
+import com.taais.biz.domain.vo.DataSeqVo;
+import com.taais.biz.service.IDataSeqService;
+import static com.taais.biz.domain.table.DataSeqTableDef.DATA_SEQ;
+
+/**
+ * 数据管理Service业务层处理
+ *
+ * @author wangkang
+ * 2024-10-08
+ */
+@Service
+public class DataSeqServiceImpl extends BaseServiceImpl<DataSeqMapper, DataSeq> implements IDataSeqService {
+    @Resource
+    private DataSeqMapper dataSeqMapper;
+
+    @Override
+    public QueryWrapper query() {
+        return super.query().from(DATA_SEQ);
+    }
+
+    private QueryWrapper buildQueryWrapper(DataSeqBo dataSeqBo) {
+        QueryWrapper queryWrapper = super.buildBaseQueryWrapper();
+        queryWrapper.and(DATA_SEQ.NAME.like
+        (dataSeqBo.getName()));
+        queryWrapper.and(DATA_SEQ.DATA_TYPE.eq
+        (dataSeqBo.getDataType()));
+        queryWrapper.and(DATA_SEQ.FILE_TYPE.eq
+        (dataSeqBo.getFileType()));
+        queryWrapper.and(DATA_SEQ.OBJECT_TYPE.eq
+        (dataSeqBo.getObjectType()));
+        queryWrapper.and(DATA_SEQ.OBJECT_SUBTYPE.eq
+        (dataSeqBo.getObjectSubtype()));
+        queryWrapper.and(DATA_SEQ.BATCH_NUM.eq
+        (dataSeqBo.getBatchNum()));
+        queryWrapper.and(DATA_SEQ.SCENE.eq
+        (dataSeqBo.getScene()));
+        queryWrapper.and(DATA_SEQ.DATA_SOURCE.eq
+        (dataSeqBo.getDataSource()));
+        queryWrapper.and(DATA_SEQ.GATHER_TIME.eq
+        (dataSeqBo.getGatherTime()));
+        queryWrapper.and(DATA_SEQ.GATHER_SPOT.eq
+        (dataSeqBo.getGatherSpot()));
+        queryWrapper.and(DATA_SEQ.URL.eq
+        (dataSeqBo.getUrl()));
+        queryWrapper.and(DATA_SEQ.LOG.eq
+        (dataSeqBo.getLog()));
+        queryWrapper.and(DATA_SEQ.REMARKS.eq
+        (dataSeqBo.getRemarks()));
+
+        return queryWrapper;
+    }
+
+    /**
+     * 查询数据管理
+     *
+     * @param id 数据管理主键
+     * @return 数据管理
+     */
+    @Override
+    public DataSeqVo selectById(Long id) {
+            return this.getOneAs(query().where(DATA_SEQ.ID.eq(id)), DataSeqVo.class);
+
+    }
+
+    /**
+     * 查询数据管理列表
+     *
+     * @param dataSeqBo 数据管理Bo
+     * @return 数据管理集合
+     */
+    @Override
+    public List<DataSeqVo> selectList(DataSeqBo dataSeqBo) {
+        QueryWrapper queryWrapper = buildQueryWrapper(dataSeqBo);
+            return this.listAs(queryWrapper, DataSeqVo.class);
+    }
+
+    /**
+     * 分页查询数据管理列表
+     *
+     * @param dataSeqBo 数据管理Bo
+     * @return 分页数据管理集合
+     */
+    @Override
+    public PageResult<DataSeqVo> selectPage(DataSeqBo dataSeqBo) {
+        QueryWrapper queryWrapper = buildQueryWrapper(dataSeqBo);
+            Page<DataSeqVo> page = this.pageAs(PageQuery.build(), queryWrapper, DataSeqVo.class);
+        return PageResult.build(page);
+    }
+
+    /**
+     * 新增数据管理
+     *
+     * @param dataSeqBo 数据管理Bo
+     * @return 结果:true 操作成功,false 操作失败
+     */
+    @Override
+    public boolean insert(DataSeqBo dataSeqBo) {
+    DataSeq dataSeq =MapstructUtils.convert(dataSeqBo, DataSeq. class);
+
+        return this.save(dataSeq);//使用全局配置的雪花算法主键生成器生成ID值
+    }
+
+    /**
+     * 修改数据管理
+     *
+     * @param dataSeqBo 数据管理Bo
+     * @return 结果:true 更新成功,false 更新失败
+     */
+    @Override
+    public boolean update(DataSeqBo dataSeqBo) {
+        DataSeq dataSeq =MapstructUtils.convert(dataSeqBo, DataSeq. class);
+        if (ObjectUtil.isNotNull(dataSeq) && ObjectUtil.isNotNull(dataSeq.getId())){
+            boolean updated = this.updateById(dataSeq);
+                return updated;
+        }
+        return false;
+    }
+
+    /**
+     * 批量删除数据管理
+     *
+     * @param ids 需要删除的数据管理主键集合
+     * @return 结果:true 删除成功,false 删除失败
+     */
+    @Transactional
+    @Override
+    public boolean deleteByIds(Long[] ids) {
+        return this.removeByIds(Arrays.asList(ids));
+    }
+
+}

+ 7 - 0
taais-modules/taais-biz/src/main/resources/mapper/demo/DataSeqMapper.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.biz.mapper.DataSeqMapper">
+
+</mapper>