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