Quellcode durchsuchen

云燕2次提供最新代码

15810770710@163.com vor 4 Jahren
Ursprung
Commit
f941396f44

+ 6 - 1
pom.xml

@@ -12,7 +12,7 @@
 
 	<groupId>info.aspirecn.iov.yysj</groupId>
 	<artifactId>cloud-yysj-product-check</artifactId>
-	<version>1.1.2</version>
+	<version>1.1.6</version>
 	<packaging>jar</packaging>
 
 	<name>cloud-yysj-product-check</name>
@@ -70,6 +70,11 @@
 			<version>1.0.0</version>
 		</dependency>
 		<dependency>
+			<groupId>com.alibaba</groupId>
+			<artifactId>fastjson</artifactId>
+			<version>1.2.66</version>
+		</dependency>
+		<dependency>
 			<groupId>commons-io</groupId>
 			<artifactId>commons-io</artifactId>
 			<version>2.6</version>

+ 1 - 1
src/main/java/info/aspirecn/iov/yysj/product/check/ProductCheck.java

@@ -25,7 +25,7 @@ import lombok.extern.slf4j.Slf4j;
 @RestController
 @Slf4j
 @EnableCaching
-public class ProductCheck {
+public class  ProductCheck {
 
 
 	public static void main(String[] args) {

+ 2 - 0
src/main/java/info/aspirecn/iov/yysj/product/check/common/Property.java

@@ -20,6 +20,8 @@ public class Property {
     private Map<String,String> Products;
     private Map<String,String> productMap;
     private List<String> sjjhSystemErrors;
+    
+    private List<String>detailProductCodes;
 }
 
 

+ 27 - 28
src/main/java/info/aspirecn/iov/yysj/product/check/common/ZuulHelper.java

@@ -13,12 +13,13 @@ import info.aspirecn.cloud.yysj.commons.lang.BillItemResult;
 import info.aspirecn.cloud.yysj.commons.lang.Constants;
 import info.aspirecn.cloud.yysj.commons.lang.OtherCommonResult;
 import info.aspirecn.iov.yysj.product.check.entity.*;
-import org.apache.commons.lang.ArrayUtils;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.stereotype.Component;
+
+import com.alibaba.fastjson.JSON;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.gson.Gson;
@@ -42,7 +43,7 @@ public class ZuulHelper {
 	@Autowired
 	private ZuulHelper helper;
 	public Boolean hasProcessFlag(RequestContext requestContext) {
-
+        
         Boolean ret = (Boolean)requestContext.get("process");
         if( ret != null )
         {
@@ -53,9 +54,10 @@ public class ZuulHelper {
             return Boolean.FALSE;
         }
     }
-
+	
 	public void responseHandle(BillItemResult responseObject, RequestContext requestContext) throws JsonProcessingException{
 		String json = mapper.writeValueAsString(responseObject);
+		log.info("json:{}",json);
 		 requestContext.set("process", Boolean.TRUE);
 		 requestContext.setResponseBody(json);
 		 requestContext.getResponse().setCharacterEncoding("utf-8");
@@ -87,7 +89,7 @@ public class ZuulHelper {
 		return bodyStr;
 	}
 	//根据响应参数,判断结果
-	public void handleResult(String productId,ResponseObject responseObject,Map<String,Object> requestParams,BillItemResult billItemResult){
+	public void handleResult(String productId,ResponseObject responseObject,Map<String,Object> requestParams,BillItemResult billItemResult,String productCode){
 		Set<String> inconsistentList = new HashSet<String>();//不一致项列表
 		Set<String> emptyList = new HashSet<String>();
 		String result =Constants.consistent_code;
@@ -104,9 +106,13 @@ public class ZuulHelper {
 				billItemResult.setResult(Constants.inconsistent_code);
 				billItemResult.setExceptionInformation(errorResponse);
 				return ;
+			}else if("536".equals(responseObject.getResultCode())||"9963".equals(responseObject.getResultCode())){
+				errorResponse.setCode(Constants.ErrorCode.MONEYNOTENOUGH.getErrorCode());
+				billItemResult.setResult(Constants.inconsistent_code);
+				billItemResult.setExceptionInformation(errorResponse);
+				return ;
 			}
 			Map<String, String> productMap = property.getProductMap();
-			// todo 在这个地方加一个product简称,再进行业务判断
 			if (productMap.get("clxszyz").equals(productId)) {//行驶证
 
 				if ("128".equals(responseObject.getResultCode())||"1000".equals(responseObject.getResultCode())) {
@@ -239,27 +245,9 @@ public class ZuulHelper {
 					errorResponse.setCode(Constants.ErrorCode.INCONSISTENT_DETAIL.getErrorCode());
 					errorResponse.setResultList(inconsistentList);
 				}
-			} else if (productMap.get("zxhdwyz").equals(productId)) {
-				if (responseObject.getResultCode().equals("1")) {
-					// 一致,返回结果
-					result = Constants.consistent_code;
-					billItemResult.setResultMessage(resultBody);
-				} else if (responseObject.getResultCode().equals("2")) {
-					// 不一致
-					result = Constants.inconsistent_code;
-				} else if (responseObject.getResultCode().equals("4")) {
-					// 查无
-					// 查询错误
-					errorResponse.setCode(Constants.ErrorCode.DATA_NULL.getErrorCode());
-					billItemResult.setResult(Constants.inconsistent_code);
-				} else {
-					// 查询错误
-					errorResponse.setCode(Constants.ErrorCode.Exception.getErrorCode());
-					billItemResult.setResult(Constants.inconsistent_code);
-				}
-			}
-			else {
-				if (!"1".equals(responseObject.getResultCode())) {
+			}else {
+				log.info("codes:{},productCode:{}",property.getDetailProductCodes(),productCode);
+				if (!"1".equals(responseObject.getResultCode())&&!"1000".equals(responseObject.getResultCode())) {
 					/*if("3".equals(responseObject.getResultCode())){
 						errorResponse.setCode(Constants.ErrorCode.Exception.getErrorCode());
 						billItemResult.setResult(Constants.inconsistent_code);
@@ -284,6 +272,17 @@ public class ZuulHelper {
 						errorInfo = "数据源" + StringUtils.join(list.toArray(), ",") + "为空";
 
 					}*/
+				}else if(("1".equals(responseObject.getResultCode())||"1000".equals(responseObject.getResultCode())) &&
+						StringUtils.isNotEmpty(productCode) && 
+						property.getDetailProductCodes().contains(productCode)) {//&&productCode在匹配的列表
+					
+					Object body = responseObject.getResultBody() ;
+					if(body instanceof String) {
+						billItemResult.setDetail((String)body);
+					}else {
+						billItemResult.setDetail(JSON.toJSONString(body));
+					}
+					
 				}
 			}
 
@@ -410,7 +409,7 @@ public class ZuulHelper {
 			}
 		}
 	}
-	public ResponseObject getResult(SjjhTransferReq sjjhTransferReq,BillItemResult billItemResult) throws IOException {
+	public ResponseObject getResult(SjjhTransferReq sjjhTransferReq,BillItemResult billItemResult,String  productCode) throws IOException {
 		BillItemResult.ErrorResponse errorResponse = new BillItemResult.ErrorResponse();
 
 		billItemResult.setResult(Constants.consistent_code);
@@ -427,7 +426,7 @@ public class ZuulHelper {
 			errorResponse.setCode(Constants.ErrorCode.Exception.getErrorCode());
 			billItemResult.setExceptionInformation(errorResponse);
 		} else {
-			 helper.handleResult(sjjhTransferReq.getSjjhProductId(), responseObject, sjjhTransferReq.getOriginCustomBody(),billItemResult);
+			 helper.handleResult(sjjhTransferReq.getSjjhProductId(), responseObject, sjjhTransferReq.getOriginCustomBody(),billItemResult,productCode);
 
 		}
 

+ 0 - 3
src/main/java/info/aspirecn/iov/yysj/product/check/pre/OtherBillFilter.java

@@ -4,14 +4,11 @@ import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.netflix.zuul.ZuulFilter;
 import com.netflix.zuul.context.RequestContext;
-import info.aspirecn.cloud.yysj.commons.lang.BillItemResult;
 import info.aspirecn.cloud.yysj.commons.lang.Constants;
 import info.aspirecn.cloud.yysj.commons.lang.OtherCommonResult;
 import info.aspirecn.cloud.yysj.commons.lang.ProductCheckRequest;
-import info.aspirecn.iov.yysj.product.check.common.Property;
 import info.aspirecn.iov.yysj.product.check.common.TransferParam;
 import info.aspirecn.iov.yysj.product.check.common.ZuulHelper;
-import info.aspirecn.iov.yysj.product.check.entity.ResponseObject;
 import info.aspirecn.iov.yysj.product.check.entity.SjjhTransferReq;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;

+ 5 - 3
src/main/java/info/aspirecn/iov/yysj/product/check/pre/WayBillFilter.java

@@ -45,6 +45,8 @@ public class WayBillFilter extends ZuulFilter {
 
 	@Override
 	public Object run() {
+
+
 		BillItemResult billItemResult = new BillItemResult();
 		String accessId = UUID.randomUUID().toString().replace("-","");
 		HttpServletRequest request = RequestContext.getCurrentContext().getRequest();
@@ -76,7 +78,7 @@ public class WayBillFilter extends ZuulFilter {
 				//设置云验平台资格校验项校验内容,用于返回结果一致性比较
 				sjjhTransferReq.setOriginCustomBody(customMap);
 				sjjhTransferReq.setToken(token);
-				ResponseObject responseObject = helper.getResult(sjjhTransferReq,billItemResult);
+				ResponseObject responseObject = helper.getResult(sjjhTransferReq,billItemResult,productCheckRequest.getProductCode());
 
 				price = responseObject.getPrice();
 			}else{
@@ -93,7 +95,7 @@ public class WayBillFilter extends ZuulFilter {
 				Map<String,String> customObject = transferParam.getCustomBody(customMap,sjjhProductId,emptyList);
 				sjjhTransferReq.setCustomBody(customObject);
 				sjjhTransferReq.setOriginCustomBody(customMap);
-				ResponseObject responseObject = helper.getResult(sjjhTransferReq,billItemResult);
+				ResponseObject responseObject = helper.getResult(sjjhTransferReq,billItemResult,productCheckRequest.getProductCode());
 				 result =billItemResult.getResult();
 				price = responseObject.getPrice();
 				if(Constants.consistent_code.equals(result)){
@@ -108,7 +110,7 @@ public class WayBillFilter extends ZuulFilter {
 					customObject = transferParam.getCustomBody(customMap,sjjhProductId,emptyList);
 					sjjhTransferReq.setCustomBody(customObject);
 					sjjhTransferReq.setOriginCustomBody(customMap);
-					responseObject = helper.getResult(sjjhTransferReq,billItemResult);
+					responseObject = helper.getResult(sjjhTransferReq,billItemResult,productCheckRequest.getProductCode());
 					result =responseObject.getReuslt();
 					price = price+responseObject.getPrice();
 				}

+ 3 - 7
src/main/resources/config/bootstrap.yml

@@ -3,13 +3,6 @@
     name:  cloud-yysj-product-check
   banner:
     location: classpath:config/banner.txt
-  sleuth:
-    sampler:
-      probability: 0.1
-      web:
-        additional-skip-pattern: /api/v2/spans
-  zipkin:
-    base-url: http://127.0.0.1:${server.port}
   output:
     ansi:
       enabled: DETECT
@@ -26,6 +19,9 @@
         sources:
           - name: ${spring.application.name}
             namespace: cloud-yysj
+
+
+
 server:
   port: 8080
 management:

+ 34 - 0
src/main/resources/config/logback-access-spring.xml

@@ -0,0 +1,34 @@
+<!DOCTYPE configuration>
+<configuration>
+    <!-- <include resource="org/springframework/boot/logging/logback/console-appender.xml" />
+    <include resource="org/springframework/boot/logging/logback/file-appender.xml" /> -->
+
+    <property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/spring.log}"/>
+
+
+    <springProperty scope="context" name="CONSOLE_LOG_PATTERN" source="server.tomcat.accesslog.pattern" defaultValue="common" />
+
+    <springProperty scope="context" name="FILE_LOG_PATTERN" source="server.tomcat.accesslog.pattern" defaultValue="common" />
+
+    <statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />
+    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
+        <encoder>
+            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
+        </encoder>
+    </appender>
+
+    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <encoder>
+            <pattern>${FILE_LOG_PATTERN}</pattern>
+        </encoder>
+        <file>${LOG_FILE}</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+            <fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz</fileNamePattern>
+            <maxFileSize>${LOG_FILE_MAX_SIZE:-10MB}</maxFileSize>
+            <maxHistory>${LOG_FILE_MAX_HISTORY:-30}</maxHistory>
+        </rollingPolicy>
+    </appender>
+    ​
+    <appender-ref ref="CONSOLE" />
+    <appender-ref ref="FILE" />
+</configuration>