From 566c542d3f1eb0ad9e918bd1fa9586ab1ed7ec86 Mon Sep 17 00:00:00 2001 From: xiejun <xj@2023> Date: 星期五, 17 十一月 2023 01:28:50 +0800 Subject: [PATCH] 自定义流水相关开发 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeSerialAlgorithmServiceImpl.java | 66 +++++++++++++++++++++++++++++++++ 1 files changed, 66 insertions(+), 0 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeSerialAlgorithmServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeSerialAlgorithmServiceImpl.java new file mode 100644 index 0000000..ca73465 --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeSerialAlgorithmServiceImpl.java @@ -0,0 +1,66 @@ +package com.vci.ubcs.code.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.vci.ubcs.code.annotation.MdmSerialAlgorithm; +import com.vci.ubcs.code.service.ICodeSerialAlgorithmService; +import com.vci.ubcs.code.vo.pagemodel.CodeSerialAlgorithmVO; +import com.vci.ubcs.starter.web.util.ApplicationContextProvider; +import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springframework.aop.framework.Advised; +import org.springframework.aop.support.AopUtils; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + * 娴佹按绠楁硶鐨勬湇鍔� + * @author weidy + * @date 2022-2-17 + */ +@Service +public class CodeSerialAlgorithmServiceImpl implements ICodeSerialAlgorithmService { + /** + * 鑾峰彇娴佹按绠楁硶鐨勫垪琛� + * + * @return 娴佹按绠楁硶鐨勪俊鎭� + */ + @Override + public IPage<CodeSerialAlgorithmVO> gridSerialAlgorithm() { + //浣跨敤涓婚敭鍘绘壂鎻� + String[] beanNames = ApplicationContextProvider.getApplicationContext().getBeanNamesForAnnotation(MdmSerialAlgorithm.class); + List<CodeSerialAlgorithmVO> voList = new ArrayList<>(); + if(beanNames!=null && beanNames.length>0){ + for(String beanName : beanNames){ + Object bean = ApplicationContextProvider.getApplicationContext().getBean(beanName); + if(bean!=null){ + CodeSerialAlgorithmVO algorithmVO = new CodeSerialAlgorithmVO(); + //Advised advised = (Advised)bean; + Class<?> targetClass = AopUtils.getTargetClass(bean); + //Class<?> targetClass = advised.getTargetSource().getTargetClass(); + algorithmVO.setClassFullName(targetClass.getName()); + MdmSerialAlgorithm serialAlgorithm = targetClass.getDeclaredAnnotation(MdmSerialAlgorithm.class); + if(serialAlgorithm==null){ + serialAlgorithm = targetClass.getAnnotation(MdmSerialAlgorithm.class); + } + if(serialAlgorithm !=null) { + algorithmVO.setName(serialAlgorithm.text()); + algorithmVO.setDescription(serialAlgorithm.description()); + algorithmVO.setId(serialAlgorithm.value()); + algorithmVO.setSerialType(serialAlgorithm.serialType()); + if(StringUtils.isBlank(algorithmVO.getId())){ + algorithmVO.setId(beanName); + } + voList.add(algorithmVO); + } + } + } + } + Query query=new Query(); + IPage<CodeSerialAlgorithmVO> queryIPage =Condition.getPage(query); + queryIPage.setRecords(voList); + return queryIPage; + } +} -- Gitblit v1.9.3