Browse Source

chore: 字段模块compose

master
wangxiang 1 year ago
parent
commit
ad17d8fbff
  1. 8
      kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/devtools/entity/GenDatabaseType.java
  2. 6
      kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/devtools/entity/GenTableFieldType.java
  3. 17
      kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/devtools/controller/GenDatabaseTypeController.java
  4. 2
      kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/devtools/service/IGenDatabaseTypeService.java
  5. 31
      kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/devtools/service/impl/GenDatabaseTypeServiceImpl.java

8
kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/devtools/entity/GenDatabaseType.java

@ -1,9 +1,13 @@ @@ -1,9 +1,13 @@
package com.cloud.kicc.system.api.devtools.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cloud.kicc.common.data.entity.BaseEntity;
import com.cloud.kicc.common.data.entity.CommonEntity;
import java.io.Serializable;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -35,5 +39,9 @@ public class GenDatabaseType extends BaseEntity { @@ -35,5 +39,9 @@ public class GenDatabaseType extends BaseEntity {
@ApiModelProperty("数据库类型")
private String type;
@ApiModelProperty("子集表字段物理类型")
@TableField(exist = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
private List<GenTableFieldType> genTableFieldTypeList;
}

6
kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/devtools/entity/GenTableFieldType.java

@ -1,5 +1,6 @@ @@ -1,5 +1,6 @@
package com.cloud.kicc.system.api.devtools.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cloud.kicc.common.data.entity.BaseEntity;
import com.cloud.kicc.common.data.entity.CommonEntity;
@ -44,4 +45,9 @@ public class GenTableFieldType extends BaseEntity { @@ -44,4 +45,9 @@ public class GenTableFieldType extends BaseEntity {
@ApiModelProperty("排序")
private Integer sort;
@ApiModelProperty("子集表字段物理类型")
@TableField(exist = false)
private String _action;
}

17
kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/devtools/controller/GenDatabaseTypeController.java

@ -2,17 +2,22 @@ package com.cloud.kicc.system.devtools.controller; @@ -2,17 +2,22 @@ package com.cloud.kicc.system.devtools.controller;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cloud.kicc.common.core.api.R;
import com.cloud.kicc.common.core.constant.AppConstants;
import com.cloud.kicc.system.api.devtools.entity.GenDatabaseType;
import com.cloud.kicc.system.api.devtools.entity.GenTableFieldType;
import com.cloud.kicc.system.devtools.service.IGenDatabaseTypeService;
import com.cloud.kicc.system.devtools.service.IGenTableFieldTypeService;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.stream.Collectors;
/**
* <p>
@ -28,6 +33,7 @@ import java.util.Arrays; @@ -28,6 +33,7 @@ import java.util.Arrays;
public class GenDatabaseTypeController {
private final IGenDatabaseTypeService iGenDatabaseTypeService;
private final IGenTableFieldTypeService iGenTableFieldTypeService;
private LambdaQueryWrapper<GenDatabaseType> getQueryWrapper(GenDatabaseType genDatabaseType) {
return new LambdaQueryWrapper<GenDatabaseType>()
@ -43,7 +49,10 @@ public class GenDatabaseTypeController { @@ -43,7 +49,10 @@ public class GenDatabaseTypeController {
@GetMapping("/{id:\\w+}")
public R getById(@PathVariable("id") String id) {
return R.ok(iGenDatabaseTypeService.getById(id));
GenDatabaseType genDatabaseType = iGenDatabaseTypeService.getById(id);
genDatabaseType.setGenTableFieldTypeList(iGenTableFieldTypeService
.list(Wrappers.<GenTableFieldType>lambdaQuery().eq(GenTableFieldType::getTypeId, genDatabaseType.getId())));
return R.ok(genDatabaseType);
}
@PostMapping("/save")
@ -58,6 +67,12 @@ public class GenDatabaseTypeController { @@ -58,6 +67,12 @@ public class GenDatabaseTypeController {
return R.ok();
}
@PutMapping("/saveAndGenTableFieldType")
public R saveAndGenTableFieldType(@RequestBody GenDatabaseType genDatabaseType) {
iGenDatabaseTypeService.saveAndGenTableFieldType(genDatabaseType);
return R.ok();
}
@DeleteMapping("/remove/{id:[\\w,]+}")
public R remove(@PathVariable String[] id) {
iGenDatabaseTypeService.removeByIds(Arrays.asList(id));

2
kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/devtools/service/IGenDatabaseTypeService.java

@ -13,4 +13,6 @@ import com.baomidou.mybatisplus.extension.service.IService; @@ -13,4 +13,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface IGenDatabaseTypeService extends IService<GenDatabaseType> {
void saveAndGenTableFieldType(GenDatabaseType genDatabaseType);
}

31
kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/devtools/service/impl/GenDatabaseTypeServiceImpl.java

@ -1,10 +1,18 @@ @@ -1,10 +1,18 @@
package com.cloud.kicc.system.devtools.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.cloud.kicc.system.api.devtools.entity.GenDatabaseType;
import com.cloud.kicc.system.api.devtools.entity.GenTableFieldType;
import com.cloud.kicc.system.devtools.mapper.GenDatabaseTypeMapper;
import com.cloud.kicc.system.devtools.service.IGenDatabaseTypeService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.cloud.kicc.system.devtools.service.IGenTableFieldTypeService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
/**
* <p>
@ -15,6 +23,27 @@ import org.springframework.stereotype.Service; @@ -15,6 +23,27 @@ import org.springframework.stereotype.Service;
* @since 2023-12-09
*/
@Service
@RequiredArgsConstructor
public class GenDatabaseTypeServiceImpl extends ServiceImpl<GenDatabaseTypeMapper, GenDatabaseType> implements IGenDatabaseTypeService {
private final IGenTableFieldTypeService iGenTableFieldTypeService;
@Override
@Transactional(rollbackFor = Exception.class)
public void saveAndGenTableFieldType(GenDatabaseType genDatabaseType) {
super.saveOrUpdate(genDatabaseType);
List<GenTableFieldType> addOrEditGenTableFieldTypeList = new ArrayList<>();
List<GenTableFieldType> delGenTableFieldTypeList = new ArrayList<>();
genDatabaseType.getGenTableFieldTypeList().forEach(item -> {
item.setTypeId(genDatabaseType.getId());
if (StrUtil.equalsAny(item.get_action(), "add", "edit")) {
addOrEditGenTableFieldTypeList.add(item);
} else if (StrUtil.equals(item.get_action(), "del")) {
delGenTableFieldTypeList.add(item);
}
});
iGenTableFieldTypeService.saveOrUpdateBatch(addOrEditGenTableFieldTypeList);
iGenTableFieldTypeService.removeBatchByIds(delGenTableFieldTypeList);
}
}

Loading…
Cancel
Save