From 29d6be062a46dc30be08a57b385e89919827a30b Mon Sep 17 00:00:00 2001 From: lihang <lihang@vci-tech.com> Date: 星期三, 05 七月 2023 16:33:24 +0800 Subject: [PATCH] 业务类型相关修正,修改了参照和枚举的保存 --- Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/BtmTypeClient.java | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 102 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..8bd40d9 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::getBizDomain, 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::getBizDomain, domainValue).orderByAsc(BtmType::getId)); + if (CollectionUtils.isEmpty(list)){ + return R.data(new ArrayList<>()); + } + 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( @@ -90,7 +149,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( @@ -100,4 +160,37 @@ ); 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