Merge branch 'main' of http://carsafe.uicp.cn/toolchaintechnologycenter/spdm-backend
This commit is contained in:
@@ -345,7 +345,7 @@ public class SimulationParameterLibraryServiceImpl extends ServiceImpl<Simulatio
|
||||
}
|
||||
Map<Long, String> longStringMap = userNameCacheService.batchGetUserNames(userIdsSet);
|
||||
for (Map<String, Object> map : parameterJsonValueFromJsonNode) {
|
||||
map.put("creator", longStringMap.get((Long) map.get("creatorId")));
|
||||
map.put("createName", longStringMap.get((Long) map.get("creatorId")));
|
||||
simulationParameterLibraryCategoryObjectResp.setCreateTime(simulationParameterLibraryCategoryObject.getCreateTime());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1696,7 +1696,7 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
||||
log.error("同步CID项目:{}时,创建文件夹失败,原因为:{}",req.getProjectId() + " " + req.getProjectName(),response.getMessage());
|
||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||
resp.setCode(String.valueOf(ResultCode.FAILED.getCode()));
|
||||
resp.setMessage(ResultCode.FAILED.getMessage());
|
||||
resp.setMessage(response.getMessage());
|
||||
return resp;
|
||||
}
|
||||
}catch (Exception ex) {
|
||||
|
||||
@@ -1617,48 +1617,65 @@ public class SimulationRunServiceImpl extends ServiceImpl<SimulationRunMapper, S
|
||||
experimentResult.setExpDesc(req.getExpDesc());
|
||||
}
|
||||
List<Long> deleteFileIds = new ArrayList<>();
|
||||
// 传了新的图片文件
|
||||
if (ObjectUtils.isNotEmpty(req.getAddImageInfo())) {
|
||||
req.getAddFileInfoList().add(req.getAddImageInfo());
|
||||
}
|
||||
if (CollectionUtils.size(req.getAddFileInfoList()) > 0) {
|
||||
UploadFilesReq filesReq = new UploadFilesReq();
|
||||
BeanUtils.copyProperties(req, filesReq);
|
||||
filesReq.setUuid(req.getTaskId());
|
||||
filesReq.setSourceFiles(req.getAddFileInfoList().stream().map(i -> new UploadFilesReq(i.getFileName(), i.getFileSize(), i.getFileType())).toList());
|
||||
// 批量存储文件信息,返回数据供第二步分片上传使用
|
||||
SdmResponse<List<BatchAddFileInfoResp>> sdmResponse = dataFeignClient.batchAddFileInfo(filesReq);
|
||||
if (sdmResponse.isSuccess() && CollectionUtils.isNotEmpty(sdmResponse.getData())) {
|
||||
List<BatchAddFileInfoResp> batchAddFileInfoResps = sdmResponse.getData();
|
||||
if (CollectionUtils.size(req.getAddFileInfoList()) > 0 || CollectionUtils.size(req.getDeleteFileIds()) > 0) {
|
||||
SdmResponse<List<BatchAddFileInfoResp>> batchAddResponse = SdmResponse.success();
|
||||
// 之前上传的附件文件id
|
||||
List<Long> oldFileIds = new ArrayList<>();
|
||||
if (StringUtils.isNotBlank(experimentResult.getFileId())) {
|
||||
oldFileIds = new ArrayList<>(Arrays.stream(experimentResult.getFileId().split(",")).mapToLong(Long::parseLong).boxed().toList());
|
||||
}
|
||||
|
||||
// 先处理删除的文件
|
||||
if (CollectionUtils.size(req.getDeleteFileIds()) > 0) {
|
||||
Set<Long> deleteSet = new HashSet<>(req.getDeleteFileIds());
|
||||
// 删掉前端删除的附件文件
|
||||
oldFileIds.removeIf(deleteSet::contains);
|
||||
deleteFileIds.addAll(req.getDeleteFileIds());
|
||||
}
|
||||
// 再处理新增的文件
|
||||
if (CollectionUtils.size(req.getAddFileInfoList()) > 0) {
|
||||
UploadFilesReq filesReq = new UploadFilesReq();
|
||||
BeanUtils.copyProperties(req, filesReq);
|
||||
filesReq.setUuid(req.getTaskId());
|
||||
filesReq.setSourceFiles(req.getAddFileInfoList().stream().map(i -> new UploadFilesReq(i.getFileName(), i.getFileSize(), i.getFileType())).toList());
|
||||
// 批量存储文件信息,返回数据供第二步分片上传使用
|
||||
batchAddResponse = dataFeignClient.batchAddFileInfo(filesReq);
|
||||
if (!batchAddResponse.isSuccess()) {
|
||||
return batchAddResponse;
|
||||
}
|
||||
List<BatchAddFileInfoResp> batchAddFileInfoResps = batchAddResponse.getData();
|
||||
// 传了新的图片文件 默认删除以前的
|
||||
if (ObjectUtils.isNotEmpty(req.getAddImageInfo())) {
|
||||
batchAddFileInfoResps.stream().filter(i -> StringUtils.equals(i.getSourceFileName(), req.getAddImageInfo().getFileName())).findFirst().ifPresent(i -> {
|
||||
deleteFileIds.add(experimentResult.getImageId());
|
||||
experimentResult.setImageId(i.getBusinessId());
|
||||
});
|
||||
}
|
||||
// 过滤掉图片文件剩下的是附件文件
|
||||
List<Long> addFileIds = batchAddFileInfoResps.stream().filter(i -> !Objects.equals(i.getBusinessId(), experimentResult.getImageId())).map(BatchAddFileInfoResp::getBusinessId).collect(Collectors.toList());
|
||||
List<Long> oldFileIds = new ArrayList<>(Arrays.stream(experimentResult.getFileId().split(",")).mapToLong(Long::parseLong).boxed().toList());
|
||||
if (CollectionUtils.isNotEmpty(req.getDeleteFileIds()) && CollectionUtils.isNotEmpty(oldFileIds)) {
|
||||
Set<Long> deleteSet = new HashSet<>(req.getDeleteFileIds());
|
||||
oldFileIds.removeIf(deleteSet::contains);
|
||||
deleteFileIds.addAll(req.getDeleteFileIds());
|
||||
}
|
||||
// 加上新增的附件文件
|
||||
oldFileIds.addAll(addFileIds);
|
||||
String fileIds = oldFileIds.stream().map(String::valueOf).collect(Collectors.joining(","));
|
||||
experimentResult.setFileId(fileIds);
|
||||
simulationExpResultService.updateById(experimentResult);
|
||||
// 删除文件
|
||||
if (CollectionUtils.isNotEmpty(deleteFileIds)) {
|
||||
for (Long deleteFileId : deleteFileIds) {
|
||||
DelFileReq delFileReq = new DelFileReq();
|
||||
delFileReq.setDelFileId(deleteFileId);
|
||||
SdmResponse response = dataFeignClient.delFile(delFileReq);
|
||||
if (!response.isSuccess()) {
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
||||
String fileIds = oldFileIds.stream().map(String::valueOf).collect(Collectors.joining(","));
|
||||
experimentResult.setFileId(fileIds);
|
||||
simulationExpResultService.updateById(experimentResult);
|
||||
// 删除文件
|
||||
if (CollectionUtils.isNotEmpty(deleteFileIds)) {
|
||||
for (Long deleteFileId : deleteFileIds) {
|
||||
DelFileReq delFileReq = new DelFileReq();
|
||||
delFileReq.setDelFileId(deleteFileId);
|
||||
SdmResponse response = dataFeignClient.delFile(delFileReq);
|
||||
if (!response.isSuccess()) {
|
||||
return response;
|
||||
}
|
||||
}
|
||||
}
|
||||
return sdmResponse;
|
||||
return batchAddResponse;
|
||||
}
|
||||
simulationExpResultService.updateById(experimentResult);
|
||||
return SdmResponse.success();
|
||||
|
||||
@@ -1440,7 +1440,7 @@ public class TaskServiceImpl implements ITaskService {
|
||||
log.error("同步CID项目:{}时,创建文件夹失败,原因为:{}", req.getProjectId() + " " + req.getProjectName(), response.getMessage());
|
||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||
resp.setCode(String.valueOf(ResultCode.FAILED.getCode()));
|
||||
resp.setMessage(ResultCode.FAILED.getMessage());
|
||||
resp.setMessage(response.getMessage());
|
||||
return resp;
|
||||
}
|
||||
// 更新文件权限
|
||||
|
||||
@@ -1,26 +1,53 @@
|
||||
package com.sdm.system.controller;
|
||||
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
import com.fasterxml.jackson.databind.DeserializationFeature;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.databind.SerializationFeature;
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.common.ThreadLocalContext;
|
||||
import com.sdm.common.feign.inter.system.ISysConfigFeignClient;
|
||||
import com.sdm.common.entity.bo.DataDictionary;
|
||||
import com.sdm.common.log.utils.JavaTimeModule;
|
||||
import com.sdm.system.model.bo.DictionaryClass;
|
||||
import com.sdm.system.model.bo.FormConfigure;
|
||||
import com.sdm.system.model.entity.SysDataDictionary;
|
||||
import com.sdm.system.model.entity.SysDictionaryClass;
|
||||
import com.sdm.system.model.entity.SysFormConfigure;
|
||||
import com.sdm.system.model.req.system.FormConfigureReq;
|
||||
import com.sdm.system.model.resp.SimuDictionaryResp;
|
||||
import com.sdm.system.service.IDataDictionaryService;
|
||||
import com.sdm.system.service.IDictionaryClassService;
|
||||
import com.sdm.system.service.IFormConfigureService;
|
||||
import com.sdm.system.service.ISimulationSystemConfigService;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@RestController
|
||||
@RequestMapping(value = "/systemData")
|
||||
@Slf4j
|
||||
public class SimulationSystemConfigController implements ISysConfigFeignClient {
|
||||
|
||||
@Autowired
|
||||
private ISimulationSystemConfigService service;
|
||||
|
||||
@Autowired
|
||||
private IFormConfigureService formConfigureService;
|
||||
|
||||
@Autowired
|
||||
private IDictionaryClassService dictionaryClassService;
|
||||
|
||||
@Autowired
|
||||
private IDataDictionaryService dataDictionaryService;
|
||||
|
||||
@PostMapping(value = "/addDictionaryData")
|
||||
@ResponseBody
|
||||
SdmResponse addDictionaryData(@RequestBody DataDictionary dict)
|
||||
@@ -154,5 +181,133 @@ public class SimulationSystemConfigController implements ISysConfigFeignClient {
|
||||
return service.listFormConfigure(req);
|
||||
}
|
||||
|
||||
@GetMapping("/exportSysFormConfigure")
|
||||
public void exportSysFormConfigure(HttpServletResponse response) throws IOException {
|
||||
// 导出为JSON文件
|
||||
List<SysFormConfigure> sysFormConfigureList = formConfigureService.lambdaQuery().eq(SysFormConfigure::getTenantId, ThreadLocalContext.getTenantId()).list();
|
||||
// List<SysFormConfigure> sysFormConfigureList = formConfigureService.list();
|
||||
|
||||
response.setContentType("application/json");
|
||||
response.setCharacterEncoding("UTF-8");
|
||||
response.setHeader("Content-Disposition", "attachment;filename=form_configure_" + System.currentTimeMillis() + ".json");
|
||||
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
mapper.registerModule(new JavaTimeModule());
|
||||
mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
|
||||
mapper.writerWithDefaultPrettyPrinter().writeValue(response.getWriter(), sysFormConfigureList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过JSON文件导入表单数据
|
||||
*/
|
||||
@PostMapping("/uploadSysFormConfigure")
|
||||
public SdmResponse uploadSysFormConfigure(@RequestParam("file") MultipartFile file) {
|
||||
try {
|
||||
String jsonContent = new String(file.getBytes(), StandardCharsets.UTF_8);
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
mapper.registerModule(new JavaTimeModule());
|
||||
mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
|
||||
// 解析JSON
|
||||
List<SysFormConfigure> sysFormConfigureList = mapper.readValue(jsonContent, new TypeReference<List<SysFormConfigure>>() {});
|
||||
if (sysFormConfigureList == null || sysFormConfigureList.isEmpty()) {
|
||||
return SdmResponse.failed("JSON数据为空");
|
||||
}
|
||||
log.info("开始导入sysFormConfigureList数据,共 {} 条", sysFormConfigureList.size());
|
||||
// 清空原有数据
|
||||
formConfigureService.lambdaUpdate().eq(SysFormConfigure::getTenantId, ThreadLocalContext.getTenantId()).remove();
|
||||
// formConfigureService.remove(Wrappers.emptyWrapper());
|
||||
// 批量插入
|
||||
formConfigureService.saveBatch(sysFormConfigureList);
|
||||
return SdmResponse.success();
|
||||
} catch (Exception e) {
|
||||
return SdmResponse.failed("导入失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@GetMapping("/exportSysDictionaryClass")
|
||||
public void exportSysDictionaryClass(HttpServletResponse response) throws IOException {
|
||||
// 导出为JSON文件
|
||||
List<SysDictionaryClass> sysDictionaryClassList = dictionaryClassService.lambdaQuery().eq(SysDictionaryClass::getTenantId, String.valueOf(ThreadLocalContext.getTenantId())).list();
|
||||
// List<SysDictionaryClass> sysDictionaryClassList = dictionaryClassService.list();
|
||||
|
||||
response.setContentType("application/json");
|
||||
response.setCharacterEncoding("UTF-8");
|
||||
response.setHeader("Content-Disposition", "attachment;filename=dictionary_class_" + System.currentTimeMillis() + ".json");
|
||||
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
mapper.registerModule(new JavaTimeModule());
|
||||
mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
|
||||
mapper.writerWithDefaultPrettyPrinter().writeValue(response.getWriter(), sysDictionaryClassList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过JSON文件导入表单数据
|
||||
*/
|
||||
@PostMapping("/uploadSysDictionaryClass")
|
||||
public SdmResponse uploadSysDictionaryClass(@RequestParam("file") MultipartFile file) {
|
||||
try {
|
||||
String jsonContent = new String(file.getBytes(), StandardCharsets.UTF_8);
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
mapper.registerModule(new JavaTimeModule());
|
||||
mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
|
||||
// 解析JSON
|
||||
List<SysDictionaryClass> sysDictionaryClassList = mapper.readValue(jsonContent, new TypeReference<List<SysDictionaryClass>>() {});
|
||||
if (sysDictionaryClassList == null || sysDictionaryClassList.isEmpty()) {
|
||||
return SdmResponse.failed("JSON数据为空");
|
||||
}
|
||||
log.info("开始导入sysDictionaryClassList数据,共 {} 条", sysDictionaryClassList.size());
|
||||
// 清空原有数据
|
||||
dictionaryClassService.lambdaUpdate().eq(SysDictionaryClass::getTenantId, String.valueOf(ThreadLocalContext.getTenantId())).remove();
|
||||
// dictionaryClassService.remove(Wrappers.emptyWrapper());
|
||||
// 批量插入
|
||||
dictionaryClassService.saveBatch(sysDictionaryClassList);
|
||||
return SdmResponse.success();
|
||||
} catch (Exception e) {
|
||||
return SdmResponse.failed("导入失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@GetMapping("/exportSysDataDictionary")
|
||||
public void exportSysDataDictionary(HttpServletResponse response) throws IOException {
|
||||
// 导出为JSON文件
|
||||
List<SysDataDictionary> sysDataDictionaryList = dataDictionaryService.lambdaQuery().eq(SysDataDictionary::getTenantId, ThreadLocalContext.getTenantId()).list();
|
||||
// List<SysDataDictionary> sysDataDictionaryList = dataDictionaryService.list();
|
||||
|
||||
response.setContentType("application/json");
|
||||
response.setCharacterEncoding("UTF-8");
|
||||
response.setHeader("Content-Disposition", "attachment;filename=data_dictionary_" + System.currentTimeMillis() + ".json");
|
||||
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
mapper.registerModule(new JavaTimeModule());
|
||||
mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
|
||||
mapper.writerWithDefaultPrettyPrinter().writeValue(response.getWriter(), sysDataDictionaryList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过JSON文件导入表单数据
|
||||
*/
|
||||
@PostMapping("/uploadSysDataDictionary")
|
||||
public SdmResponse uploadSysDataDictionary(@RequestParam("file") MultipartFile file) {
|
||||
try {
|
||||
String jsonContent = new String(file.getBytes(), StandardCharsets.UTF_8);
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
mapper.registerModule(new JavaTimeModule());
|
||||
mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
|
||||
// 解析JSON
|
||||
List<SysDataDictionary> sysDataDictionaryList = mapper.readValue(jsonContent, new TypeReference<List<SysDataDictionary>>() {});
|
||||
if (sysDataDictionaryList == null || sysDataDictionaryList.isEmpty()) {
|
||||
return SdmResponse.failed("JSON数据为空");
|
||||
}
|
||||
log.info("开始导入sysDataDictionaryList数据,共 {} 条", sysDataDictionaryList.size());
|
||||
// 清空原有数据
|
||||
dataDictionaryService.lambdaUpdate().eq(SysDataDictionary::getTenantId, ThreadLocalContext.getTenantId()).remove();
|
||||
// dataDictionaryService.remove(Wrappers.emptyWrapper());
|
||||
// 批量插入
|
||||
dataDictionaryService.saveBatch(sysDataDictionaryList);
|
||||
return SdmResponse.success();
|
||||
} catch (Exception e) {
|
||||
return SdmResponse.failed("导入失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.sdm.system.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.sdm.system.model.entity.SysDataDictionary;
|
||||
|
||||
public interface DataDictionaryMapper extends BaseMapper<SysDataDictionary> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.sdm.system.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.sdm.system.model.entity.SysDictionaryClass;
|
||||
|
||||
public interface DictionaryClassMapper extends BaseMapper<SysDictionaryClass> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
package com.sdm.system.model.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@TableName("simulation_data_dictionary")
|
||||
@ApiModel(value="SysDataDictionary对象", description="")
|
||||
public class SysDataDictionary implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Schema(description = "表单ID")
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "字典ID")
|
||||
private String uuid;
|
||||
|
||||
@Schema(description = "字典名称")
|
||||
@TableField("dictName")
|
||||
private String dictName;
|
||||
|
||||
@Schema(description = "字典值")
|
||||
@TableField("dictValue")
|
||||
private String dictValue;
|
||||
|
||||
@Schema(description = "字典值类型")
|
||||
@TableField("valueType")
|
||||
private String valueType;
|
||||
|
||||
@Schema(description = "字典别名")
|
||||
@TableField("aliasName")
|
||||
private String aliasName;
|
||||
|
||||
@Schema(description = "排序序号")
|
||||
@TableField("dictOrder")
|
||||
private Integer dictOrder;
|
||||
|
||||
@Schema(description = "字典分类名称")
|
||||
@TableField("dictClass")
|
||||
private String dictClass;
|
||||
|
||||
@Schema(description = "字典分类类型")
|
||||
@TableField("classType")
|
||||
private String classType;
|
||||
|
||||
@Schema(description = "描述信息")
|
||||
@TableField("comment")
|
||||
private String comment;
|
||||
|
||||
@Schema(description = "所属租户ID")
|
||||
@TableField("tenantId")
|
||||
private Long tenantId;
|
||||
|
||||
@Schema(description = "创建人")
|
||||
@TableField("creator")
|
||||
private Long creator;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package com.sdm.system.model.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@TableName("simulation_dictionary_class")
|
||||
@ApiModel(value="SysDictionaryClass对象", description="")
|
||||
public class SysDictionaryClass implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Schema(description = "字典ID")
|
||||
@TableId(value = "uuid")
|
||||
private String uuid;
|
||||
|
||||
@Schema(description = "分类名称")
|
||||
@TableField("className")
|
||||
private String className;
|
||||
|
||||
@Schema(description = "分类类别")
|
||||
@TableField("classType")
|
||||
private String classType;
|
||||
|
||||
@Schema(description = "分类标题")
|
||||
@TableField("titleName")
|
||||
private String titleName;
|
||||
|
||||
@Schema(description = "所属租户ID")
|
||||
@TableField("tenantId")
|
||||
private String tenantId;
|
||||
|
||||
@Schema(description = "描述信息")
|
||||
@TableField("comment")
|
||||
private String comment;
|
||||
|
||||
@Schema(description = "创建人")
|
||||
@TableField("creator")
|
||||
private Long creator;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@TableField("createTime")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.sdm.system.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.sdm.system.model.entity.SysDataDictionary;
|
||||
|
||||
public interface IDataDictionaryService extends IService<SysDataDictionary> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.sdm.system.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.sdm.system.model.entity.SysDictionaryClass;
|
||||
|
||||
public interface IDictionaryClassService extends IService<SysDictionaryClass> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.sdm.system.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.sdm.system.dao.DataDictionaryMapper;
|
||||
import com.sdm.system.model.entity.SysDataDictionary;
|
||||
import com.sdm.system.service.IDataDictionaryService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class IDataDictionaryServiceImpl extends ServiceImpl<DataDictionaryMapper, SysDataDictionary> implements IDataDictionaryService {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.sdm.system.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.sdm.system.dao.DictionaryClassMapper;
|
||||
import com.sdm.system.model.entity.SysDictionaryClass;
|
||||
import com.sdm.system.service.IDictionaryClassService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class IDictionaryClassServiceImpl extends ServiceImpl<DictionaryClassMapper, SysDictionaryClass> implements IDictionaryClassService {
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user