From 73dbe864eb18a1a4df4f41caed1dd128faf1b2ec Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期五, 02 六月 2023 19:11:27 +0800
Subject: [PATCH] 引用码段关于业务类型接口的联调,重复使用的界面抽离成单独组件

---
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/BtmTypeClient.java |   70 ++++++++++++++++++++++++++++++----
 1 files changed, 61 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..d5c59e2 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
@@ -7,6 +7,9 @@
 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 +17,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 +39,8 @@
 
 	private final IBtmTypeService btmTypeService;
 
+	private final String DOMAIN = "domain";
+
 
 	/**
 	 * 鍙傜収鑾峰彇涓氬姟绫诲瀷璇︽儏淇℃伅
@@ -41,6 +49,7 @@
 	 * @return 涓氬姟绫诲瀷璇︽儏淇℃伅
 	 */
 	@Override
+	@GetMapping(GET_DETAIL)
 	public R<BtmTypeVO> getDetail(String oid) {
 		return R.data(btmTypeService.getBtmTypeByOid(oid));
 	}
@@ -48,21 +57,62 @@
 	/**
 	 * 鍙傜収鍒楄〃鏌ヨ
 	 *
-	 * @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);
+		Query query = new Query();
+		query.setSize(pageHelper.getLimit());
+		query.setCurrent(pageHelper.getPage());
+		IPage<BtmType> page = btmTypeService.page(Condition.getPage(query), Condition.getQueryWrapper(queryObj).lambda().eq(BtmType::getDomain, domainValue).orderByAsc(BtmType::getId));
+		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));
+		return R.data(BtmTypeWrapper.build().listEntityVO(list));
 	}
 
 	/**
@@ -72,6 +122,7 @@
 	 * @return 涓氬姟瀵硅薄
 	 */
 	@Override
+	@PostMapping(GET_BY_IDS)
 	public R<List<BtmTypeVO>> selectByIdCollection(List<String> ids) {
 		Func.requireNotNull(ids,"涓氬姟绫诲瀷鑻辨枃鍚嶇О");
 		List<BtmTypeVO> voList = BtmTypeWrapper.build().listEntityVO(
@@ -90,7 +141,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(

--
Gitblit v1.9.3