Merge pull request 'feature-mass-identify' (#2) from feature-mass-identify into develop
Reviewed-on: #2
This commit is contained in:
		
							
								
								
									
										87
									
								
								code/backend/NewCitizenIdentify/.vscode/fileheader.template.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										87
									
								
								code/backend/NewCitizenIdentify/.vscode/fileheader.template.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,87 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * @Author: Kane
 | 
				
			||||||
 | 
					 * @Date: 2025-03-16 00:35:09
 | 
				
			||||||
 | 
					 * @LastEditors: Kane
 | 
				
			||||||
 | 
					 * @FilePath: /cpicxim-huixiabao/.vscode/fileheader.template.js
 | 
				
			||||||
 | 
					 * @Description: 
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 * Copyright (c) ${2023} by Kane, All Rights Reserved. 
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * This file is generated by VSCode extension: Fileheader Pro
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * These comments can help you write your own template with type hint
 | 
				
			||||||
 | 
					 * @typedef {Object} FileheaderVariable  Fileheader variables
 | 
				
			||||||
 | 
					 * @property {string} birthtime file birth time. will get it from VCS or fallback to filesystem when it is not available
 | 
				
			||||||
 | 
					 * @property {string} mtime file modification time. will get it from VCS or fallback to filesystem when it is not available
 | 
				
			||||||
 | 
					 * @property {string} authorName if the file is tracked by VCS, it will get the author name from VCS. else it will get it from current user name
 | 
				
			||||||
 | 
					 * @property {string} authorEmail if the file is tracked by VCS, it will get the author email from VCS. else it will get it from current user email
 | 
				
			||||||
 | 
					 * @property {string} userName else it will get it from current user name
 | 
				
			||||||
 | 
					 * @property {string} userEmail  user email is from VSCode config, and fallback to VCS config
 | 
				
			||||||
 | 
					 * @property {string} companyName
 | 
				
			||||||
 | 
					 * @property {string} projectName name of current project
 | 
				
			||||||
 | 
					 * @property {string} filePath the file path, relative to project root with POSIX path separator
 | 
				
			||||||
 | 
					 * @property {string} dirPath the directory path, relative to project root with POSIX path separator
 | 
				
			||||||
 | 
					 * @property {string} fileName filename with extension
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 /**
 | 
				
			||||||
 | 
					 * @typedef {string | number | null | undefined | Template | boolean} TemplateInterpolation NOTE: boolean or falsy value will render empty string
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 * @typedef {{ strings: TemplateStringsArray; interpolations: TemplateInterpolation[]; }} Template
 | 
				
			||||||
 | 
					 * @typedef {(strings: TemplateStringsArray, ...values: any[]) => string} ITemplateFunction
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Please confirm your provider extends from globalThis.FileheaderLanguageProvider
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					class CustomLanguageProvider extends globalThis.FileheaderLanguageProvider {
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * @type {string[]}
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  languages = [
 | 
				
			||||||
 | 
					    "java",
 | 
				
			||||||
 | 
					    "javascript",
 | 
				
			||||||
 | 
					    "typescript",
 | 
				
			||||||
 | 
					    "javascriptreact",
 | 
				
			||||||
 | 
					    "typescriptreact",
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * @type {string=} the language block comment start string.
 | 
				
			||||||
 | 
					   * this is for future feature: support detect old custom template when custom template changes
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  blockCommentStart = "/**";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * @type {string=}
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  blockCommentEnd = "*/";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * get your template when document language matched
 | 
				
			||||||
 | 
					   * @param {ITemplateFunction} tpl template function, it is a tagged function, support nested interpolation
 | 
				
			||||||
 | 
					   * @param {FileheaderVariable} variables template variables
 | 
				
			||||||
 | 
					   * @returns {Template}
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  getTemplate(tpl, variables) {
 | 
				
			||||||
 | 
					    // prettier-ignore
 | 
				
			||||||
 | 
					    return tpl
 | 
				
			||||||
 | 
					`/**
 | 
				
			||||||
 | 
					 * @Author: ${variables.authorName} <${variables.authorEmail}>
 | 
				
			||||||
 | 
					 * @Date: ${variables.birthtime}
 | 
				
			||||||
 | 
					 * @LastEditors: ${variables.userName}
 | 
				
			||||||
 | 
					 * @LastModified: ${variables.mtime}
 | 
				
			||||||
 | 
					 * @FilePath: ${variables.filePath}
 | 
				
			||||||
 | 
					 * @Description:
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 *               Copyright (c) ${2025} by Kane All rights reserved
 | 
				
			||||||
 | 
					 */`;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// export your provider classes
 | 
				
			||||||
 | 
					module.exports = [CustomLanguageProvider];
 | 
				
			||||||
@@ -1,4 +1,13 @@
 | 
				
			|||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * @Author: Kane Wang <wangkane@qq.com>
 | 
				
			||||||
 | 
					 * @Date: 2023-05-26 18:40:36
 | 
				
			||||||
 | 
					 * @LastEditors: Kane Wang
 | 
				
			||||||
 | 
					 * @LastModified: 2025-05-07 22:02:07
 | 
				
			||||||
 | 
					 * @FilePath: src/main/java/com/cpic/xim/utils/config/EncryptionParameters.java
 | 
				
			||||||
 | 
					 * @Description:
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 *               Copyright (c) 2025 by Kane All rights reserved
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
package com.cpic.xim.utils.config;
 | 
					package com.cpic.xim.utils.config;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class EncryptionParameters
 | 
					public class EncryptionParameters
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,65 @@
 | 
				
			|||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * @Author: Kane Wang <wangkane@qq.com>
 | 
				
			||||||
 | 
					 * @Date: 2024-04-29 11:09:50
 | 
				
			||||||
 | 
					 * @LastEditors: Kane Wang
 | 
				
			||||||
 | 
					 * @LastModified: 2025-05-07 22:04:08
 | 
				
			||||||
 | 
					 * @FilePath: src/main/java/com/cpic/xim/utils/http/HttpUtils.java
 | 
				
			||||||
 | 
					 * @Description: 用于http的相关工具方法
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 *               Copyright (c) 2025 by Kane All rights reserved
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					package com.cpic.xim.utils.http;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.ArrayList;
 | 
				
			||||||
 | 
					import java.util.List;
 | 
				
			||||||
 | 
					import java.util.Map;
 | 
				
			||||||
 | 
					import org.apache.http.HttpEntity;
 | 
				
			||||||
 | 
					import org.apache.http.client.entity.UrlEncodedFormEntity;
 | 
				
			||||||
 | 
					import org.apache.http.client.methods.CloseableHttpResponse;
 | 
				
			||||||
 | 
					import org.apache.http.client.methods.HttpPost;
 | 
				
			||||||
 | 
					import org.apache.http.impl.client.CloseableHttpClient;
 | 
				
			||||||
 | 
					import org.apache.http.impl.client.HttpClients;
 | 
				
			||||||
 | 
					import org.apache.http.message.BasicNameValuePair;
 | 
				
			||||||
 | 
					import org.apache.http.util.EntityUtils;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class HttpUtils
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * 
 | 
				
			||||||
 | 
					     * @param url
 | 
				
			||||||
 | 
					     * @param bodyMap
 | 
				
			||||||
 | 
					     * @return
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public static String sendPost( String url, Map<String, String> bodyMap )
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        HttpPost post = new HttpPost( url );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        try
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            // 创建参数集合
 | 
				
			||||||
 | 
					            List<BasicNameValuePair> list = new ArrayList<>();
 | 
				
			||||||
 | 
					            // 添加参数
 | 
				
			||||||
 | 
					            if ( bodyMap != null )
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                for ( String str : bodyMap.keySet() )
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    list.add( new BasicNameValuePair( str, bodyMap.get( str ) ) );
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            // 把参数放入请求对象,post发送的参数list,指定格式
 | 
				
			||||||
 | 
					            post.setEntity( new UrlEncodedFormEntity( list, "UTF-8" ) );
 | 
				
			||||||
 | 
					            CloseableHttpClient client = HttpClients.createDefault();
 | 
				
			||||||
 | 
					            // 启动执行请求,并获得返回值
 | 
				
			||||||
 | 
					            CloseableHttpResponse response = client.execute( post );
 | 
				
			||||||
 | 
					            // 得到返回的entity对象
 | 
				
			||||||
 | 
					            HttpEntity entity = response.getEntity();
 | 
				
			||||||
 | 
					            // 把实体对象转换为string
 | 
				
			||||||
 | 
					            return EntityUtils.toString( entity, "UTF-8" );
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        catch ( Exception e1 )
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            e1.printStackTrace();
 | 
				
			||||||
 | 
					            return "";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -1,39 +1,24 @@
 | 
				
			|||||||
/*
 | 
					/**
 | 
				
			||||||
 * @Author: Kane
 | 
					 * @Author: Kane Wang <wangkane@qq.com>
 | 
				
			||||||
 | 
					 * @Date: 2023-05-26 18:40:36
 | 
				
			||||||
 | 
					 * @LastEditors: Kane Wang
 | 
				
			||||||
 | 
					 * @LastModified: 2025-05-08 18:55:36
 | 
				
			||||||
 | 
					 * @FilePath: src/main/java/com/cpic/xim/utils/newcitizen/NewCitizenUitls.java
 | 
				
			||||||
 | 
					 * @Description:
 | 
				
			||||||
 * 
 | 
					 * 
 | 
				
			||||||
 * @Date: 2023-05-25 15:26:09
 | 
					 *               Copyright (c) 2025 by Kane All rights reserved
 | 
				
			||||||
 * 
 | 
					 | 
				
			||||||
 * @LastEditors: Kane
 | 
					 | 
				
			||||||
 * 
 | 
					 | 
				
			||||||
 * @FilePath: /NewCitizenQueryResult/src/main/java/com/cpic/xim/utils/newcitizen/NewCitizenUitls.java
 | 
					 | 
				
			||||||
 * 
 | 
					 | 
				
			||||||
 * @Description: 新市民认证相关的工具方法
 | 
					 | 
				
			||||||
 * 
 | 
					 | 
				
			||||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved.
 | 
					 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
package com.cpic.xim.utils.newcitizen;
 | 
					package com.cpic.xim.utils.newcitizen;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.util.ArrayList;
 | 
					 | 
				
			||||||
import java.util.HashMap;
 | 
					import java.util.HashMap;
 | 
				
			||||||
import java.util.List;
 | 
					 | 
				
			||||||
import java.util.Map;
 | 
					import java.util.Map;
 | 
				
			||||||
import org.apache.http.HttpEntity;
 | 
					
 | 
				
			||||||
import org.apache.http.client.entity.UrlEncodedFormEntity;
 | 
					 | 
				
			||||||
import org.apache.http.client.methods.CloseableHttpResponse;
 | 
					 | 
				
			||||||
import org.apache.http.client.methods.HttpPost;
 | 
					 | 
				
			||||||
import org.apache.http.impl.client.CloseableHttpClient;
 | 
					 | 
				
			||||||
import org.apache.http.impl.client.HttpClients;
 | 
					 | 
				
			||||||
import org.apache.http.message.BasicNameValuePair;
 | 
					 | 
				
			||||||
import org.apache.http.util.EntityUtils;
 | 
					 | 
				
			||||||
// import com.cdp.product.security.decode.CdpDecryptUtil;
 | 
					 | 
				
			||||||
// import com.cdp.product.security.encode.EncryptionUtils;
 | 
					 | 
				
			||||||
// import com.cdp.product.security.sign.CdpSignUtil;
 | 
					 | 
				
			||||||
import com.cpic.xim.utils.security.encode.EncryptionUtils;
 | 
					 | 
				
			||||||
import com.cpic.xim.utils.security.decode.DecryptionUtils;
 | 
					 | 
				
			||||||
import com.cpic.xim.utils.security.sign.SignUtils;
 | 
					 | 
				
			||||||
import com.cpic.xim.utils.config.EncryptionParameters;
 | 
					import com.cpic.xim.utils.config.EncryptionParameters;
 | 
				
			||||||
 | 
					import com.cpic.xim.utils.http.HttpUtils;
 | 
				
			||||||
 | 
					import com.cpic.xim.utils.security.decode.DecryptionUtils;
 | 
				
			||||||
 | 
					import com.cpic.xim.utils.security.encode.EncryptionUtils;
 | 
				
			||||||
 | 
					import com.cpic.xim.utils.security.sign.SignUtils;
 | 
				
			||||||
import com.fasterxml.jackson.annotation.JsonProperty;
 | 
					import com.fasterxml.jackson.annotation.JsonProperty;
 | 
				
			||||||
import com.fasterxml.jackson.core.JsonParseException;
 | 
					 | 
				
			||||||
import com.fasterxml.jackson.databind.ObjectMapper;
 | 
					import com.fasterxml.jackson.databind.ObjectMapper;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class NewCitizenUitls
 | 
					public class NewCitizenUitls
 | 
				
			||||||
@@ -72,7 +57,7 @@ public class NewCitizenUitls
 | 
				
			|||||||
        params.put( "key", key );
 | 
					        params.put( "key", key );
 | 
				
			||||||
        params.put( "sign", sign );
 | 
					        params.put( "sign", sign );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        String         resultJSON     = sendPost( identifyURL, params );
 | 
					        String         resultJSON     = HttpUtils.sendPost( identifyURL, params );
 | 
				
			||||||
        ObjectMapper   mapper         = new ObjectMapper();
 | 
					        ObjectMapper   mapper         = new ObjectMapper();
 | 
				
			||||||
        IdentifyResult identifyResult = null;
 | 
					        IdentifyResult identifyResult = null;
 | 
				
			||||||
        ResponseResult response       = null;
 | 
					        ResponseResult response       = null;
 | 
				
			||||||
@@ -90,39 +75,6 @@ public class NewCitizenUitls
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        return identifyResult;
 | 
					        return identifyResult;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					 | 
				
			||||||
    public static String sendPost( String url, Map<String, String> bodyMap )
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        HttpPost post = new HttpPost( url );
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        try
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            // 创建参数集合
 | 
					 | 
				
			||||||
            List<BasicNameValuePair> list = new ArrayList<>();
 | 
					 | 
				
			||||||
            // 添加参数
 | 
					 | 
				
			||||||
            if ( bodyMap != null )
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                for ( String str : bodyMap.keySet() )
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    list.add( new BasicNameValuePair( str, bodyMap.get( str ) ) );
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            // 把参数放入请求对象,post发送的参数list,指定格式
 | 
					 | 
				
			||||||
            post.setEntity( new UrlEncodedFormEntity( list, "UTF-8" ) );
 | 
					 | 
				
			||||||
            CloseableHttpClient client = HttpClients.createDefault();
 | 
					 | 
				
			||||||
            // 启动执行请求,并获得返回值
 | 
					 | 
				
			||||||
            CloseableHttpResponse response = client.execute( post );
 | 
					 | 
				
			||||||
            // 得到返回的entity对象
 | 
					 | 
				
			||||||
            HttpEntity entity = response.getEntity();
 | 
					 | 
				
			||||||
            // 把实体对象转换为string
 | 
					 | 
				
			||||||
            return EntityUtils.toString( entity, "UTF-8" );
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        catch ( Exception e1 )
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            e1.printStackTrace();
 | 
					 | 
				
			||||||
            return "";
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,21 +1,24 @@
 | 
				
			|||||||
/*
 | 
					/**
 | 
				
			||||||
 * @Author: Kane
 | 
					 * @Author: Kane Wang <wangkane@qq.com>
 | 
				
			||||||
 * @Date: 2023-05-25 15:17:49
 | 
					 * @Date: 2023-05-26 18:40:36
 | 
				
			||||||
 * @LastEditors: Kane
 | 
					 * @LastEditors: Kane Wang
 | 
				
			||||||
 * @FilePath: /NewCitizenQueryResult/src/main/java/com/cpic/xim/web/controllers/NewCitizen/IdentifyNewCitizenRequest.java
 | 
					 * @LastModified: 2025-05-07 14:59:15
 | 
				
			||||||
 * @Description: 
 | 
					 * @FilePath: src/main/java/com/cpic/xim/web/controllers/NewCitizen/IdentifyNewCitizenRequest.java
 | 
				
			||||||
 | 
					 * @Description:
 | 
				
			||||||
 * 
 | 
					 * 
 | 
				
			||||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
					 *               Copyright (c) 2025 by Kane All rights reserved
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
package com.cpic.xim.web.controllers.NewCitizen;
 | 
					package com.cpic.xim.web.controllers.newcitizen;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import com.fasterxml.jackson.annotation.JsonProperty;
 | 
					import com.fasterxml.jackson.annotation.JsonProperty;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class IdentifyNewCitizenRequest
 | 
					public class IdentifyNewCitizenRequest
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    public IdentifyNewCitizenRequest() {}
 | 
					    public IdentifyNewCitizenRequest()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					    }  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public String getIdCardNo()
 | 
					    public String getIdCardNo()  
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        return idCardNo;
 | 
					        return idCardNo;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -35,9 +38,9 @@ public class IdentifyNewCitizenRequest
 | 
				
			|||||||
        this.name = name;
 | 
					        this.name = name;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @JsonProperty("idcard_no")
 | 
					    @JsonProperty( "idcard_no" )
 | 
				
			||||||
    private String idCardNo;
 | 
					    private String idCardNo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @JsonProperty("name")
 | 
					    @JsonProperty( "name" )
 | 
				
			||||||
    private String name;
 | 
					    private String name;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -1,13 +1,14 @@
 | 
				
			|||||||
/*
 | 
					/**
 | 
				
			||||||
 * @Author: Kane
 | 
					 * @Author: Kane Wang <wangkane@qq.com>
 | 
				
			||||||
 * @Date: 2023-05-25 20:26:06
 | 
					 * @Date: 2024-04-29 11:09:50
 | 
				
			||||||
 * @LastEditors: Kane
 | 
					 * @LastEditors: Kane Wang
 | 
				
			||||||
 * @FilePath: /NewCitizenQueryResult/src/main/java/com/cpic/xim/web/controllers/NewCitizen/IdentifyNewCitizenResult.java
 | 
					 * @LastModified: 2025-05-07 22:01:21
 | 
				
			||||||
 * @Description: 
 | 
					 * @FilePath: src/main/java/com/cpic/xim/web/controllers/newcitizen/IdentifyNewCitizenResponse.java
 | 
				
			||||||
 | 
					 * @Description:
 | 
				
			||||||
 * 
 | 
					 * 
 | 
				
			||||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
					 *               Copyright (c) 2025 by Kane All rights reserved
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
package com.cpic.xim.web.controllers.NewCitizen;
 | 
					package com.cpic.xim.web.controllers.newcitizen;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import com.fasterxml.jackson.annotation.JsonProperty;
 | 
					import com.fasterxml.jackson.annotation.JsonProperty;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,14 +1,14 @@
 | 
				
			|||||||
/*
 | 
					/**
 | 
				
			||||||
 * @Author: Kane
 | 
					 * @Author: Kane Wang <wangkane@qq.com>
 | 
				
			||||||
 * @Date: 2023-05-25 12:09:27
 | 
					 * @Date: 2024-04-29 11:09:50
 | 
				
			||||||
 * @LastEditors: Kane
 | 
					 * @LastEditors: Kane Wang
 | 
				
			||||||
 * @FilePath: /NewCitizenQueryResult/src/main/java/com/cpic/xim/web/controllers/NewCitizen/QueryResultController.java
 | 
					 * @LastModified: 2025-05-07 22:00:48
 | 
				
			||||||
 * @Description: 
 | 
					 * @FilePath: src/main/java/com/cpic/xim/web/controllers/newcitizen/QueryResultController.java
 | 
				
			||||||
 | 
					 * @Description:
 | 
				
			||||||
 * 
 | 
					 * 
 | 
				
			||||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
					 *               Copyright (c) 2025 by Kane All rights reserved
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					package com.cpic.xim.web.controllers.newcitizen;
 | 
				
			||||||
package com.cpic.xim.web.controllers.NewCitizen;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
import jakarta.servlet.http.HttpServletResponse;
 | 
					import jakarta.servlet.http.HttpServletResponse;
 | 
				
			||||||
import org.springframework.stereotype.Controller;
 | 
					import org.springframework.stereotype.Controller;
 | 
				
			||||||
@@ -23,37 +23,37 @@ import com.cpic.xim.utils.newcitizen.*;
 | 
				
			|||||||
@Controller
 | 
					@Controller
 | 
				
			||||||
public class QueryResultController
 | 
					public class QueryResultController
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    @RequestMapping("/save_score.do")
 | 
					    @RequestMapping( "/save_score.do" )
 | 
				
			||||||
    public void saveQueryResult(HttpServletResponse response, @RequestBody QueryResultRequest result )
 | 
					    public void saveQueryResult( HttpServletResponse response, @RequestBody QueryResultRequest result )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        response.setStatus(HttpServletResponse.SC_OK);
 | 
					        response.setStatus( HttpServletResponse.SC_OK );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @RequestMapping("/identify.do")
 | 
					    @RequestMapping( "/identify.do" )
 | 
				
			||||||
    @ResponseBody
 | 
					    @ResponseBody
 | 
				
			||||||
    public IdentifyNewCitizenResponse identifyNewCitizen(@RequestBody IdentifyNewCitizenRequest request )
 | 
					    public IdentifyNewCitizenResponse identifyNewCitizen( @RequestBody IdentifyNewCitizenRequest request )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        String idCardNo = request.getIdCardNo();
 | 
					        String                     idCardNo = request.getIdCardNo();
 | 
				
			||||||
        String name = request.getName();
 | 
					        String                     name     = request.getName();
 | 
				
			||||||
        IdentifyResult result = null;
 | 
					        IdentifyResult             result   = null;
 | 
				
			||||||
        IdentifyNewCitizenResponse response = new IdentifyNewCitizenResponse();
 | 
					        IdentifyNewCitizenResponse response = new IdentifyNewCitizenResponse();
 | 
				
			||||||
        
 | 
					
 | 
				
			||||||
        try
 | 
					        try
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            result = NewCitizenUitls.identifyNewCitizen(idCardNo, name);
 | 
					            result = NewCitizenUitls.identifyNewCitizen( idCardNo, name );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            response.setSuccess(true);
 | 
					            response.setSuccess( true );
 | 
				
			||||||
            response.setMessage("调用成功");
 | 
					            response.setMessage( "调用成功" );
 | 
				
			||||||
            response.setCitizenType(result.getCitizenType());
 | 
					            response.setCitizenType( result.getCitizenType() );
 | 
				
			||||||
            response.setScore(result.getScore());
 | 
					            response.setScore( result.getScore() );
 | 
				
			||||||
            response.setExpireDate(result.getExpireDate());
 | 
					            response.setExpireDate( result.getExpireDate() );
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        catch ( Exception error )
 | 
					        catch ( Exception error )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            System.out.println( error.getMessage() );
 | 
					            System.out.println( error.getMessage() );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            response.setSuccess(false);
 | 
					            response.setSuccess( false );
 | 
				
			||||||
            response.setMessage(error.getMessage());
 | 
					            response.setMessage( error.getMessage() );
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return response;
 | 
					        return response;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,14 @@
 | 
				
			|||||||
 | 
					/**
 | 
				
			||||||
package com.cpic.xim.web.controllers.NewCitizen;
 | 
					 * @Author: Kane Wang <wangkane@qq.com>
 | 
				
			||||||
 | 
					 * @Date: 2024-04-29 11:09:50
 | 
				
			||||||
 | 
					 * @LastEditors: Kane Wang
 | 
				
			||||||
 | 
					 * @LastModified: 2025-05-07 22:00:35
 | 
				
			||||||
 | 
					 * @FilePath: src/main/java/com/cpic/xim/web/controllers/newcitizen/QueryResultRequest.java
 | 
				
			||||||
 | 
					 * @Description:
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 *               Copyright (c) 2025 by Kane All rights reserved
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					package com.cpic.xim.web.controllers.newcitizen;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import com.fasterxml.jackson.annotation.JsonProperty;
 | 
					import com.fasterxml.jackson.annotation.JsonProperty;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,13 +1,13 @@
 | 
				
			|||||||
/*
 | 
					/**
 | 
				
			||||||
 * @Author: Kane
 | 
					 * @Author: Kane Wang <wangkane@qq.com>
 | 
				
			||||||
 * @Date: 2023-05-25 11:02:53
 | 
					 * @Date: 2023-05-26 18:40:36
 | 
				
			||||||
 * @LastEditors: Kane
 | 
					 * @LastEditors: Kane Wang
 | 
				
			||||||
 * @FilePath: /NewCitizenQueryResult/src/main/java/com/cpic/xim/web/filters/CrosFilter.java
 | 
					 * @LastModified: 2025-05-07 22:00:26
 | 
				
			||||||
 * @Description: 
 | 
					 * @FilePath: src/main/java/com/cpic/xim/web/filters/CrosFilter.java
 | 
				
			||||||
 | 
					 * @Description:
 | 
				
			||||||
 * 
 | 
					 * 
 | 
				
			||||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
					 *               Copyright (c) 2025 by Kane All rights reserved
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					 | 
				
			||||||
package com.cpic.xim.web.filters;
 | 
					package com.cpic.xim.web.filters;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.io.IOException;
 | 
					import java.io.IOException;
 | 
				
			||||||
@@ -24,26 +24,27 @@ public class CrosFilter implements Filter
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public void doFilter( ServletRequest req, ServletResponse resp, FilterChain chain )
 | 
					    public void doFilter( ServletRequest req, ServletResponse resp, FilterChain chain )
 | 
				
			||||||
            throws ServletException, IOException
 | 
					                                                                                        throws ServletException,
 | 
				
			||||||
 | 
					                                                                                        IOException
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        HttpServletRequest request = (HttpServletRequest) req;
 | 
					        HttpServletRequest  request      = ( HttpServletRequest ) req;
 | 
				
			||||||
        HttpServletResponse response = (HttpServletResponse) resp;
 | 
					        HttpServletResponse response     = ( HttpServletResponse ) resp;
 | 
				
			||||||
        String method = request.getMethod();
 | 
					        String              method       = request.getMethod();
 | 
				
			||||||
        String originHeader = request.getHeader( "Origin" );
 | 
					        String              originHeader = request.getHeader( "Origin" );
 | 
				
			||||||
        
 | 
					
 | 
				
			||||||
        System.out.println( "收到" + method + "请求,来自" + originHeader);
 | 
					        System.out.println( "收到" + method + "请求,来自" + originHeader );
 | 
				
			||||||
        
 | 
					
 | 
				
			||||||
        // 如果是Options请求
 | 
					        // 如果是Options请求
 | 
				
			||||||
        if ( method.equals(HttpMethod.OPTIONS.toString()) )
 | 
					        if ( method.equals( HttpMethod.OPTIONS.toString() ) )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            originHeader = "*";
 | 
					            originHeader = "*";
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					
 | 
				
			||||||
        response.setHeader( "Access-Control-Allow-Origin", originHeader );
 | 
					        response.setHeader( "Access-Control-Allow-Origin", originHeader );
 | 
				
			||||||
        response.setHeader( "Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT" );
 | 
					        response.setHeader( "Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT" );
 | 
				
			||||||
        response.setHeader( "Access-Control-Max-Age", "0" );
 | 
					        response.setHeader( "Access-Control-Max-Age", "0" );
 | 
				
			||||||
        response.setHeader( "Access-Control-Allow-Headers",
 | 
					        response.setHeader( "Access-Control-Allow-Headers",
 | 
				
			||||||
                "Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With,userId,token" );
 | 
					                            "Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With,userId,token" );
 | 
				
			||||||
        response.setHeader( "Access-Control-Allow-Credentials", "true" );
 | 
					        response.setHeader( "Access-Control-Allow-Credentials", "true" );
 | 
				
			||||||
        response.setHeader( "XDomainRequestAllowed", "1" );
 | 
					        response.setHeader( "XDomainRequestAllowed", "1" );
 | 
				
			||||||
        response.setHeader( "XDomainRequestAllowed", "1" );
 | 
					        response.setHeader( "XDomainRequestAllowed", "1" );
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,11 @@
 | 
				
			|||||||
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
 | 
					<?xml version="1.0" encoding="UTF-8"?>
 | 
				
			||||||
 | 
					<web-app
 | 
				
			||||||
 | 
					  version="4.0"
 | 
				
			||||||
 | 
					  xmlns="http://xmlns.jcp.org/xml/ns/javaee"
 | 
				
			||||||
 | 
					  xmlns:javaee="http://xmlns.jcp.org/xml/ns/javaee"
 | 
				
			||||||
 | 
					  xmlns:xml="http://www.w3.org/XML/1998/namespace"
 | 
				
			||||||
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 | 
					  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 | 
				
			||||||
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
 | 
					  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd">
 | 
				
			||||||
  version="3.1">
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <display-name>Archetype Created Web Application</display-name>
 | 
					  <display-name>Archetype Created Web Application</display-name>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user