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