Commit 117fb5af by yuwei

2.0.0项目初始化

parent 171da4c9
package cn.datax.common.base; package cn.datax.common.base;
import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
/** /**
* 数据权限查询参数 * 数据权限查询参数
*/ */
@Data @Data
@NoArgsConstructor
@AllArgsConstructor
public class DataScope { public class DataScope {
/** /**
* 表的部门字段 * 表的部门字段
*/ */
private String deptScopeName = "dept_id"; private String deptScopeName = "create_dept";
/** /**
* 表的用户字段 * 表的用户字段
......
...@@ -12,6 +12,6 @@ public abstract class DataScopeBaseEntity extends BaseEntity { ...@@ -12,6 +12,6 @@ public abstract class DataScopeBaseEntity extends BaseEntity {
/** /**
* 创建人所属部门 * 创建人所属部门
*/ */
@TableField(value = "dept_id", fill = FieldFill.INSERT) @TableField(value = "create_dept", fill = FieldFill.INSERT)
private String deptId; private String createDept;
} }
...@@ -3,6 +3,8 @@ package cn.datax.common.utils; ...@@ -3,6 +3,8 @@ package cn.datax.common.utils;
import cn.datax.common.core.DataUser; import cn.datax.common.core.DataUser;
import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.context.SecurityContextHolder;
import java.util.Optional;
public class SecurityUtil { public class SecurityUtil {
/** /**
...@@ -34,6 +36,20 @@ public class SecurityUtil { ...@@ -34,6 +36,20 @@ public class SecurityUtil {
} }
/** /**
* 获取用户部门
*
* @return id
*/
public static String getUserDeptId() {
Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
if (principal instanceof DataUser) {
DataUser user = (DataUser) principal;
return user.getDept();
}
return null;
}
/**
* 获取用户名称 * 获取用户名称
* *
* @return username * @return username
......
...@@ -19,7 +19,7 @@ public @interface DataScopeAop { ...@@ -19,7 +19,7 @@ public @interface DataScopeAop {
/** /**
* 表的部门字段 * 表的部门字段
*/ */
String deptScopeName() default "dept_id"; String deptScopeName() default "create_dept";
/** /**
* 表的用户字段 * 表的用户字段
*/ */
......
...@@ -16,6 +16,11 @@ public class DataMetaObjectHandler implements MetaObjectHandler { ...@@ -16,6 +16,11 @@ public class DataMetaObjectHandler implements MetaObjectHandler {
String userId = getUserId(); String userId = getUserId();
this.strictInsertFill(metaObject, "createBy", String.class, userId); this.strictInsertFill(metaObject, "createBy", String.class, userId);
this.strictInsertFill(metaObject, "updateBy", String.class, userId); this.strictInsertFill(metaObject, "updateBy", String.class, userId);
boolean bolCreateDept = metaObject.hasSetter("createDept");
if(bolCreateDept){
this.strictInsertFill(metaObject, "createDept", String.class, getUserDeptId());
}
} }
@Override @Override
...@@ -29,4 +34,9 @@ public class DataMetaObjectHandler implements MetaObjectHandler { ...@@ -29,4 +34,9 @@ public class DataMetaObjectHandler implements MetaObjectHandler {
String userId = SecurityUtil.getUserId(); String userId = SecurityUtil.getUserId();
return userId; return userId;
} }
private String getUserDeptId() {
String deptId = SecurityUtil.getUserDeptId();
return deptId;
}
} }
package cn.datax.service.data.factory.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-03-20
*/
@ApiModel(value = "数据集信息表Model")
@Data
public class DataSetDto implements Serializable {
private static final long serialVersionUID=1L;
@ApiModelProperty(value = "主键ID")
@NotBlank(message = "主键ID不能为空", groups = {ValidationGroups.Update.class})
private String id;
@ApiModelProperty(value = "数据源")
@NotBlank(message = "数据源不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class})
private String sourceId;
@ApiModelProperty(value = "数据集名称")
@NotBlank(message = "数据集名称不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class})
private String setName;
@ApiModelProperty(value = "数据集描述")
@NotBlank(message = "数据集描述不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class})
private String remark;
@ApiModelProperty(value = "数据集sql")
@NotBlank(message = "数据集sql不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class})
private String setSql;
}
package cn.datax.service.data.factory.api.entity;
import cn.datax.common.base.DataScopeBaseEntity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import cn.datax.common.base.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 数据集信息表
* </p>
*
* @author yuwei
* @since 2020-03-20
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("data_set")
public class DataSetEntity extends DataScopeBaseEntity {
private static final long serialVersionUID=1L;
/**
* 数据源
*/
private String sourceId;
/**
* 数据集名称
*/
private String setName;
/**
* 数据集描述
*/
private String remark;
/**
* 数据集sql
*/
private String setSql;
}
package cn.datax.service.data.factory.api.query;
import cn.datax.common.base.BaseQueryParams;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 数据集信息表 查询实体
* </p>
*
* @author yuwei
* @since 2020-03-20
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class DataSetQuery extends BaseQueryParams {
private static final long serialVersionUID=1L;
private String setName;
}
package cn.datax.service.data.factory.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-03-20
*/
@Data
public class DataSetVo 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 String sourceId;
private String setName;
private String remark;
private String setSql;
}
package cn.datax.service.data.factory.controller;
import cn.datax.common.core.JsonPage;
import cn.datax.common.core.R;
import cn.datax.common.database.DbQuery;
import cn.datax.common.database.core.PageResult;
import cn.datax.common.validate.ValidationGroups;
import cn.datax.service.data.factory.api.dto.DataSetDto;
import cn.datax.service.data.factory.api.entity.DataSetEntity;
import cn.datax.service.data.factory.api.query.DbDataQuery;
import cn.datax.service.data.factory.api.vo.DataSetVo;
import cn.datax.service.data.factory.api.query.DataSetQuery;
import cn.datax.service.data.factory.mapstruct.DataSetMapper;
import cn.datax.service.data.factory.service.DataSetService;
import cn.datax.service.data.factory.service.DataSourceService;
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.Map;
import java.util.stream.Collectors;
/**
* <p>
* 数据集信息表 前端控制器
* </p>
*
* @author yuwei
* @since 2020-03-20
*/
@Api(tags = {"数据集信息表"})
@RestController
@RequestMapping("/dataSet")
public class DataSetController extends BaseController {
@Autowired
private DataSetService dataSetService;
@Autowired
private DataSetMapper dataSetMapper;
@Autowired
private DataSourceService dataSourceService;
/**
* 通过ID查询信息
*
* @param id
* @return
*/
@ApiOperation(value = "获取详细信息", notes = "根据url的id来获取详细信息")
@ApiImplicitParam(name = "id", value = "ID", required = true, dataType = "String", paramType = "path")
@GetMapping("/{id}")
public R getDataSetById(@PathVariable String id) {
DataSetEntity dataSetEntity = dataSetService.getById(id);
return R.ok().setData(dataSetMapper.toVO(dataSetEntity));
}
/**
* 分页查询信息
*
* @param dataSetQuery
* @return
*/
@ApiOperation(value = "分页查询", notes = "")
@ApiImplicitParams({
@ApiImplicitParam(name = "dataSetQuery", value = "查询实体dataSetQuery", required = true, dataTypeClass = DataSetQuery.class)
})
@GetMapping("/page")
public R getRolePage(DataSetQuery dataSetQuery) {
QueryWrapper<DataSetEntity> queryWrapper = new QueryWrapper<>();
IPage<DataSetEntity> page = dataSetService.page(new Page<>(dataSetQuery.getPageNum(), dataSetQuery.getPageSize()), queryWrapper);
List<DataSetVo> collect = page.getRecords().stream().map(dataSetMapper::toVO).collect(Collectors.toList());
JsonPage<DataSetVo> jsonPage = new JsonPage<>(page.getCurrent(), page.getSize(), page.getTotal(), collect);
return R.ok().setData(jsonPage);
}
/**
* 添加
* @param dataSet
* @return
*/
@ApiOperation(value = "添加信息", notes = "根据dataSet对象添加信息")
@ApiImplicitParam(name = "dataSet", value = "详细实体dataSet", required = true, dataType = "DataSetDto")
@PostMapping()
public R saveDataSet(@RequestBody @Validated({ValidationGroups.Insert.class}) DataSetDto dataSet) {
dataSetService.saveDataSet(dataSet);
return R.ok();
}
/**
* 修改
* @param dataSet
* @return
*/
@ApiOperation(value = "修改信息", notes = "根据url的id来指定修改对象,并根据传过来的信息来修改详细信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "ID", required = true, dataType = "String", paramType = "path"),
@ApiImplicitParam(name = "dataSet", value = "详细实体dataSet", required = true, dataType = "DataSetDto")
})
@PutMapping("/{id}")
public R updateDataSet(@PathVariable String id, @RequestBody @Validated({ValidationGroups.Update.class}) DataSetDto dataSet) {
dataSetService.updateDataSet(dataSet);
return R.ok();
}
/**
* 删除
* @param id
* @return
*/
@ApiOperation(value = "删除", notes = "根据url的id来指定删除对象")
@ApiImplicitParam(name = "id", value = "ID", required = true, dataType = "String", paramType = "path")
@DeleteMapping("/{id}")
public R deleteDataSetById(@PathVariable String id) {
dataSetService.deleteDataSetById(id);
return R.ok();
}
@ApiOperation(value = "获取SQL结果", notes = "根据数据源的id来获取SQL结果")
@ApiImplicitParam(name = "dbDataQuery", value = "详细实体dbDataQuery", required = true, dataType = "DbDataQuery")
@GetMapping("/queryList")
public R queryList(@RequestBody @Validated DbDataQuery dbDataQuery) {
DbQuery dbQuery = dataSourceService.getDbQuery(dbDataQuery.getDataSourceId());
List<Map<String, Object>> list = dbQuery.queryList(dbDataQuery.getSql());
return R.ok().setData(list);
}
@ApiOperation(value = "分页获取SQL结果", notes = "根据数据源的id来分页获取SQL结果")
@ApiImplicitParam(name = "dbDataQuery", value = "详细实体dbDataQuery", required = true, dataType = "DbDataQuery")
@GetMapping("/queryByPage")
public R queryByPage(@RequestBody @Validated DbDataQuery dbDataQuery) {
DbQuery dbQuery = dataSourceService.getDbQuery(dbDataQuery.getDataSourceId());
PageResult<Map<String, Object>> page = dbQuery.queryByPage(dbDataQuery.getSql(), dbDataQuery.getOffset(), dbDataQuery.getPageSize());
page.setPageNum(dbDataQuery.getPageNum()).setPageSize(dbDataQuery.getPageSize());
return R.ok().setData(page);
}
}
...@@ -168,7 +168,7 @@ public class DataSourceController extends BaseController { ...@@ -168,7 +168,7 @@ public class DataSourceController extends BaseController {
}) })
@GetMapping("/{id}/{dbName}/tables") @GetMapping("/{id}/{dbName}/tables")
public R getDbTables(@PathVariable String id, @PathVariable String dbName) { public R getDbTables(@PathVariable String id, @PathVariable String dbName) {
DbQuery dbQuery = dataSourceService.getDbTables(id); DbQuery dbQuery = dataSourceService.getDbQuery(id);
List<String> tables = dbQuery.getTables(dbName); List<String> tables = dbQuery.getTables(dbName);
return R.ok().setData(tables); return R.ok().setData(tables);
} }
...@@ -186,27 +186,8 @@ public class DataSourceController extends BaseController { ...@@ -186,27 +186,8 @@ public class DataSourceController extends BaseController {
}) })
@GetMapping("/{id}/{dbName}/{tableName}/columns") @GetMapping("/{id}/{dbName}/{tableName}/columns")
public R getDbTableColumns(@PathVariable String id, @PathVariable String dbName, @PathVariable String tableName) { public R getDbTableColumns(@PathVariable String id, @PathVariable String dbName, @PathVariable String tableName) {
DbQuery dbQuery = dataSourceService.getDbTables(id); DbQuery dbQuery = dataSourceService.getDbQuery(id);
List<DbColumn> columns = dbQuery.getTableColumns(dbName, tableName); List<DbColumn> columns = dbQuery.getTableColumns(dbName, tableName);
return R.ok().setData(columns); return R.ok().setData(columns);
} }
@ApiOperation(value = "获取SQL结果", notes = "根据数据源的id来获取SQL结果")
@ApiImplicitParam(name = "dbDataQuery", value = "详细实体dbDataQuery", required = true, dataType = "DbDataQuery")
@GetMapping("/queryList")
public R queryList(@RequestBody @Validated DbDataQuery dbDataQuery) {
DbQuery dbQuery = dataSourceService.getDbTables(dbDataQuery.getDataSourceId());
List<Map<String, Object>> list = dbQuery.queryList(dbDataQuery.getSql());
return R.ok().setData(list);
}
@ApiOperation(value = "分页获取SQL结果", notes = "根据数据源的id来分页获取SQL结果")
@ApiImplicitParam(name = "dbDataQuery", value = "详细实体dbDataQuery", required = true, dataType = "DbDataQuery")
@GetMapping("/queryByPage")
public R queryByPage(@RequestBody @Validated DbDataQuery dbDataQuery) {
DbQuery dbQuery = dataSourceService.getDbTables(dbDataQuery.getDataSourceId());
PageResult<Map<String, Object>> page = dbQuery.queryByPage(dbDataQuery.getSql(), dbDataQuery.getOffset(), dbDataQuery.getPageSize());
page.setPageNum(dbDataQuery.getPageNum()).setPageSize(dbDataQuery.getPageSize());
return R.ok().setData(page);
}
} }
package cn.datax.service.data.factory.dao;
import cn.datax.common.base.BaseDao;
import cn.datax.service.data.factory.api.entity.DataSetEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* <p>
* 数据集信息表 Mapper 接口
* </p>
*
* @author yuwei
* @since 2020-03-20
*/
@Mapper
public interface DataSetDao extends BaseDao<DataSetEntity> {
}
package cn.datax.service.data.factory.mapstruct;
import cn.datax.common.mapstruct.EntityMapper;
import cn.datax.service.data.factory.api.dto.DataSetDto;
import cn.datax.service.data.factory.api.entity.DataSetEntity;
import cn.datax.service.data.factory.api.vo.DataSetVo;
import org.mapstruct.Mapper;
/**
* <p>
* 数据集信息表 Mapper 实体映射
* </p>
*
* @author yuwei
* @since 2020-03-20
*/
@Mapper(componentModel = "spring")
public interface DataSetMapper extends EntityMapper<DataSetDto, DataSetEntity, DataSetVo> {
}
package cn.datax.service.data.factory.service;
import cn.datax.service.data.factory.api.entity.DataSetEntity;
import cn.datax.service.data.factory.api.dto.DataSetDto;
import cn.datax.common.base.BaseService;
/**
* <p>
* 数据集信息表 服务类
* </p>
*
* @author yuwei
* @since 2020-03-20
*/
public interface DataSetService extends BaseService<DataSetEntity> {
void saveDataSet(DataSetDto dataSet);
void updateDataSet(DataSetDto dataSet);
void deleteDataSetById(String id);
}
...@@ -28,5 +28,5 @@ public interface DataSourceService extends BaseService<DataSourceEntity> { ...@@ -28,5 +28,5 @@ public interface DataSourceService extends BaseService<DataSourceEntity> {
List<Map<String, Object>> getDbTypes(); List<Map<String, Object>> getDbTypes();
DbQuery getDbTables(String id); DbQuery getDbQuery(String id);
} }
package cn.datax.service.data.factory.service.impl;
import cn.datax.service.data.factory.api.dto.DataSetDto;
import cn.datax.service.data.factory.api.entity.DataSetEntity;
import cn.datax.service.data.factory.dao.DataSetDao;
import cn.datax.service.data.factory.service.DataSetService;
import cn.datax.service.data.factory.mapstruct.DataSetMapper;
import cn.datax.service.data.factory.dao.DataSetDao;
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;
/**
* <p>
* 数据集信息表 服务实现类
* </p>
*
* @author yuwei
* @since 2020-03-20
*/
@Service
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class)
public class DataSetServiceImpl extends BaseServiceImpl<DataSetDao, DataSetEntity> implements DataSetService {
@Autowired
private DataSetDao dataSetDao;
@Autowired
private DataSetMapper dataSetMapper;
@Override
@Transactional(rollbackFor = Exception.class)
public void saveDataSet(DataSetDto dataSetDto) {
DataSetEntity dataSet = dataSetMapper.toEntity(dataSetDto);
dataSetDao.insert(dataSet);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateDataSet(DataSetDto dataSetDto) {
DataSetEntity dataSet = dataSetMapper.toEntity(dataSetDto);
dataSetDao.updateById(dataSet);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteDataSetById(String id) {
dataSetDao.deleteById(id);
}
}
...@@ -84,7 +84,7 @@ public class DataSourceServiceImpl extends BaseServiceImpl<DataSourceDao, DataSo ...@@ -84,7 +84,7 @@ public class DataSourceServiceImpl extends BaseServiceImpl<DataSourceDao, DataSo
} }
@Override @Override
public DbQuery getDbTables(String id) { public DbQuery getDbQuery(String id) {
DataSourceEntity dataSource = getById(id); DataSourceEntity dataSource = getById(id);
DbSchema dbSchema = dataSource.getDbSchema(); DbSchema dbSchema = dataSource.getDbSchema();
DbQueryProperty dbQueryProperty = new DbQueryProperty(dataSource.getDbType(), dbSchema.getHost(), DbQueryProperty dbQueryProperty = new DbQueryProperty(dataSource.getDbType(), dbSchema.getHost(),
......
...@@ -33,7 +33,7 @@ public class TestController extends BaseController { ...@@ -33,7 +33,7 @@ public class TestController extends BaseController {
queryWrapper.orderBy(StrUtil.isNotBlank(orderItem.getColumn()), orderItem.isAsc(), orderItem.getColumn()); queryWrapper.orderBy(StrUtil.isNotBlank(orderItem.getColumn()), orderItem.isAsc(), orderItem.getColumn());
}); });
} }
IPage<UserEntity> page = userService.pageDataScope(new Page<>(userQuery.getPageNum(), userQuery.getPageSize()), queryWrapper, new DataScope()); IPage<UserEntity> page = userService.pageDataScope(new Page<>(userQuery.getPageNum(), userQuery.getPageSize()), queryWrapper, new DataScope("dept_id", "create_by"));
return R.ok().setData(page); return R.ok().setData(page);
} }
} }
...@@ -16,7 +16,7 @@ public class Generate { ...@@ -16,7 +16,7 @@ public class Generate {
public static void main(String[] args) { public static void main(String[] args) {
// 代码生成器 // 代码生成器
generateByTables("F://code", "factory", "cn.datax.service.data", new String[]{"data_source"}); generateByTables("F://code", "factory", "cn.datax.service.data", new String[]{"data_set"});
} }
/** /**
...@@ -204,7 +204,7 @@ public class Generate { ...@@ -204,7 +204,7 @@ public class Generate {
//表前缀 //表前缀
.setTablePrefix("sys_") .setTablePrefix("sys_")
//写于父类中的公共字段 //写于父类中的公共字段
.setSuperEntityColumns(new String[]{"id", "create_time", "create_by", "update_time", "update_by", "status"}) .setSuperEntityColumns(new String[]{"id", "create_time", "create_by", "create_dept", "update_time", "update_by", "status"})
.setInclude(tableNames) .setInclude(tableNames)
//公共父类 //公共父类
.setSuperEntityClass("cn.datax.common.base.BaseEntity") .setSuperEntityClass("cn.datax.common.base.BaseEntity")
......
package ${package.Controller}; package ${package.Controller};
import cn.datax.common.core.JsonPage;
import cn.datax.common.core.R;
import cn.datax.common.validate.ValidationGroups; import cn.datax.common.validate.ValidationGroups;
import ${cfg.PackageParent}#if(${package.ModuleName}).${package.ModuleName}#end.api.dto.${className}Dto; import ${cfg.PackageParent}#if(${package.ModuleName}).${package.ModuleName}#end.api.dto.${className}Dto;
import ${cfg.PackageParent}#if(${package.ModuleName}).${package.ModuleName}#end.api.entity.${entity}; import ${cfg.PackageParent}#if(${package.ModuleName}).${package.ModuleName}#end.api.entity.${entity};
import ${cfg.PackageParent}#if(${package.ModuleName}).${package.ModuleName}#end.api.vo.${className}Vo;
import ${cfg.PackageParent}#if(${package.ModuleName}).${package.ModuleName}#end.api.query.${className}Query; import ${cfg.PackageParent}#if(${package.ModuleName}).${package.ModuleName}#end.api.query.${className}Query;
import ${cfg.PackageParent}#if(${package.ModuleName}).${package.ModuleName}#end.mapstruct.${className}Mapper; import ${cfg.PackageParent}#if(${package.ModuleName}).${package.ModuleName}#end.mapstruct.${className}Mapper;
import ${package.Service}.${table.serviceName}; import ${package.Service}.${table.serviceName};
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.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
...@@ -18,6 +24,9 @@ import org.springframework.web.bind.annotation.*; ...@@ -18,6 +24,9 @@ import org.springframework.web.bind.annotation.*;
import ${superControllerClassPackage}; import ${superControllerClassPackage};
#end #end
import java.util.List;
import java.util.stream.Collectors;
/** /**
* <p> * <p>
* $!{table.comment} 前端控制器 * $!{table.comment} 前端控制器
......
...@@ -15,6 +15,6 @@ import org.mapstruct.Mapper; ...@@ -15,6 +15,6 @@ import org.mapstruct.Mapper;
* @since ${date} * @since ${date}
*/ */
@Mapper(componentModel = "spring") @Mapper(componentModel = "spring")
public interface ${table.mapperName} extends EntityMapper<${className}Dto, ${entity}, ${className}Vo> { public interface ${className}Mapper extends EntityMapper<${className}Dto, ${entity}, ${className}Vo> {
} }
package ${package.Service}; package ${package.Service};
import ${package.Entity}.${entity}; import ${cfg.PackageParent}#if(${package.ModuleName}).${package.ModuleName}#end.api.entity.${entity};
import ${cfg.PackageParent}#if(${package.ModuleName}).${package.ModuleName}#end.api.dto.${className}Dto; import ${cfg.PackageParent}#if(${package.ModuleName}).${package.ModuleName}#end.api.dto.${className}Dto;
import ${superServiceClassPackage}; import ${superServiceClassPackage};
......
package ${package.ServiceImpl}; package ${package.ServiceImpl};
import ${package.Entity}.${entity}; import ${cfg.PackageParent}#if(${package.ModuleName}).${package.ModuleName}#end.api.entity.${entity};
import ${cfg.PackageParent}#if(${package.ModuleName}).${package.ModuleName}#end.api.dto.${className}Dto;
import ${package.Mapper}.${table.mapperName}; import ${package.Mapper}.${table.mapperName};
import ${package.Service}.${table.serviceName}; import ${package.Service}.${table.serviceName};
import ${cfg.PackageParent}#if(${package.ModuleName}).${package.ModuleName}#end.mapstruct.${className}Mapper; import ${cfg.PackageParent}#if(${package.ModuleName}).${package.ModuleName}#end.mapstruct.${className}Mapper;
import ${cfg.PackageParent}#if(${package.ModuleName}).${package.ModuleName}#end.dao.${className}Dao; import ${cfg.PackageParent}#if(${package.ModuleName}).${package.ModuleName}#end.dao.${className}Dao;
import ${superServiceImplClassPackage}; import ${superServiceImplClassPackage};
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
......
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