From 41c256180e5e7900c88b71a9f22590db21f87a7a Mon Sep 17 00:00:00 2001 From: lihang <lihang@vci-tech.com> Date: 星期二, 09 五月 2023 16:54:36 +0800 Subject: [PATCH] 业务类型修正 --- Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/BtmTypeController.java | 75 ++++++++++++++++++++++++++++++++++--- 1 files changed, 68 insertions(+), 7 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/BtmTypeController.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/BtmTypeController.java index 698a29a..87a2030 100644 --- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/BtmTypeController.java +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/BtmTypeController.java @@ -1,7 +1,9 @@ package com.vci.ubcs.omd.controller; +import com.alibaba.cloud.commons.lang.StringUtils; import com.alibaba.nacos.api.exception.NacosException; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.vci.ubcs.omd.constant.OmdCacheConstant; @@ -9,6 +11,7 @@ import com.vci.ubcs.omd.entity.BtmType; import com.vci.ubcs.omd.repeater.DomainRepeater; import com.vci.ubcs.omd.service.IBtmTypeService; +import com.vci.ubcs.omd.vo.BtmTypeTreeVO; import com.vci.ubcs.omd.vo.BtmTypeVO; import com.vci.ubcs.omd.wrapper.BtmTypeWrapper; import io.swagger.annotations.*; @@ -21,13 +24,13 @@ import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.Func; +import org.springblade.core.tool.utils.StringPool; import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; import javax.validation.Valid; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; /** * Description: 涓氬姟绫诲瀷鎺у埗鍣� @@ -92,7 +95,7 @@ @ApiImplicitParam(name = "name", value = "涓氬姟绫诲瀷涓枃鍚嶇О", paramType = "query", dataType = "string"), @ApiImplicitParam(name = "tableName", value = "涓氬姟绫诲瀷鏁版嵁搴撹〃鍚�", paramType = "query", dataType = "string"), }) - @ApiOperationSupport(order = 2) + @ApiOperationSupport(order = 3) @ApiOperation(value = "鏌ヨ鍒楄〃", notes = "浼犲叆鏌ヨ") public R<IPage<BtmTypeVO>> parentList(@ApiIgnore @RequestParam Map<String, Object> condition, Query query) { IPage<BtmTypeVO> pageVO = new Page<>(); @@ -110,7 +113,7 @@ * @return 鎵ц缁撴灉 */ @PostMapping("/submit/{auto}") - @ApiOperationSupport(order = 3) + @ApiOperationSupport(order = 4) @ApiOperation(value = "鏂板鎴栦慨鏀�", notes = "浼犲叆涓氬姟绫诲瀷瀵硅薄") public R submit(@Valid @RequestBody BtmTypeDTO dto,@PathVariable(value = "auto") boolean auto) { CacheUtil.clear(OmdCacheConstant.BTM_CACHE); @@ -124,7 +127,7 @@ * @return 鎵ц缁撴灉 */ @PostMapping("/remove") - @ApiOperationSupport(order = 4) + @ApiOperationSupport(order = 5) @ApiOperation(value = "鍒犻櫎", notes = "涓婚敭闆嗗悎") public R remove(@ApiParam(value = "涓婚敭闆嗗悎", required = true) @RequestParam String ids) { CacheUtil.clear(OmdCacheConstant.BTM_CACHE); @@ -141,7 +144,7 @@ * 鑾峰彇棰嗗煙鍊� */ @GetMapping("/domain") - @ApiOperationSupport(order = 5) + @ApiOperationSupport(order = 6) @ApiOperation(value = "鑾峰彇棰嗗煙鍊�") public R<List<String>> getDomain(){ try { @@ -150,4 +153,62 @@ return R.fail(e.getErrMsg()); } } + + /** + * 鎸塪omain鍒嗙粍锛屾煡璇笟鍔$被鍨嬬殑鏍戝舰缁撴瀯 + */ + @GetMapping("/tree-domain") + @ApiOperationSupport(order = 7) + @ApiOperation(value = "涓氬姟绫诲瀷鏍戝舰缁撴瀯", notes = "涓氬姟绫诲瀷鏍戝舰缁撴瀯") + public R<List<BtmTypeTreeVO>> treeDomain(){ + return R.data(btmTypeService.treeDomain()); + } + + /** + * 浠庢暟鎹簱琛ㄤ腑鑾峰彇 + * @param domain 棰嗗煙鍊� + * @return 璇诲彇缁撴灉 + */ + @GetMapping("/get-from-table") + @ApiOperation(value = "浠庢暟鎹簱琛ㄤ腑璇诲彇",notes = "浠庢暟鎹簱琛ㄤ腑璇诲彇") + @ApiOperationSupport(order = 8) + public R<List<BtmTypeVO>> getFromTable(String domain){ + return R.data(btmTypeService.getFromTable(domain)); + } + + /** + * 鏁版嵁搴撻�夋嫨鐨勮〃淇濆瓨涓轰笟鍔$被鍨� + * @param btmTypeDTOList 椤甸潰浼犺緭瀵硅薄 + * @return 鎵ц缁撴灉 + */ + @PostMapping("/save-from-table/{domain}") + @ApiOperation(value = "浠庢暟鎹簱涓繚瀛�",notes = "浠庢暟鎹簱涓繚瀛�") + @ApiOperationSupport(order = 9) + public R saveFromTable(@RequestBody List<BtmTypeDTO> btmTypeDTOList,@PathVariable(value = "domain") String domain){ + // 鏁版嵁搴撹〃涓嶈兘閲嶅 + Set<String> tableNames = btmTypeDTOList.stream().map(BtmTypeDTO::getTableName).filter(StringUtils::isNotBlank).collect(Collectors.toSet()); + long count = btmTypeService.count(Wrappers.<BtmType>query().lambda().in(BtmType::getTableName,tableNames)); + if (count > 0){ + return R.fail("鎵�閫夎〃鍦ㄤ笟鍔$被鍨嬩腑宸插瓨鍦�"); + } + // 涓氬姟绫诲瀷涓嶈兘閲嶅 + btmTypeDTOList = btmTypeDTOList.stream().peek(s -> { + String id; + String tableName = s.getTableName(); + if (tableName.contains(StringPool.UNDERSCORE)) { + List<String> strList = Arrays.asList(tableName.split(StringPool.UNDERSCORE)); + id = strList.get(strList.size() - 1); + } else { + id = tableName; + } + s.setId(id.toLowerCase()); + }).collect(Collectors.toList()); + List<String> btmTypeIdList = btmTypeDTOList.stream().map(BtmTypeDTO::getId).collect(Collectors.toList()); + + long countId = btmTypeService.count(Wrappers.<BtmType>query().lambda().in(BtmType::getId, btmTypeIdList)); + if (countId > 0){ + return R.fail("鎵�閫夎〃涓庡凡瀛樺湪涓氬姟绫诲瀷鍐茬獊"); + } + return R.data(btmTypeService.saveFromTable(btmTypeDTOList,domain)); + } } -- Gitblit v1.9.3