微信刷脸SDK POM文件
This commit is contained in:
parent
6dac863d45
commit
0875aca566
18
pom.xml
18
pom.xml
|
@ -132,6 +132,24 @@
|
|||
<version>2.0.1.Final</version>
|
||||
</dependency>
|
||||
|
||||
<!--微信支付-->
|
||||
<dependency>
|
||||
<groupId>com.github.binarywang</groupId>
|
||||
<artifactId>weixin-java-pay</artifactId>
|
||||
<version>4.7.0</version>
|
||||
</dependency>
|
||||
|
||||
<!--添加JDOM库-->
|
||||
<dependency>
|
||||
<groupId>org.jdom</groupId>
|
||||
<artifactId>jdom2</artifactId>
|
||||
<version>2.0.6</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>jakarta.xml.bind</groupId>
|
||||
<artifactId>jakarta.xml.bind-api</artifactId>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
|
|
@ -1,19 +1,13 @@
|
|||
package com.dpkj.modules.scanface.ali.controller;
|
||||
|
||||
import cn.hutool.core.lang.Console;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.dpkj.common.constant.ChsConst;
|
||||
import com.dpkj.common.vo.Result;
|
||||
import com.dpkj.modules.chs.dll.AlipayDll;
|
||||
import com.dpkj.modules.chs.entity.AlipayEcRequestData;
|
||||
import com.dpkj.modules.scanface.ali.config.AliFaceConfig;
|
||||
import com.dpkj.modules.scanface.ali.dll.AbcpInvoke;
|
||||
import com.dpkj.modules.scanface.ali.dll.AliScanFaceDll;
|
||||
import com.dpkj.modules.scanface.ali.service.IAliScanFaceService;
|
||||
import com.dpkj.modules.scanface.vo.MyCallbackRsp;
|
||||
import com.dpkj.modules.scanface.ali.vo.MyCallbackRsp;
|
||||
import com.sun.jna.Callback;
|
||||
import com.sun.jna.Memory;
|
||||
import com.sun.jna.Pointer;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
|
@ -40,7 +34,8 @@ public class AliScanFaceController {
|
|||
private AliFaceConfig aliFaceConfig;
|
||||
|
||||
/**
|
||||
* 初始化,
|
||||
* ABCP初始化,
|
||||
* https://opendocs.alipay.com/iot/05e9ye
|
||||
* @return
|
||||
* @throws AliScanFaceDll.DllRegistrationException
|
||||
*/
|
||||
|
@ -49,9 +44,38 @@ public class AliScanFaceController {
|
|||
return aliScanFaceService.iniAbcp();
|
||||
}
|
||||
|
||||
/**
|
||||
* ABCP服务调用
|
||||
* https://opendocs.alipay.com/iot/05e9ye
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("abcpStartService")
|
||||
Result<Object> abcpStartService() {
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**ABCP服务调用*/
|
||||
public static void main(String[] args) {
|
||||
try {
|
||||
AliScanFaceDll.Dll dll = AliScanFaceDll.instance();
|
||||
dll.bp_api_set_isv_lan(3);
|
||||
|
||||
Integer arg= AbcpInvoke.getMsSeedId();
|
||||
String app_id= "2021005138692337";
|
||||
String service_code= "BPaaSSmileCard";
|
||||
String json_param= "";
|
||||
AbcpInvoke.ABCPProcess msABCPProcess = new AbcpInvoke.ABCPProcess();
|
||||
AbcpInvoke.ABCPFinish msABCPFinish = new AbcpInvoke.ABCPFinish();
|
||||
dll.abcp_start_service(arg,app_id,service_code,json_param,msABCPProcess,msABCPFinish);
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
//测试使用绝对路径
|
||||
public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException, AliScanFaceDll.DllRegistrationException {
|
||||
public static void main2(String[] args) throws NoSuchFieldException, IllegalAccessException, AliScanFaceDll.DllRegistrationException {
|
||||
File dllFile = new File("C:\\opt\\ant-abcp\\bpaas_api.dll");
|
||||
System.out.println("DLL 存在: " + dllFile.exists());
|
||||
|
||||
|
|
|
@ -39,7 +39,6 @@ public class AbcpInvoke {
|
|||
}
|
||||
|
||||
|
||||
|
||||
public static void SetAPIPathFile(String fileDylib) {
|
||||
if (msAbcpNativeDll == null) {
|
||||
File file = new File(fileDylib);
|
||||
|
@ -222,7 +221,7 @@ public class AbcpInvoke {
|
|||
return str;
|
||||
}
|
||||
|
||||
public static Integer getMsSeedId(){
|
||||
public static Integer getMsSeedId() {
|
||||
return msSeedId;
|
||||
}
|
||||
|
||||
|
@ -241,6 +240,7 @@ public class AbcpInvoke {
|
|||
|
||||
public static class ABCPProcess implements FuncProcess {
|
||||
public void onProcess(int seed_id, int _code, String subCode, String subMsg, String result) {
|
||||
log.info("[ABCPProcess][onProcess][243][onProcess:][seed_id:{}],[_code:{}],[subMsg:{}],[result:{}]", seed_id, _code, subCode, subMsg, result);
|
||||
Integer seedId = Integer.valueOf(seed_id);
|
||||
CallbackRsp callback = null;
|
||||
msLock.lock();
|
||||
|
@ -258,6 +258,7 @@ public class AbcpInvoke {
|
|||
|
||||
public static class ABCPFinish implements FuncFinish {
|
||||
public void onFinish(int seed_id, int _code, String subCode, String subMsg, String result) {
|
||||
log.info("[ABCPFinish][onFinish][261][ABCPFinish数据:][seed_id:{}],[_code:{}],[subMsg:{}],[result:{}]", seed_id, _code, subCode, subMsg, result);
|
||||
Integer seedId = Integer.valueOf(seed_id);
|
||||
CallbackRsp callback = null;
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||
|
||||
/**
|
||||
* @Auther: 萧道子
|
||||
* src/main/resources/win32-x86/AliScanFace.dll
|
||||
* @Date: 2025/4/16
|
||||
* @Description: 阿里扫脸程序
|
||||
*/
|
||||
|
|
|
@ -1,20 +1,18 @@
|
|||
package com.dpkj.modules.scanface.ali.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.dpkj.common.config.PrinterConfig;
|
||||
import com.dpkj.common.vo.Result;
|
||||
import com.dpkj.modules.scanface.ali.config.AliFaceConfig;
|
||||
import com.dpkj.modules.scanface.ali.dll.AbcpInvoke;
|
||||
import com.dpkj.modules.scanface.ali.dll.AliScanFaceDll;
|
||||
import com.dpkj.modules.scanface.ali.service.IAliScanFaceService;
|
||||
import com.dpkj.modules.scanface.vo.MyCallbackRsp;
|
||||
import lombok.AllArgsConstructor;
|
||||
import com.dpkj.modules.scanface.ali.vo.MyCallbackRsp;
|
||||
import com.sun.jna.Callback;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.io.File;
|
||||
|
||||
/**
|
||||
* @Auther: 萧道子
|
||||
|
@ -29,10 +27,41 @@ public class AliScanFaceServiceImpl implements IAliScanFaceService {
|
|||
@Resource
|
||||
private AliFaceConfig aliFaceConfig;
|
||||
|
||||
/**
|
||||
* 使用绝对路径调用ABCP_SDK部署出来的AbcpInvoke类
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public Result<Object> iniAbcpAbsolute() {
|
||||
File dllFile = new File("C:\\opt\\ant-abcp\\bpaas_api.dll");
|
||||
System.out.println("DLL 存在: " + dllFile.exists());
|
||||
if(dllFile.exists()){
|
||||
//System.setProperty("java.library.path", "C:/opt/ant-abcp");
|
||||
// 加载DLL(直接指定绝对路径)
|
||||
System.load("C:/opt/ant-abcp/bpaas_api.dll");
|
||||
|
||||
JSONObject params = new JSONObject()
|
||||
.fluentPut("appId", aliFaceConfig.getAppId()) //应用ID
|
||||
.fluentPut("merchantId", aliFaceConfig.getMerchantId()) //签约商家的 PID,以 2088 开头
|
||||
.fluentPut("deviceNum", aliFaceConfig.getDeviceNum())//商家机具终端编号,每台设备保持唯一
|
||||
.fluentPut("partnerId", aliFaceConfig.getPartnerId());//服务商的 PID
|
||||
String json = params.toJSONString();
|
||||
// 指定支付宝LOT SDK的本地库路径
|
||||
AbcpInvoke.SetAPIPathFile("C:\\opt\\ant-abcp\\bpaas_api.dll");
|
||||
// 2. 创建回调实例
|
||||
MyCallbackRsp callback = new MyCallbackRsp();
|
||||
AbcpInvoke.AbcpInit(aliFaceConfig.getAppId(), aliFaceConfig.getAppVersion(), json, callback);
|
||||
}else{
|
||||
log.info("[AliScanFaceServiceImpl][iniAbcpAbsolute][55][C:/opt/ant-abcp/bpaas_api.dll 文件不存在]");
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<Object> iniAbcp() {
|
||||
try {
|
||||
log.info("[AliScanFaceServiceImpl][iniAbcpAli][26][appId:{}],[merchantId:{}],[deviceNum:{}],[partnerId:{}]",
|
||||
log.info("[AliScanFaceServiceImpl][iniAbcpAli][26][ABCP初始化参数][appId:{}],[merchantId:{}],[deviceNum:{}],[partnerId:{}]",
|
||||
aliFaceConfig.getAppId(), aliFaceConfig.getMerchantId(), aliFaceConfig.getDeviceNum(), aliFaceConfig.getPartnerId());
|
||||
|
||||
AliScanFaceDll.Dll dll = AliScanFaceDll.instance();
|
||||
|
@ -49,8 +78,10 @@ public class AliScanFaceServiceImpl implements IAliScanFaceService {
|
|||
AbcpInvoke.ABCPProcess msABCPProcess = new AbcpInvoke.ABCPProcess();
|
||||
AbcpInvoke.ABCPFinish msABCPFinish = new AbcpInvoke.ABCPFinish();
|
||||
Integer seedId = AbcpInvoke.getMsSeedId();
|
||||
dll.abcp_init(seedId, "aliFaceConfig.getAppId()", aliFaceConfig.getAppVersion(), json, msABCPProcess, msABCPFinish);
|
||||
dll.abcp_init(seedId, aliFaceConfig.getAppId(), aliFaceConfig.getAppVersion(), json, msABCPProcess, msABCPFinish);
|
||||
|
||||
log.info("[AliScanFaceServiceImpl][iniAbcp][49][ABCP初始化process] :{}", msABCPProcess.toString());
|
||||
log.info("[AliScanFaceServiceImpl][iniAbcp][49][ABCP初始化结果] :{}", msABCPFinish.toString());
|
||||
return Result.ok("成功");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package com.dpkj.modules.scanface.vo;
|
||||
package com.dpkj.modules.scanface.ali.vo;
|
||||
|
||||
import com.dpkj.modules.scanface.ali.dll.AbcpInvoke;
|
||||
|
|
@ -45,7 +45,7 @@ public class WxpayFaceTestController {
|
|||
* @return
|
||||
* @throws JsonProcessingException
|
||||
*/
|
||||
@RequestMapping(value = "/initWxpayface", method = RequestMethod.POST)
|
||||
@RequestMapping(value = "/initWxpayface", method = RequestMethod.GET)
|
||||
public Result<WxFacePayResp> initWxpayface() throws JsonProcessingException, UnsupportedEncodingException, WxpayFaceSDKDll.DllRegistrationException {
|
||||
// 构建请求参数的JSON字符串
|
||||
WxFacePayReq wxFacePayReq = new WxFacePayReq("initWxpayface","1",System.currentTimeMillis()/1000);
|
||||
|
|
Loading…
Reference in New Issue