From 1635812bb5964fb5051d3660eb37a3d4fc41e8ea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=B8=85=E6=99=A8?= <136767481@qq.com>
Date: Mon, 19 May 2025 14:38:07 +0800
Subject: [PATCH] =?UTF-8?q?feat(mall):=20=E6=96=B0=E5=A2=9E=E5=95=86?=
=?UTF-8?q?=E5=93=81=E6=A0=87=E7=AD=BE=E7=AD=9B=E9=80=89=E5=8A=9F=E8=83=BD?=
=?UTF-8?q?=E5=B9=B6=E4=BC=98=E5=8C=96=E6=94=AF=E4=BB=98=E7=9B=B8=E5=85=B3?=
=?UTF-8?q?=E4=BB=A3=E7=A0=81-=20=E5=9C=A8=E5=95=86=E5=93=81=E6=90=9C?=
=?UTF-8?q?=E7=B4=A2=E6=8E=A5=E5=8F=A3=E4=B8=AD=E6=B7=BB=E5=8A=A0=E6=A0=87?=
=?UTF-8?q?=E7=AD=BE=E7=AD=9B=E9=80=89=E5=8F=82=E6=95=B0=20-=20=E6=9B=B4?=
=?UTF-8?q?=E6=96=B0=E6=95=B0=E6=8D=AE=E5=BA=93=E6=9F=A5=E8=AF=A2=E4=BB=A5?=
=?UTF-8?q?=E6=94=AF=E6=8C=81=E6=A0=87=E7=AD=BE=E7=AD=9B=E9=80=89=20-=20?=
=?UTF-8?q?=E7=A7=BB=E9=99=A4=E5=86=97=E4=BD=99=E7=9A=84=E6=94=AF=E4=BB=98?=
=?UTF-8?q?=E7=9B=B8=E5=85=B3=E4=BB=A3=E7=A0=81=20-=20=E6=9B=B4=E6=96=B0?=
=?UTF-8?q?=E6=8B=89=E5=8D=A1=E6=8B=89SDK=E7=9A=84=E8=B0=83=E7=94=A8?=
=?UTF-8?q?=E6=96=B9=E5=BC=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ruoyi-common/pom.xml | 2 +-
ruoyi-common/ruoyi-common-core/pom.xml | 13 --
.../zf/laop/java/sdk/demo/BaseCommonDemo.java | 8 +-
.../laop/java/sdk/demo/utils/KlkConstant.java | 8 +-
.../laop/java/sdk/demo/utils/LakalaUtils.java | 83 ++++++++
.../sdk/demo/utils/V3LakalaOrderUtils.java | 53 +++--
.../zf/laop/java/sdk/demo/BaseCommonDemo.java | 8 +-
.../laop/java/sdk/demo/utils/KlkConstant.java | 8 +-
.../sdk/demo/utils/V3LakalaUserUtils.java | 11 +-
.../demo/v3/V3LabsRelationRefundRequest.java | 166 +++++++++++++++
ruoyi-mall-api/pom.xml | 15 ++
.../controller/ApiAppletAuthController.java | 2 +-
.../web/controller/ApiCallbackController.java | 3 +-
.../web/controller/ApiProdController.java | 4 +-
.../org/dromara/web/utils/TxApiSdkUtils.java | 189 ++++++++++++++++++
ruoyi-modules/ruoyi-mall/pom.xml | 4 +-
.../org/dromara/mall/mapper/TzProdMapper.java | 2 +-
.../dromara/mall/service/ITzProdService.java | 2 +-
.../service/impl/HyOrderItemServiceImpl.java | 5 +-
.../mall/service/impl/HyOrderServiceImpl.java | 5 +-
.../service/impl/TzBankCardServiceImpl.java | 8 +-
.../mall/service/impl/TzProdServiceImpl.java | 5 +-
.../resources/mapper/mall/TzProdMapper.xml | 3 +
23 files changed, 539 insertions(+), 68 deletions(-)
create mode 100644 ruoyi-common/ruoyi-common-pay/src/main/java/com/lakala/zf/laop/java/sdk/demo/v3/V3LabsRelationRefundRequest.java
create mode 100644 ruoyi-mall-api/src/main/java/org/dromara/web/utils/TxApiSdkUtils.java
diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml
index 5beddba..12a4c82 100644
--- a/ruoyi-common/pom.xml
+++ b/ruoyi-common/pom.xml
@@ -35,7 +35,7 @@
ruoyi-common-websocket
ruoyi-common-sse
ruoyi-common-pay
- ruoyi-common-pay-new
+
ruoyi-common
diff --git a/ruoyi-common/ruoyi-common-core/pom.xml b/ruoyi-common/ruoyi-common-core/pom.xml
index 081c1ad..35b740d 100644
--- a/ruoyi-common/ruoyi-common-core/pom.xml
+++ b/ruoyi-common/ruoyi-common-core/pom.xml
@@ -99,20 +99,7 @@
transmittable-thread-local
-
-
- com.qcloud
- cos-sts_api
- ${com.qcloud.version}
- compile
-
-
-
- com.tencentcloudapi
- tencentcloud-sdk-java
- ${tencentcloudapi.version}
-
diff --git a/ruoyi-common/ruoyi-common-pay-new/src/main/java/com/lakala/zf/laop/java/sdk/demo/BaseCommonDemo.java b/ruoyi-common/ruoyi-common-pay-new/src/main/java/com/lakala/zf/laop/java/sdk/demo/BaseCommonDemo.java
index 6dda90f..4f35122 100644
--- a/ruoyi-common/ruoyi-common-pay-new/src/main/java/com/lakala/zf/laop/java/sdk/demo/BaseCommonDemo.java
+++ b/ruoyi-common/ruoyi-common-pay-new/src/main/java/com/lakala/zf/laop/java/sdk/demo/BaseCommonDemo.java
@@ -16,24 +16,24 @@ public class BaseCommonDemo {
// 你的证书序列号
private static final String serialNo = "0195119ac8ac";
- /*//商户私钥信息地址
+ //商户私钥信息地址
private static final String priKeyPath = "D:\\manage\\jcs\\OP10000499商户私钥.txt";
//拉卡拉支付平台证书地址
private static final String lklCerPath = "D:\\manage\\jcs\\平台公钥生产.cer";
//拉卡拉支付平台证书地址2(用于拉卡拉通知验签)+
- private static final String lklNotifyCerPath = "D:\\manage\\jcs\\平台公钥生产.cer";*/
+ private static final String lklNotifyCerPath = "D:\\manage\\jcs\\平台公钥生产.cer";
- //商户私钥信息地址
+ /*//商户私钥信息地址
private static final String priKeyPath = "/home/manage/jcs/OP10000499商户私钥.txt";
//拉卡拉支付平台证书地址
private static final String lklCerPath = "/home/manage/jcs/平台公钥生产.cer";
//拉卡拉支付平台证书地址2(用于拉卡拉通知验签)
- private static final String lklNotifyCerPath = "/home/manage/jcs/平台公钥生产.cer";
+ private static final String lklNotifyCerPath = "/home/manage/jcs/平台公钥生产.cer";*/
/**
* 拉卡拉报文加密对称性密钥
diff --git a/ruoyi-common/ruoyi-common-pay-new/src/main/java/com/lakala/zf/laop/java/sdk/demo/utils/KlkConstant.java b/ruoyi-common/ruoyi-common-pay-new/src/main/java/com/lakala/zf/laop/java/sdk/demo/utils/KlkConstant.java
index 4045bb7..19c7dec 100644
--- a/ruoyi-common/ruoyi-common-pay-new/src/main/java/com/lakala/zf/laop/java/sdk/demo/utils/KlkConstant.java
+++ b/ruoyi-common/ruoyi-common-pay-new/src/main/java/com/lakala/zf/laop/java/sdk/demo/utils/KlkConstant.java
@@ -40,22 +40,22 @@ public class KlkConstant {
/**
* bindAccount 分账关系绑定结果回调地址
*/
- public static final String BIND_ACC_URL = "https://jcs-api.52o.site/api/mall/callback/applyBind";
+ public static final String BIND_ACC_URL = "https://jcsapi-new.52o.site/jcsapi/api/mall/callback/applyBind";
/**
* 提现结果回调地址
*/
- public static final String WITHDRAWAL = "https://jcs-api.52o.site/api/mall/callback/withdrawal";
+ public static final String WITHDRAWAL = "https://jcsapi-new.52o.site/jcsapi/api/mall/callback/withdrawal";
/**
* 会员兑换码订单回调地址
*/
- public static final String MEMBER_CODE_ORDER = "https://jcs-api.52o.site/api/mall/callback/codeOrder";
+ public static final String MEMBER_CODE_ORDER = "https://jcsapi-new.52o.site/jcsapi/api/mall/callback/codeOrder";
/**
* 材料订单回调地址
*/
- public static final String MEMBER_ORDER = "https://jcs-api.52o.site/api/mall/callback/order";
+ public static final String MEMBER_ORDER = "https://jcsapi-new.52o.site/jcsapi/api/mall/callback/order";
/**
* 分账状态 处理中:PROCESSING, 已受理:ACCEPTED, 成功:SUCCESS, 失败:FAIL
diff --git a/ruoyi-common/ruoyi-common-pay-new/src/main/java/com/lakala/zf/laop/java/sdk/demo/utils/LakalaUtils.java b/ruoyi-common/ruoyi-common-pay-new/src/main/java/com/lakala/zf/laop/java/sdk/demo/utils/LakalaUtils.java
index c4ff361..aec1f70 100644
--- a/ruoyi-common/ruoyi-common-pay-new/src/main/java/com/lakala/zf/laop/java/sdk/demo/utils/LakalaUtils.java
+++ b/ruoyi-common/ruoyi-common-pay-new/src/main/java/com/lakala/zf/laop/java/sdk/demo/utils/LakalaUtils.java
@@ -7,6 +7,7 @@ import com.lakala.zf.laop.java.sdk.demo.BaseCommonDemo;
import com.lkl.laop.sdk.LKLSDK;
import com.lkl.laop.sdk.exception.SDKException;
import com.lkl.laop.sdk.request.V3CcssCounterOrderCreateRequest;
+import com.lkl.laop.sdk.request.model.V3CcssOrderOutSplitInfo;
import com.lkl.laop.sdk.request.model.V3CcssOrderSceneFieldInfo;
import java.math.BigDecimal;
@@ -21,6 +22,88 @@ import java.util.List;
public class LakalaUtils extends BaseCommonDemo {
+
+
+
+ */
+/**
+ * 聚合收银台创建订单
+ *
+ * @return
+ *//*
+
+ public static JSONObject createOrderPayment(String orderNo, BigDecimal payPrice, List splitInfoList) throws Exception {
+ doInit();
+ //创建订单请求参数
+ V3CcssCounterOrderCreateRequest request = new V3CcssCounterOrderCreateRequest();
+
+ //商户订单号
+ request.setOutOrderNo(orderNo);
+
+ //是否支持多次发起订单 0 不支持 1 支持
+ request.setSupportRepeatPay(1);
+
+ //银联商户号
+ request.setMerchantNo(KlkConstant.merchantNo);
+
+ //订单支付金额 单位:分
+ request.setTotalAmount(payPrice.multiply(new BigDecimal(100)).longValue());
+
+ //支付有效期 一天
+ request.setOrderEfficientTime(DateUtil.format(DateUtil.offsetDay(new Date(), 1), "yyyyMMddHHmmss"));
+
+ //回调地址
+ request.setNotifyUrl(KlkConstant.MEMBER_ORDER);
+
+ request.setSupportCancel(1);
+
+ request.setSupportRefund(1);
+
+ */
+/*request.setSplitMark("1");
+ request.setOutSplitInfo(splitInfoList);*//*
+
+
+ //支付类型
+// req.setCounterParam("{\"pay_mode\":\"ALIPAY\"}");
+
+// req.setBusiTypeParam("[{\"busi_type\":\"UPCARD\",\"params\":{\"crd_flg\":\"CRDFLG_D|CRDFLG_C|CRDFLG_OTH\"}},{\"busi_type\":\"SCPAY\",\"params\":{\"pay_mode\":\"WECHAT\",\"crd_flg\":\"CRDFLG_D\"}}]");
+
+ // 订单标题,在使用收银台扫码支付时必输入,交易时送往账户端
+ request.setOrderInfo("集材社订单支付");
+
+ List sgnInfos = new ArrayList<>();
+
+ sgnInfos.add("1");
+
+ request.setSgnInfo(sgnInfos);
+
+ V3CcssOrderSceneFieldInfo.HbFqSceneInfo hbFqSceneInfo = new V3CcssOrderSceneFieldInfo.HbFqSceneInfo();
+
+ hbFqSceneInfo.setHbFqNum("3");
+
+ hbFqSceneInfo.setHbFqSellerPercent("0");
+
+ //3. 发送请求
+ String response = null;
+ try {
+ response = LKLSDK.httpPost(request);
+ } catch (SDKException e) {
+ throw new RuntimeException(e);
+ }
+
+ //4. 响应
+ System.out.println(response);
+
+ JSONObject jsonObject = JSONObject.parseObject(response);
+ if ("000000".equals(jsonObject.get("code"))) {
+ System.out.println(jsonObject.get("resp_data").toString());
+ } else {
+ System.out.println(jsonObject.get("msg").toString());
+ }
+ return jsonObject;
+ }
+
*/
/**
* 聚合收银台创建订单
diff --git a/ruoyi-common/ruoyi-common-pay-new/src/main/java/com/lakala/zf/laop/java/sdk/demo/utils/V3LakalaOrderUtils.java b/ruoyi-common/ruoyi-common-pay-new/src/main/java/com/lakala/zf/laop/java/sdk/demo/utils/V3LakalaOrderUtils.java
index e1f70b3..dc2dd76 100644
--- a/ruoyi-common/ruoyi-common-pay-new/src/main/java/com/lakala/zf/laop/java/sdk/demo/utils/V3LakalaOrderUtils.java
+++ b/ruoyi-common/ruoyi-common-pay-new/src/main/java/com/lakala/zf/laop/java/sdk/demo/utils/V3LakalaOrderUtils.java
@@ -1,22 +1,28 @@
+/*
package com.lakala.zf.laop.java.sdk.demo.utils;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.lakala.zf.laop.java.sdk.demo.BaseCommonDemo;
import com.lkl.laop.sdk.LKLSDK;
-import com.lkl.laop.sdk.request.V3LabsRelationRefundRequest;
+import com.lkl.laop.sdk.request.*;
+import com.lkl.laop.sdk.utils.CommonUtil;
import javax.servlet.ServletException;
+*/
/**
* @author Maosw
- */
-public class V3LakalaOrderUtils extends BaseCommonDemo {
+ *//*
-/*
- *//**
+public class V3LakalaUserUtils extends BaseCommonDemo {
+
+
+ */
+/**
* 根据卡号查询卡BIN信息
*//*
+
public static JSONObject cardBin(String acctNo) throws Exception {
doInit();
if (acctNo == null) {
@@ -27,13 +33,17 @@ public class V3LakalaOrderUtils extends BaseCommonDemo {
cardBin.setOrderNo(CommonUtil.getOrderNo());
cardBin.setOrgCode(KlkConstant.ORG_CODE);
cardBin.setCardNo(acctNo);
+ System.out.println("cardBin:"+cardBin);
String cardBinResponse = LKLSDK.httpPost(cardBin);
+ System.out.println(cardBinResponse);
return JSON.parseObject(cardBinResponse);
}
- *//**
+ */
+/**
*附件上传
*//*
+
public static JSONObject uploadFile(V2MmsOpenApiUploadFile uploadFile) throws Exception {
doInit();
if (uploadFile == null) {
@@ -50,9 +60,11 @@ public class V3LakalaOrderUtils extends BaseCommonDemo {
return JSON.parseObject(uploadFileResponse);
}
- *//**
+ */
+/**
* 分账接收方创建申请
*//*
+
public static JSONObject applyLedgerReceiver(V2MmsApplyLedgerReceiverRequest ledgerReceiver) throws Exception {
doInit();
if (ledgerReceiver == null) {
@@ -65,9 +77,11 @@ public class V3LakalaOrderUtils extends BaseCommonDemo {
return JSON.parseObject(uploadFileResponse);
}
- *//**
+ */
+/**
* 查询提现申请详情
*//*
+
public static JSONObject queryWithdraw(V3SacsQueryRequest queryRequest) throws Exception {
doInit();
if (queryRequest == null) {
@@ -77,9 +91,11 @@ public class V3LakalaOrderUtils extends BaseCommonDemo {
return JSON.parseObject(response);
}
- *//**
+ */
+/**
* 提现申请
*//*
+
public static JSONObject withdraw(V3SacsBalanceSeparateRequest separateRequest) throws Exception {
doInit();
if (separateRequest == null) {
@@ -89,9 +105,11 @@ public class V3LakalaOrderUtils extends BaseCommonDemo {
return JSON.parseObject(response);
}
- *//**
+ */
+/**
*提款模式设置
*//*
+
public static JSONObject setWithdrawMode(V2LaepIndustryEwalletSettleProfileRequest ewalletSettleProfileRequest) throws Exception {
doInit();
if (ewalletSettleProfileRequest == null) {
@@ -99,11 +117,16 @@ public class V3LakalaOrderUtils extends BaseCommonDemo {
}
String response = LKLSDK.httpPost(ewalletSettleProfileRequest);
return JSON.parseObject(response);
- }*/
+ }
- /**
+ */
+/* *//*
+*/
+/**
* 退款
- */
+ *//*
+*/
+/*
public static JSONObject relationRefund(V3LabsRelationRefundRequest v3LabsRelationRefundRequest) throws Exception {
// 1. 配置初始化
doInit();
@@ -115,6 +138,8 @@ public class V3LakalaOrderUtils extends BaseCommonDemo {
//4. 响应
System.out.println(response);
return JSON.parseObject(response);
- }
+ }*//*
+
}
+*/
diff --git a/ruoyi-common/ruoyi-common-pay/src/main/java/com/lakala/zf/laop/java/sdk/demo/BaseCommonDemo.java b/ruoyi-common/ruoyi-common-pay/src/main/java/com/lakala/zf/laop/java/sdk/demo/BaseCommonDemo.java
index ebf5020..21a6df4 100644
--- a/ruoyi-common/ruoyi-common-pay/src/main/java/com/lakala/zf/laop/java/sdk/demo/BaseCommonDemo.java
+++ b/ruoyi-common/ruoyi-common-pay/src/main/java/com/lakala/zf/laop/java/sdk/demo/BaseCommonDemo.java
@@ -16,24 +16,24 @@ public class BaseCommonDemo {
// 你的证书序列号
private static final String serialNo = "0195119ac8ac";
- /*//商户私钥信息地址
+ //商户私钥信息地址
private static final String priKeyPath = "D:\\manage\\jcs\\OP10000499商户私钥.txt";
//拉卡拉支付平台证书地址
private static final String lklCerPath = "D:\\manage\\jcs\\平台公钥生产.cer";
//拉卡拉支付平台证书地址2(用于拉卡拉通知验签)
- private static final String lklNotifyCerPath = "D:\\manage\\jcs\\平台公钥生产.cer";*/
+ private static final String lklNotifyCerPath = "D:\\manage\\jcs\\平台公钥生产.cer";
//商户私钥信息地址
- private static final String priKeyPath = "/home/manage/jcs/OP10000499商户私钥.txt";
+ /*private static final String priKeyPath = "/home/manage/jcs/OP10000499商户私钥.txt";
//拉卡拉支付平台证书地址
private static final String lklCerPath = "/home/manage/jcs/平台公钥生产.cer";
//拉卡拉支付平台证书地址2(用于拉卡拉通知验签)
- private static final String lklNotifyCerPath = "/home/manage/jcs/平台公钥生产.cer";
+ private static final String lklNotifyCerPath = "/home/manage/jcs/平台公钥生产.cer";*/
/**
* 拉卡拉报文加密对称性密钥
diff --git a/ruoyi-common/ruoyi-common-pay/src/main/java/com/lakala/zf/laop/java/sdk/demo/utils/KlkConstant.java b/ruoyi-common/ruoyi-common-pay/src/main/java/com/lakala/zf/laop/java/sdk/demo/utils/KlkConstant.java
index 4045bb7..19c7dec 100644
--- a/ruoyi-common/ruoyi-common-pay/src/main/java/com/lakala/zf/laop/java/sdk/demo/utils/KlkConstant.java
+++ b/ruoyi-common/ruoyi-common-pay/src/main/java/com/lakala/zf/laop/java/sdk/demo/utils/KlkConstant.java
@@ -40,22 +40,22 @@ public class KlkConstant {
/**
* bindAccount 分账关系绑定结果回调地址
*/
- public static final String BIND_ACC_URL = "https://jcs-api.52o.site/api/mall/callback/applyBind";
+ public static final String BIND_ACC_URL = "https://jcsapi-new.52o.site/jcsapi/api/mall/callback/applyBind";
/**
* 提现结果回调地址
*/
- public static final String WITHDRAWAL = "https://jcs-api.52o.site/api/mall/callback/withdrawal";
+ public static final String WITHDRAWAL = "https://jcsapi-new.52o.site/jcsapi/api/mall/callback/withdrawal";
/**
* 会员兑换码订单回调地址
*/
- public static final String MEMBER_CODE_ORDER = "https://jcs-api.52o.site/api/mall/callback/codeOrder";
+ public static final String MEMBER_CODE_ORDER = "https://jcsapi-new.52o.site/jcsapi/api/mall/callback/codeOrder";
/**
* 材料订单回调地址
*/
- public static final String MEMBER_ORDER = "https://jcs-api.52o.site/api/mall/callback/order";
+ public static final String MEMBER_ORDER = "https://jcsapi-new.52o.site/jcsapi/api/mall/callback/order";
/**
* 分账状态 处理中:PROCESSING, 已受理:ACCEPTED, 成功:SUCCESS, 失败:FAIL
diff --git a/ruoyi-common/ruoyi-common-pay/src/main/java/com/lakala/zf/laop/java/sdk/demo/utils/V3LakalaUserUtils.java b/ruoyi-common/ruoyi-common-pay/src/main/java/com/lakala/zf/laop/java/sdk/demo/utils/V3LakalaUserUtils.java
index ef10174..b9e6835 100644
--- a/ruoyi-common/ruoyi-common-pay/src/main/java/com/lakala/zf/laop/java/sdk/demo/utils/V3LakalaUserUtils.java
+++ b/ruoyi-common/ruoyi-common-pay/src/main/java/com/lakala/zf/laop/java/sdk/demo/utils/V3LakalaUserUtils.java
@@ -3,6 +3,7 @@ package com.lakala.zf.laop.java.sdk.demo.utils;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.lakala.zf.laop.java.sdk.demo.BaseCommonDemo;
+import com.lakala.zf.laop.java.sdk.demo.v3.V3LabsRelationRefundRequest;
import com.lkl.laop.sdk.LKLSDK;
import com.lkl.laop.sdk.request.*;
import com.lkl.laop.sdk.utils.CommonUtil;
@@ -28,7 +29,9 @@ public class V3LakalaUserUtils extends BaseCommonDemo {
cardBin.setOrderNo(CommonUtil.getOrderNo());
cardBin.setOrgCode(KlkConstant.ORG_CODE);
cardBin.setCardNo(acctNo);
+ System.out.println("cardBin:"+cardBin);
String cardBinResponse = LKLSDK.httpPost(cardBin);
+ System.out.println(cardBinResponse);
return JSON.parseObject(cardBinResponse);
}
@@ -102,9 +105,9 @@ public class V3LakalaUserUtils extends BaseCommonDemo {
return JSON.parseObject(response);
}
-/* *//**
- * 退款
- *//*
+ /**
+ * 提款模式查询
+ */
public static JSONObject relationRefund(V3LabsRelationRefundRequest v3LabsRelationRefundRequest) throws Exception {
// 1. 配置初始化
doInit();
@@ -116,6 +119,6 @@ public class V3LakalaUserUtils extends BaseCommonDemo {
//4. 响应
System.out.println(response);
return JSON.parseObject(response);
- }*/
+ }
}
diff --git a/ruoyi-common/ruoyi-common-pay/src/main/java/com/lakala/zf/laop/java/sdk/demo/v3/V3LabsRelationRefundRequest.java b/ruoyi-common/ruoyi-common-pay/src/main/java/com/lakala/zf/laop/java/sdk/demo/v3/V3LabsRelationRefundRequest.java
new file mode 100644
index 0000000..5242887
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-pay/src/main/java/com/lakala/zf/laop/java/sdk/demo/v3/V3LabsRelationRefundRequest.java
@@ -0,0 +1,166 @@
+package com.lakala.zf.laop.java.sdk.demo.v3;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.lkl.laop.sdk.enums.FunctionCodeEnum;
+import com.lkl.laop.sdk.request.V3CommRequest;
+import com.lkl.laop.sdk.request.model.V3LabsTradeLocationInfo;
+
+/**
+ * @author nxj
+ * @date 2023/7/21 14:07
+ * @description v3退款交易
+ */
+public class V3LabsRelationRefundRequest extends V3CommRequest {
+
+ /**
+ * 商户号
+ * M
+ * 拉卡拉分配的商户号
+ */
+ @JsonProperty("merchant_no")
+ private String merchantNo;
+
+ /**
+ * 终端号
+ * M
+ * 拉卡拉分配的业务终端号
+ */
+ @JsonProperty("term_no")
+ private String termNo;
+
+ /**
+ * 商户交易流水号
+ * M
+ * 商户系统唯一
+ */
+ @JsonProperty("out_trade_no")
+ private String outTradeNo;
+
+ /**
+ * 退款金额
+ * M
+ * 单位分,整数数字型字符
+ */
+ @JsonProperty("refund_amount")
+ private String refundAmount;
+
+ /**
+ * 退款原因
+ * M
+ * 退款原因描述
+ */
+ @JsonProperty("refund_reason")
+ private String refundReason;
+
+ /**
+ * 原商户交易流水号
+ * C
+ * 下单时的商户请求流水号(退款时origin_out_trade_no,origin_trade_no,origin_log_no必送其一)
+ */
+ @JsonProperty("origin_out_trade_no")
+ private String originOutTradeNo;
+
+ /**
+ * 原拉卡拉交易流水号
+ * C
+ * 下单成功时,返回的拉卡拉交易流水。 origin_out_trade_no、origin_log_no、origin_trade_no至少一个必填
+ * (调用收银台下单接口拉起交易后发起退款时至少要传两个),同时存在时优先级顺序如下: origin_trade_no、origin_log_no、origin_out_trade_no。
+ */
+ @JsonProperty("origin_trade_no")
+ private String originTradeNo;
+
+ /**
+ * 原对账单流水号
+ * C
+ * 对账单中的交易流水。 origin_out_trade_no、origin_log_no、origin_trade_no至少一个必填
+ * (调用收银台下单接口拉起交易后发起退款时至少要传两个,同时存在时优先级顺序如下: origin_trade_no、origin_log_no、origin_out_trade_no。
+ */
+ @JsonProperty("origin_log_no")
+ private String originLogNo;
+
+ /**
+ * 地址位置信息
+ * M
+ * 地址位置信息,风控要求必送
+ */
+ @JsonProperty("location_info")
+ private V3LabsTradeLocationInfo locationInfo;
+
+ public String getMerchantNo() {
+ return merchantNo;
+ }
+
+ public void setMerchantNo(String merchantNo) {
+ this.merchantNo = merchantNo;
+ }
+
+ public String getTermNo() {
+ return termNo;
+ }
+
+ public void setTermNo(String termNo) {
+ this.termNo = termNo;
+ }
+
+ public String getOutTradeNo() {
+ return outTradeNo;
+ }
+
+ public void setOutTradeNo(String outTradeNo) {
+ this.outTradeNo = outTradeNo;
+ }
+
+ public String getRefundAmount() {
+ return refundAmount;
+ }
+
+ public void setRefundAmount(String refundAmount) {
+ this.refundAmount = refundAmount;
+ }
+
+ public String getRefundReason() {
+ return refundReason;
+ }
+
+ public void setRefundReason(String refundReason) {
+ this.refundReason = refundReason;
+ }
+
+ public String getOriginOutTradeNo() {
+ return originOutTradeNo;
+ }
+
+ public void setOriginOutTradeNo(String originOutTradeNo) {
+ this.originOutTradeNo = originOutTradeNo;
+ }
+
+ public String getOriginTradeNo() {
+ return originTradeNo;
+ }
+
+ public void setOriginTradeNo(String originTradeNo) {
+ this.originTradeNo = originTradeNo;
+ }
+
+ public String getOriginLogNo() {
+ return originLogNo;
+ }
+
+ public void setOriginLogNo(String originLogNo) {
+ this.originLogNo = originLogNo;
+ }
+
+ public V3LabsTradeLocationInfo getLocationInfo() {
+ return locationInfo;
+ }
+
+ public void setLocationInfo(V3LabsTradeLocationInfo locationInfo) {
+ this.locationInfo = locationInfo;
+ }
+
+ @Override
+ public FunctionCodeEnum getFunctionCode() {
+ return FunctionCodeEnum.API_V3_LABS_RELATION_REFUND;
+ }
+
+}
diff --git a/ruoyi-mall-api/pom.xml b/ruoyi-mall-api/pom.xml
index 7c1d82d..d7fffed 100644
--- a/ruoyi-mall-api/pom.xml
+++ b/ruoyi-mall-api/pom.xml
@@ -83,6 +83,21 @@
3.17.0
+
+
+ com.qcloud
+ cos-sts_api
+ ${com.qcloud.version}
+ compile
+
+
+
+
+ com.tencentcloudapi
+ tencentcloud-sdk-java
+ ${tencentcloudapi.version}
+
+
diff --git a/ruoyi-mall-api/src/main/java/org/dromara/web/controller/ApiAppletAuthController.java b/ruoyi-mall-api/src/main/java/org/dromara/web/controller/ApiAppletAuthController.java
index fdf7a6a..b1a90ac 100644
--- a/ruoyi-mall-api/src/main/java/org/dromara/web/controller/ApiAppletAuthController.java
+++ b/ruoyi-mall-api/src/main/java/org/dromara/web/controller/ApiAppletAuthController.java
@@ -4,8 +4,8 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.utils.StringUtils;
-import org.dromara.common.core.utils.TxApiSdkUtils;
import org.dromara.web.common.ServerResponseEntity;
+import org.dromara.web.utils.TxApiSdkUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
diff --git a/ruoyi-mall-api/src/main/java/org/dromara/web/controller/ApiCallbackController.java b/ruoyi-mall-api/src/main/java/org/dromara/web/controller/ApiCallbackController.java
index bffd871..a9afdc7 100644
--- a/ruoyi-mall-api/src/main/java/org/dromara/web/controller/ApiCallbackController.java
+++ b/ruoyi-mall-api/src/main/java/org/dromara/web/controller/ApiCallbackController.java
@@ -5,7 +5,6 @@ import com.alibaba.fastjson.JSONObject;
import com.lakala.zf.laop.java.sdk.demo.BaseCommonDemo;
import com.lakala.zf.laop.java.sdk.demo.utils.KlkConstant;
import com.lakala.zf.laop.java.sdk.demo.utils.V3LakalaUserUtils;
-import com.lkl.laop.sdk.LKLSDK;
import com.lkl.laop.sdk.request.V2LaepIndustryEwalletSettleProfileRequest;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
@@ -152,7 +151,7 @@ public class ApiCallbackController extends BaseCommonDemo {
// 1. 配置初始化
doInit();
- LKLSDK.notificationHandle(getBody(request), getAuthorization(request));
+// LKLSDK.notificationHandle(getBody(request), getAuthorization(request));
String body = getBody(request);
// 业务处理
diff --git a/ruoyi-mall-api/src/main/java/org/dromara/web/controller/ApiProdController.java b/ruoyi-mall-api/src/main/java/org/dromara/web/controller/ApiProdController.java
index bdd2e69..866707a 100644
--- a/ruoyi-mall-api/src/main/java/org/dromara/web/controller/ApiProdController.java
+++ b/ruoyi-mall-api/src/main/java/org/dromara/web/controller/ApiProdController.java
@@ -238,6 +238,7 @@ public class ApiProdController {
@Parameter(name = "envLevel", description = "环保等级", required = false),
@Parameter(name = "fireLevel", description = "防火等级", required = false),
@Parameter(name = "trialScenario", description = "试用场景", required = false),
+ @Parameter(name = "label", description = "标签 0:默认 1:性价比 2:品质款 3:旗舰款", required = false),
@Parameter(name = "floor", description = "是否特价 1:是 2:否", required = true),
@Parameter(name = "sort", description = "排序(0综合 1价格排序 2热门 3新品)", required = true),
@Parameter(name = "orderBy", description = "排序(0升序 1降序)--sort选择1时必传")
@@ -249,6 +250,7 @@ public class ApiProdController {
@RequestParam(value = "envLevel", required = false) String envLevel,
@RequestParam(value = "fireLevel", required = false) String fireLevel,
@RequestParam(value = "trialScenario", required = false) String trialScenario,
+ @RequestParam(value = "label", required = false) Integer label,
@RequestParam(value = "floor") Integer floor,
@RequestParam(value = "sort") Integer sort,
@RequestParam(value = "orderBy") Integer orderBy) {
@@ -260,7 +262,7 @@ public class ApiProdController {
//热搜关键词次数叠加
hotSearchService.setSearchNum(prodName);
- return ServerResponseEntity.success(prodService.getSearchProdPageByProdName(pageQuery, categoryId, prodName, envLevel, fireLevel, trialScenario,floor, sort, orderBy));
+ return ServerResponseEntity.success(prodService.getSearchProdPageByProdName(pageQuery, categoryId, prodName, envLevel, fireLevel, trialScenario, label, floor, sort, orderBy));
}
@GetMapping("/prodCommPage")
diff --git a/ruoyi-mall-api/src/main/java/org/dromara/web/utils/TxApiSdkUtils.java b/ruoyi-mall-api/src/main/java/org/dromara/web/utils/TxApiSdkUtils.java
new file mode 100644
index 0000000..8aacafe
--- /dev/null
+++ b/ruoyi-mall-api/src/main/java/org/dromara/web/utils/TxApiSdkUtils.java
@@ -0,0 +1,189 @@
+package org.dromara.web.utils;
+
+import cn.hutool.core.codec.Base64;
+import com.tencent.cloud.CosStsClient;
+import com.tencent.cloud.Policy;
+import com.tencent.cloud.Response;
+import com.tencent.cloud.Statement;
+import com.tencent.cloud.cos.util.Jackson;
+import com.tencentcloudapi.common.AbstractModel;
+import com.tencentcloudapi.common.Credential;
+import com.tencentcloudapi.common.exception.TencentCloudSDKException;
+import com.tencentcloudapi.common.profile.ClientProfile;
+import com.tencentcloudapi.common.profile.HttpProfile;
+import com.tencentcloudapi.ims.v20201229.ImsClient;
+import com.tencentcloudapi.ims.v20201229.models.ImageModerationRequest;
+import com.tencentcloudapi.ims.v20201229.models.ImageModerationResponse;
+import com.tencentcloudapi.sms.v20210111.SmsClient;
+import com.tencentcloudapi.sms.v20210111.models.SendSmsRequest;
+import com.tencentcloudapi.sms.v20210111.models.SendSmsResponse;
+import com.tencentcloudapi.tms.v20201229.TmsClient;
+import com.tencentcloudapi.tms.v20201229.models.TextModerationRequest;
+import com.tencentcloudapi.tms.v20201229.models.TextModerationResponse;
+
+import java.util.TreeMap;
+
+
+public class TxApiSdkUtils
+{
+
+ private static final String SMS_SECRET_ID = "AKIDMcmoeNr64nIpicWBYeU6TaR8h280uyAF";
+
+ private static final String SMS_SECRET_KEY = "yg8JEzVmriLjtqZ3KURUIrDRQ9euxmbI";
+
+ /**
+ * 获取上传临时密钥
+ */
+ public void getCredential() {
+ TreeMap config = new TreeMap();
+ try {
+ //这里的 SecretId 和 SecretKey 代表了用于申请临时密钥的永久身份(主账号、子账号等),子账号需要具有操作存储桶的权限。
+ String secretId = System.getenv(SMS_SECRET_ID);
+ String secretKey = System.getenv(SMS_SECRET_KEY);
+ // 替换为您的云 api 密钥 SecretId
+ config.put("secretId", secretId);
+ // 替换为您的云 api 密钥 SecretKey
+ config.put("secretKey", secretKey);
+ // 初始化 policy
+ Policy policy = new Policy();
+ // 临时密钥有效时长,单位是秒,默认 1800 秒,目前主账号最长 2 小时(即 7200 秒),子账号最长 36 小时(即 129600)秒
+ config.put("durationSeconds", 1800);
+ // 换成您的 bucket
+ config.put("bucket", "examplebucket-1250000000");
+ // 换成 bucket 所在地区
+ config.put("region", "ap-shanghai");
+
+ // 开始构建一条 statement
+ Statement statement = new Statement();
+ // 声明设置的结果是允许操作
+ statement.setEffect("allow");
+ statement.addActions(new String[]{
+ "cos:PutObject",
+ // 表单上传、小程序上传
+ "cos:PostObject",
+ // 分块上传
+ "cos:InitiateMultipartUpload",
+ "cos:ListMultipartUploads",
+ "cos:ListParts",
+ "cos:UploadPart",
+ "cos:CompleteMultipartUpload",
+ // 处理相关接口一般为数据万象产品 权限中以ci开头
+ // 创建媒体处理任务
+ "ci:CreateMediaJobs",
+ // 文件压缩
+ "ci:CreateFileProcessJobs"
+ });
+
+ statement.addResources(new String[]{
+ "qcs::cos:ap-chongqing:uid/1250000000:examplebucket-1250000000/*",
+ "qcs::ci:ap-chongqing:uid/1250000000:bucket/examplebucket-1250000000/*"});
+
+ // 把一条 statement 添加到 policy 可以添加多条
+ policy.addStatement(statement);
+ // 将 Policy 示例转化成 String,可以使用任何 json 转化方式,这里是本 SDK 自带的推荐方式
+ config.put("policy", Jackson.toJsonPrettyString(policy));
+ Response response = CosStsClient.getCredential(config);
+ } catch (Exception e) {
+ throw new IllegalArgumentException("no valid secret !");
+ }
+ }
+
+ /**
+ * 腾讯云文件安全检测
+ * @param content
+ * @return
+ */
+ public static String checkContext(String content){
+ try{
+ Credential cred = new Credential(SMS_SECRET_ID, SMS_SECRET_KEY);
+ // 实例化一个http选项,可选的,没有特殊需求可以跳过
+ HttpProfile httpProfile = new HttpProfile();
+ httpProfile.setEndpoint("tms.ap-shanghai.tencentcloudapi.com");
+ // 实例化一个client选项,可选的,没有特殊需求可以跳过
+ ClientProfile clientProfile = new ClientProfile();
+ clientProfile.setHttpProfile(httpProfile);
+ // 实例化要请求产品的client对象,clientProfile是可选的
+ TmsClient client = new TmsClient(cred, "ap-shanghai", clientProfile);
+ // 实例化一个请求对象,每个接口都会对应一个request对象
+ TextModerationRequest req = new TextModerationRequest();
+
+ String str = Base64.encode(content);
+ req.setContent(str);
+ // 返回的resp是一个TextModerationResponse的实例,与请求对象对应
+ TextModerationResponse resp = client.TextModeration(req);
+ // 输出json格式的字符串回包
+ return AbstractModel.toJsonString(resp);
+ } catch (TencentCloudSDKException e) {
+ throw new IllegalArgumentException("文件检测接口异常");
+ }
+ }
+
+
+ /**
+ * 腾讯云图片安全检测
+ * @param imgUrl
+ * @return
+ */
+ public static String checkImages(String imgUrl){
+ try{
+ Credential cred = new Credential(SMS_SECRET_ID, SMS_SECRET_KEY);
+ // 实例化一个http选项,可选的,没有特殊需求可以跳过
+ HttpProfile httpProfile = new HttpProfile();
+ httpProfile.setEndpoint("ims.ap-shanghai.tencentcloudapi.com");
+ // 实例化一个client选项,可选的,没有特殊需求可以跳过
+ ClientProfile clientProfile = new ClientProfile();
+ clientProfile.setHttpProfile(httpProfile);
+ // 实例化要请求产品的client对象,clientProfile是可选的
+ ImsClient client = new ImsClient(cred, "ap-shanghai", clientProfile);
+ // 实例化一个请求对象,每个接口都会对应一个request对象jkighjkhgkhgkhgjhghkjj
+ ImageModerationRequest req = new ImageModerationRequest();
+ req.setFileUrl(imgUrl);
+ // 返回的resp是一个ImageModerationResponse的实例,与请求对象对应
+ ImageModerationResponse resp = client.ImageModeration(req);
+ // 输出json格式的字符串回包
+ return AbstractModel.toJsonString(resp);
+ } catch (TencentCloudSDKException e) {
+ throw new IllegalArgumentException("文件检测接口异常");
+ }
+ }
+
+
+ /**
+ * 腾讯云发送短信
+ * @param phoneNumber
+ * @param code
+ * @return
+ */
+ public static String sendSmsMsg(String phoneNumber, String code){
+ try{
+ Credential cred = new Credential(SMS_SECRET_ID, SMS_SECRET_KEY);
+ // 实例化一个http选项,可选的,没有特殊需求可以跳过
+ HttpProfile httpProfile = new HttpProfile();
+ httpProfile.setEndpoint("sms.tencentcloudapi.com");
+ // 实例化一个client选项,可选的,没有特殊需求可以跳过
+ ClientProfile clientProfile = new ClientProfile();
+ clientProfile.setHttpProfile(httpProfile);
+ // 实例化要请求产品的client对象,clientProfile是可选的
+ SmsClient client = new SmsClient(cred, "ap-nanjing", clientProfile);
+ // 实例化一个请求对象,每个接口都会对应一个request对象
+ SendSmsRequest req = new SendSmsRequest();
+
+ String[] phoneNumberSet1 = {phoneNumber};
+ req.setPhoneNumberSet(phoneNumberSet1);
+ req.setSmsSdkAppId("1400926380");
+ req.setTemplateId("2222045");
+ req.setSignName("合肥小图科技");
+
+ String[] templateParamSet1 = {code};
+ req.setTemplateParamSet(templateParamSet1);
+
+ // 返回的resp是一个SendSmsResponse的实例,与请求对象对应
+ SendSmsResponse resp = client.SendSms(req);
+ // 输出json格式的字符串回包
+ return AbstractModel.toJsonString(resp);
+ } catch (TencentCloudSDKException e) {
+ throw new IllegalArgumentException("短信接口异常");
+ }
+ }
+
+}
diff --git a/ruoyi-modules/ruoyi-mall/pom.xml b/ruoyi-modules/ruoyi-mall/pom.xml
index d73fdf5..c34be6b 100644
--- a/ruoyi-modules/ruoyi-mall/pom.xml
+++ b/ruoyi-modules/ruoyi-mall/pom.xml
@@ -139,12 +139,12 @@
5.3.0
compile
-
+
diff --git a/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/mapper/TzProdMapper.java b/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/mapper/TzProdMapper.java
index b6060c3..a5417d0 100644
--- a/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/mapper/TzProdMapper.java
+++ b/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/mapper/TzProdMapper.java
@@ -60,7 +60,7 @@ public interface TzProdMapper extends BaseMapperPlus, MPJBaseM
* @param orderBy
* @return
*/
- IPage getSearchProdPageByProdName(@Param("page") IPage page, @Param("categoryId") Long categoryId, @Param("prodName") String prodName, @Param("envLevel") String envLevel, @Param("fireLevel") String fireLevel, @Param("trialScenario") String trialScenario, @Param("floor") Integer floor, @Param("sort") Integer sort, @Param("orderBy") Integer orderBy);
+ IPage getSearchProdPageByProdName(@Param("page") IPage page, @Param("categoryId") Long categoryId, @Param("prodName") String prodName, @Param("envLevel") String envLevel, @Param("fireLevel") String fireLevel, @Param("trialScenario") String trialScenario, @Param("label") Integer label, @Param("floor") Integer floor, @Param("sort") Integer sort, @Param("orderBy") Integer orderBy);
/**
diff --git a/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/ITzProdService.java b/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/ITzProdService.java
index 20282e6..10541c1 100644
--- a/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/ITzProdService.java
+++ b/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/ITzProdService.java
@@ -108,7 +108,7 @@ public interface ITzProdService extends MPJBaseService {
* @param orderBy
* @return
*/
- IPage getSearchProdPageByProdName(PageQuery pageQuery, Long categoryId, String prodName, String envLevel, String fireLevel, String trialScenario, Integer floor, Integer sort, Integer orderBy);
+ IPage getSearchProdPageByProdName(PageQuery pageQuery, Long categoryId, String prodName, String envLevel, String fireLevel, String trialScenario, Integer label, Integer floor, Integer sort, Integer orderBy);
/**
* 商品收藏
diff --git a/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/HyOrderItemServiceImpl.java b/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/HyOrderItemServiceImpl.java
index 59dab85..427e1f3 100644
--- a/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/HyOrderItemServiceImpl.java
+++ b/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/HyOrderItemServiceImpl.java
@@ -8,9 +8,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.lakala.zf.laop.java.sdk.demo.utils.KlkConstant;
-import com.lakala.zf.laop.java.sdk.demo.utils.V3LakalaOrderUtils;
import com.lakala.zf.laop.java.sdk.demo.utils.V3LakalaUserUtils;
-import com.lkl.laop.sdk.request.V3LabsRelationRefundRequest;
+import com.lakala.zf.laop.java.sdk.demo.v3.V3LabsRelationRefundRequest;
import com.lkl.laop.sdk.request.V3SacsBalanceSeparateRequest;
import com.lkl.laop.sdk.request.model.V3LabsTradeLocationInfo;
import lombok.RequiredArgsConstructor;
@@ -836,7 +835,7 @@ public class HyOrderItemServiceImpl extends MPJBaseServiceImpl i
private MPJLambdaWrapper buildQueryMPJWrapper(TzProdBo bo) {
Map params = bo.getParams();
MPJLambdaWrapper lqw = new MPJLambdaWrapper<>();
+ lqw.eq(bo.getProdId() != null, TzProd::getProdId, bo.getProdId());
lqw.eq(StringUtils.isNotBlank(bo.getTenantId()), TzProd::getTenantId, bo.getTenantId());
lqw.like(StringUtils.isNotBlank(bo.getProdName()), TzProd::getProdName, bo.getProdName());
lqw.like(StringUtils.isNotBlank(bo.getTenantName()), SysTenant::getCompanyName, bo.getTenantName());
@@ -453,9 +454,9 @@ public class TzProdServiceImpl extends MPJBaseServiceImpl i
}
@Override
- public IPage getSearchProdPageByProdName(PageQuery pageQuery, Long categoryId, String prodName, String envLevel, String fireLevel, String trialScenario, Integer floor, Integer sort, Integer orderBy) {
+ public IPage getSearchProdPageByProdName(PageQuery pageQuery, Long categoryId, String prodName, String envLevel, String fireLevel, String trialScenario, Integer label, Integer floor, Integer sort, Integer orderBy) {
IPage page = new Page<>(pageQuery.getPageNum(), pageQuery.getPageSize());
- return baseMapper.getSearchProdPageByProdName(page, categoryId, prodName, envLevel, fireLevel, trialScenario, floor, sort, orderBy);
+ return baseMapper.getSearchProdPageByProdName(page, categoryId, prodName, envLevel, fireLevel, trialScenario, label, floor, sort, orderBy);
}
/**
diff --git a/ruoyi-modules/ruoyi-mall/src/main/resources/mapper/mall/TzProdMapper.xml b/ruoyi-modules/ruoyi-mall/src/main/resources/mapper/mall/TzProdMapper.xml
index 7f575d3..2c560e7 100644
--- a/ruoyi-modules/ruoyi-mall/src/main/resources/mapper/mall/TzProdMapper.xml
+++ b/ruoyi-modules/ruoyi-mall/src/main/resources/mapper/mall/TzProdMapper.xml
@@ -70,6 +70,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and p.is_floor = 1
+
+ and p.label = #{label}
+
and p.prod_name like concat('%',#{prodName} ,'%')
or