清理拉卡拉多余的接口
This commit is contained in:
parent
eaa03106d6
commit
83792e4222
@ -67,7 +67,8 @@ public class IndexController extends BaseControllerImpl {
|
|||||||
@RequestMapping(value = "/test/case", method = RequestMethod.POST)
|
@RequestMapping(value = "/test/case", method = RequestMethod.POST)
|
||||||
public JSONObject testCase(HttpServletRequest request, HttpServletResponse response,
|
public JSONObject testCase(HttpServletRequest request, HttpServletResponse response,
|
||||||
@RequestBody JSONObject objectJSON) {
|
@RequestBody JSONObject objectJSON) {
|
||||||
return lakalaPayService.lklTransPreOrder(request, response, (String) objectJSON.get("orderId"));
|
// return lakalaPayService.lklTransPreOrder(request, response, (String) objectJSON.get("orderId"));
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "获取支付密码", notes = "获取支付密码")
|
@ApiOperation(value = "获取支付密码", notes = "获取支付密码")
|
||||||
|
|||||||
@ -13,14 +13,11 @@ import com.suisung.mall.common.api.CommonResult;
|
|||||||
import org.springframework.data.util.Pair;
|
import org.springframework.data.util.Pair;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
|
||||||
|
|
||||||
public interface LakalaPayService {
|
public interface LakalaPayService {
|
||||||
|
|
||||||
Boolean initLKLSDK();
|
Boolean initLKLSDK();
|
||||||
|
|
||||||
JSONObject lklTransPreOrder(HttpServletRequest request, HttpServletResponse response, String orderId);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 拉卡拉预下单
|
* 拉卡拉预下单
|
||||||
* 参考:https://o.lakala.com/#/home/document/detail?id=110
|
* 参考:https://o.lakala.com/#/home/document/detail?id=110
|
||||||
@ -39,30 +36,6 @@ public interface LakalaPayService {
|
|||||||
*/
|
*/
|
||||||
JSONObject lklTransPreOrder(String merchantNo, String termNo, String xcxAppId, String openId, String storeId, String orderId, String subject, String totalAmount, String notifyURL, String requestIP, String remark);
|
JSONObject lklTransPreOrder(String merchantNo, String termNo, String xcxAppId, String openId, String storeId, String orderId, String subject, String totalAmount, String notifyURL, String requestIP, String remark);
|
||||||
|
|
||||||
/**
|
|
||||||
* 聚合扫码-交易查询
|
|
||||||
*
|
|
||||||
* @param storeId
|
|
||||||
* @param orderId
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
JSONObject tradeQuery(Integer storeId, String orderId);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 聚合扫码-退款交易
|
|
||||||
* 主被扫交易发生后,因商家或消费者原因需要退款时,商家调用此接口退还消费者支付款项。
|
|
||||||
* 注意: 1、调用退款接口时请保证商户/账户余额大于等于本次退款金额
|
|
||||||
*
|
|
||||||
* @param storeId
|
|
||||||
* @param out_trade_no
|
|
||||||
* @param origin_trade_no // 原拉卡拉交易流水号
|
|
||||||
* @param refund_amount 单位分,整数数字型字符
|
|
||||||
* @param refund_reason
|
|
||||||
* @param requestIP
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
JSONObject refund(Integer storeId, String out_trade_no, String origin_trade_no, String refund_amount, String refund_reason, String requestIP);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 执行内部拉卡拉交易退款
|
* 执行内部拉卡拉交易退款
|
||||||
* 参考地址:https://o.lakala.com/#/home/document/detail?id=113
|
* 参考地址:https://o.lakala.com/#/home/document/detail?id=113
|
||||||
@ -76,18 +49,6 @@ public interface LakalaPayService {
|
|||||||
*/
|
*/
|
||||||
Pair<Boolean, String> innerLklRefund(Integer storeId, String outTradeNo, String originTradeNo, String refundAmount, String refundReason);
|
Pair<Boolean, String> innerLklRefund(Integer storeId, String outTradeNo, String originTradeNo, String refundAmount, String refundReason);
|
||||||
|
|
||||||
/**
|
|
||||||
* 账户余额查询
|
|
||||||
* 参考:https://o.lakala.com/#/home/document/detail?id=364
|
|
||||||
*
|
|
||||||
* @param orgNo bmcp机构号
|
|
||||||
* @param merchantNo 商户号 或 receiveNo 或 商户用户编号
|
|
||||||
* @param payNo 账号(若该参数上送,则payType将无效)
|
|
||||||
* @param payType 账号类型(01:收款账户,02:付款账户,03:分账商户账户,04:分账接收方账户,05:充值代付账户,06:结算代付账户)- 未上送则默认为01
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
JSONObject ewalletBalanceQuery(String orgNo, String merchantNo, String payNo, String payType);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 文件上传
|
* 文件上传
|
||||||
* 参考:https://o.lakala.com/#/home/document/detail?id=90
|
* 参考:https://o.lakala.com/#/home/document/detail?id=90
|
||||||
|
|||||||
@ -43,7 +43,6 @@ import org.springframework.web.context.request.RequestContextHolder;
|
|||||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
import org.springframework.web.context.request.ServletRequestAttributes;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -53,13 +52,7 @@ import java.util.List;
|
|||||||
@Service
|
@Service
|
||||||
public class LakalaPayServiceImpl implements LakalaPayService {
|
public class LakalaPayServiceImpl implements LakalaPayService {
|
||||||
private static final boolean init = false;
|
private static final boolean init = false;
|
||||||
|
|
||||||
|
|
||||||
//### 可选的两个参数,不同的店铺商家,可以数据库里配置不同的商户号和终端号
|
|
||||||
@Value("${lakala.merchant_no}")
|
|
||||||
public String merchantNo; // 拉卡拉分配的商户号
|
|
||||||
@Value("${lakala.term_no}")
|
|
||||||
public String termNo; // 拉卡拉分配的终端号码
|
|
||||||
@Value("${lakala.server_url}")
|
@Value("${lakala.server_url}")
|
||||||
private String serverUrl; //服务地址
|
private String serverUrl; //服务地址
|
||||||
@Value("${lakala.app_id}")
|
@Value("${lakala.app_id}")
|
||||||
@ -112,47 +105,6 @@ public class LakalaPayServiceImpl implements LakalaPayService {
|
|||||||
return "prod".equalsIgnoreCase(profile);
|
return "prod".equalsIgnoreCase(profile);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public cn.hutool.json.JSONObject lklTransPreOrder(HttpServletRequest request, HttpServletResponse response, String orderId) {
|
|
||||||
// 1. 配置初始化
|
|
||||||
initLKLSDK();
|
|
||||||
|
|
||||||
//2. 装配数据
|
|
||||||
/*** 微信主扫场景示例 */
|
|
||||||
V3LabsTransPreorderRequest v3LabsTransPreorderWechatReq = new V3LabsTransPreorderRequest();
|
|
||||||
v3LabsTransPreorderWechatReq.setMerchantNo(merchantNo);
|
|
||||||
v3LabsTransPreorderWechatReq.setTermNo(termNo);
|
|
||||||
v3LabsTransPreorderWechatReq.setOutTradeNo(orderId);
|
|
||||||
v3LabsTransPreorderWechatReq.setSubject("油麦菜5斤装特惠");
|
|
||||||
v3LabsTransPreorderWechatReq.setAccountType("WECHAT");
|
|
||||||
v3LabsTransPreorderWechatReq.setTransType("51");
|
|
||||||
v3LabsTransPreorderWechatReq.setTotalAmount("1");
|
|
||||||
v3LabsTransPreorderWechatReq.setNotifyUrl("http://mall.gpxscs.cn/notify");
|
|
||||||
v3LabsTransPreorderWechatReq.setRemark("测试预下单备注");
|
|
||||||
|
|
||||||
//地址位置信息
|
|
||||||
V3LabsTradeLocationInfo v3LabsTradePreorderLocationInfo1 = new V3LabsTradeLocationInfo(IpKit.getRealIp(request));
|
|
||||||
v3LabsTransPreorderWechatReq.setLocationInfo(v3LabsTradePreorderLocationInfo1);
|
|
||||||
|
|
||||||
//微信主扫场景下acc_busi_fields域内容
|
|
||||||
V3LabsTradePreorderWechatBus wechatBus = new V3LabsTradePreorderWechatBus();
|
|
||||||
wechatBus.setSubAppid("wx5a73f844dac0da5c"); // 小程序appId
|
|
||||||
wechatBus.setUserId("oDVKR7T0qxg6O8tqIL9SgY6LXqqQ"); // 微信 openId
|
|
||||||
wechatBus.setDeviceInfo("WEB"); // 终端设备号(门店号或收银设备ID),注意:PC网页或JSAPI支付请传”WEB”
|
|
||||||
v3LabsTransPreorderWechatReq.setAccBusiFields(wechatBus);
|
|
||||||
|
|
||||||
try {
|
|
||||||
//3. 发送请求
|
|
||||||
String responseStr = LKLSDK.httpPost(v3LabsTransPreorderWechatReq);
|
|
||||||
|
|
||||||
//4. 响应
|
|
||||||
return JSONUtil.parseObj(responseStr);
|
|
||||||
} catch (SDKException e) {
|
|
||||||
LakalaPayServiceImpl.log.error("transPreOrder error", e);
|
|
||||||
throw new ApiException(I18nUtil._("获取公众号绑定信息失败!"), e);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 拉卡拉预下单
|
* 拉卡拉预下单
|
||||||
@ -176,11 +128,8 @@ public class LakalaPayServiceImpl implements LakalaPayService {
|
|||||||
// 1. 配置初始化
|
// 1. 配置初始化
|
||||||
initLKLSDK();
|
initLKLSDK();
|
||||||
|
|
||||||
if (StrUtil.isBlank(merchantNo)) {
|
if (StrUtil.isBlank(merchantNo) || StrUtil.isBlank(termNo)) {
|
||||||
merchantNo = this.merchantNo;
|
throw new ApiException(I18nUtil._("缺少商户号或终端号!"));
|
||||||
}
|
|
||||||
if (StrUtil.isBlank(termNo)) {
|
|
||||||
termNo = this.termNo;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//2. 装配数据
|
//2. 装配数据
|
||||||
@ -238,104 +187,6 @@ public class LakalaPayServiceImpl implements LakalaPayService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 聚合扫码-交易查询
|
|
||||||
*
|
|
||||||
* @param storeId
|
|
||||||
* @param orderId
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public JSONObject tradeQuery(Integer storeId, String orderId) {
|
|
||||||
if (ObjectUtil.isEmpty(storeId) || StrUtil.isBlank(orderId)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 1. 配置初始化
|
|
||||||
initLKLSDK();
|
|
||||||
|
|
||||||
// 这里获取店铺的拉卡拉的商户号和终端号码
|
|
||||||
ShopStoreBase shopStoreBase = shopService.getLklMerchantNoAndTermNo(storeId);
|
|
||||||
if (shopStoreBase == null || StrUtil.isBlank(shopStoreBase.getLkl_merchant_no()) || StrUtil.isBlank(shopStoreBase.getLkl_term_no())) {
|
|
||||||
log.error("缺少参数,拉卡拉交易查询失败!");
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
//2. 装配数据
|
|
||||||
V3LabsQueryTradequeryRequest v3LabsQueryTradequeryRequest = new V3LabsQueryTradequeryRequest();
|
|
||||||
v3LabsQueryTradequeryRequest.setMerchantNo(shopStoreBase.getLkl_merchant_no());
|
|
||||||
v3LabsQueryTradequeryRequest.setTermNo(shopStoreBase.getLkl_term_no());
|
|
||||||
v3LabsQueryTradequeryRequest.setOutTradeNo(orderId);
|
|
||||||
|
|
||||||
try {
|
|
||||||
//3. 发送请求
|
|
||||||
String responseStr = LKLSDK.httpPost(v3LabsQueryTradequeryRequest);
|
|
||||||
|
|
||||||
JSONObject lakalaRespJSON = JSONUtil.parseObj(responseStr);
|
|
||||||
// || !lakalaRespJSON.getStr("code").equals("BBS00000")
|
|
||||||
|
|
||||||
return lakalaRespJSON;
|
|
||||||
} catch (SDKException e) {
|
|
||||||
log.error("交易查询失败:", e);
|
|
||||||
throw new ApiException(I18nUtil._("交易查询失败!"), e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 聚合扫码-退款交易
|
|
||||||
* 主被扫交易发生后,因商家或消费者原因需要退款时,商家调用此接口退还消费者支付款项。
|
|
||||||
* 注意: 1、调用退款接口时请保证商户/账户余额大于等于本次退款金额
|
|
||||||
*
|
|
||||||
* @param storeId
|
|
||||||
* @param out_trade_no
|
|
||||||
* @param origin_trade_no // 原拉卡拉交易流水号
|
|
||||||
* @param refund_amount 单位分,整数数字型字符
|
|
||||||
* @param refund_reason
|
|
||||||
* @param requestIP
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public JSONObject refund(Integer storeId, String out_trade_no, String origin_trade_no, String refund_amount, String refund_reason, String requestIP) {
|
|
||||||
if (ObjectUtil.isEmpty(storeId) || StrUtil.isBlank(out_trade_no) || StrUtil.isBlank(refund_amount) || StrUtil.isBlank(origin_trade_no) || StrUtil.isBlank(requestIP)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 1. 配置初始化
|
|
||||||
initLKLSDK();
|
|
||||||
|
|
||||||
|
|
||||||
// 这里获取店铺的拉卡拉的商户号和终端号码
|
|
||||||
ShopStoreBase shopStoreBase = shopService.getLklMerchantNoAndTermNo(storeId);
|
|
||||||
if (shopStoreBase == null || StrUtil.isBlank(shopStoreBase.getLkl_merchant_no()) || StrUtil.isBlank(shopStoreBase.getLkl_term_no())) {
|
|
||||||
log.error("缺少参数,退款交易失败!");
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
//2. 装配数据
|
|
||||||
V3LabsRelationIdmrefundRequest req = new V3LabsRelationIdmrefundRequest();
|
|
||||||
req.setOutRefundOrderNo(out_trade_no);
|
|
||||||
req.setMerchantNo(shopStoreBase.getLkl_merchant_no());
|
|
||||||
req.setTermNo(shopStoreBase.getLkl_term_no());
|
|
||||||
req.setRefundAmount(refund_amount);
|
|
||||||
req.setRefundReason(refund_reason);
|
|
||||||
req.setOriginTradeNo(origin_trade_no);
|
|
||||||
|
|
||||||
V3LabsTradeLocationInfo v3LabsTradeLocationInfo = new V3LabsTradeLocationInfo(requestIP, null, "");
|
|
||||||
req.setLocationInfo(v3LabsTradeLocationInfo);
|
|
||||||
|
|
||||||
try {
|
|
||||||
//3. 发送请求
|
|
||||||
String responseStr = LKLSDK.httpPost(req);
|
|
||||||
|
|
||||||
JSONObject lakalaRespJSON = JSONUtil.parseObj(responseStr);
|
|
||||||
|
|
||||||
return lakalaRespJSON;
|
|
||||||
} catch (SDKException e) {
|
|
||||||
log.error("退款交易失败:", e);
|
|
||||||
throw new ApiException(I18nUtil._("退款交易!"), e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 执行内部拉卡拉交易退款
|
* 执行内部拉卡拉交易退款
|
||||||
@ -421,46 +272,6 @@ public class LakalaPayServiceImpl implements LakalaPayService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 账户余额查询
|
|
||||||
* 参考:https://o.lakala.com/#/home/document/detail?id=364
|
|
||||||
*
|
|
||||||
* @param orgNo bmcp机构号 测试 “1”
|
|
||||||
* @param merchantNo 商户号 或 receiveNo 或 商户用户编号
|
|
||||||
* @param payNo 账号(若该参数上送,则payType将无效)
|
|
||||||
* @param payType 账号类型(01:收款账户,02:付款账户,03:分账商户账户,04:分账接收方账户,05:充值代付账户,06:结算代付账户)- 未上送则默认为01
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public JSONObject ewalletBalanceQuery(String orgNo, String merchantNo, String payNo, String payType) {
|
|
||||||
if (StrUtil.isBlank(orgNo) || StrUtil.isBlank(merchantNo) || (StrUtil.isBlank(payNo) && StrUtil.isBlank(payType))) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 1. 配置初始化
|
|
||||||
initLKLSDK();
|
|
||||||
|
|
||||||
|
|
||||||
//2. 装配数据
|
|
||||||
V2LaepIndustryEwalletBalanceQueryRequest req = new V2LaepIndustryEwalletBalanceQueryRequest();
|
|
||||||
req.setOrgNo(orgNo);
|
|
||||||
req.setMerchantNo(merchantNo);
|
|
||||||
req.setPayNo(payNo);
|
|
||||||
req.setPayType(payType);
|
|
||||||
|
|
||||||
try {
|
|
||||||
//3. 发送请求
|
|
||||||
String responseStr = LKLSDK.httpPost(req);
|
|
||||||
|
|
||||||
JSONObject lakalaRespJSON = JSONUtil.parseObj(responseStr);
|
|
||||||
|
|
||||||
return lakalaRespJSON;
|
|
||||||
} catch (SDKException e) {
|
|
||||||
log.error("账户余额查询失败:", e);
|
|
||||||
throw new ApiException(I18nUtil._("账户余额查询!"), e);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 文件上传
|
* 文件上传
|
||||||
|
|||||||
@ -127,7 +127,7 @@ lakala:
|
|||||||
lkl_platform_cer_path: payKey/lakala/dev/lkl_notify_cert_v2.cer
|
lkl_platform_cer_path: payKey/lakala/dev/lkl_notify_cert_v2.cer
|
||||||
# 机构代码
|
# 机构代码
|
||||||
org_code: 1
|
org_code: 1
|
||||||
#商户号
|
# #商户号
|
||||||
merchant_no: 82229007392000A
|
# merchant_no: 82229007392000A
|
||||||
#终端号
|
# #终端号
|
||||||
term_no: D9296400
|
# term_no: D9296400
|
||||||
@ -129,7 +129,7 @@ lakala:
|
|||||||
lkl_platform_cer_path: payKey/lakala/dev/lkl_notify_cert_v2.cer
|
lkl_platform_cer_path: payKey/lakala/dev/lkl_notify_cert_v2.cer
|
||||||
# 机构代码
|
# 机构代码
|
||||||
org_code: 1
|
org_code: 1
|
||||||
#商户号
|
# #商户号
|
||||||
merchant_no: 82229007392000A
|
# merchant_no: 82229007392000A
|
||||||
#终端号
|
# #终端号
|
||||||
term_no: D9296400
|
# term_no: D9296400
|
||||||
@ -116,6 +116,20 @@ project:
|
|||||||
domain: @project.domain@
|
domain: @project.domain@
|
||||||
#拉卡拉支付和分账
|
#拉卡拉支付和分账
|
||||||
lakala:
|
lakala:
|
||||||
|
# #服务地址
|
||||||
|
# server_url: https://test.wsmsd.cn/sit
|
||||||
|
# #应用Id
|
||||||
|
# app_id: OP00000003
|
||||||
|
# #商户证书序列号
|
||||||
|
# serial_no: 00dfba8194c41b84cf
|
||||||
|
# #商户证书
|
||||||
|
# api_cert_path: payKey/lakala/dev/OP00000003_cert.cer
|
||||||
|
# #商户私钥
|
||||||
|
# api_pri_key_path: payKey/lakala/dev/OP00000003_private_key.pem
|
||||||
|
# #拉卡拉平台证书
|
||||||
|
# lkl_platform_cer_path: payKey/lakala/dev/lkl_notify_cert_v2.cer
|
||||||
|
# # 机构代码
|
||||||
|
# org_code: 1
|
||||||
#服务地址
|
#服务地址
|
||||||
server_url: https://s2.lakala.com
|
server_url: https://s2.lakala.com
|
||||||
#应用Id
|
#应用Id
|
||||||
@ -130,7 +144,7 @@ lakala:
|
|||||||
lkl_platform_cer_path: payKey/lakala/prod/lkl_platform.cer
|
lkl_platform_cer_path: payKey/lakala/prod/lkl_platform.cer
|
||||||
#机构代码
|
#机构代码
|
||||||
org_code: 980688
|
org_code: 980688
|
||||||
#商户号
|
# #商户号
|
||||||
merchant_no: 8226330599900LN
|
# merchant_no: 8226330599900LN
|
||||||
#终端号码,M0780629(B2B收银台) M0780798(专业化扫码)
|
# #终端号码,M0780629(B2B收银台) M0780798(专业化扫码)
|
||||||
term_no: M0780798
|
# term_no: M0780798
|
||||||
|
|||||||
@ -127,7 +127,7 @@ lakala:
|
|||||||
lkl_platform_cer_path: payKey/lakala/dev/lkl_notify_cert_v2.cer
|
lkl_platform_cer_path: payKey/lakala/dev/lkl_notify_cert_v2.cer
|
||||||
# 机构代码
|
# 机构代码
|
||||||
org_code: 1
|
org_code: 1
|
||||||
#商户号
|
# #商户号
|
||||||
merchant_no: 82229007392000A
|
# merchant_no: 82229007392000A
|
||||||
#终端号
|
# #终端号
|
||||||
term_no: D9296400
|
# term_no: D9296400
|
||||||
@ -127,7 +127,7 @@ lakala:
|
|||||||
lkl_platform_cer_path: payKey/lakala/dev/lkl_notify_cert_v2.cer
|
lkl_platform_cer_path: payKey/lakala/dev/lkl_notify_cert_v2.cer
|
||||||
# 机构代码
|
# 机构代码
|
||||||
org_code: 1
|
org_code: 1
|
||||||
#商户号
|
# #商户号
|
||||||
merchant_no: 82229007392000A
|
# merchant_no: 82229007392000A
|
||||||
#终端号
|
# #终端号
|
||||||
term_no: D9296400
|
# term_no: D9296400
|
||||||
@ -13,7 +13,6 @@ import com.suisung.mall.common.api.CommonResult;
|
|||||||
import org.springframework.data.util.Pair;
|
import org.springframework.data.util.Pair;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 拉卡拉业务接口
|
* 拉卡拉业务接口
|
||||||
@ -22,26 +21,6 @@ public interface LakalaApiService {
|
|||||||
|
|
||||||
Boolean initLKLSDK();
|
Boolean initLKLSDK();
|
||||||
|
|
||||||
JSONObject transPreOrder(HttpServletRequest request, HttpServletResponse response, String orderId);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 拉卡拉预下单
|
|
||||||
* 参考:https://o.lakala.com/#/home/document/detail?id=110
|
|
||||||
*
|
|
||||||
* @param merchantNo 商户号
|
|
||||||
* @param termNo 终端号
|
|
||||||
* @param xcxAppId 小程序appid
|
|
||||||
* @param openId openid
|
|
||||||
* @param orderId 订单号
|
|
||||||
* @param subject 订单标题
|
|
||||||
* @param totalAmount 订单金额
|
|
||||||
* @param notifyURL 回调地址
|
|
||||||
* @param requestIP 请求ip
|
|
||||||
* @param remark 备注
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
JSONObject transPreOrder(String merchantNo, String termNo, String xcxAppId, String openId, String orderId, String subject, String totalAmount, String notifyURL, String requestIP, String remark);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 聚合扫码-交易查询
|
* 聚合扫码-交易查询
|
||||||
*
|
*
|
||||||
|
|||||||
@ -15,12 +15,10 @@ import cn.hutool.core.util.StrUtil;
|
|||||||
import cn.hutool.json.JSONArray;
|
import cn.hutool.json.JSONArray;
|
||||||
import cn.hutool.json.JSONObject;
|
import cn.hutool.json.JSONObject;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.ijpay.core.kit.IpKit;
|
|
||||||
import com.lkl.laop.sdk.LKLSDK;
|
import com.lkl.laop.sdk.LKLSDK;
|
||||||
import com.lkl.laop.sdk.exception.SDKException;
|
import com.lkl.laop.sdk.exception.SDKException;
|
||||||
import com.lkl.laop.sdk.request.*;
|
import com.lkl.laop.sdk.request.*;
|
||||||
import com.lkl.laop.sdk.request.model.V3LabsTradeLocationInfo;
|
import com.lkl.laop.sdk.request.model.V3LabsTradeLocationInfo;
|
||||||
import com.lkl.laop.sdk.request.model.V3LabsTradePreorderWechatBus;
|
|
||||||
import com.lkl.laop.sdk.request.model.V3SacsSeparateRecvDatas;
|
import com.lkl.laop.sdk.request.model.V3SacsSeparateRecvDatas;
|
||||||
import com.suisung.mall.common.api.CommonResult;
|
import com.suisung.mall.common.api.CommonResult;
|
||||||
import com.suisung.mall.common.constant.CommonConstant;
|
import com.suisung.mall.common.constant.CommonConstant;
|
||||||
@ -51,7 +49,6 @@ import org.springframework.util.CollectionUtils;
|
|||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
@ -67,10 +64,10 @@ public class LakalaApiServiceImpl implements LakalaApiService {
|
|||||||
private static final String lklSuccessCode = "000000";
|
private static final String lklSuccessCode = "000000";
|
||||||
private static final String lklSacsSuccessCode = "SACS0000";
|
private static final String lklSacsSuccessCode = "SACS0000";
|
||||||
// 可选的两个参数,不同的店铺商家,可以数据库里配置不同的商户号和终端号
|
// 可选的两个参数,不同的店铺商家,可以数据库里配置不同的商户号和终端号
|
||||||
@Value("${lakala.merchant_no}")
|
// @Value("${lakala.merchant_no}")
|
||||||
public String merchantNo; // 拉卡拉分配的商户号
|
// public String merchantNo; // 拉卡拉分配的商户号
|
||||||
@Value("${lakala.term_no}")
|
// @Value("${lakala.term_no}")
|
||||||
public String termNo; // 拉卡拉分配的终端号码
|
// public String termNo; // 拉卡拉分配的终端号码
|
||||||
|
|
||||||
@Value("${lakala.server_url}")
|
@Value("${lakala.server_url}")
|
||||||
private String serverUrl; //服务地址
|
private String serverUrl; //服务地址
|
||||||
@ -175,127 +172,6 @@ public class LakalaApiServiceImpl implements LakalaApiService {
|
|||||||
return "prod".equalsIgnoreCase(profile);
|
return "prod".equalsIgnoreCase(profile);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public JSONObject transPreOrder(HttpServletRequest request, HttpServletResponse response, String orderId) {
|
|
||||||
// 1. 配置初始化
|
|
||||||
initLKLSDK();
|
|
||||||
|
|
||||||
//2. 装配数据
|
|
||||||
/*** 微信主扫场景示例 */
|
|
||||||
V3LabsTransPreorderRequest v3LabsTransPreorderWechatReq = new V3LabsTransPreorderRequest();
|
|
||||||
v3LabsTransPreorderWechatReq.setMerchantNo(merchantNo);
|
|
||||||
v3LabsTransPreorderWechatReq.setTermNo(termNo);
|
|
||||||
v3LabsTransPreorderWechatReq.setOutTradeNo(orderId);
|
|
||||||
v3LabsTransPreorderWechatReq.setSubject("油麦菜5斤装特惠");
|
|
||||||
v3LabsTransPreorderWechatReq.setAccountType("WECHAT");
|
|
||||||
v3LabsTransPreorderWechatReq.setTransType("51");
|
|
||||||
v3LabsTransPreorderWechatReq.setTotalAmount("1");
|
|
||||||
v3LabsTransPreorderWechatReq.setNotifyUrl("http://mall.gpxscs.cn/notify");
|
|
||||||
v3LabsTransPreorderWechatReq.setRemark("测试预下单备注");
|
|
||||||
|
|
||||||
//地址位置信息
|
|
||||||
V3LabsTradeLocationInfo v3LabsTradePreorderLocationInfo1 = new V3LabsTradeLocationInfo(IpKit.getRealIp(request));
|
|
||||||
v3LabsTransPreorderWechatReq.setLocationInfo(v3LabsTradePreorderLocationInfo1);
|
|
||||||
|
|
||||||
//微信主扫场景下acc_busi_fields域内容
|
|
||||||
V3LabsTradePreorderWechatBus wechatBus = new V3LabsTradePreorderWechatBus();
|
|
||||||
wechatBus.setSubAppid("wx5a73f844dac0da5c"); // 小程序appId
|
|
||||||
wechatBus.setUserId("oDVKR7T0qxg6O8tqIL9SgY6LXqqQ"); // 微信 openId
|
|
||||||
wechatBus.setDeviceInfo("WEB"); // 终端设备号(门店号或收银设备ID),注意:PC网页或JSAPI支付请传”WEB”
|
|
||||||
v3LabsTransPreorderWechatReq.setAccBusiFields(wechatBus);
|
|
||||||
|
|
||||||
try {
|
|
||||||
//3. 发送请求
|
|
||||||
String responseStr = LKLSDK.httpPost(v3LabsTransPreorderWechatReq);
|
|
||||||
if (StrUtil.isBlank(responseStr)) {
|
|
||||||
throw new ApiException(I18nUtil._("下单无响应!"));
|
|
||||||
}
|
|
||||||
|
|
||||||
//4. 响应
|
|
||||||
return JSONUtil.parseObj(responseStr);
|
|
||||||
} catch (SDKException e) {
|
|
||||||
LakalaApiServiceImpl.log.error("transPreOrder error", e);
|
|
||||||
throw new ApiException(I18nUtil._("获取公众号绑定信息失败!"), e);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 拉卡拉预下单
|
|
||||||
* 参考:https://o.lakala.com/#/home/document/detail?id=110
|
|
||||||
*
|
|
||||||
* @param merchantNo 商户号
|
|
||||||
* @param termNo 终端号
|
|
||||||
* @param xcxAppId 小程序appid
|
|
||||||
* @param openId openid
|
|
||||||
* @param orderId 订单号
|
|
||||||
* @param subject 订单标题
|
|
||||||
* @param totalAmount 订单金额
|
|
||||||
* @param notifyURL 回调地址
|
|
||||||
* @param requestIP 请求ip
|
|
||||||
* @param remark 备注
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public JSONObject transPreOrder(String merchantNo, String termNo, String xcxAppId, String openId, String orderId, String subject, String totalAmount, String notifyURL, String requestIP, String remark) {
|
|
||||||
// 1. 配置初始化
|
|
||||||
initLKLSDK();
|
|
||||||
|
|
||||||
if (StrUtil.isBlank(merchantNo)) {
|
|
||||||
merchantNo = this.merchantNo;
|
|
||||||
}
|
|
||||||
if (StrUtil.isBlank(termNo)) {
|
|
||||||
termNo = this.termNo;
|
|
||||||
}
|
|
||||||
|
|
||||||
//2. 装配数据
|
|
||||||
/*** 微信主扫场景示例 */
|
|
||||||
V3LabsTransPreorderRequest v3LabsTransPreorderWechatReq = new V3LabsTransPreorderRequest();
|
|
||||||
v3LabsTransPreorderWechatReq.setMerchantNo(merchantNo);
|
|
||||||
v3LabsTransPreorderWechatReq.setTermNo(termNo);
|
|
||||||
v3LabsTransPreorderWechatReq.setOutTradeNo(orderId);
|
|
||||||
v3LabsTransPreorderWechatReq.setSubject(subject);
|
|
||||||
//微信:WECHAT 支付宝:ALIPAY 银联:UQRCODEPAY 翼支付: BESTPAY 苏宁易付宝: SUNING 拉卡拉支付账户:LKLACC 网联小钱包:NUCSPAY 京东钱包:JD
|
|
||||||
v3LabsTransPreorderWechatReq.setAccountType("WECHAT");
|
|
||||||
// 41:NATIVE((ALIPAY,云闪付支持,京东白条分期)51:JSAPI(微信公众号支付,支付宝服务窗支付,银联JS支付,翼支付JS支付、拉卡拉钱包支付)71:微信小程序支付 61:APP支付(微信APP支付)
|
|
||||||
v3LabsTransPreorderWechatReq.setTransType("51");
|
|
||||||
v3LabsTransPreorderWechatReq.setTotalAmount(totalAmount);
|
|
||||||
v3LabsTransPreorderWechatReq.setSettleType("1"); //“0”或者空,常规结算方式,如需接拉卡拉分账通需传“1”,商户未开通分账之前切记不用上送此参数。;
|
|
||||||
v3LabsTransPreorderWechatReq.setNotifyUrl(notifyURL);
|
|
||||||
v3LabsTransPreorderWechatReq.setRemark(remark);
|
|
||||||
|
|
||||||
//地址位置信息
|
|
||||||
V3LabsTradeLocationInfo v3LabsTradePreorderLocationInfo = new V3LabsTradeLocationInfo(requestIP);
|
|
||||||
v3LabsTransPreorderWechatReq.setLocationInfo(v3LabsTradePreorderLocationInfo);
|
|
||||||
|
|
||||||
//微信主扫场景下 acc_busi_fields 域内容
|
|
||||||
V3LabsTradePreorderWechatBus wechatBus = new V3LabsTradePreorderWechatBus();
|
|
||||||
wechatBus.setSubAppid(xcxAppId); // 小程序appId
|
|
||||||
wechatBus.setUserId(openId); // 微信 openId
|
|
||||||
wechatBus.setDeviceInfo("WEB"); // 终端设备号(门店号或收银设备ID),注意:PC网页或JSAPI支付请传”WEB”
|
|
||||||
v3LabsTransPreorderWechatReq.setAccBusiFields(wechatBus);
|
|
||||||
|
|
||||||
try {
|
|
||||||
log.info("拉卡拉预下单请求参数:{}", JSONUtil.toJsonStr(v3LabsTransPreorderWechatReq));
|
|
||||||
|
|
||||||
//3. 发送请求
|
|
||||||
String responseStr = LKLSDK.httpPost(v3LabsTransPreorderWechatReq);
|
|
||||||
log.info("拉卡拉预下单响应数据:{}", responseStr);
|
|
||||||
if (StrUtil.isBlank(responseStr)) {
|
|
||||||
throw new ApiException(I18nUtil._("下单无响应!"));
|
|
||||||
}
|
|
||||||
|
|
||||||
JSONObject lakalaRespJSON = JSONUtil.parseObj(responseStr);
|
|
||||||
|
|
||||||
// || !lakalaRespJSON.getStr("code").equals("BBS00000")
|
|
||||||
|
|
||||||
//4. 响应
|
|
||||||
return lakalaRespJSON;
|
|
||||||
} catch (SDKException e) {
|
|
||||||
log.error("拉卡拉支付出错:", e);
|
|
||||||
throw new ApiException(I18nUtil._("支付失败!"), e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 聚合扫码-交易查询
|
* 聚合扫码-交易查询
|
||||||
@ -877,7 +753,7 @@ public class LakalaApiServiceImpl implements LakalaApiService {
|
|||||||
Boolean success = lklLedgerEcService.updateByApplyId(updRecord);
|
Boolean success = lklLedgerEcService.updateByApplyId(updRecord);
|
||||||
if (success) {
|
if (success) {
|
||||||
// 更新商家入驻表的合同编号,和签署地址,更改状态
|
// 更新商家入驻表的合同编号,和签署地址,更改状态
|
||||||
shopMchEntryService.updateMerchEntryLklEcNo(lklLedgerEc.getMch_id(), ecNo, paramsJSON.getStr("ecName"), lklLedgerEc.getResult_url(), ecCosFileUrl, eclklFilePath);
|
shopMchEntryService.updateMerchantLklElectronicContractInfo(lklLedgerEc.getMch_id(), ecNo, paramsJSON.getStr("ecName"), lklLedgerEc.getResult_url(), ecCosFileUrl, eclklFilePath);
|
||||||
|
|
||||||
// TODO 商家电子合同签署完毕后,收到异步通知,触发拉卡拉商家进件(重要环节)
|
// TODO 商家电子合同签署完毕后,收到异步通知,触发拉卡拉商家进件(重要环节)
|
||||||
// 下一步,等待拉卡拉系统审核,和人工审核,收到异步通知之后,触发1、e签宝的电子合同签署,2、新增分账接收方
|
// 下一步,等待拉卡拉系统审核,和人工审核,收到异步通知之后,触发1、e签宝的电子合同签署,2、新增分账接收方
|
||||||
|
|||||||
@ -8406,7 +8406,7 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMappe
|
|||||||
// 顺丰同城业务员给的店铺id
|
// 顺丰同城业务员给的店铺id
|
||||||
shopId = shopStoreSameCityTransportBase.getShop_id();
|
shopId = shopStoreSameCityTransportBase.getShop_id();
|
||||||
if (StrUtil.isBlank(shopId)) {
|
if (StrUtil.isBlank(shopId)) {
|
||||||
logger.error("请联系站长配置顺丰同城店铺ID!");
|
logger.error("请联系顺丰同城配置店铺ID!");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -225,9 +225,6 @@ public class SFExpressApiServiceImpl implements SFExpressApiService {
|
|||||||
// 商城订单状态:2020-待配货/待出库审核
|
// 商城订单状态:2020-待配货/待出库审核
|
||||||
shopOrderInfoService.changeOrderStatus(shopOrderId, StateCode.ORDER_STATE_PICKING, 0, 0);
|
shopOrderInfoService.changeOrderStatus(shopOrderId, StateCode.ORDER_STATE_PICKING, 0, 0);
|
||||||
|
|
||||||
// 上传发货信息到微信
|
|
||||||
// wxOrderShippingService.uploadShippingInfoToWx(2, shopStoreSfOrder.getShop_order_id());
|
|
||||||
|
|
||||||
return Pair.of(true, "顺丰同城下单成功!");
|
return Pair.of(true, "顺丰同城下单成功!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -181,17 +181,17 @@ public interface ShopMchEntryService {
|
|||||||
Boolean updateMerchEntryStoreId(Long id, Integer storeId);
|
Boolean updateMerchEntryStoreId(Long id, Integer storeId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新拉卡拉入网电子合同、合同名称、签署COS地址, LKL文件相对路径
|
* 更新商户入驻信息的拉卡拉电子合同相关信息
|
||||||
*
|
*
|
||||||
* @param id
|
* @param merchantId 商户入驻ID, 不能为空
|
||||||
* @param lklEcNo
|
* @param lklElectronicContractNo 拉卡拉电子合同编号
|
||||||
* @param lklEcName
|
* @param lklElectronicContractName 拉卡拉电子合同名称
|
||||||
* @param lklEcResultUrl
|
* @param lklElectronicContractResultUrl 拉卡拉电子合同结果URL
|
||||||
* @param ecDownloadUrl
|
* @param contractDownloadUrl 合同下载地址
|
||||||
* @param ecLklFilePath
|
* @param lklElectronicContractFilePath 拉卡拉电子合同文件路径
|
||||||
* @return
|
* @return 更新成功返回 true, 失败返回 false
|
||||||
*/
|
*/
|
||||||
Boolean updateMerchEntryLklEcNo(Long id, String lklEcNo, String lklEcName, String lklEcResultUrl, String ecDownloadUrl, String ecLklFilePath);
|
Boolean updateMerchantLklElectronicContractInfo(Long merchantId, String lklElectronicContractNo, String lklElectronicContractName, String lklElectronicContractResultUrl, String contractDownloadUrl, String lklElectronicContractFilePath);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新商家入驻申请的审批状态和审批备注
|
* 更新商家入驻申请的审批状态和审批备注
|
||||||
|
|||||||
@ -942,46 +942,108 @@ public class ShopMchEntryServiceImpl extends BaseServiceImpl<ShopMchEntryMapper,
|
|||||||
.set("store_id", storeId));
|
.set("store_id", storeId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// /**
|
||||||
|
// * 更新拉卡拉入网电子合同和签署地址
|
||||||
|
// *
|
||||||
|
// * @param id
|
||||||
|
// * @param lklEcNo
|
||||||
|
// * @param lklEcResultUrl
|
||||||
|
// * @param ecDownloadUrl
|
||||||
|
// * @param ecLklFilePath
|
||||||
|
// * @return
|
||||||
|
// */
|
||||||
|
// @Override
|
||||||
|
// public Boolean updateMerchEntryLklEcNo(Long id, String lklEcNo, String lklEcName, String lklEcResultUrl, String ecDownloadUrl, String ecLklFilePath) {
|
||||||
|
// if (ObjectUtil.isEmpty(id) && StrUtil.isBlank(lklEcNo)) {
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// UpdateWrapper<ShopMchEntry> updateWrapper = new UpdateWrapper<>();
|
||||||
|
// updateWrapper.eq("id", id);
|
||||||
|
// updateWrapper.set("lkl_ec_no", lklEcNo);
|
||||||
|
//
|
||||||
|
// if (StrUtil.isNotBlank(lklEcName)) {
|
||||||
|
// updateWrapper.set("lkl_ec_name", lklEcName);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// if (StrUtil.isNotBlank(lklEcResultUrl)) {
|
||||||
|
// updateWrapper.set("lkl_ec_result_url", lklEcResultUrl);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// if (StrUtil.isNotBlank(ecDownloadUrl)) {
|
||||||
|
// updateWrapper.set("contract_download_url", ecDownloadUrl);
|
||||||
|
//// updateWrapper.set("signed_status", CommonConstant.CONTRACT_SIGN_STA_FINISH);
|
||||||
|
// updateWrapper.set("has_ec_signed", CommonConstant.Enable);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// if (StrUtil.isNotBlank(ecLklFilePath)) {
|
||||||
|
// updateWrapper.set("lkl_ec_file_path", ecLklFilePath);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// return update(updateWrapper);
|
||||||
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新拉卡拉入网电子合同和签署地址
|
* 更新商户入驻信息的拉卡拉电子合同相关信息
|
||||||
*
|
*
|
||||||
* @param id
|
* @param merchantId 商户入驻ID, 不能为空
|
||||||
* @param lklEcNo
|
* @param lklElectronicContractNo 拉卡拉电子合同编号
|
||||||
* @param lklEcResultUrl
|
* @param lklElectronicContractName 拉卡拉电子合同名称
|
||||||
* @param ecDownloadUrl
|
* @param lklElectronicContractResultUrl 拉卡拉电子合同结果URL
|
||||||
* @param ecLklFilePath
|
* @param contractDownloadUrl 合同下载地址
|
||||||
* @return
|
* @param lklElectronicContractFilePath 拉卡拉电子合同文件路径
|
||||||
|
* @return 更新成功返回 true, 失败返回 false
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Boolean updateMerchEntryLklEcNo(Long id, String lklEcNo, String lklEcName, String lklEcResultUrl, String ecDownloadUrl, String ecLklFilePath) {
|
public Boolean updateMerchantLklElectronicContractInfo(Long merchantId, String lklElectronicContractNo, String lklElectronicContractName, String lklElectronicContractResultUrl, String contractDownloadUrl, String lklElectronicContractFilePath) {
|
||||||
if (ObjectUtil.isEmpty(id) && StrUtil.isBlank(lklEcNo)) {
|
// 1. 参数校验: 确保merchantId和lklElectronicContractNo至少有一个不为空
|
||||||
|
if (ObjectUtil.isEmpty(merchantId) && StrUtil.isBlank(lklElectronicContractNo)) {
|
||||||
|
log.warn("商户ID和拉卡拉电子合同编号都为空, 无法更新");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
UpdateWrapper<ShopMchEntry> updateWrapper = new UpdateWrapper<>();
|
try {
|
||||||
updateWrapper.eq("id", id);
|
// 2. 构建UpdateWrapper, 用于更新商户入驻信息
|
||||||
updateWrapper.set("lkl_ec_no", lklEcNo);
|
UpdateWrapper<ShopMchEntry> updateWrapper = new UpdateWrapper<>();
|
||||||
|
updateWrapper.eq("id", merchantId); // 设置更新条件: 商户ID
|
||||||
|
|
||||||
if (StrUtil.isNotBlank(lklEcName)) {
|
// 3. 使用链式调用优化, 避免多层if嵌套
|
||||||
updateWrapper.set("lkl_ec_name", lklEcName);
|
updateWrapper.set("lkl_ec_no", lklElectronicContractNo); // 设置拉卡拉电子合同编号
|
||||||
|
|
||||||
|
if (StrUtil.isNotBlank(lklElectronicContractName)) {
|
||||||
|
updateWrapper.set("lkl_ec_name", lklElectronicContractName); // 设置拉卡拉电子合同名称
|
||||||
|
}
|
||||||
|
|
||||||
|
if (StrUtil.isNotBlank(lklElectronicContractResultUrl)) {
|
||||||
|
updateWrapper.set("lkl_ec_result_url", lklElectronicContractResultUrl); // 设置拉卡拉电子合同结果URL
|
||||||
|
}
|
||||||
|
|
||||||
|
// 当合同下载地址不为空时, 更新合同下载地址和电子合同签署状态
|
||||||
|
if (StrUtil.isNotBlank(contractDownloadUrl)) {
|
||||||
|
updateWrapper.set("contract_download_url", contractDownloadUrl) // 设置合同下载地址
|
||||||
|
.set("has_ec_signed", CommonConstant.Enable); // 设置已签署电子合同
|
||||||
|
}
|
||||||
|
|
||||||
|
if (StrUtil.isNotBlank(lklElectronicContractFilePath)) {
|
||||||
|
updateWrapper.set("lkl_ec_file_path", lklElectronicContractFilePath); // 设置拉卡拉电子合同文件路径
|
||||||
|
}
|
||||||
|
|
||||||
|
// 4. 执行更新操作
|
||||||
|
boolean isUpdated = update(updateWrapper);
|
||||||
|
|
||||||
|
if (isUpdated) {
|
||||||
|
log.info("商户ID为 {} 的拉卡拉电子合同信息更新成功", merchantId);
|
||||||
|
} else {
|
||||||
|
log.error("商户ID为 {} 的拉卡拉电子合同信息更新失败", merchantId);
|
||||||
|
}
|
||||||
|
return isUpdated;
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
// 5. 异常处理: 记录异常信息, 避免程序中断
|
||||||
|
log.error("更新商户ID为 {} 的拉卡拉电子合同信息时发生异常", merchantId, e);
|
||||||
|
throw new RuntimeException("更新商户拉卡拉电子合同信息失败", e); // 抛出运行时异常, 触发事务回滚
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (StrUtil.isNotBlank(lklEcResultUrl)) {
|
|
||||||
updateWrapper.set("lkl_ec_result_url", lklEcResultUrl);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (StrUtil.isNotBlank(ecDownloadUrl)) {
|
|
||||||
updateWrapper.set("contract_download_url", ecDownloadUrl);
|
|
||||||
// updateWrapper.set("signed_status", CommonConstant.CONTRACT_SIGN_STA_FINISH);
|
|
||||||
updateWrapper.set("has_ec_signed", CommonConstant.Enable);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (StrUtil.isNotBlank(ecLklFilePath)) {
|
|
||||||
updateWrapper.set("lkl_ec_file_path", ecLklFilePath);
|
|
||||||
}
|
|
||||||
|
|
||||||
return update(updateWrapper);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -2320,7 +2320,6 @@ public class ShopStoreBaseServiceImpl extends BaseServiceImpl<ShopStoreBaseMappe
|
|||||||
base.setStore_biz_state(storeBizState);
|
base.setStore_biz_state(storeBizState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// 百度坐标系BD09经纬度 转出 火星坐标系GCJ02经纬度 (因为数据库保存的经纬度统一是GCJ02经纬度,所以需要转换 )
|
// 百度坐标系BD09经纬度 转出 火星坐标系GCJ02经纬度 (因为数据库保存的经纬度统一是GCJ02经纬度,所以需要转换 )
|
||||||
base = bd09ToGcj02Gps(base);
|
base = bd09ToGcj02Gps(base);
|
||||||
|
|
||||||
|
|||||||
@ -157,11 +157,8 @@ lakala:
|
|||||||
#拉卡拉平台证书
|
#拉卡拉平台证书
|
||||||
lkl_platform_cer_path: payKey/lakala/dev/lkl_notify_cert_v2.cer
|
lkl_platform_cer_path: payKey/lakala/dev/lkl_notify_cert_v2.cer
|
||||||
#机构代码
|
#机构代码
|
||||||
org_code: 1
|
org_code: 1951582
|
||||||
#商户号
|
is_prod: false
|
||||||
merchant_no: 82229007392000A
|
|
||||||
#终端号
|
|
||||||
term_no: D9296400
|
|
||||||
# 拉卡拉拓客进件配置
|
# 拉卡拉拓客进件配置
|
||||||
tk:
|
tk:
|
||||||
#服务地址
|
#服务地址
|
||||||
|
|||||||
@ -158,11 +158,6 @@ lakala:
|
|||||||
lkl_platform_cer_path: payKey/lakala/dev/lkl_notify_cert_v2.cer
|
lkl_platform_cer_path: payKey/lakala/dev/lkl_notify_cert_v2.cer
|
||||||
#机构代码
|
#机构代码
|
||||||
org_code: 1951582
|
org_code: 1951582
|
||||||
#1
|
|
||||||
#商户号, 测试商户号(未开通分账功能的):8222900539908Q9
|
|
||||||
merchant_no: 82229007392000A
|
|
||||||
#终端号
|
|
||||||
term_no: D9296400
|
|
||||||
is_prod: false
|
is_prod: false
|
||||||
# 拉卡拉拓客进件配置
|
# 拉卡拉拓客进件配置
|
||||||
tk:
|
tk:
|
||||||
|
|||||||
@ -167,10 +167,6 @@ lakala:
|
|||||||
# lkl_platform_cer_path: payKey/lakala/prod/lkl_platform.cer
|
# lkl_platform_cer_path: payKey/lakala/prod/lkl_platform.cer
|
||||||
# #机构代码
|
# #机构代码
|
||||||
# org_code: 980688
|
# org_code: 980688
|
||||||
# #商户号
|
|
||||||
# merchant_no: 8226330599900LN
|
|
||||||
# #终端号码,M0780629(B2B收银台) M0780798(专业化扫码)
|
|
||||||
# term_no: M0780798
|
|
||||||
#服务地址
|
#服务地址
|
||||||
server_url: https://test.wsmsd.cn/sit
|
server_url: https://test.wsmsd.cn/sit
|
||||||
#应用Id
|
#应用Id
|
||||||
@ -185,11 +181,6 @@ lakala:
|
|||||||
lkl_platform_cer_path: payKey/lakala/dev/lkl_notify_cert_v2.cer
|
lkl_platform_cer_path: payKey/lakala/dev/lkl_notify_cert_v2.cer
|
||||||
#机构代码
|
#机构代码
|
||||||
org_code: 1951582
|
org_code: 1951582
|
||||||
#1
|
|
||||||
#商户号, 测试商户号(未开通分账功能的):8222900539908Q9
|
|
||||||
merchant_no: 82229007392000A
|
|
||||||
#终端号
|
|
||||||
term_no: D9296400
|
|
||||||
is_prod: false
|
is_prod: false
|
||||||
#拉卡拉拓客进件配置
|
#拉卡拉拓客进件配置
|
||||||
tk:
|
tk:
|
||||||
|
|||||||
@ -161,11 +161,8 @@ lakala:
|
|||||||
#拉卡拉平台证书
|
#拉卡拉平台证书
|
||||||
lkl_platform_cer_path: payKey/lakala/dev/lkl_notify_cert_v2.cer
|
lkl_platform_cer_path: payKey/lakala/dev/lkl_notify_cert_v2.cer
|
||||||
#机构代码
|
#机构代码
|
||||||
org_code: 1
|
org_code: 1951582
|
||||||
#商户号
|
is_prod: false
|
||||||
merchant_no: 82229007392000A
|
|
||||||
#终端号
|
|
||||||
term_no: D9296400
|
|
||||||
# 拉卡拉拓客进件配置
|
# 拉卡拉拓客进件配置
|
||||||
tk:
|
tk:
|
||||||
#服务地址
|
#服务地址
|
||||||
|
|||||||
@ -161,11 +161,8 @@ lakala:
|
|||||||
#拉卡拉平台证书
|
#拉卡拉平台证书
|
||||||
lkl_platform_cer_path: payKey/lakala/dev/lkl_notify_cert_v2.cer
|
lkl_platform_cer_path: payKey/lakala/dev/lkl_notify_cert_v2.cer
|
||||||
#机构代码
|
#机构代码
|
||||||
org_code: 1
|
org_code: 1951582
|
||||||
#商户号
|
is_prod: false
|
||||||
merchant_no: 82229007392000A
|
|
||||||
#终端号
|
|
||||||
term_no: D9296400
|
|
||||||
# 拉卡拉拓客进件配置
|
# 拉卡拉拓客进件配置
|
||||||
tk:
|
tk:
|
||||||
#服务地址
|
#服务地址
|
||||||
|
|||||||
@ -115,13 +115,12 @@
|
|||||||
<where>
|
<where>
|
||||||
<choose>
|
<choose>
|
||||||
<when test="productName != null and productName != '' and keywords != null and keywords.size > 0">
|
<when test="productName != null and productName != '' and keywords != null and keywords.size > 0">
|
||||||
AND (
|
AND
|
||||||
p.name LIKE CONCAT('%', #{productName}, '%')
|
p.name LIKE CONCAT('%', #{productName}, '%')
|
||||||
OR
|
AND
|
||||||
<foreach collection="keywords" item="keyword" separator="OR">
|
<foreach collection="keywords" item="keyword" separator="OR" open="(" close=")">
|
||||||
p.keywords LIKE CONCAT('%', #{keyword}, '%')
|
p.keywords LIKE CONCAT('%', #{keyword}, '%')
|
||||||
</foreach>
|
</foreach>
|
||||||
)
|
|
||||||
</when>
|
</when>
|
||||||
<otherwise>
|
<otherwise>
|
||||||
<if test="productName != null and productName != ''">
|
<if test="productName != null and productName != ''">
|
||||||
@ -129,11 +128,10 @@
|
|||||||
</if>
|
</if>
|
||||||
|
|
||||||
<if test="keywords != null and keywords.size > 0">
|
<if test="keywords != null and keywords.size > 0">
|
||||||
AND (
|
AND
|
||||||
<foreach collection="keywords" item="keyword" separator="OR">
|
<foreach collection="keywords" item="keyword" separator="OR" open="(" close=")">
|
||||||
p.keywords LIKE CONCAT('%', #{keyword}, '%')
|
p.keywords LIKE CONCAT('%', #{keyword}, '%')
|
||||||
</foreach>
|
</foreach>
|
||||||
)
|
|
||||||
</if>
|
</if>
|
||||||
</otherwise>
|
</otherwise>
|
||||||
</choose>
|
</choose>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user