diff --git a/src/main/java/com/dpkj/modules/scanface/ali/vo/AliOrderVo.java b/src/main/java/com/dpkj/modules/scanface/ali/vo/AliOrderVo.java index 7eeb922..8bc91c2 100644 --- a/src/main/java/com/dpkj/modules/scanface/ali/vo/AliOrderVo.java +++ b/src/main/java/com/dpkj/modules/scanface/ali/vo/AliOrderVo.java @@ -37,7 +37,7 @@ public class AliOrderVo implements Serializable { private String outTradeNo; /** - * 用户支付金额 + * 用户支付金额 单位元 */ //@ApiModelProperty(value = "用户支付金额") private String totalAmount; diff --git a/src/main/java/com/dpkj/modules/scanface/wx/controller/WxFacePayController.java b/src/main/java/com/dpkj/modules/scanface/wx/controller/WxFacePayController.java index 4226bc1..6b75535 100644 --- a/src/main/java/com/dpkj/modules/scanface/wx/controller/WxFacePayController.java +++ b/src/main/java/com/dpkj/modules/scanface/wx/controller/WxFacePayController.java @@ -34,6 +34,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; import java.util.HashMap; import java.util.Map; import java.util.concurrent.Callable; @@ -79,6 +80,10 @@ public class WxFacePayController { public Result doFacePay(@RequestBody WxFaceOrderVo wxFaceOrderVo) throws Exception { Result result = new Result<>(); try { + //元转分 + int money = new BigDecimal(wxFaceOrderVo.getTotalAmount()).multiply(new BigDecimal(100)).intValue(); + wxFaceOrderVo.setTotalAmount(String.valueOf(money)); + //1 初始化 this.initWxpayface(); @@ -95,6 +100,7 @@ public class WxFacePayController { WxPayMicropayResult micropayResult = new WxPayMicropayResult(); if (StringUtil.isNotBlank(authinfoResp.getFace_code())) { //5、调用后台人脸支付API发起支付 + System.out.println("---------调用后台人脸支付API发起支付"); wxFaceOrderVo.setOutTradeNo(getOutTradeNo()); micropayResult = this.toCreateWxOrder(authinfoResp, wxFaceOrderVo, wxFacePayResp0); @@ -184,6 +190,7 @@ public class WxFacePayController { public WxFacePayAuthinfoResp getWxpayfaceCode(@RequestBody WxFaceOrderVo wxFaceOrderVo, WxFacePayAuthinfoResp wxFacePayResp0) throws Exception { //4、进行人脸识别getWxpayfaceCode(获取支付凭证) String outTradeNo = getOutTradeNo();//获取流水号 + // 构建请求参数的JSON字符串 WxFacePayReq wxFacePayReq = new WxFacePayReq("getWxpayfaceCode", "1", System.currentTimeMillis() / 1000); wxFacePayReq.setAuthinfo(wxFacePayResp0.getAuthinfo()) diff --git a/src/main/java/com/dpkj/modules/scanface/wx/service/impl/CallWxpayFaceServiceImpl.java b/src/main/java/com/dpkj/modules/scanface/wx/service/impl/CallWxpayFaceServiceImpl.java index d5ce7d9..614a488 100644 --- a/src/main/java/com/dpkj/modules/scanface/wx/service/impl/CallWxpayFaceServiceImpl.java +++ b/src/main/java/com/dpkj/modules/scanface/wx/service/impl/CallWxpayFaceServiceImpl.java @@ -56,7 +56,6 @@ public class CallWxpayFaceServiceImpl implements CallWxpayFaceService { // 调用本地方法 WxpayFaceSDKDll.Dll dll = WxpayFaceSDKDll.instance(); int result = dll.wxpayCallFaceService(reqPointer.getString(0), reqSize, pRespBuf, respSize); - //使用C:\Windows\System32目录下 int result = WxpayFaceSDK.INSTANCE.wxpayCallFaceService(reqPointer.getString(0), reqSize, pRespBuf, respSize); if (result == 0) { Pointer pointer = new Pointer(pRespBuf[0]); diff --git a/src/main/java/com/dpkj/modules/scanface/wx/vo/WxFaceOrderVo.java b/src/main/java/com/dpkj/modules/scanface/wx/vo/WxFaceOrderVo.java index 204e17b..e5aef2b 100644 --- a/src/main/java/com/dpkj/modules/scanface/wx/vo/WxFaceOrderVo.java +++ b/src/main/java/com/dpkj/modules/scanface/wx/vo/WxFaceOrderVo.java @@ -36,8 +36,10 @@ public class WxFaceOrderVo { private String outTradeNo; /** - * 用户支付金额 分 + * 用户支付金额 单位元 + * 调用微信时需要转为分 */ private String totalAmount; + }