From 495da50c21fa91b3bd0d37d2ed158a0ba0d79335 Mon Sep 17 00:00:00 2001
From: 康东 <98470202+kangdong59@users.noreply.github.com>
Date: 星期一, 26 六月 2023 11:12:18 +0800
Subject: [PATCH] 业务类型Feign模糊查询

---
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/BtmTypeClient.java |  117 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 108 insertions(+), 9 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/BtmTypeClient.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/BtmTypeClient.java
index 5625897..3ed8b36 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/BtmTypeClient.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/BtmTypeClient.java
@@ -1,12 +1,16 @@
 package com.vci.ubcs.omd.feign;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.vci.ubcs.omd.entity.BtmType;
 import com.vci.ubcs.omd.service.IBtmTypeService;
 import com.vci.ubcs.omd.vo.BtmTypeVO;
 import com.vci.ubcs.omd.wrapper.BtmTypeWrapper;
+import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
+import com.vci.ubcs.starter.web.pagemodel.PageHelper;
+import com.vci.ubcs.starter.web.util.VciBaseUtil;
 import lombok.AllArgsConstructor;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
@@ -14,6 +18,9 @@
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
+import org.springframework.cglib.beans.BeanMap;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
@@ -33,6 +40,8 @@
 
 	private final IBtmTypeService btmTypeService;
 
+	private final String DOMAIN = "domain";
+
 
 	/**
 	 * 鍙傜収鑾峰彇涓氬姟绫诲瀷璇︽儏淇℃伅
@@ -41,6 +50,7 @@
 	 * @return 涓氬姟绫诲瀷璇︽儏淇℃伅
 	 */
 	@Override
+	@GetMapping(GET_DETAIL)
 	public R<BtmTypeVO> getDetail(String oid) {
 		return R.data(btmTypeService.getBtmTypeByOid(oid));
 	}
@@ -48,21 +58,69 @@
 	/**
 	 * 鍙傜収鍒楄〃鏌ヨ
 	 *
-	 * @param condition 鏌ヨ鏉′欢
-	 * @param query     鍒嗛〉鏉′欢
-	 * @param domain    棰嗗煙鍊�
+	 * @param baseQueryObject 鏌ヨ鏉′欢瀵硅薄
 	 * @return 鏌ヨ缁撴灉
 	 */
 	@Override
-	public R<IPage<BtmTypeVO>> getRef(Map<String, Object> condition, Query query, String domain) {
-		Func.requireNotNull(domain,"棰嗗煙鍊�");
-		IPage<BtmType> page = btmTypeService.page(Condition.getPage(query), Condition.getQueryWrapper(condition, BtmType.class).lambda().eq(BtmType::getDomain, domain).orderByAsc(BtmType::getId));
-		IPage<BtmTypeVO> pageVO = new Page<>();
+	@PostMapping(GET_REF_PAGE)
+	public R<Page<BtmTypeVO>> getRefPage(BaseQueryObject baseQueryObject) {
+		Map<String, String> conditionMap = baseQueryObject.getConditionMap();
+		if (conditionMap == null){
+			conditionMap = new HashMap<>(16);
+		}
+		if (!conditionMap.containsKey(DOMAIN)){
+			return R.fail("棰嗗煙鍊间笉鑳戒负绌�");
+		}
+		PageHelper pageHelper = baseQueryObject.getPageHelper();
+		if (pageHelper == null){
+			pageHelper = new PageHelper(-1);
+		}
+		String domainValue = conditionMap.get(DOMAIN);
+		VciBaseUtil.alertNotNull(domainValue,"棰嗗煙鍊�");
+		conditionMap.remove(DOMAIN);
+//		BtmType queryObj = new BtmType();
+//		BeanMap.create(queryObj).putAll(conditionMap);
+		Map<String, Object> condition = new HashMap<>(conditionMap);
+		Query query = new Query();
+		query.setSize(pageHelper.getLimit());
+		query.setCurrent(pageHelper.getPage());
+		IPage<BtmType> page = btmTypeService.page(Condition.getPage(query), Condition.getQueryWrapper(condition,BtmType.class).lambda().eq(BtmType::getDomain, domainValue).orderByAsc(BtmType::getId));
+		if (CollectionUtils.isEmpty(page.getRecords())){
+			return R.data(null);
+		}
+		Page<BtmTypeVO> pageVO = new Page<>();
 		BeanUtil.copy(page,pageVO);
 		pageVO.setRecords(BtmTypeWrapper.build().listEntityVO(page.getRecords()));
-		R<IPage<BtmTypeVO>> r = R.data(pageVO);
+		R<Page<BtmTypeVO>> r = R.data(pageVO);
 		r.setSuccess(true);
 		return r;
+	}
+
+	/**
+	 * 鍙傜収鍒楄〃鏌ヨ
+	 * @param baseQueryObject 鏌ヨ鏉′欢瀵硅薄
+	 * @return 鏌ヨ缁撴灉
+	 */
+	@Override
+	@PostMapping(GET_REF)
+	public R<List<BtmTypeVO>> getRef(BaseQueryObject baseQueryObject) {
+		Map<String, String> conditionMap = baseQueryObject.getConditionMap();
+		if (conditionMap == null){
+			conditionMap = new HashMap<>(16);
+		}
+		if (!conditionMap.containsKey(DOMAIN)){
+			return R.fail("棰嗗煙鍊间笉鑳戒负绌�");
+		}
+		String domainValue = conditionMap.get(DOMAIN);
+		VciBaseUtil.alertNotNull(domainValue,"棰嗗煙鍊�");
+		conditionMap.remove(DOMAIN);
+		BtmType queryObj = new BtmType();
+		BeanMap.create(queryObj).putAll(conditionMap);
+		List<BtmType> list = btmTypeService.list(Condition.getQueryWrapper(queryObj).lambda().eq(BtmType::getDomain, domainValue).orderByAsc(BtmType::getId));
+		if (CollectionUtils.isEmpty(list)){
+			return R.data(null);
+		}
+		return R.data(BtmTypeWrapper.build().listEntityVO(list));
 	}
 
 	/**
@@ -72,6 +130,7 @@
 	 * @return 涓氬姟瀵硅薄
 	 */
 	@Override
+	@PostMapping(GET_BY_IDS)
 	public R<List<BtmTypeVO>> selectByIdCollection(List<String> ids) {
 		Func.requireNotNull(ids,"涓氬姟绫诲瀷鑻辨枃鍚嶇О");
 		List<BtmTypeVO> voList = BtmTypeWrapper.build().listEntityVO(
@@ -80,6 +139,9 @@
 				)
 			).orElseGet(ArrayList::new)
 		);
+		if (CollectionUtils.isEmpty(voList)){
+			return R.data(null);
+		}
 		return R.data(voList);
 	}
 
@@ -90,7 +152,8 @@
 	 * @return 涓氬姟绫诲瀷鍒楄〃锛屽鏋滄湁涓嶅瓨鍦ㄧ殑涓嶄細杩斿洖锛屽叏閮ㄤ笉瀛樺湪鐨勫垯杩斿洖绌哄垪琛�
 	 */
 	@Override
-	public R<List<BtmTypeVO>> listBtmTypeByOidCollection(Collection<String> pkBtmTypeCollection) {
+	@PostMapping(GET_BY_OIDS)
+	public R<List<BtmTypeVO>> listBtmTypeByOidCollection(List<String> pkBtmTypeCollection) {
 		Func.requireNotNull(pkBtmTypeCollection,"涓氬姟绫诲瀷涓婚敭");
 		List<BtmTypeVO> voList = BtmTypeWrapper.build().listEntityVO(
 			Optional.ofNullable(btmTypeService.list(
@@ -98,6 +161,42 @@
 				)
 			).orElseGet(ArrayList::new)
 		);
+		if (CollectionUtils.isEmpty(voList)){
+			return R.data(null);
+		}
 		return R.data(voList);
 	}
+
+	/**
+	 * 鑾峰彇涓氬姟绫诲瀷锛屽彧鏈夐粯璁ゅ瓧娈�
+	 *
+	 * @param btmTypeId 涓氬姟绫诲瀷id
+	 * @return 榛樿瀛楁灞炴��
+	 */
+	@Override
+	public R<BtmTypeVO> getDefaultAttrByBtmId(String btmTypeId) {
+		return R.data(Optional.ofNullable(btmTypeService.getDefaultAttrByBtmId(btmTypeId)).orElseGet(BtmTypeVO::new));
+	}
+
+	/**
+	 * 鑾峰彇涓氬姟绫诲瀷锛屾湁鎵�鏈夌殑瀛楁
+	 *
+	 * @param btmTypeId 涓氬姟绫诲瀷id
+	 * @return 鎵�鏈夊瓧娈�
+	 */
+	@Override
+	public R<BtmTypeVO> getAllAttributeByBtmId(String btmTypeId) {
+		return R.data(Optional.ofNullable(btmTypeService.getAllAttributeByBtmId(btmTypeId)).orElseGet(BtmTypeVO::new));
+	}
+
+	/**
+	 * 鑾峰彇涓氬姟绫诲瀷锛屾湁鎵�鏈夌殑瀛楁
+	 *
+	 * @param btmTypeOid 涓氬姟绫诲瀷涓婚敭
+	 * @return 鎵�鏈夊瓧娈�
+	 */
+	@Override
+	public R<BtmTypeVO> getAllAttributeByBtmOid(String btmTypeOid) {
+		return R.data(Optional.ofNullable(btmTypeService.getAllAttributeByBtmOid(btmTypeOid)).orElseGet(BtmTypeVO::new));
+	}
 }

--
Gitblit v1.9.3