From 3aae81075a18a11d6b605c7583eb03b75366b466 Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期四, 18 四月 2024 00:08:52 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/BtmTypeController.java | 93 +++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 83 insertions(+), 10 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..87ff975 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,7 +11,9 @@ 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.BtmTreeVO; import com.vci.ubcs.omd.vo.BtmTypeVO; +import com.vci.ubcs.omd.vo.DomainVO; import com.vci.ubcs.omd.wrapper.BtmTypeWrapper; import io.swagger.annotations.*; import lombok.AllArgsConstructor; @@ -21,13 +25,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: 涓氬姟绫诲瀷鎺у埗鍣� @@ -46,7 +50,6 @@ * 涓氬姟绫诲瀷鏈嶅姟 */ private final IBtmTypeService btmTypeService; - /** * 鏌ョ湅璇︽儏 @@ -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<>(); @@ -102,7 +105,6 @@ return R.data(pageVO); } - /** * 鏂板鎴栦慨鏀� * @@ -110,7 +112,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 +126,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,13 +143,84 @@ * 鑾峰彇棰嗗煙鍊� */ @GetMapping("/domain") - @ApiOperationSupport(order = 5) + @ApiOperationSupport(order = 6) @ApiOperation(value = "鑾峰彇棰嗗煙鍊�") - public R<List<String>> getDomain(){ + public R<List<DomainVO>> getDomain(){ try { return R.data(DomainRepeater.getDomain()); } catch (NacosException e) { return R.fail(e.getErrMsg()); } } + + /** + * 鎸塪omain鍒嗙粍锛屾煡璇笟鍔$被鍨嬬殑鏍戝舰缁撴瀯 + */ + @GetMapping("/tree-domain") + @ApiOperationSupport(order = 7) + @ApiOperation(value = "涓氬姟绫诲瀷鏍戝舰缁撴瀯", notes = "涓氬姟绫诲瀷鏍戝舰缁撴瀯") + public R<List<BtmTreeVO>> 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)); + } + + /** + * 鑾峰彇榛樿灞炴�� + * @param defaultAttrType + * @return + */ + @GetMapping("/getDefaultAttr") + @ApiOperation(value = "鑾峰彇榛樿灞炴��",notes = "鑾峰彇榛樿灞炴��") + @ApiOperationSupport(order = 10) + public R getDefaultAttr(String defaultAttrType){ + return R.data(this.btmTypeService.getDefaultAttr(defaultAttrType)); + } + } -- Gitblit v1.9.3