Kaynağa Gözat

Merge remote-tracking branch 'origin/matser' into matser

wy 3 ay önce
ebeveyn
işleme
f7895c1a6a

+ 34 - 4
ibps-comp-root/modules/comp-file-server/src/main/java/com/lc/ibps/cloud/file/util/PDFFileUtil.java

@@ -1,26 +1,32 @@
 package com.lc.ibps.cloud.file.util;
 
 
-import com.itextpdf.text.*;
+import com.itextpdf.text.DocumentException;
+import com.itextpdf.text.Element;
 import com.itextpdf.text.Image;
 import com.itextpdf.text.Rectangle;
 import com.itextpdf.text.pdf.*;
-import com.lc.ibps.cloud.provider.GenericProvider;
+import com.lc.ibps.base.core.util.BeanUtils;
+import com.lc.ibps.base.web.context.ContextUtil;
 import org.apache.pdfbox.Loader;
 import org.apache.pdfbox.pdmodel.PDDocument;
 import org.apache.pdfbox.pdmodel.PDPage;
 import org.apache.pdfbox.pdmodel.PDPageContentStream;
 import org.apache.pdfbox.pdmodel.common.PDRectangle;
 import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;
-import org.apache.pdfbox.util.Matrix;
+import org.codehaus.jackson.JsonNode;
+import org.codehaus.jackson.map.ObjectMapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import sun.misc.BASE64Decoder;
 
 import javax.swing.*;
 import java.awt.*;
-import java.io.*;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
 import java.util.Base64;
+import java.util.Optional;
 
 public class PDFFileUtil {
 
@@ -146,6 +152,30 @@ public class PDFFileUtil {
 
     public static void stampByPdfbox(byte[] fileBlob, OutputStream outputStream, String action) {
         String base64FileData = zuofei; // 默认图章
+        String setting = ContextUtil.getSetting();
+        try {
+            ObjectMapper objectMapper = new ObjectMapper();
+            // Map<String, Object> map = objectMapper.readValue(setting, Map.class);
+            JsonNode node = objectMapper.readTree(setting);
+            String controlled_red = Optional.ofNullable(node)
+                    .map(p -> p.get("stampColor"))
+                    .map(c -> c.get("controlled"))
+                    .map(JsonNode::asText)
+                    .orElse("");
+            if(BeanUtils.isNotEmpty(controlled_red)){
+                controlled = controlled_red;
+            }
+            String external_red = Optional.ofNullable(node)
+                    .map(p -> p.get("stampColor"))
+                    .map(c -> c.get("external"))
+                    .map(JsonNode::asText)
+                    .orElse("");
+            if(BeanUtils.isNotEmpty(external_red)){
+                external = external_red;
+            }
+        } catch (Exception e) {
+            logger.error("盖红章获取配置失败", e);
+        }
         if (action.equals("controlled")) {
             base64FileData = controlled;
         } else if (action.equals("external")) {

+ 32 - 25
ibps-provider-root/modules/provider-platform-default/src/main/java/com/lc/ibps/org/provider/PartyRoleProvider.java

@@ -1,24 +1,5 @@
 package com.lc.ibps.org.provider;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.annotation.Resource;
-
-import com.lc.ibps.cloud.entity.*;
-import com.lc.ibps.org.party.persistence.entity.*;
-import com.lc.ibps.platform.service.PartyRoleProviderService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestParam;
-
 import com.lc.ibps.api.base.constants.StateEnum;
 import com.lc.ibps.api.base.model.PartyEntity;
 import com.lc.ibps.api.base.query.QueryFilter;
@@ -34,6 +15,7 @@ import com.lc.ibps.base.core.util.string.StringUtil;
 import com.lc.ibps.base.framework.request.signature.annotation.Signature;
 import com.lc.ibps.base.framework.utils.PageUtil;
 import com.lc.ibps.base.web.context.ContextUtil;
+import com.lc.ibps.cloud.entity.*;
 import com.lc.ibps.cloud.provider.GenericProvider;
 import com.lc.ibps.cloud.utils.RequestUtil;
 import com.lc.ibps.org.api.IPartyRoleMgrService;
@@ -44,17 +26,22 @@ import com.lc.ibps.org.auth.repository.RoleSystemRepository;
 import com.lc.ibps.org.auth.repository.SubSystemRepository;
 import com.lc.ibps.org.party.builder.PartyRoleBaseBuilder;
 import com.lc.ibps.org.party.domain.PartyRole;
+import com.lc.ibps.org.party.persistence.entity.*;
 import com.lc.ibps.org.party.repository.DefaultPartyRoleRepository;
 import com.lc.ibps.org.party.repository.PartyEntityRepository;
 import com.lc.ibps.org.party.repository.PartyRoleRepository;
 import com.lc.ibps.org.util.PartyUtil;
 import com.lc.ibps.org.vo.IdKeyVo;
+import com.lc.ibps.platform.service.PartyRoleProviderService;
+import io.swagger.annotations.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
 
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
-import io.swagger.annotations.Extension;
-import io.swagger.annotations.ExtensionProperty;
+import javax.annotation.Resource;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 角色管理
@@ -870,11 +857,13 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
 		case 0:// 没有传type参数默认查询所有
 		case 1:// 查询所有角色数据
 			roleList = partyRoleRepository.queryWithSys();
+			roleList = filterRole(roleList);
 			break;
 			
 		case 2:// 查询所在角色数据
 			String userId = ContextUtil.getCurrentUserId();
 			roleList = partyRoleRepository.findUserRolesByUserId(userId);
+			roleList = filterRole(roleList);
 			deleteNullSystem(subSystemList, roleList);
 			break;
 			
@@ -882,6 +871,7 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
 			String partyId = request.getParameter("partyId");
 			List<String> partyIdList = Arrays.asList(partyId.split(StringPool.COMMA));
 			roleList = partyRoleRepository.findByIds(partyIdList);
+			roleList = filterRole(roleList);
 			deleteNullSystem(subSystemList, roleList);
 			break;
 			
@@ -897,5 +887,22 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
 		if(BeanUtils.isNotEmpty(_rs)) rst.addAll(_rs);
 		return rst;
 	}
-	
+
+	/**
+	 * 过滤废弃的角色
+	 * @param roleList
+	 * @return List<PartyRolePo>
+	 */
+	private List<PartyRolePo> filterRole(List<PartyRolePo> roleList) {
+		if (roleList == null || roleList.isEmpty()) {
+			return Collections.emptyList();
+		}
+		return roleList.stream()
+				.filter(Objects::nonNull)  // 过滤掉列表中的 null 元素
+				.filter(partyRolePo -> partyRolePo.getName() != null)  // 防止 name 为 null
+				.filter(partyRolePo -> !partyRolePo.getName().contains("弃用"))
+				.collect(Collectors.toList());
+	}
+
+
 }