提交
This commit is contained in:
@@ -47,4 +47,15 @@ public class LaKaLaUtility {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args){
|
||||||
|
String key="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCHB7j7gG3ioLnnr7bsuEXTAh/8YSxSp4lQIYGW9gX0Ikgz9JqARdg4iEnU6tgNirxA6Jdg0AWgLJQxQBEZMkwyK2ZfYgesYhlJkv6WVC8v5OkOrhA9NSQ3iS6JsYegsZO0GJSTtLQaTOF8WobPYe5NI+eWU1fRz2ZyxlWlKshBeQIDAQAB";
|
||||||
|
String data="fXmWZcWWyDZ3IHgrJnTyuCs6sHKEZJ/yPDRlGNGS4PKps0FXnFZug4tr3UwVLgTBEQUOFx/j1q9VMS/kYe2oiUHyZ4qODDn\n" +
|
||||||
|
"1A3BjnKpjLKbbc+vAR7aSNRZhznmDZHlrc6vr6cPORm3GNs3o6VdM9a1hmrzDYrvAV5PgJXSojrQB2OJgedMXqRlDibTdH1e99HCWnFyoTAd0N0SLXnkp3oWawRNOcdPD0647o7+o/QEjVFdS8Hxxw+tEjR3qlGjH9lVndn+ZECMNYqBQsfx6Znx7sR\n" +
|
||||||
|
"RiegLj5zYhFr8lfWPe1a8AnvUggvfEgKFaVzDDXiUGuiTQcdNawQuY0g6cGw55d8zD3xZpx9s97aJ6u1GCydmC2Hj7DMQeVTJRNQeUKtZLEc+FqarPzOuuEQ5Ug+/ZDavtpMlGUb0gGIsfcbfd03m2YsvzaPakX3qf1CFHwas9wQCPpqRHff4S9tDlu\n" +
|
||||||
|
"pkcxq5MpuHo/01MaiXVMbpNqM9X+Y5bncE+CHAYIDaocq4cDdIlBR0ZL7ViWWH7FBnPaafkfbwVmVM1N5yb8lr+pi2WXsrOi/jfcEksQkhNZ+L7jsdAOvooPHzDDBGYJrHywK9BPbs9EA6VbOEDua6IhY31IL6QJrACZV7PA3TWfg0z5y9jjzT3QrnH\n" +
|
||||||
|
"J2ITlmM3TWlQAl7CqHAJOa3PEeUAKCLhtLsCuM80hkxHjVBsehGa3reAMZZkplXqjeHxuSMvJLllfUcN3V3yznxCadnXRlhyd5RagVS2sn8dvI6FD7nKlKCPXF6E4byOBMXtYkU4BrZHCsppFhrhSLJk3piJVzRdc5vf4wLUi6jfRyXL1NA+2fj3WJN\n" +
|
||||||
|
"cbaVGhjm5bQ==";
|
||||||
|
System.out.println(LaKaLaUtility.decrypt(key,data));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,11 +56,6 @@ public class LkLPayServiceImpl implements PayService {
|
|||||||
@Override
|
@Override
|
||||||
public JSONObject tradePay(MerchantOrder order, MerchantChannelStatus channel, MerchantBaseInfo merchant) {
|
public JSONObject tradePay(MerchantOrder order, MerchantChannelStatus channel, MerchantBaseInfo merchant) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
String account_type = "WECHAT";
|
String account_type = "WECHAT";
|
||||||
if (StringUtil.isNotEmpty(order.getScanType()) && "01".equals(order.getScanType())) {
|
if (StringUtil.isNotEmpty(order.getScanType()) && "01".equals(order.getScanType())) {
|
||||||
account_type = "wechatPay".equals(order.getPayTypeCode()) ? "WECHAT" : "aliPay".equals(order.getPayTypeCode()) ? "ALIPAY" : "UQRCODEPAY";
|
account_type = "wechatPay".equals(order.getPayTypeCode()) ? "WECHAT" : "aliPay".equals(order.getPayTypeCode()) ? "ALIPAY" : "UQRCODEPAY";
|
||||||
@@ -378,7 +373,49 @@ public class LkLPayServiceImpl implements PayService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public JSONObject refundQuery(MerchantRefundOrder refundOrder) {
|
public JSONObject refundQuery(MerchantRefundOrder refundOrder) {
|
||||||
return null;
|
|
||||||
|
QueryWrapper<MerchantBackLkl> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq("merchant_code", refundOrder.getMerchantCode());
|
||||||
|
queryWrapper.eq("channel", "5");
|
||||||
|
queryWrapper.eq("user_no", LaKalaInterfaceImpl.userNo);
|
||||||
|
|
||||||
|
MerchantBackLkl merchantBackLkl = merchantBackLklMapper.selectOne(queryWrapper);
|
||||||
|
MsgException.checkNull(merchantBackLkl, "商户信息不存在");
|
||||||
|
|
||||||
|
String req_time = DateUtils.getSdfTimes();
|
||||||
|
|
||||||
|
String body="{\n" +
|
||||||
|
" \"req_time\":\""+req_time+"\",\n" +
|
||||||
|
" \"version\":\"3.0\",\n" +
|
||||||
|
" \"out_org_code\":\""+lakalaConfig.getAppid()+"\",\n" +
|
||||||
|
" \"req_data\":{\n" +
|
||||||
|
" \"merchant_no\":\""+merchantBackLkl.getExternalCustomerNo()+"\",\n" +
|
||||||
|
" \"term_no\":\""+merchantBackLkl.getTermNos()+"\",\n" +
|
||||||
|
" \"out_refund_order_no\":\""+refundOrder.getRefundNo()+"\"\n" +
|
||||||
|
" }\n" +
|
||||||
|
"}\n" +
|
||||||
|
"\n";
|
||||||
|
|
||||||
|
JSONObject result = new JSONObject();
|
||||||
|
String response = lklPayService.req(body, "api/v3/labs/query/idmrefundquery");
|
||||||
|
if (ObjectUtil.isNotEmpty(response)) {
|
||||||
|
JSONObject object = JSONObject.parseObject(response);
|
||||||
|
if (object.containsKey("code") && "BBS00000".equals(object.getString("code"))) {
|
||||||
|
result.put("refundTime", object.getString("trade_time"));
|
||||||
|
result.put("code", ResultCode.SUCCESS.code());
|
||||||
|
result.put("status", "1");
|
||||||
|
result.put("msg", "查询成功!");
|
||||||
|
return result;
|
||||||
|
} else {
|
||||||
|
result.put("code", ResultCode.FAIL.code());
|
||||||
|
result.put("msg", object.getString("msg"));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
log.error("==============>【拉卡拉】交易订单查询失败<==================");
|
||||||
|
result.put("code", ResultCode.FAIL.code());
|
||||||
|
result.put("msg", "退款订单查询异常");
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -76,6 +76,53 @@ public class LklPayService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
MerchantBackLklMapper merchantBackLklMapper;
|
MerchantBackLklMapper merchantBackLklMapper;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public JSONObject activityCloudDevice(MerchantBaseInfo merchantBaseInfo,String sno){
|
||||||
|
QueryWrapper<MerchantBackLkl> queryWrapper=new QueryWrapper<>();
|
||||||
|
queryWrapper.eq("merchant_code",merchantBaseInfo.getMerchantCode());
|
||||||
|
queryWrapper.eq("channel","5");
|
||||||
|
MerchantBackLkl backLkl= merchantBackLklMapper.selectOne(queryWrapper);
|
||||||
|
MsgException.checkNull(backLkl,"缺失的进件信息"+merchantBaseInfo.getMerchantCode());
|
||||||
|
String req_time= DateUtils.getSdfTimes();
|
||||||
|
|
||||||
|
String body="{\n" +
|
||||||
|
" \"ver\":\"1.0.0\",\n" +
|
||||||
|
" \"timestamp\":\""+req_time+"\",\n" +
|
||||||
|
" \"reqId\":\""+req_time+"\",\n" +
|
||||||
|
" \"reqData\":{\n" +
|
||||||
|
" \"merId\":\""+backLkl.getExternalCustomerNo()+"\",\n" +
|
||||||
|
" \"termId\":\""+backLkl.getTermNos()+"\",\n" +
|
||||||
|
" \"sn\":\""+sno+"\",\n" +
|
||||||
|
" \"businessType\":\"1\",\n" +
|
||||||
|
" \"shopName\":\""+merchantBaseInfo.getAlias()+"\",\n" +
|
||||||
|
" \"source\":\"LOAP\",\n" +
|
||||||
|
" \"merOrgNo\":\"966805\"\n" +
|
||||||
|
" }\n" +
|
||||||
|
"}";
|
||||||
|
|
||||||
|
|
||||||
|
JSONObject result = new JSONObject();
|
||||||
|
String response = req(body, "api/v2/iot/cloud/device/activate");
|
||||||
|
if (ObjectUtil.isNotEmpty(response)) {
|
||||||
|
JSONObject object = JSONObject.parseObject(response);
|
||||||
|
if (object.containsKey("retCode") && "000000".equals(object.getString("retCode"))) {
|
||||||
|
result.put("code", "0");
|
||||||
|
return result;
|
||||||
|
} else {
|
||||||
|
result.put("code", ResultCode.FAIL.code());
|
||||||
|
result.put("msg", object.getString("retMsg"));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
log.error("==============>【拉卡拉】交易订单查询失败<==================");
|
||||||
|
result.put("code", ResultCode.FAIL.code());
|
||||||
|
result.put("msg", "订单查询异常");
|
||||||
|
return result;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public JSONObject tradePay(MerchantOrder order, MerchantChannelStatus channel, MerchantBaseInfo merchant){
|
public JSONObject tradePay(MerchantOrder order, MerchantChannelStatus channel, MerchantBaseInfo merchant){
|
||||||
|
|
||||||
|
|
||||||
@@ -445,16 +492,17 @@ public class LklPayService {
|
|||||||
|
|
||||||
|
|
||||||
public static void main(String[] args)throws Exception{
|
public static void main(String[] args)throws Exception{
|
||||||
String appId="OP00000462",
|
String appId="OP00000657",
|
||||||
mchSerialNo="00dfba8194c41b84cf",
|
mchSerialNo="01887665511e",
|
||||||
privateKeyPath="D:\\project\\chaozhanggui\\pluss-common-bundle\\src\\main\\resources\\lakalaConf\\OP00000003_private_key.pem",
|
privateKeyPath="E:\\project\\chaozhanggui\\v1.0.1\\chaozhanggui\\pluss-common-bundle\\src\\main\\resources\\lakalaConf\\api_private_key.pem",
|
||||||
apiUrl="https://test.wsmsd.cn/sit/",
|
apiUrl="https://s2.lakala.com/",
|
||||||
certificatePath="D:\\project\\chaozhanggui\\pluss-common-bundle\\src\\main\\resources\\lakalaConf\\lkl-apigw-v2.cer",
|
certificatePath="E:\\project\\chaozhanggui\\v1.0.1\\chaozhanggui\\pluss-common-bundle\\src\\main\\resources\\lakalaConf\\lkl-apigw-v1.cer",
|
||||||
termNo="A0073841",
|
termNo="A0073841",
|
||||||
merchant_no="8221210594300JY",
|
merchant_no="8221210594300JY",
|
||||||
mothod="api/v3/labs/relation/refund";
|
mothod="api/v3/labs/relation/refund";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
String req_time= DateUtils.getSdfTimes();
|
String req_time= DateUtils.getSdfTimes();
|
||||||
|
|
||||||
// String body="{\n" +
|
// String body="{\n" +
|
||||||
@@ -606,18 +654,37 @@ public class LklPayService {
|
|||||||
// "}\n";
|
// "}\n";
|
||||||
// mothod="api/v2/laep/industry/ewallet/settleQuery";
|
// mothod="api/v2/laep/industry/ewallet/settleQuery";
|
||||||
|
|
||||||
|
// String body="{\n" +
|
||||||
|
// "\"ver\":\"1.0.0\",\n" +
|
||||||
|
// "\"timestamp\":\""+System.currentTimeMillis()+"\",\n" +
|
||||||
|
// "\"reqId\":\""+req_time+"\",\n" +
|
||||||
|
// "\"reqData\":{\n" +
|
||||||
|
// "\"mercId\":\""+merchant_no+"\",\n" +
|
||||||
|
// "\"termNo\":\""+termNo+"\",\n" +
|
||||||
|
// "\"authCode\":\"134459859251822980\",\n" +
|
||||||
|
// "\"tradeCode\":\"010304\"\n" +
|
||||||
|
// "}\n" +
|
||||||
|
// "}\n";
|
||||||
|
// mothod="api/v2/saas/query/wx_openid_query";
|
||||||
|
|
||||||
|
|
||||||
String body="{\n" +
|
String body="{\n" +
|
||||||
"\"ver\":\"1.0.0\",\n" +
|
" \"ver\":\"1.0.0\",\n" +
|
||||||
"\"timestamp\":\""+System.currentTimeMillis()+"\",\n" +
|
" \"timestamp\":\""+req_time+"\",\n" +
|
||||||
"\"reqId\":\""+req_time+"\",\n" +
|
" \"reqId\":\""+req_time+"\",\n" +
|
||||||
"\"reqData\":{\n" +
|
" \"reqData\":{\n" +
|
||||||
"\"mercId\":\""+merchant_no+"\",\n" +
|
" \"merId\":\"8227910593200K2\",\n" +
|
||||||
"\"termNo\":\""+termNo+"\",\n" +
|
" \"termId\":\"C7958968\",\n" +
|
||||||
"\"authCode\":\"134459859251822980\",\n" +
|
" \"sn\":\"QR939000089076\",\n" +
|
||||||
"\"tradeCode\":\"010304\"\n" +
|
" \"businessType\":\"1\",\n" +
|
||||||
"}\n" +
|
" \"shopName\":\"天地鉴宝\",\n" +
|
||||||
"}\n";
|
" \"source\":\"LOAP\",\n" +
|
||||||
mothod="api/v2/saas/query/wx_openid_query";
|
" \"merOrgNo\":\"966805\"\n" +
|
||||||
|
" }\n" +
|
||||||
|
"}";
|
||||||
|
|
||||||
|
mothod="api/v2/iot/cloud/device/activate";
|
||||||
|
|
||||||
|
|
||||||
String authorization = getAuthorization(body, appId, mchSerialNo, privateKeyPath);
|
String authorization = getAuthorization(body, appId, mchSerialNo, privateKeyPath);
|
||||||
HttpResponse lakalaResponse = post(apiUrl+ mothod, body, authorization, "utf-8");
|
HttpResponse lakalaResponse = post(apiUrl+ mothod, body, authorization, "utf-8");
|
||||||
|
|||||||
@@ -11,12 +11,14 @@ import cn.pluss.platform.channel.ys.impl.YSAuditServiceV3;
|
|||||||
import cn.pluss.platform.dto.AccountDTO;
|
import cn.pluss.platform.dto.AccountDTO;
|
||||||
import cn.pluss.platform.entity.*;
|
import cn.pluss.platform.entity.*;
|
||||||
import cn.pluss.platform.exception.MsgException;
|
import cn.pluss.platform.exception.MsgException;
|
||||||
|
import cn.pluss.platform.klk.LaKaLaUtility;
|
||||||
import cn.pluss.platform.klk.LakalaConfig;
|
import cn.pluss.platform.klk.LakalaConfig;
|
||||||
import cn.pluss.platform.klk.service.*;
|
import cn.pluss.platform.klk.service.*;
|
||||||
import cn.pluss.platform.klk.util.HtmlUtil;
|
import cn.pluss.platform.klk.util.HtmlUtil;
|
||||||
import cn.pluss.platform.klk.util.RSAUtil;
|
import cn.pluss.platform.klk.util.RSAUtil;
|
||||||
import cn.pluss.platform.klk.vo.*;
|
import cn.pluss.platform.klk.vo.*;
|
||||||
|
|
||||||
|
import cn.pluss.platform.mapper.MerchantBackLklMapper;
|
||||||
import cn.pluss.platform.mapper.MerchantChannelFeeMapper;
|
import cn.pluss.platform.mapper.MerchantChannelFeeMapper;
|
||||||
import cn.pluss.platform.mapper.MerchantChannelStatusMapper;
|
import cn.pluss.platform.mapper.MerchantChannelStatusMapper;
|
||||||
import cn.pluss.platform.mapper.MerchantImageMapper;
|
import cn.pluss.platform.mapper.MerchantImageMapper;
|
||||||
@@ -110,6 +112,11 @@ public class LaKalaInterfaceImpl {
|
|||||||
@Lazy
|
@Lazy
|
||||||
@Autowired
|
@Autowired
|
||||||
MerchantImageMapper merchantImageMapper;
|
MerchantImageMapper merchantImageMapper;
|
||||||
|
|
||||||
|
|
||||||
|
@Lazy
|
||||||
|
@Autowired
|
||||||
|
MerchantBackLklService merchantBackLklService;
|
||||||
private static final String client_id = "chaozhanggui";
|
private static final String client_id = "chaozhanggui";
|
||||||
private static final String client_secret = "Y54Gqy6aLpxld3dp";
|
private static final String client_secret = "Y54Gqy6aLpxld3dp";
|
||||||
private static final String grant_type = "client_credentials";
|
private static final String grant_type = "client_credentials";
|
||||||
@@ -234,7 +241,7 @@ public class LaKalaInterfaceImpl {
|
|||||||
MccReflect mccReflect = service.getOne(userAppQueryWrapper);
|
MccReflect mccReflect = service.getOne(userAppQueryWrapper);
|
||||||
|
|
||||||
|
|
||||||
if (!merchantBaseInfo.getMerchantType().equals("1")) {
|
if (merchantBaseInfo.getMerchantType().equals("3")) {
|
||||||
object1.put("merRegName", merchantBaseInfo.getMerchantName());
|
object1.put("merRegName", merchantBaseInfo.getMerchantName());
|
||||||
object1.put("merName", merchantBaseInfo.getMerchantName());
|
object1.put("merName", merchantBaseInfo.getMerchantName());
|
||||||
object1.put("licenseName", merchantBaseInfo.getBussAuthName()); //营业执照名称
|
object1.put("licenseName", merchantBaseInfo.getBussAuthName()); //营业执照名称
|
||||||
@@ -375,7 +382,7 @@ public class LaKalaInterfaceImpl {
|
|||||||
// object1.put("accountIdType",tuoKeVo.getUserNo()); //结算⼈证件类型 为空同法⼈
|
// object1.put("accountIdType",tuoKeVo.getUserNo()); //结算⼈证件类型 为空同法⼈
|
||||||
object1.put("accountIdCard", accountV4.getIdcard().getCertNo()); //结算⼈证件号码
|
object1.put("accountIdCard", accountV4.getIdcard().getCertNo()); //结算⼈证件号码
|
||||||
|
|
||||||
if (!accountV4.getBankCard().getAccountType().equals("1")) {
|
if (accountV4.getBankCard().getAccountType().equals("2")) {
|
||||||
QueryWrapper<MerchantImage> imageQueryWrapper = new QueryWrapper<>();
|
QueryWrapper<MerchantImage> imageQueryWrapper = new QueryWrapper<>();
|
||||||
imageQueryWrapper.eq("merchantCode", merchantBaseInfo.getMerchantCode());
|
imageQueryWrapper.eq("merchantCode", merchantBaseInfo.getMerchantCode());
|
||||||
imageQueryWrapper.eq("photoType", "08");
|
imageQueryWrapper.eq("photoType", "08");
|
||||||
@@ -436,7 +443,7 @@ public class LaKalaInterfaceImpl {
|
|||||||
feesSet.add(a);
|
feesSet.add(a);
|
||||||
feesSet.add(u);
|
feesSet.add(u);
|
||||||
|
|
||||||
object2.put("termNum", "5"); //终端数量 1-5 最⼤ 5个终端
|
object2.put("termNum", "1"); //终端数量 1-5 最⼤ 5个终端
|
||||||
object2.put("fees", feesSet); //费率集合
|
object2.put("fees", feesSet); //费率集合
|
||||||
|
|
||||||
|
|
||||||
@@ -470,7 +477,7 @@ public class LaKalaInterfaceImpl {
|
|||||||
System.out.println("返回结果:" + result);
|
System.out.println("返回结果:" + result);
|
||||||
Map arry = (Map) JSONArray.parse(result);
|
Map arry = (Map) JSONArray.parse(result);
|
||||||
if (String.valueOf(arry.get("status")).equals("WAIT_AUDI")) {
|
if (String.valueOf(arry.get("status")).equals("WAIT_AUDI")) {
|
||||||
|
log.info("进件成功,等待三方审核");
|
||||||
|
|
||||||
PlussMerchantLklEntity plussMerchantLklEntity = new PlussMerchantLklEntity();
|
PlussMerchantLklEntity plussMerchantLklEntity = new PlussMerchantLklEntity();
|
||||||
plussMerchantLklEntity.setMerchantId(merchantBaseInfo.getMerchantCode());
|
plussMerchantLklEntity.setMerchantId(merchantBaseInfo.getMerchantCode());
|
||||||
@@ -487,7 +494,11 @@ public class LaKalaInterfaceImpl {
|
|||||||
merchantChannelFee = new MerchantChannelFee();
|
merchantChannelFee = new MerchantChannelFee();
|
||||||
merchantChannelFee.setChannel(5);
|
merchantChannelFee.setChannel(5);
|
||||||
merchantChannelFee.setMerchantCode(merchantBaseInfo.getMerchantCode());
|
merchantChannelFee.setMerchantCode(merchantBaseInfo.getMerchantCode());
|
||||||
merchantChannelFee.setFeeStr(array.toJSONString());
|
JSONObject object=new JSONObject();
|
||||||
|
object.put("D0",array);
|
||||||
|
object.put("D1",array);
|
||||||
|
|
||||||
|
merchantChannelFee.setFeeStr(new JSONObject(object).toJSONString());
|
||||||
merchantChannelFee.setCreateTime(new Date());
|
merchantChannelFee.setCreateTime(new Date());
|
||||||
merchantChannelFeeMapper.insert(merchantChannelFee);
|
merchantChannelFeeMapper.insert(merchantChannelFee);
|
||||||
}
|
}
|
||||||
@@ -517,10 +528,35 @@ public class LaKalaInterfaceImpl {
|
|||||||
merchantChannelStatusMapper.insert(mcs);
|
merchantChannelStatusMapper.insert(mcs);
|
||||||
}
|
}
|
||||||
|
|
||||||
System.out.println(">>>>>>>>>>>>>>>");
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
log.info("进件成功,等待三方审核");
|
||||||
JSONObject object = JSONObject.parseObject(result);
|
JSONObject object = JSONObject.parseObject(result);
|
||||||
|
|
||||||
|
mcs.setChannel(5);
|
||||||
|
mcs.setUpdateTime(new Date());
|
||||||
|
mcs.setMerchantCode(merchantBaseInfo.getMerchantCode());
|
||||||
|
mcs.setStatus("1");
|
||||||
|
mcs.setThirdStatus("-100");
|
||||||
|
mcs.setCallbackStatus("0");
|
||||||
|
mcs.setRemark(object.getString("message"));
|
||||||
|
mcs.setMerchantId(object.getString("customerNo"));
|
||||||
|
|
||||||
|
MerchantAuditRecord merchantAuditRecord = new MerchantAuditRecord();
|
||||||
|
merchantAuditRecord.setStatus("1");
|
||||||
|
merchantAuditRecord.setMerchantCode(merchantBaseInfo.getMerchantCode());
|
||||||
|
merchantAuditRecord.setChannel(5);
|
||||||
|
merchantAuditRecord.setThirdStatus("");
|
||||||
|
merchantAuditRecord.setMerchantId(object.getString("customerNo"));
|
||||||
|
merchAuditRecService.save(merchantAuditRecord);
|
||||||
|
|
||||||
|
if (StringUtil.isNotEmpty(mcs.getId())) {
|
||||||
|
merchantChannelStatusMapper.updateById(mcs);
|
||||||
|
} else {
|
||||||
|
// 保存进件信息
|
||||||
|
merchantChannelStatusMapper.insert(mcs);
|
||||||
|
}
|
||||||
|
|
||||||
MsgException.throwException(object.getString("message"));
|
MsgException.throwException(object.getString("message"));
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@@ -703,6 +739,57 @@ public class LaKalaInterfaceImpl {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public boolean htkmerchants(MerchantBaseInfo merchantBaseInfo){
|
||||||
|
|
||||||
|
QueryWrapper<MerchantBackLkl> queryWrapper=new QueryWrapper<>();
|
||||||
|
queryWrapper.eq("merchant_code",merchantBaseInfo.getMerchantCode());
|
||||||
|
MerchantBackLkl backLkl= merchantBackLklService.getOne(queryWrapper);
|
||||||
|
MsgException.checkNull(backLkl,"进件信息为空");
|
||||||
|
|
||||||
|
QueryWrapper<MerchantChannelFee> feeQueryWrapper = new QueryWrapper<>();
|
||||||
|
feeQueryWrapper.eq("channel", "5");
|
||||||
|
feeQueryWrapper.eq("merchant_code", merchantBaseInfo.getMerchantCode());
|
||||||
|
|
||||||
|
MerchantChannelFee fee = merchantChannelFeeMapper.selectOne(feeQueryWrapper);
|
||||||
|
MsgException.checkNull(fee, "费率值为空");
|
||||||
|
JSONArray array = JSONArray.parseArray(fee.getFeeStr());
|
||||||
|
JSONArray feeAarray = new JSONArray();
|
||||||
|
for (int i = 0; i < array.size(); i++) {
|
||||||
|
JSONObject req = array.getJSONObject(i);
|
||||||
|
JSONObject object = new JSONObject();
|
||||||
|
object.put("fee", req.getDoubleValue("feeValue"));
|
||||||
|
object.put("feeType", req.getString("feeCode"));
|
||||||
|
feeAarray.add(object);
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONObject object=new JSONObject();
|
||||||
|
object.put("externalCustomerNo",backLkl.getExternalCustomerNo());
|
||||||
|
object.put("bzPos","KLYX");
|
||||||
|
object.put("termNum",5);
|
||||||
|
object.put("fees",feeAarray);
|
||||||
|
|
||||||
|
Map map=getToken();
|
||||||
|
try {
|
||||||
|
String result = cn.hutool.http.HttpRequest.post("https://tkapi.lakala.com/htkmerchants")
|
||||||
|
.header("Authorization", "bearer " + map.get("access_token")).header("content-type", "application/json")
|
||||||
|
.body(object.toString()).execute().body();
|
||||||
|
System.out.println("返回结果:" + result);
|
||||||
|
if(ObjectUtil.isNotEmpty(result)){
|
||||||
|
JSONObject resp= JSONObject.parseObject(result);
|
||||||
|
if(resp.containsKey("code")&&"00000".equals(resp.getString("code"))){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}catch (Exception e){
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取拓客accessToken
|
* 获取拓客accessToken
|
||||||
*/
|
*/
|
||||||
@@ -1089,12 +1176,125 @@ public class LaKalaInterfaceImpl {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static class FeeInfoDto{
|
||||||
|
private Double fee;
|
||||||
|
|
||||||
|
private Double topFee;
|
||||||
|
|
||||||
|
private String feeType;
|
||||||
|
|
||||||
|
public Double getFee() {
|
||||||
|
return fee;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFee(Double fee) {
|
||||||
|
this.fee = fee;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Double getTopFee() {
|
||||||
|
return topFee;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTopFee(Double topFee) {
|
||||||
|
this.topFee = topFee;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFeeType() {
|
||||||
|
return feeType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFeeType(String feeType) {
|
||||||
|
this.feeType = feeType;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
|
||||||
|
|
||||||
|
// System.out.println(LaKaLaUtility.decrypt("MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCHB7j7gG3ioLnnr7bsuEXTAh/8YSxSp4lQIYGW9gX0Ikgz9JqARdg4iEnU6tgNirxA6Jdg0AWgLJQxQBEZMkwyK2ZfYgesYhlJkv6WVC8v5OkOrhA9NSQ3iS6JsYegsZO0GJSTtLQaTOF8WobPYe5NI+eWU1fRz2ZyxlWlKshBeQIDAQAB","VLFMfe4RbgEAZ5+eXhr+VAhxomLii3D/LbZawImg3lMqv9FjCUPLm5FG31pYljIMy/nkjpLifyuqRv3SdJo9RvPqN/1g5X3/QSRZPnaNER47peybLfCqUJCgJJmRSOS+auiZNECXkuYgvR6rVlR/ikOyJ1+zBw+CIAdb8wJu0V8="));
|
||||||
|
|
||||||
|
|
||||||
|
List<FeeInfoDto> feeInfoDtos=new ArrayList<>();
|
||||||
|
|
||||||
|
FeeInfoDto feeInfoDto1=new FeeInfoDto();
|
||||||
|
feeInfoDto1.setFeeType("WECHAT");
|
||||||
|
feeInfoDto1.setFee(0.38d);
|
||||||
|
feeInfoDtos.add(feeInfoDto1);
|
||||||
|
|
||||||
|
FeeInfoDto feeInfoDto2=new FeeInfoDto();
|
||||||
|
feeInfoDto2.setFeeType("ALIPAY");
|
||||||
|
feeInfoDto2.setFee(0.38d);
|
||||||
|
feeInfoDtos.add(feeInfoDto2);
|
||||||
|
|
||||||
|
FeeInfoDto feeInfoDto3=new FeeInfoDto();
|
||||||
|
feeInfoDto3.setFeeType("SCAN_PAY_SECOND");
|
||||||
|
feeInfoDto3.setFee(0.38d);
|
||||||
|
feeInfoDtos.add(feeInfoDto3);
|
||||||
|
|
||||||
|
JSONObject object=new JSONObject();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Map map=getToken();
|
||||||
|
try {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
JSONObject req=new JSONObject();
|
||||||
|
object.put("externalCustomerNo","8227910593200K2");
|
||||||
|
byte[] privateKey = Base64.decodeBase64("MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAIcHuPuAbeKgueevtuy4RdMCH/xhLFKniVAhgZb2BfQiSDP0moBF2DiISdTq2A2KvEDol2DQBaAslDFAERkyTDIrZl9iB6xiGUmS/pZULy/k6Q6uED01JDeJLomxh6Cxk7QYlJO0tBpM4Xxahs9h7k0j55ZTV9HPZnLGVaUqyEF5AgMBAAECgYAmugRHvXHGiapH1JF2GvOLrRRXYddAbWRoYvOzxCO4/QwQOpsFJwL4U745HpGQcLXFN/ASiBbU9XQbG/DLdS182qAjvdZVJOA2e3H3LhpY3D8ec3webO+0nGk6e4oWGG1efJLM88Nb0FtQiQ0E6z17Paw5AGvxMVBPbL5SoQfq8QJBANHQmvFkAWlBL2XTLPUXaj+NAJzolE90ctAquxfDcTtfEXv0JitC5bwTg87uNl7n4PUTmtMDIkse+D5vQ2CIF78CQQCkwOIMzedKtWhOEbdGxiz1Y/jkuA8yF7HREeC7X2Av0z2Gi3yltoJd0s6zLn+6zowQp1O/5U6ifrYCIObWlTTHAkA0WOZ/eWL8vr2zmvdpgtkIWAaiH0j5deU7WJ3rNODoXjS/h0+KlZs5zGijVT2Nei7fFnAXW33P3j8zXJEj4XCDAkAcrG0rKVLNz9C9dZveN3NvqdyRge8zGqiZ6HCia7ED4dHdbr1c4ezCg4Px72/PhU8fPt/2j+Qlp8PpjuxeAE3VAkBqUiVV9XZptFEXa/77rgHP3SWrC3TcrrS5jtNTGfA4VISV95YXnZzWjYfpgs2WoxdAXjsrM5TB7L3V4um4o6Dp");
|
||||||
|
byte[] bytes = RSAUtil.encryptByPrivateKey(object.toString().getBytes(), privateKey);
|
||||||
|
|
||||||
|
req.put("data",Base64.encodeBase64String(bytes));
|
||||||
|
|
||||||
|
System.out.println("请求参数:"+object.toString());
|
||||||
|
String result = cn.hutool.http.HttpRequest.post("https://tkapi.lakala.com/htkmerchants/open/merchant/info")
|
||||||
|
.header("Authorization", "bearer " + map.get("access_token")).header("content-type", "application/json")
|
||||||
|
.body(req.toString()).execute().body();
|
||||||
|
System.out.println("返回结果:" + result);
|
||||||
|
if(ObjectUtil.isNotEmpty(result)){
|
||||||
|
|
||||||
|
JSONObject resp=JSONObject.parseObject(result);
|
||||||
|
if(resp.containsKey("code")&&"000000".equals(resp.getString("code"))){
|
||||||
|
String data=resp.getString("data");
|
||||||
|
data = LaKaLaUtility.decrypt("MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCHB7j7gG3ioLnnr7bsuEXTAh/8YSxSp4lQIYGW9gX0Ikgz9JqARdg4iEnU6tgNirxA6Jdg0AWgLJQxQBEZMkwyK2ZfYgesYhlJkv6WVC8v5OkOrhA9NSQ3iS6JsYegsZO0GJSTtLQaTOF8WobPYe5NI+eWU1fRz2ZyxlWlKshBeQIDAQAB",data);
|
||||||
|
|
||||||
|
System.out.println("解密后的数据:"+data);
|
||||||
|
//
|
||||||
|
// Long shopId=JSONObject.parseObject(data).getJSONArray("shopInfoList").getJSONObject(0).getLong("shopId");
|
||||||
|
// object=new JSONObject();
|
||||||
|
// object.put("externalCustomerNo","8227910593200K2");
|
||||||
|
// object.put("bzPos","KLYX");
|
||||||
|
// object.put("termNum",1);
|
||||||
|
// object.put("fees",feeInfoDtos);
|
||||||
|
// object.put("shopId",shopId);
|
||||||
|
// object.put("attachments",null);
|
||||||
|
// privateKey = Base64.decodeBase64("MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAIcHuPuAbeKgueevtuy4RdMCH/xhLFKniVAhgZb2BfQiSDP0moBF2DiISdTq2A2KvEDol2DQBaAslDFAERkyTDIrZl9iB6xiGUmS/pZULy/k6Q6uED01JDeJLomxh6Cxk7QYlJO0tBpM4Xxahs9h7k0j55ZTV9HPZnLGVaUqyEF5AgMBAAECgYAmugRHvXHGiapH1JF2GvOLrRRXYddAbWRoYvOzxCO4/QwQOpsFJwL4U745HpGQcLXFN/ASiBbU9XQbG/DLdS182qAjvdZVJOA2e3H3LhpY3D8ec3webO+0nGk6e4oWGG1efJLM88Nb0FtQiQ0E6z17Paw5AGvxMVBPbL5SoQfq8QJBANHQmvFkAWlBL2XTLPUXaj+NAJzolE90ctAquxfDcTtfEXv0JitC5bwTg87uNl7n4PUTmtMDIkse+D5vQ2CIF78CQQCkwOIMzedKtWhOEbdGxiz1Y/jkuA8yF7HREeC7X2Av0z2Gi3yltoJd0s6zLn+6zowQp1O/5U6ifrYCIObWlTTHAkA0WOZ/eWL8vr2zmvdpgtkIWAaiH0j5deU7WJ3rNODoXjS/h0+KlZs5zGijVT2Nei7fFnAXW33P3j8zXJEj4XCDAkAcrG0rKVLNz9C9dZveN3NvqdyRge8zGqiZ6HCia7ED4dHdbr1c4ezCg4Px72/PhU8fPt/2j+Qlp8PpjuxeAE3VAkBqUiVV9XZptFEXa/77rgHP3SWrC3TcrrS5jtNTGfA4VISV95YXnZzWjYfpgs2WoxdAXjsrM5TB7L3V4um4o6Dp");
|
||||||
|
// bytes = RSAUtil.encryptByPrivateKey(object.toString().getBytes(), privateKey);
|
||||||
|
// req=new JSONObject();
|
||||||
|
// req.put("data",Base64.encodeBase64String(bytes));
|
||||||
|
// System.out.println("请求参数:"+object.toString());
|
||||||
|
// result = cn.hutool.http.HttpRequest.post("https://tkapi.lakala.com/htkmerchants/open/merchant/addTerm")
|
||||||
|
// .header("Authorization", "bearer " + map.get("access_token")).header("content-type", "application/json")
|
||||||
|
// .body(req.toString()).execute().body();
|
||||||
|
// System.out.println("返回结果:" + result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}catch (Exception e){
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
// Map map = getToken();
|
// Map map = getToken();
|
||||||
// System.out.println(JSONUtil.toJsonStr(map));
|
// System.out.println(JSONUtil.toJsonStr(map));
|
||||||
|
|
||||||
System.out.println(laKaLaFileUpload("https://czg-oss.oss-cn-hangzhou.aliyuncs.com/images/819abf620cfe4e6f9e2c432a998090ab.png?Expires=2002093384&OSSAccessKeyId=LTAI5tPdEfYSZcqHbjCrtPRD&Signature=8%2FQMRnkTQmQF8jp93XxayPZbPuU%3D", "BUSINESS_LICENCE"));
|
// System.out.println(laKaLaFileUpload("https://czg-oss.oss-cn-hangzhou.aliyuncs.com/images/819abf620cfe4e6f9e2c432a998090ab.png?Expires=2002093384&OSSAccessKeyId=LTAI5tPdEfYSZcqHbjCrtPRD&Signature=8%2FQMRnkTQmQF8jp93XxayPZbPuU%3D", "BUSINESS_LICENCE"));
|
||||||
|
|
||||||
// System.out.println(new LaKalaInterfaceImpl().getRegistrationChid());
|
// System.out.println(new LaKalaInterfaceImpl().getRegistrationChid());
|
||||||
// String result="";
|
// String result="";
|
||||||
|
|||||||
@@ -259,7 +259,15 @@ public class LklMerAuditHandler {
|
|||||||
mcsMapper.updateById(merchantChannelStatus);
|
mcsMapper.updateById(merchantChannelStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QueryWrapper<MerchantBaseInfo> queryWrapper1 = new QueryWrapper<>();
|
||||||
|
queryWrapper1.eq("merchantCode", merchantChannelStatus.getMerchantCode());
|
||||||
|
MerchantBaseInfo baseInfo = merchantBaseInfoService.getOne(queryWrapper1);
|
||||||
|
if (ObjectUtil.isNotEmpty(baseInfo)) {
|
||||||
|
LambdaQueryWrapper<UserApp> qWrapper2 = Wrappers.lambdaQuery();
|
||||||
|
qWrapper2.eq(UserApp::getUserId, baseInfo.getUserId());
|
||||||
|
UserApp userApp = uaService.getOne(qWrapper2);
|
||||||
|
sendNotice(userApp, "收银呗审核通知", map.get("remark")+"", merchantChannelStatus.getApplicationId());
|
||||||
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user