田源
2023-05-09 d2570148ec3884de3af721bd99c4b7acbbdee075
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/controller/DdlController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,86 @@
package com.vci.ubcs.ddl.controller;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.vci.ubcs.ddl.bo.DdlTableBO;
import com.vci.ubcs.ddl.service.IDdlService;
import com.vci.ubcs.omd.dto.BtmAndLinkTypeDdlDTO;
import com.vci.ubcs.omd.dto.BtmTypeDTO;
import com.vci.ubcs.omd.entity.ModifyAttributeInfo;
import com.vci.ubcs.omd.vo.BtmTypeVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
import java.util.Objects;
/**
 * Description: æ•°æ®åº“操作控制器
 *
 * @author LiHang
 * @date 2023/4/25
 */
@NonDS
@RestController
@AllArgsConstructor
@RequestMapping("/ddl")
@Api(value = "数据库操作", tags = "数据库操作")
public class DdlController {
   @Autowired
   private IDdlService ddlService;
   /**
    * æ–°å¢žæˆ–修改数据库表
    * @param ddlDTO ä¸šåŠ¡ç±»åž‹+链接类型
    * @return æ‰§è¡Œç»“æžœ
    */
   @PostMapping("/submit")
   @ApiOperationSupport(order = 1)
   @ApiOperation(value = "新增或修改", notes = "业务类型链接类型传输对象")
   public R submitBtmType(@RequestBody BtmAndLinkTypeDdlDTO ddlDTO) {
      return ddlService.submit(ddlDTO);
   }
   /**
    * æ ¹æ®è¡¨åèŽ·å–å­—æ®µä¿¡æ¯
    * @param tableName è¡¨å
    * @return æ‰§è¡Œç»“æžœ
    */
   @GetMapping("/getTableColumnByTableName")
   @ApiOperation(value = "按表名获取表字段信息",notes = "传入表名")
   @ApiOperationSupport(order = 3)
   public R<DdlTableBO> getTableColumnByTableName(String tableName){
      return R.data(ddlService.getTableColumnByTableName(tableName));
   }
   /**
    * èŽ·å–æ‰€æœ‰çš„è¡¨ä¿¡æ¯
    * @return è¡¨ä¿¡æ¯
    */
   @GetMapping("/getAllTableInfo")
   @ApiOperation(value = "获取所有的表信息")
   @ApiOperationSupport(order = 4)
   public R<List<BtmTypeVO>> getAllTableInfo(){
      return R.data(ddlService.getAllTableInfo());
   }
   /**
    * èŽ·å–æ•°æ®åº“å’Œä¸šåŠ¡ç±»åž‹ä¸­çš„ä¸åŒçš„åœ°æ–¹
    * @param ddlDTO åŒ…含业务类型和链接类型的包装
    * @return ä¸åŒçš„地方,每一个业务类型或者链接类型一条数据
    */
   @PostMapping("/checkDifferentAndReflex")
   @ApiOperation(value = "检查业务类型的数据与数据库中是否相同")
   @ApiOperationSupport(order = 5)
   public R<List<ModifyAttributeInfo>> checkDifferentAndReflex(@RequestBody BtmAndLinkTypeDdlDTO ddlDTO){
      Func.requireNotNull(ddlDTO,"业务类型与链接对象传输对象不能为空");
      return R.data(ddlService.checkDifferent(ddlDTO.getBtmTypeList(),ddlDTO.getLinkTypeList()));
   }
}