|
@@ -22,6 +22,7 @@ import com.szwl.service.THuifuMchService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.szwl.util.HuifuUtils;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.apache.commons.lang.StringUtils;
|
|
|
import org.apache.http.HttpEntity;
|
|
|
import org.apache.http.HttpStatus;
|
|
|
import org.apache.http.client.methods.CloseableHttpResponse;
|
|
@@ -43,6 +44,8 @@ import java.time.LocalDate;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.*;
|
|
|
|
|
|
+import static com.szwl.util.HuifuUtils.base64ToTempImage;
|
|
|
+
|
|
|
/**
|
|
|
* <p>
|
|
|
* 服务实现类
|
|
@@ -109,9 +112,9 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
|
|
|
request.put("legal_cert_no", tHuifuMchCheck.getCertNo());
|
|
|
// 结算卡正面
|
|
|
request.put("settle_card_front_pic", tHuifuMchCheck.getCardFrontPic());
|
|
|
- // 法人身份证人像面
|
|
|
- request.put("legal_cert_back_pic", tHuifuMchCheck.getLegalCertBackPic());
|
|
|
// 法人身份证国徽面
|
|
|
+ request.put("legal_cert_back_pic", tHuifuMchCheck.getLegalCertBackPic());
|
|
|
+ // 法人身份证人像面
|
|
|
request.put("legal_cert_front_pic", tHuifuMchCheck.getLegalCertFrontPic());
|
|
|
// 结算卡信息配置
|
|
|
JSONObject cardInfo = new JSONObject();
|
|
@@ -444,16 +447,14 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
|
|
|
cardInfo.put("mp", huifuMchCheck.getMp());
|
|
|
}
|
|
|
cardInfo.put("settle_card_front_pic", huifuMchCheck.getCardFrontPic());
|
|
|
- cardInfo.put("settle_cert_front_pic", huifuMchCheck.getCertBackPic());
|
|
|
- cardInfo.put("settle_cert_back_pic", huifuMchCheck.getCertFrontPic());
|
|
|
- cardInfo.put("legal_cert_front_pic", huifuMchCheck.getCertBackPic());
|
|
|
- cardInfo.put("legal_cert_back_pic", huifuMchCheck.getCertFrontPic());
|
|
|
+ cardInfo.put("settle_cert_front_pic", huifuMchCheck.getCertFrontPic());
|
|
|
+ cardInfo.put("settle_cert_back_pic", huifuMchCheck.getCertBackPic());
|
|
|
+ cardInfo.put("legal_cert_front_pic", huifuMchCheck.getLegalCertFrontPic());
|
|
|
+ cardInfo.put("legal_cert_back_pic", huifuMchCheck.getLegalCertBackPic());
|
|
|
if(StrUtil.isNotEmpty(huifuMchCheck.getSms())) {
|
|
|
cardInfo.put("verify_code", huifuMchCheck.getSms());
|
|
|
}
|
|
|
request.put("card_info", cardInfo);
|
|
|
-// request.put("legal_cert_front_pic", huifuMchCheck.getCertBackPic());
|
|
|
-// request.put("legal_cert_back_pic", huifuMchCheck.getCertFrontPic());
|
|
|
// 签名:sign
|
|
|
String s = JSON.toJSONString(request);
|
|
|
String s1 = JSON.toJSONString(JSONObject.parseObject(s, TreeMap.class));
|
|
@@ -558,7 +559,6 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
return result;
|
|
|
-
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -610,6 +610,12 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 汇付发送验证码
|
|
|
+ * @param tHuifuMch
|
|
|
+ * @return
|
|
|
+ * @throws Exception
|
|
|
+ */
|
|
|
@Override
|
|
|
public String sendSms(THuifuMch tHuifuMch) throws Exception {
|
|
|
String url = "https://api.huifu.com/v2/merchant/basicdata/sms/send";
|
|
@@ -645,4 +651,58 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
|
|
|
String respCode = data.getString("resp_code");
|
|
|
return respCode;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 汇付上传图片
|
|
|
+ * @param base64Str
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public String newUploadPic(String base64Str, HuifuConstant.fileType fileType, String huifuId) {
|
|
|
+ String url = "https://api.huifu.com/v2/supplementary/picture";
|
|
|
+ // 请求参数
|
|
|
+ Map<String, Object> params = new HashMap<String, Object>();
|
|
|
+ // 请求流水号,需保证当天商户下唯一,推荐采用日期时间+几位流水号的形式
|
|
|
+ params.put("req_seq_id", SequenceTools.getReqSeqId32());
|
|
|
+ params.put("req_date", DateTools.getCurrentDateYYYYMMDD());
|
|
|
+ params.put("file_type", fileType);
|
|
|
+ if(StringUtils.isNotEmpty(huifuId)) {
|
|
|
+ params.put("huifu_id", huifuId);
|
|
|
+ }
|
|
|
+ String data = JSON.toJSONString(params);
|
|
|
+
|
|
|
+
|
|
|
+ CloseableHttpClient httpclient1 = HttpClients.createDefault();
|
|
|
+ CloseableHttpResponse response = null;
|
|
|
+ String result = null;
|
|
|
+ File tempFile = new File("");
|
|
|
+ try {
|
|
|
+ tempFile = base64ToTempImage(base64Str);
|
|
|
+
|
|
|
+ HttpPost httpPost = new HttpPost(url);
|
|
|
+ ContentType contentType = ContentType.create("text/plain", Charset.forName("UTF-8"));
|
|
|
+ MultipartEntityBuilder mEntityBuilder = MultipartEntityBuilder.create();
|
|
|
+ mEntityBuilder.addTextBody("sys_id", HuifuConstant.SYS_ID, contentType);
|
|
|
+ mEntityBuilder.addTextBody("product_id", HuifuConstant.PRODUCT_ID, contentType);
|
|
|
+ mEntityBuilder.addTextBody("data", data, contentType);
|
|
|
+ mEntityBuilder.addBinaryBody("file", tempFile);
|
|
|
+
|
|
|
+ httpPost.setEntity(mEntityBuilder.build());
|
|
|
+ response = httpclient1.execute(httpPost);
|
|
|
+ int statusCode = response.getStatusLine().getStatusCode();
|
|
|
+ if (statusCode == HttpStatus.SC_OK) {
|
|
|
+ HttpEntity resEntity = response.getEntity();
|
|
|
+ result = EntityUtils.toString(resEntity);
|
|
|
+ System.out.print(result);
|
|
|
+ JSONObject jsonObject = JSONObject.parseObject(result);
|
|
|
+ JSONObject dataObject = jsonObject.getJSONObject("data");
|
|
|
+ result = dataObject.getString("file_id");
|
|
|
+ }
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ } finally{
|
|
|
+ tempFile.delete();
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
}
|