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 | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 101 insertions(+), 12 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 2a88bb7..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,13 +1,19 @@ 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; import com.vci.ubcs.omd.dto.BtmTypeDTO; 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; @@ -19,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: 涓氬姟绫诲瀷鎺у埗鍣� @@ -44,7 +50,6 @@ * 涓氬姟绫诲瀷鏈嶅姟 */ private final IBtmTypeService btmTypeService; - /** * 鏌ョ湅璇︽儏 @@ -90,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<>(); @@ -100,19 +105,18 @@ return R.data(pageVO); } - /** * 鏂板鎴栦慨鏀� * * @param dto 鍏冩暟鎹〉闈紶杈撳璞� * @return 鎵ц缁撴灉 */ - @PostMapping("/submit") - @ApiOperationSupport(order = 3) - @ApiOperation(value = "鏂板鎴栦慨鏀�", notes = "浼犲叆鍏冩暟鎹璞�") - public R submit(@Valid @RequestBody BtmTypeDTO dto) { + @PostMapping("/submit/{auto}") + @ApiOperationSupport(order = 4) + @ApiOperation(value = "鏂板鎴栦慨鏀�", notes = "浼犲叆涓氬姟绫诲瀷瀵硅薄") + public R submit(@Valid @RequestBody BtmTypeDTO dto,@PathVariable(value = "auto") boolean auto) { CacheUtil.clear(OmdCacheConstant.BTM_CACHE); - return R.status(btmTypeService.submit(dto)); + return btmTypeService.submit(dto,auto); } /** @@ -122,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); @@ -134,4 +138,89 @@ } return R.status(btmTypeService.removeBatchByIds(oidList)); } + + /** + * 鑾峰彇棰嗗煙鍊� + */ + @GetMapping("/domain") + @ApiOperationSupport(order = 6) + @ApiOperation(value = "鑾峰彇棰嗗煙鍊�") + 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