"拉卡拉进件支付代码"
This commit is contained in:
@@ -2,6 +2,8 @@ package cn.pluss.platform.klk.service;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.pluss.platform.api.ResultCode;
|
||||
import cn.pluss.platform.constants.Constant;
|
||||
import cn.pluss.platform.device.MercOrderNewService;
|
||||
import cn.pluss.platform.dto.MemberScanPayDTO;
|
||||
import cn.pluss.platform.dto.MerChantOrderDTO;
|
||||
import cn.pluss.platform.entity.*;
|
||||
@@ -10,21 +12,29 @@ import cn.pluss.platform.klk.LakalaConfig;
|
||||
import cn.pluss.platform.klk.service.impl.LaKalaInterfaceImpl;
|
||||
import cn.pluss.platform.mapper.MerchantBackLklMapper;
|
||||
import cn.pluss.platform.mapper.MerchantBaseInfoMapper;
|
||||
import cn.pluss.platform.merchantOrder.MerchantOrderService;
|
||||
import cn.pluss.platform.pay.PayService;
|
||||
import cn.pluss.platform.util.DateUtils;
|
||||
import cn.pluss.platform.util.SnowFlakeUtil;
|
||||
import cn.pluss.platform.util.StringUtil;
|
||||
import cn.pluss.platform.ys.YsConfig;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import lombok.Setter;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
import springfox.documentation.spring.web.json.Json;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Service("lkLPayService")
|
||||
@Slf4j
|
||||
public class LkLPayServiceImpl implements PayService {
|
||||
@@ -42,112 +52,206 @@ public class LkLPayServiceImpl implements PayService {
|
||||
MerchantBaseInfoMapper merchantBaseInfoMapper;
|
||||
|
||||
|
||||
@Autowired
|
||||
private RestTemplate restTemplate;
|
||||
|
||||
|
||||
@Resource
|
||||
private MercOrderNewService mercOrderNewService;
|
||||
|
||||
|
||||
@Override
|
||||
public JSONObject tradePay(MerchantOrder order, MerchantChannelStatus channel, MerchantBaseInfo merchant) {
|
||||
|
||||
|
||||
String account_type="WECHAT";
|
||||
if(StringUtil.isNotEmpty(order.getScanType())&&"01".equals(order.getScanType())){
|
||||
account_type="wechatPay".equals(order.getPayTypeCode())?"WECHAT":"aliPay".equals(order.getPayTypeCode()) ?"ALIPAY":"UQRCODEPAY";
|
||||
}else {
|
||||
|
||||
String account_type = "WECHAT";
|
||||
if (StringUtil.isNotEmpty(order.getScanType()) && "01".equals(order.getScanType())) {
|
||||
account_type = "wechatPay".equals(order.getPayTypeCode()) ? "WECHAT" : "aliPay".equals(order.getPayTypeCode()) ? "ALIPAY" : "UQRCODEPAY";
|
||||
} else {
|
||||
account_type = "wechatPay".equals(order.getPayTypeCode()) ? "WECHAT" : "aliPay".equals(order.getPayTypeCode()) ? "ALIPAY" : "UQRCODEPAY";
|
||||
}
|
||||
|
||||
|
||||
String transType = account_type.equals("WECHAT") ? "71" : account_type.equals("ALIPAY") ? "41" : "51";
|
||||
|
||||
|
||||
QueryWrapper<MerchantBackLkl> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("merchant_code", merchant.getMerchantCode());
|
||||
queryWrapper.eq("channel", "5");
|
||||
queryWrapper.eq("user_no", LaKalaInterfaceImpl.userNo);
|
||||
|
||||
MerchantBackLkl merchantBackLkl = merchantBackLklMapper.selectOne(queryWrapper);
|
||||
MsgException.checkNull(merchantBackLkl, "渠道信息异常");
|
||||
|
||||
|
||||
String req_time = DateUtils.getSdfTimes();
|
||||
|
||||
Long order_amt = new BigDecimal(order.getConsumeFee()).multiply(new BigDecimal(100)).longValue();
|
||||
String body = null;
|
||||
if (account_type.equals("WECHAT")) {
|
||||
body = "{\n" +
|
||||
"\t\"out_org_code\": \"" + lakalaConfig.getAppid() + "\",\n" +
|
||||
"\t\"req_data\": {\n" +
|
||||
"\"acc_busi_fields\": {\n" +
|
||||
"\t\t\t\"user_id\": \"" + order.getMercUserId() + "\"\n" +
|
||||
"\t\t}," +
|
||||
"\t\t\"account_type\": \"" + account_type + "\",\n" +
|
||||
"\t\t\"location_info\": {\n" +
|
||||
"\t\t\t\"request_ip\": \"" + order.getIp() + "\"\n" +
|
||||
"\t\t},\n" +
|
||||
"\t\t\"merchant_no\": \"" + merchantBackLkl.getExternalCustomerNo() + "\",\n" +
|
||||
"\t\t\"notify_url\": \"" + lakalaConfig.getCallBackUrl() + "\",\n" +
|
||||
"\t\t\"out_trade_no\": \"" + order.getOrderNumber() + "\",\n" +
|
||||
"\t\t\"term_no\": \"" + merchantBackLkl.getTermNos() + "\",\n" +
|
||||
"\t\t\"total_amount\": \"" + order_amt + "\",\n" +
|
||||
"\t\t\"trans_type\": \"" + transType + "\"\n" +
|
||||
"\t},\n" +
|
||||
"\t\"req_time\": \"" + req_time + "\",\n" +
|
||||
"\t\"version\": \"3.0\"\n" +
|
||||
"}";
|
||||
|
||||
}
|
||||
|
||||
if (account_type.equals("ALIPAY")) {
|
||||
body = "{\n" +
|
||||
"\t\"out_org_code\": \"" + lakalaConfig.getAppid() + "\",\n" +
|
||||
"\t\"req_data\": {\n" +
|
||||
"\t\t\"account_type\": \"" + account_type + "\",\n" +
|
||||
"\t\t\"location_info\": {\n" +
|
||||
"\t\t\t\"request_ip\": \"" + order.getIp() + "\"\n" +
|
||||
"\t\t},\n" +
|
||||
"\t\t\"merchant_no\": \"" + merchantBackLkl.getExternalCustomerNo() + "\",\n" +
|
||||
"\t\t\"notify_url\": \"" + lakalaConfig.getCallBackUrl() + "\",\n" +
|
||||
"\t\t\"out_trade_no\": \"" + order.getOrderNumber() + "\",\n" +
|
||||
"\t\t\"term_no\": \"" + merchantBackLkl.getTermNos() + "\",\n" +
|
||||
"\t\t\"total_amount\": \"" + order_amt + "\",\n" +
|
||||
"\t\t\"trans_type\": \"" + transType + "\"\n" +
|
||||
"\t},\n" +
|
||||
"\t\"req_time\": \"" + req_time + "\",\n" +
|
||||
"\t\"version\": \"3.0\"\n" +
|
||||
"}";
|
||||
}
|
||||
|
||||
|
||||
String response = lklPayService.req(body, "api/v3/labs/trans/preorder");
|
||||
|
||||
JSONObject resp = new JSONObject();
|
||||
if (ObjectUtil.isNotEmpty(response)) {
|
||||
JSONObject payData = new JSONObject();
|
||||
JSONObject object = JSONObject.parseObject(response);
|
||||
|
||||
if (object.containsKey("code") && "BBS00000".equals(object.getString("code"))) {
|
||||
if (!(StringUtil.isNotEmpty(order.getScanType()) && "01".equals(order.getScanType()))) {
|
||||
JSONObject acc_resp_fields = object.getJSONObject("resp_data").getJSONObject("acc_resp_fields");
|
||||
if (Constant.PAY_TYPE_ALIPAY.equals(order.getPayTypeCode())) {
|
||||
payData.put("source", acc_resp_fields.getString("code"));
|
||||
} else if (Constant.PAY_TYPE_WECHAT.equals(order.getPayTypeCode())) {
|
||||
|
||||
payData.put("payAppId", acc_resp_fields.getString("app_id"));
|
||||
payData.put("payTimeStamp", Long.valueOf(acc_resp_fields.getString("time_stamp")) * 1000);
|
||||
payData.put("paynonceStr", acc_resp_fields.getString("nonce_str"));
|
||||
payData.put("payPackage", acc_resp_fields.getString("package"));
|
||||
payData.put("paySignType", acc_resp_fields.getString("sign_type"));
|
||||
payData.put("paySign", acc_resp_fields.getString("pay_sign"));
|
||||
} else {
|
||||
payData.put("redirectUrl", acc_resp_fields.containsKey("redirect_url") ? acc_resp_fields.getString("redirect_url") : null);
|
||||
}
|
||||
|
||||
} else {
|
||||
payData.put("payUrl", object.get("code"));
|
||||
payData.put("orderNumber", order.getOrderNumber());
|
||||
payData.put("mercOrderNo", order.getMercOrderNo());
|
||||
}
|
||||
resp.put("code", ResultCode.SUCCESS.code());
|
||||
payData.put("channel", channel.getChannel());
|
||||
order.setTransNo((object.getJSONObject("resp_data").containsKey("log_no") && ObjectUtil.isNotEmpty(object.getJSONObject("resp_data").getString("log_no"))) ? object.getString("log_no") : "");
|
||||
resp.put("payData", payData);
|
||||
return resp;
|
||||
|
||||
} else if (object.containsKey("code") && "BBS16270".equals(object.getString("code"))) {
|
||||
resp.put("code", ResultCode.FAIL.code());
|
||||
resp.put("msg", object.getString("msg"));
|
||||
return resp;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
resp.put("code", ResultCode.FAIL.code());
|
||||
resp.put("msg", "失败");
|
||||
return resp;
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject tradePay(MerChantOrderDTO merchantOrderDTO, MerchantOrder order) {
|
||||
|
||||
|
||||
QueryWrapper<MerchantBaseInfo> baseQueyWrapper=new QueryWrapper<>();
|
||||
baseQueyWrapper.eq("merchantCode",merchantOrderDTO.getMerchantCode());
|
||||
MerchantBaseInfo baseInfo= merchantBaseInfoMapper.selectOne(baseQueyWrapper);
|
||||
MsgException.checkNull(baseInfo,"商户基本信息错误");
|
||||
QueryWrapper<MerchantBaseInfo> baseQueyWrapper = new QueryWrapper<>();
|
||||
baseQueyWrapper.eq("merchantCode", merchantOrderDTO.getMerchantCode());
|
||||
MerchantBaseInfo baseInfo = merchantBaseInfoMapper.selectOne(baseQueyWrapper);
|
||||
MsgException.checkNull(baseInfo, "商户基本信息错误");
|
||||
|
||||
|
||||
|
||||
QueryWrapper<MerchantBackLkl> queryWrapper=new QueryWrapper<>();
|
||||
queryWrapper.eq("merchant_code",merchantOrderDTO.getMerchantCode());
|
||||
queryWrapper.eq("channel","5");
|
||||
QueryWrapper<MerchantBackLkl> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("merchant_code", merchantOrderDTO.getMerchantCode());
|
||||
queryWrapper.eq("channel", "5");
|
||||
queryWrapper.eq("user_no", LaKalaInterfaceImpl.userNo);
|
||||
|
||||
MerchantBackLkl merchantBackLkl=merchantBackLklMapper.selectOne(queryWrapper);
|
||||
MsgException.checkNull(merchantBackLkl,"进件信息不存在");
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
MerchantBackLkl merchantBackLkl = merchantBackLklMapper.selectOne(queryWrapper);
|
||||
MsgException.checkNull(merchantBackLkl, "进件信息不存在");
|
||||
|
||||
|
||||
JSONObject obj = new JSONObject(6);
|
||||
|
||||
String req_time= DateUtils.getSdfTimes();
|
||||
String req_time = DateUtils.getSdfTimes();
|
||||
Long order_amt = new BigDecimal(order.getConsumeFee()).multiply(new BigDecimal(100)).longValue();
|
||||
|
||||
String body="{\n" +
|
||||
String body = "{\n" +
|
||||
"\t\"req_data\": {\n" +
|
||||
"\t\t\"merchant_no\": \""+merchantBackLkl.getExternalCustomerNo()+"\",\n" +
|
||||
"\t\t\"term_no\": \""+merchantBackLkl.getTermNos()+"\",\n" +
|
||||
"\t\t\"out_trade_no\": \""+order.getOrderNumber()+"\",\n" +
|
||||
"\t\t\"total_amount\": \""+order_amt+"\",\n" +
|
||||
"\t\t\"subject\": \""+baseInfo.getMccName()+"\",\n" +
|
||||
"\t\t\"merchant_no\": \"" + merchantBackLkl.getExternalCustomerNo() + "\",\n" +
|
||||
"\t\t\"term_no\": \"" + merchantBackLkl.getTermNos() + "\",\n" +
|
||||
"\t\t\"out_trade_no\": \"" + order.getOrderNumber() + "\",\n" +
|
||||
"\t\t\"total_amount\": \"" + order_amt + "\",\n" +
|
||||
"\t\t\"subject\": \"" + baseInfo.getMccName() + "\",\n" +
|
||||
"\t\t\"acc_busi_fields\": {},\n" +
|
||||
"\t\t\"notify_url\": \""+lakalaConfig.getCallBackUrl()+"\",\n" +
|
||||
"\t\t\"notify_url\": \"" + lakalaConfig.getCallBackUrl() + "\",\n" +
|
||||
"\t\t\"location_info\": {\n" +
|
||||
"\t\t\t\"request_ip\": \""+order.getIp()+"\"\n" +
|
||||
"\t\t\t\"request_ip\": \"" + order.getIp() + "\"\n" +
|
||||
"\t\t},\n" +
|
||||
"\t\t\"auth_code\": \""+merchantOrderDTO.getAuthCode()+"\"\n" +
|
||||
"\t\t\"auth_code\": \"" + merchantOrderDTO.getAuthCode() + "\"\n" +
|
||||
"\t},\n" +
|
||||
"\t\"out_org_code\": \""+lakalaConfig.getAppid()+"\",\n" +
|
||||
"\t\"out_org_code\": \"" + lakalaConfig.getAppid() + "\",\n" +
|
||||
"\t\"version\": \"3.0\",\n" +
|
||||
"\t\"req_time\": "+req_time+"\n" +
|
||||
"\t\"req_time\": " + req_time + "\n" +
|
||||
"}";
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
String response=lklPayService.req(body,"api/v3/labs/trans/micropay");
|
||||
if(ObjectUtil.isNotEmpty(response)){
|
||||
JSONObject object= JSON.parseObject(response);
|
||||
if(object.containsKey("code")&&"BBS10000".equals(object.get("code"))){
|
||||
obj.put("code",ResultCode.TRANSUNKNOW.code());
|
||||
obj.put("msg","用户支付中");
|
||||
obj.put("channelOrderNo",object.getJSONObject("resp_data").get("trade_no"));
|
||||
obj.put("transNo",object.getJSONObject("resp_data").get("log_no"));
|
||||
obj.put("payStatus","1");
|
||||
String response = lklPayService.req(body, "api/v3/labs/trans/micropay");
|
||||
if (ObjectUtil.isNotEmpty(response)) {
|
||||
JSONObject object = JSON.parseObject(response);
|
||||
if (object.containsKey("code") && "BBS10000".equals(object.get("code"))) {
|
||||
obj.put("code", ResultCode.TRANSUNKNOW.code());
|
||||
obj.put("msg", "用户支付中");
|
||||
obj.put("channelOrderNo", object.getJSONObject("resp_data").get("trade_no"));
|
||||
obj.put("transNo", object.getJSONObject("resp_data").get("log_no"));
|
||||
obj.put("payStatus", "7");
|
||||
return obj;
|
||||
}else if(object.containsKey("code")&&"BBS00000".equals(object.get("code"))){
|
||||
obj.put("code",ResultCode.SUCCESS.code());
|
||||
obj.put("msg","成功");
|
||||
obj.put("channelOrderNo",object.getJSONObject("resp_data").get("trade_no"));
|
||||
obj.put("transNo",object.getJSONObject("resp_data").get("log_no"));
|
||||
obj.put("payStatus","1");
|
||||
obj.put("payTime",DateUtils.convertDate(object.getJSONObject("resp_data").getString("trade_time")));
|
||||
} else if (object.containsKey("code") && "BBS00000".equals(object.get("code"))) {
|
||||
obj.put("code", ResultCode.SUCCESS.code());
|
||||
obj.put("msg", "成功");
|
||||
obj.put("channelOrderNo", object.getJSONObject("resp_data").get("trade_no"));
|
||||
obj.put("transNo", object.getJSONObject("resp_data").get("log_no"));
|
||||
obj.put("payStatus", "1");
|
||||
obj.put("payTime", DateUtils.convertDate(object.getJSONObject("resp_data").getString("trade_time")));
|
||||
return obj;
|
||||
}else {
|
||||
obj.put("code",ResultCode.FAIL.code());
|
||||
obj.put("msg",object.get("msg"));
|
||||
} else {
|
||||
obj.put("code", ResultCode.FAIL.code());
|
||||
obj.put("msg", object.get("msg"));
|
||||
return obj;
|
||||
}
|
||||
}
|
||||
obj.put("code",ResultCode.FAIL.code());
|
||||
obj.put("msg","失败");
|
||||
obj.put("code", ResultCode.FAIL.code());
|
||||
obj.put("msg", "失败");
|
||||
return obj;
|
||||
}
|
||||
|
||||
@@ -179,19 +283,85 @@ public class LkLPayServiceImpl implements PayService {
|
||||
@Override
|
||||
public Map<String, Object> getUnionInfo(String userAuthCode, String paymentApp, String merchantId) throws Exception {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
// JSONObject reqData = new JSONObject(2);
|
||||
// Map<String, Object> stringObjectMap=lklPayService.authUserId(userAuthCode, paymentApp);
|
||||
// reqData.put("data",stringObjectMap.get("userId"));
|
||||
// reqData.put("userAuthCode",userAuthCode);
|
||||
// reqData.put("appUpIdentifier",paymentApp);
|
||||
// result.put("data",reqData);
|
||||
// result.put("code","1");
|
||||
// result.put("msg","获取成功");
|
||||
String req_time = DateUtils.getSdfTimes();
|
||||
|
||||
QueryWrapper<MerchantBackLkl> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("merchant_code", merchantId);
|
||||
queryWrapper.eq("channel", "5");
|
||||
MerchantBackLkl merchantBackLkl = merchantBackLklMapper.selectOne(queryWrapper);
|
||||
MsgException.checkNull(merchantBackLkl, "商户基本信息不完整");
|
||||
|
||||
String body = "{\n" +
|
||||
"\"ver\":\"1.0.0\",\n" +
|
||||
"\"timestamp\":\"" + System.currentTimeMillis() + "\",\n" +
|
||||
"\"reqId\":\"" + req_time + "\",\n" +
|
||||
"\"reqData\":{\n" +
|
||||
"\"mercId\":\"" + merchantBackLkl.getExternalCustomerNo() + "\",\n" +
|
||||
"\"termNo\":\"" + merchantBackLkl.getTermNos() + "\",\n" +
|
||||
"\"authCode\":\"" + userAuthCode + "\",\n" +
|
||||
"\"tradeCode\":\"030304\"\n" +
|
||||
"}\n" +
|
||||
"}\n";
|
||||
String response = lklPayService.req(body, "api/v2/saas/query/wx_openid_query");
|
||||
if (ObjectUtil.isNotEmpty(response)) {
|
||||
JSONObject object = JSONObject.parseObject(response);
|
||||
if (object.containsKey("retCode") && "BBS00000".equals(object.getString("retCode"))) {
|
||||
|
||||
JSONObject reqData = new JSONObject(2);
|
||||
reqData.put("data", object.getJSONObject("respData").getString("openId"));
|
||||
reqData.put("userAuthCode", userAuthCode);
|
||||
reqData.put("appUpIdentifier", paymentApp);
|
||||
result.put("data", reqData);
|
||||
result.put("code", "1");
|
||||
result.put("msg", "获取成功");
|
||||
}
|
||||
}
|
||||
result.put("code","0");
|
||||
result.put("msg", "获取失败");
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@Setter(onMethod_ = {@Autowired, @Lazy})
|
||||
private MerchantOrderService merchantOrderService;
|
||||
|
||||
@Override
|
||||
public Object payNotifyCallBack(Map<String, String> params) {
|
||||
|
||||
Map<String, String> result = new HashMap<>(2);
|
||||
result.put("code", "fail");
|
||||
result.put("msg", "失败");
|
||||
|
||||
String trade_no = params.get("trade_no");
|
||||
String ordNo = params.get("out_trade_no");
|
||||
|
||||
String acc_trade_no = params.get("acc_trade_no");
|
||||
|
||||
String payTime = params.get("trade_time");
|
||||
|
||||
String bizCode = params.get("trade_status");
|
||||
|
||||
String buyerId = params.get("user_id1");
|
||||
if ("SUCCESS".equals(bizCode)) {
|
||||
QueryWrapper<MerchantOrder> queryWrapper = new QueryWrapper<MerchantOrder>().eq("orderNumber", ordNo);
|
||||
|
||||
MerchantOrder order = merchantOrderService.getOne(queryWrapper);
|
||||
if (order == null) {
|
||||
log.error("====================>【拉卡拉】支付成功回调订单号查询,查询的订单为空:订单号:{}<====================", ordNo);
|
||||
return YsConfig.RESULT_SUCCESS_CODE;
|
||||
}
|
||||
Date payDate = DateUtils.parse(payTime, "yyyy-MM-dd HH:mm:ss");
|
||||
order.setTransDt(payDate);
|
||||
order.setTransNo(trade_no);
|
||||
order.setThirdTransNo(acc_trade_no);
|
||||
merchantOrderService.updateOrderAndCreateProfit(order);
|
||||
result.put("code", "success");
|
||||
result.put("msg", "成功");
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -78,28 +78,7 @@ public class LklPayService {
|
||||
|
||||
public JSONObject tradePay(MerchantOrder order, MerchantChannelStatus channel, MerchantBaseInfo merchant){
|
||||
|
||||
String req_time= DateUtils.getSdfTimes();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
String body="{\n" +
|
||||
" \"req_time\": \""+req_time+"\",\n" +
|
||||
" \"version\": \"3.0\",\n" +
|
||||
" \"req_data\": {\n" +
|
||||
" \"merchant_no\": \"822290070111135\",\n" +
|
||||
" \"term_no\": \"29034705\",\n" +
|
||||
" \"out_trade_no\": \"FD660E1FAA3A4470933CDEDAE1EC1D8E\",\n" +
|
||||
" \"auth_code\": \"135178236713755038\",\n" +
|
||||
" \"total_amount\": \"123\",\n" +
|
||||
" \"location_info\": {\n" +
|
||||
" \"request_ip\": \"10.176.1.192\",\n" +
|
||||
" \"location\": \"+37.123456789,-121.123456789\"\n" +
|
||||
" }\n" +
|
||||
" }\n" +
|
||||
"}";
|
||||
return new JSONObject();
|
||||
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ import cn.pluss.platform.exception.MsgException;
|
||||
import cn.pluss.platform.exception.PayRiskException;
|
||||
import cn.pluss.platform.fans.FansService;
|
||||
import cn.pluss.platform.ipLocation.IpLocationService;
|
||||
import cn.pluss.platform.klk.service.LkLPayServiceImpl;
|
||||
import cn.pluss.platform.klk.service.LklPayService;
|
||||
import cn.pluss.platform.leshua.LeshuaSignature;
|
||||
import cn.pluss.platform.mapper.*;
|
||||
@@ -146,6 +147,8 @@ public class MerchantServiceImpl implements MerchantService {
|
||||
|
||||
@Setter(onMethod_ = {@Autowired, @Lazy})
|
||||
private LklPayService lklPayService;
|
||||
@Setter(onMethod_ = {@Autowired, @Lazy})
|
||||
LkLPayServiceImpl lkLPayServiceImpl;
|
||||
|
||||
|
||||
@Override
|
||||
@@ -425,7 +428,7 @@ public class MerchantServiceImpl implements MerchantService {
|
||||
result = ysPayOldService.tradePay(order, channel,merchant);
|
||||
}else if(channel.getChannel()==5){
|
||||
//拉卡拉的主扫接口
|
||||
result=lklPayService.tradePay(order,channel,merchant);
|
||||
result=lkLPayServiceImpl.tradePay(order,channel,merchant);
|
||||
}
|
||||
else {
|
||||
MsgException.throwException("未知通道");
|
||||
@@ -1404,7 +1407,7 @@ public class MerchantServiceImpl implements MerchantService {
|
||||
unionInfo = ysPayOldService.getUnionInfo(userAuthCode, payMentApp,null);
|
||||
}else if(channel.getChannel()==5){
|
||||
//拉卡拉的被扫接口
|
||||
lklPayService.tradePay(orderAmt,channel,auth_code,IpUtils.getIpAddr(request),payMentApp);
|
||||
// lklPayService.tradePay(orderAmt,channel,auth_code,IpUtils.getIpAddr(request),payMentApp);
|
||||
}
|
||||
|
||||
else {
|
||||
|
||||
@@ -20,6 +20,7 @@ import cn.pluss.platform.enums.UserRoleEnum;
|
||||
import cn.pluss.platform.exception.MsgException;
|
||||
import cn.pluss.platform.klk.service.LkLPayServiceImpl;
|
||||
import cn.pluss.platform.klk.service.LklPayService;
|
||||
import cn.pluss.platform.klk.service.impl.LaKalaInterfaceImpl;
|
||||
import cn.pluss.platform.mapper.*;
|
||||
import cn.pluss.platform.memberOrder.MemberOrderService;
|
||||
import cn.pluss.platform.merchant.MerchantCashPlaceService;
|
||||
@@ -2347,6 +2348,37 @@ public class MerchantOrderServiceImpl extends ServiceImpl<MerchantOrderMapper, M
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
order.setAisleSwitch("5");
|
||||
if(StringUtil.isEmpty(channel.getSettlementType()) || YsBusinessCodeEnum.D0.getName().equals(channel.getSettlementType())){
|
||||
order.setSettlementType(SettleTypeEnum.D0.getValue());
|
||||
}else{
|
||||
order.setSettlementType(SettleTypeEnum.D1.getValue());
|
||||
}
|
||||
order.setChannelRate(new BigDecimal(0.0038).multiply(new BigDecimal(10000)));
|
||||
order.setChannelFee(new BigDecimal(order.getConsumeFee().toString()).multiply(new BigDecimal(0.0038)).setScale(2,BigDecimal.ROUND_HALF_UP));
|
||||
if(params.get("payWay") == null){
|
||||
orderPrefix = "LKL_";
|
||||
}else{
|
||||
if("WXZF".equalsIgnoreCase((String) params.get("payWay"))){
|
||||
orderPrefix = "LKL_W_";
|
||||
order.setPayTypeCode(Constant.PAY_TYPE_WECHAT);
|
||||
order.setPayTypeName(Constant.PAY_TYPE_NAME_WECHAT);
|
||||
}else if("ZFBZF".equalsIgnoreCase((String)params.get("payWay"))){
|
||||
orderPrefix = "LKL_Z_";
|
||||
order.setPayTypeCode(Constant.PAY_TYPE_ALIPAY);
|
||||
order.setPayTypeName(Constant.PAY_TYPE_NAME_ALIPAY);
|
||||
}else if("UNIONPAY".equalsIgnoreCase((String)params.get("payWay"))){
|
||||
if(order.getConsumeFee() > 1000.0d){
|
||||
order.setChannelRate(YsOldConstants.CREDIT_DEBIT_CARD_BANK_RATE_LARGE.multiply(new BigDecimal(10000)));
|
||||
order.setChannelFee(new BigDecimal(order.getConsumeFee().toString()).multiply(YsOldConstants.CREDIT_DEBIT_CARD_BANK_RATE_LARGE).setScale(2,BigDecimal.ROUND_HALF_UP));
|
||||
}
|
||||
orderPrefix = "LKL_Y_";
|
||||
order.setPayTypeCode(Constant.PAY_TYPE_YSFPAY);
|
||||
order.setPayTypeName(Constant.PAY_TYPE_NAME_YSFPAY);
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
throw new MsgException("无效的通道");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user