Commit 5b4ca86a by yuwei

项目初始化

parent c88c8708
package cn.datax.service.data.metadata.api.dto;
import cn.datax.common.validate.ValidationGroups;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* <p>
* 元数据变更记录表 实体DTO
* </p>
*
* @author yuwei
* @since 2020-07-30
*/
@ApiModel(value = "元数据变更记录表Model")
@Data
public class MetadataChangeRecordDto implements Serializable {
private static final long serialVersionUID=1L;
@ApiModelProperty(value = "主键ID")
@NotBlank(message = "主键ID不能为空", groups = {ValidationGroups.Update.class})
private String id;
@ApiModelProperty(value = "版本号")
private Integer version;
@ApiModelProperty(value = "源数据的表名或者能唯一对应的源数据表的标识(可废弃)")
private String objectType;
@ApiModelProperty(value = "源数据表主键")
private String objectId;
@ApiModelProperty(value = "修改的源数据表的字段名")
private String fieldName;
@ApiModelProperty(value = "该字段原来的值")
private String fieldOldValue;
@ApiModelProperty(value = "该字段最新的值")
private String fieldNewValue;
}
package cn.datax.service.data.metadata.api.entity;
import cn.datax.common.base.DataScopeBaseEntity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 元数据变更记录表
* </p>
*
* @author yuwei
* @since 2020-07-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("metadata_change_record")
public class MetadataChangeRecordEntity extends DataScopeBaseEntity {
private static final long serialVersionUID=1L;
/**
* 版本号
*/
private Integer version;
/**
* 源数据的表名或者能唯一对应的源数据表的标识(可废弃)
*/
private String objectType;
/**
* 源数据表主键
*/
private String objectId;
/**
* 修改的源数据表的字段名
*/
private String fieldName;
/**
* 该字段原来的值
*/
private String fieldOldValue;
/**
* 该字段最新的值
*/
private String fieldNewValue;
}
package cn.datax.service.data.metadata.api.query;
import cn.datax.common.base.BaseQueryParams;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 元数据变更记录表 查询实体
* </p>
*
* @author yuwei
* @since 2020-07-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class MetadataChangeRecordQuery extends BaseQueryParams {
private static final long serialVersionUID=1L;
private String fieldName;
}
package cn.datax.service.data.metadata.api.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
* 元数据变更记录表 实体VO
* </p>
*
* @author yuwei
* @since 2020-07-30
*/
@Data
public class MetadataChangeRecordVo implements Serializable {
private static final long serialVersionUID=1L;
private String id;
private Integer status;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime createTime;
private Integer version;
private String objectType;
private String objectId;
private String fieldName;
private String fieldOldValue;
private String fieldNewValue;
}
package cn.datax.service.data.metadata.controller;
import cn.datax.common.core.JsonPage;
import cn.datax.common.core.R;
import cn.datax.common.validate.ValidationGroups;
import cn.datax.service.data.metadata.api.dto.MetadataChangeRecordDto;
import cn.datax.service.data.metadata.api.entity.MetadataChangeRecordEntity;
import cn.datax.service.data.metadata.api.vo.MetadataChangeRecordVo;
import cn.datax.service.data.metadata.api.query.MetadataChangeRecordQuery;
import cn.datax.service.data.metadata.mapstruct.MetadataChangeRecordMapper;
import cn.datax.service.data.metadata.service.MetadataChangeRecordService;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import cn.datax.common.base.BaseController;
import java.util.List;
import java.util.stream.Collectors;
/**
* <p>
* 元数据变更记录表 前端控制器
* </p>
*
* @author yuwei
* @since 2020-07-30
*/
@Api(tags = {"元数据变更记录表"})
@RestController
@RequestMapping("/changeRecords")
public class MetadataChangeRecordController extends BaseController {
@Autowired
private MetadataChangeRecordService metadataChangeRecordService;
@Autowired
private MetadataChangeRecordMapper metadataChangeRecordMapper;
/**
* 通过ID查询信息
*
* @param id
* @return
*/
@ApiOperation(value = "获取详细信息", notes = "根据url的id来获取详细信息")
@ApiImplicitParam(name = "id", value = "ID", required = true, dataType = "String", paramType = "path")
@GetMapping("/{id}")
public R getMetadataChangeRecordById(@PathVariable String id) {
MetadataChangeRecordEntity metadataChangeRecordEntity = metadataChangeRecordService.getMetadataChangeRecordById(id);
return R.ok().setData(metadataChangeRecordMapper.toVO(metadataChangeRecordEntity));
}
/**
* 分页查询信息
*
* @param metadataChangeRecordQuery
* @return
*/
@ApiOperation(value = "分页查询", notes = "")
@ApiImplicitParams({
@ApiImplicitParam(name = "metadataChangeRecordQuery", value = "查询实体metadataChangeRecordQuery", required = true, dataTypeClass = MetadataChangeRecordQuery.class)
})
@GetMapping("/page")
public R getMetadataChangeRecordPage(MetadataChangeRecordQuery metadataChangeRecordQuery) {
QueryWrapper<MetadataChangeRecordEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.like(StrUtil.isNotBlank(metadataChangeRecordQuery.getFieldName()), "field_name", metadataChangeRecordQuery.getFieldName());
IPage<MetadataChangeRecordEntity> page = metadataChangeRecordService.page(new Page<>(metadataChangeRecordQuery.getPageNum(), metadataChangeRecordQuery.getPageSize()), queryWrapper);
List<MetadataChangeRecordVo> collect = page.getRecords().stream().map(metadataChangeRecordMapper::toVO).collect(Collectors.toList());
JsonPage<MetadataChangeRecordVo> jsonPage = new JsonPage<>(page.getCurrent(), page.getSize(), page.getTotal(), collect);
return R.ok().setData(jsonPage);
}
/**
* 添加
* @param metadataChangeRecord
* @return
*/
@ApiOperation(value = "添加信息", notes = "根据metadataChangeRecord对象添加信息")
@ApiImplicitParam(name = "metadataChangeRecord", value = "详细实体metadataChangeRecord", required = true, dataType = "MetadataChangeRecordDto")
@PostMapping()
public R saveMetadataChangeRecord(@RequestBody @Validated({ValidationGroups.Insert.class}) MetadataChangeRecordDto metadataChangeRecord) {
MetadataChangeRecordEntity metadataChangeRecordEntity = metadataChangeRecordService.saveMetadataChangeRecord(metadataChangeRecord);
return R.ok().setData(metadataChangeRecordMapper.toVO(metadataChangeRecordEntity));
}
/**
* 修改
* @param metadataChangeRecord
* @return
*/
@ApiOperation(value = "修改信息", notes = "根据url的id来指定修改对象,并根据传过来的信息来修改详细信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "ID", required = true, dataType = "String", paramType = "path"),
@ApiImplicitParam(name = "metadataChangeRecord", value = "详细实体metadataChangeRecord", required = true, dataType = "MetadataChangeRecordDto")
})
@PutMapping("/{id}")
public R updateMetadataChangeRecord(@PathVariable String id, @RequestBody @Validated({ValidationGroups.Update.class}) MetadataChangeRecordDto metadataChangeRecord) {
MetadataChangeRecordEntity metadataChangeRecordEntity = metadataChangeRecordService.updateMetadataChangeRecord(metadataChangeRecord);
return R.ok().setData(metadataChangeRecordMapper.toVO(metadataChangeRecordEntity));
}
/**
* 删除
* @param id
* @return
*/
@ApiOperation(value = "删除", notes = "根据url的id来指定删除对象")
@ApiImplicitParam(name = "id", value = "ID", required = true, dataType = "String", paramType = "path")
@DeleteMapping("/{id}")
public R deleteMetadataChangeRecordById(@PathVariable String id) {
metadataChangeRecordService.deleteMetadataChangeRecordById(id);
return R.ok();
}
/**
* 批量删除
* @param ids
* @return
*/
@ApiOperation(value = "批量删除角色", notes = "根据url的ids来批量删除对象")
@ApiImplicitParam(name = "ids", value = "ID集合", required = true, dataType = "List", paramType = "path")
@DeleteMapping("/batch/{ids}")
public R deleteMetadataChangeRecordBatch(@PathVariable List<String> ids) {
metadataChangeRecordService.deleteMetadataChangeRecordBatch(ids);
return R.ok();
}
}
package cn.datax.service.data.metadata.dao;
import cn.datax.common.base.BaseDao;
import cn.datax.service.data.metadata.api.entity.MetadataChangeRecordEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* <p>
* 元数据变更记录表 Mapper 接口
* </p>
*
* @author yuwei
* @since 2020-07-30
*/
@Mapper
public interface MetadataChangeRecordDao extends BaseDao<MetadataChangeRecordEntity> {
}
package cn.datax.service.data.metadata.mapstruct;
import cn.datax.common.mapstruct.EntityMapper;
import cn.datax.service.data.metadata.api.dto.MetadataChangeRecordDto;
import cn.datax.service.data.metadata.api.entity.MetadataChangeRecordEntity;
import cn.datax.service.data.metadata.api.vo.MetadataChangeRecordVo;
import org.mapstruct.Mapper;
/**
* <p>
* 元数据变更记录表 Mapper 实体映射
* </p>
*
* @author yuwei
* @since 2020-07-30
*/
@Mapper(componentModel = "spring")
public interface MetadataChangeRecordMapper extends EntityMapper<MetadataChangeRecordDto, MetadataChangeRecordEntity, MetadataChangeRecordVo> {
}
package cn.datax.service.data.metadata.service;
import cn.datax.service.data.metadata.api.entity.MetadataChangeRecordEntity;
import cn.datax.service.data.metadata.api.dto.MetadataChangeRecordDto;
import cn.datax.common.base.BaseService;
import java.util.List;
/**
* <p>
* 元数据变更记录表 服务类
* </p>
*
* @author yuwei
* @since 2020-07-30
*/
public interface MetadataChangeRecordService extends BaseService<MetadataChangeRecordEntity> {
MetadataChangeRecordEntity saveMetadataChangeRecord(MetadataChangeRecordDto metadataChangeRecord);
MetadataChangeRecordEntity updateMetadataChangeRecord(MetadataChangeRecordDto metadataChangeRecord);
MetadataChangeRecordEntity getMetadataChangeRecordById(String id);
void deleteMetadataChangeRecordById(String id);
void deleteMetadataChangeRecordBatch(List<String> ids);
}
package cn.datax.service.data.metadata.service.impl;
import cn.datax.service.data.metadata.api.entity.MetadataChangeRecordEntity;
import cn.datax.service.data.metadata.api.dto.MetadataChangeRecordDto;
import cn.datax.service.data.metadata.service.MetadataChangeRecordService;
import cn.datax.service.data.metadata.mapstruct.MetadataChangeRecordMapper;
import cn.datax.service.data.metadata.dao.MetadataChangeRecordDao;
import cn.datax.common.base.BaseServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* <p>
* 元数据变更记录表 服务实现类
* </p>
*
* @author yuwei
* @since 2020-07-30
*/
@Service
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class)
public class MetadataChangeRecordServiceImpl extends BaseServiceImpl<MetadataChangeRecordDao, MetadataChangeRecordEntity> implements MetadataChangeRecordService {
@Autowired
private MetadataChangeRecordDao metadataChangeRecordDao;
@Autowired
private MetadataChangeRecordMapper metadataChangeRecordMapper;
@Override
@Transactional(rollbackFor = Exception.class)
public MetadataChangeRecordEntity saveMetadataChangeRecord(MetadataChangeRecordDto metadataChangeRecordDto) {
MetadataChangeRecordEntity metadataChangeRecord = metadataChangeRecordMapper.toEntity(metadataChangeRecordDto);
metadataChangeRecordDao.insert(metadataChangeRecord);
return metadataChangeRecord;
}
@Override
@Transactional(rollbackFor = Exception.class)
public MetadataChangeRecordEntity updateMetadataChangeRecord(MetadataChangeRecordDto metadataChangeRecordDto) {
MetadataChangeRecordEntity metadataChangeRecord = metadataChangeRecordMapper.toEntity(metadataChangeRecordDto);
metadataChangeRecordDao.updateById(metadataChangeRecord);
return metadataChangeRecord;
}
@Override
public MetadataChangeRecordEntity getMetadataChangeRecordById(String id) {
MetadataChangeRecordEntity metadataChangeRecordEntity = super.getById(id);
return metadataChangeRecordEntity;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteMetadataChangeRecordById(String id) {
metadataChangeRecordDao.deleteById(id);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteMetadataChangeRecordBatch(List<String> ids) {
metadataChangeRecordDao.deleteBatchIds(ids);
}
}
<?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.datax.service.data.metadata.dao.MetadataChangeRecordDao">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="cn.datax.service.data.metadata.api.entity.MetadataChangeRecordEntity">
<result column="id" property="id" />
<result column="status" property="status" />
<result column="create_by" property="createBy" />
<result column="create_time" property="createTime" />
<result column="create_dept" property="createDept" />
<result column="update_by" property="updateBy" />
<result column="update_time" property="updateTime" />
<result column="remark" property="remark" />
<result column="version" property="version" />
<result column="object_type" property="objectType" />
<result column="object_id" property="objectId" />
<result column="field_name" property="fieldName" />
<result column="field_old_value" property="fieldOldValue" />
<result column="field_new_value" property="fieldNewValue" />
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
id,
status,
create_by,
create_time,
create_dept,
update_by,
update_time,
remark,
version, object_type, object_id, field_name, field_old_value, field_new_value
</sql>
</mapper>
import request from '@/utils/request'
export function pageChangeRecord (data) {
return request({
url: '/data/metadata/changeRecords/page',
method: 'get',
params: data
})
}
export function getChangeRecord (id) {
return request({
url: '/data/metadata/changeRecords/' + id,
method: 'get'
})
}
export function delChangeRecord (id) {
return request({
url: '/data/metadata/changeRecords/' + id,
method: 'delete'
})
}
export function delChangeRecords (ids) {
return request({
url: '/data/metadata/changeRecords/batch/' + ids,
method: 'delete'
})
}
export function addChangeRecord (data) {
return request({
url: '/data/metadata/changeRecords',
method: 'post',
data: data
})
}
export function updateChangeRecord (data) {
return request({
url: '/data/metadata/changeRecords/' + data.id,
method: 'put',
data: data
})
}
import request from '@/utils/request'
export function listDataTable (data) {
return request({
url: '/data/metadata/tables/list',
method: 'get',
params: data
})
}
export function pageDataTable (data) {
return request({
url: '/data/metadata/tables/page',
method: 'get',
params: data
})
}
export function getDataTable (id) {
return request({
url: '/data/metadata/tables/' + id,
method: 'get'
})
}
export function delDataTable (id) {
return request({
url: '/data/metadata/tables/' + id,
method: 'delete'
})
}
export function delDataTables (ids) {
return request({
url: '/data/metadata/tables/batch/' + ids,
method: 'delete'
})
}
export function addDataTable (data) {
return request({
url: '/data/metadata/tables',
method: 'post',
data: data
})
}
export function updateDataTable (data) {
return request({
url: '/data/metadata/tables/' + data.id,
method: 'put',
data: data
})
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment