Compare commits
18 Commits
1d3e0fba6f
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
41ff2e9162 | ||
|
|
1635812bb5 | ||
|
|
3f7707f1db | ||
|
|
b5ce9d4a3d | ||
|
|
5452cdced6 | ||
|
|
1640ba4b7d | ||
|
|
d57fc6f4ad | ||
|
|
5011984747 | ||
|
|
1d180d33a9 | ||
|
|
ad2776df97 | ||
|
|
2d4e8a497b | ||
|
|
790f18b69c | ||
|
|
2ab968ba59 | ||
|
|
4d57f061df | ||
|
|
8e330cfb31 | ||
|
|
677f97f3d9 | ||
|
|
754b557790 | ||
|
|
de0bc82d41 |
4
.gitignore
vendored
4
.gitignore
vendored
@@ -21,6 +21,8 @@ target/
|
||||
|
||||
### IntelliJ IDEA ###
|
||||
.idea
|
||||
.vscode
|
||||
.lingma
|
||||
*.iws
|
||||
*.iml
|
||||
*.ipr
|
||||
@@ -49,3 +51,5 @@ nbdist/
|
||||
/logs/
|
||||
/ruoyi-admin/logs/
|
||||
/ruoyi-mall-api/logs/
|
||||
/.vscode/
|
||||
/.lingma/
|
||||
|
||||
42
.vscode/launch.json
vendored
42
.vscode/launch.json
vendored
@@ -1,42 +0,0 @@
|
||||
{
|
||||
// 使用 IntelliSense 了解相关属性。
|
||||
// 悬停以查看现有属性的描述。
|
||||
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"type": "java",
|
||||
"name": "Current File",
|
||||
"request": "launch",
|
||||
"mainClass": "${file}"
|
||||
},
|
||||
{
|
||||
"type": "java",
|
||||
"name": "MallAdminApplication",
|
||||
"request": "launch",
|
||||
"mainClass": "org.dromara.MallAdminApplication",
|
||||
"projectName": "ruoyi-admin"
|
||||
},
|
||||
{
|
||||
"type": "java",
|
||||
"name": "MallApiApplication",
|
||||
"request": "launch",
|
||||
"mainClass": "org.dromara.MallApiApplication",
|
||||
"projectName": "ruoyi-mall-api"
|
||||
},
|
||||
{
|
||||
"type": "java",
|
||||
"name": "MonitorAdminApplication",
|
||||
"request": "launch",
|
||||
"mainClass": "org.dromara.monitor.admin.MonitorAdminApplication",
|
||||
"projectName": "ruoyi-monitor-admin"
|
||||
},
|
||||
{
|
||||
"type": "java",
|
||||
"name": "SnailJobServerApplication",
|
||||
"request": "launch",
|
||||
"mainClass": "org.dromara.snailjob.SnailJobServerApplication",
|
||||
"projectName": "ruoyi-snailjob-server"
|
||||
}
|
||||
]
|
||||
}
|
||||
6
.vscode/settings.json
vendored
6
.vscode/settings.json
vendored
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"java.configuration.updateBuildConfiguration": "automatic",
|
||||
"java.compile.nullAnalysis.mode": "automatic",
|
||||
"java.jdt.ls.vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx4G -Xms100m -Xlog:disable",
|
||||
"java.debug.settings.onBuildFailureProceed": true
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
"folders": [
|
||||
{
|
||||
"name": "jcs-java",
|
||||
"path": "."
|
||||
}
|
||||
],
|
||||
"settings": {
|
||||
"java.configuration.updateBuildConfiguration": "interactive",
|
||||
"java.compile.nullAnalysis.mode": "automatic",
|
||||
"java.jdt.ls.vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx4G -Xms100m -Xlog:disable"
|
||||
}
|
||||
}
|
||||
31
qodana.yaml
31
qodana.yaml
@@ -1,31 +0,0 @@
|
||||
#-------------------------------------------------------------------------------#
|
||||
# Qodana analysis is configured by qodana.yaml file #
|
||||
# https://www.jetbrains.com/help/qodana/qodana-yaml.html #
|
||||
#-------------------------------------------------------------------------------#
|
||||
version: "1.0"
|
||||
|
||||
#Specify inspection profile for code analysis
|
||||
profile:
|
||||
name: qodana.starter
|
||||
|
||||
#Enable inspections
|
||||
#include:
|
||||
# - name: <SomeEnabledInspectionId>
|
||||
|
||||
#Disable inspections
|
||||
#exclude:
|
||||
# - name: <SomeDisabledInspectionId>
|
||||
# paths:
|
||||
# - <path/where/not/run/inspection>
|
||||
|
||||
projectJDK: 22 #(Applied in CI/CD pipeline)
|
||||
|
||||
#Execute shell command before Qodana execution (Applied in CI/CD pipeline)
|
||||
#bootstrap: sh ./prepare-qodana.sh
|
||||
|
||||
#Install IDE plugins before Qodana execution (Applied in CI/CD pipeline)
|
||||
#plugins:
|
||||
# - id: <plugin.id> #(plugin id can be found at https://plugins.jetbrains.com)
|
||||
|
||||
#Specify Qodana linter for analysis (Applied in CI/CD pipeline)
|
||||
linter: jetbrains/qodana-jvm:latest
|
||||
@@ -52,9 +52,9 @@ spring:
|
||||
# url: jdbc:mysql://localhost:3306/jcs?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
|
||||
# username: root
|
||||
# password: root
|
||||
url: jdbc:mysql://erp9.52o.site:13308/jcs20250106?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
|
||||
username: jcs20250106
|
||||
password: esXkafdSMsxRAkNe
|
||||
url: jdbc:mysql://erp9.52o.site:13308/jcs20250512?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
|
||||
username: jcs20250512
|
||||
password: rdnGT3TFYFnMzstX
|
||||
# 从库数据源
|
||||
slave:
|
||||
lazy: false
|
||||
|
||||
@@ -55,9 +55,9 @@ spring:
|
||||
# url: jdbc:mysql://localhost:3306/cailiao?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
|
||||
# username: root
|
||||
# password: root
|
||||
url: jdbc:mysql://124.223.56.113:13306/cailiao1?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
|
||||
username: cailiao1
|
||||
password: j5RcfMwRG2WMHyAC
|
||||
url: jdbc:mysql://erp9.52o.site:13308/jcs20250512?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
|
||||
username: jcs20250512
|
||||
password: rdnGT3TFYFnMzstX
|
||||
# 从库数据源
|
||||
slave:
|
||||
lazy: false
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
<module>ruoyi-common-websocket</module>
|
||||
<module>ruoyi-common-sse</module>
|
||||
<module>ruoyi-common-pay</module>
|
||||
<module>ruoyi-common-pay-new</module>
|
||||
<!-- <module>ruoyi-common-pay-new</module>-->
|
||||
</modules>
|
||||
|
||||
<artifactId>ruoyi-common</artifactId>
|
||||
|
||||
@@ -99,20 +99,7 @@
|
||||
<artifactId>transmittable-thread-local</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- 腾讯云COS-STS -->
|
||||
<dependency>
|
||||
<groupId>com.qcloud</groupId>
|
||||
<artifactId>cos-sts_api</artifactId>
|
||||
<version>${com.qcloud.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- 腾讯云内容安全 -->
|
||||
<dependency>
|
||||
<groupId>com.tencentcloudapi</groupId>
|
||||
<artifactId>tencentcloud-sdk-java</artifactId>
|
||||
<version>${tencentcloudapi.version}</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
|
||||
@@ -8,6 +8,9 @@ import com.aspose.words.SaveFormat;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
/**
|
||||
* @author Maosw
|
||||
*/
|
||||
public class PdfUtil {
|
||||
|
||||
|
||||
|
||||
@@ -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";*/
|
||||
|
||||
/**
|
||||
* 拉卡拉报文加密对称性密钥
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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<V3CcssOrderOutSplitInfo> 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<String> 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;
|
||||
}
|
||||
|
||||
*/
|
||||
/**
|
||||
* 聚合收银台创建订单
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}*//*
|
||||
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
@@ -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";*/
|
||||
|
||||
/**
|
||||
* 拉卡拉报文加密对称性密钥
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
@@ -102,9 +103,9 @@ public class V3LakalaUserUtils extends BaseCommonDemo {
|
||||
return JSON.parseObject(response);
|
||||
}
|
||||
|
||||
/* *//**
|
||||
* 退款
|
||||
*//*
|
||||
/**
|
||||
* 提款模式查询
|
||||
*/
|
||||
public static JSONObject relationRefund(V3LabsRelationRefundRequest v3LabsRelationRefundRequest) throws Exception {
|
||||
// 1. 配置初始化
|
||||
doInit();
|
||||
@@ -116,6 +117,6 @@ public class V3LakalaUserUtils extends BaseCommonDemo {
|
||||
//4. 响应
|
||||
System.out.println(response);
|
||||
return JSON.parseObject(response);
|
||||
}*/
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -83,6 +83,21 @@
|
||||
<version>3.17.0</version>
|
||||
</dependency>
|
||||
|
||||
<!-- 腾讯云COS-STS -->
|
||||
<dependency>
|
||||
<groupId>com.qcloud</groupId>
|
||||
<artifactId>cos-sts_api</artifactId>
|
||||
<version>${com.qcloud.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- 腾讯云内容安全 -->
|
||||
<dependency>
|
||||
<groupId>com.tencentcloudapi</groupId>
|
||||
<artifactId>tencentcloud-sdk-java</artifactId>
|
||||
<version>${tencentcloudapi.version}</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
// 业务处理
|
||||
|
||||
@@ -8,6 +8,7 @@ import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.validation.Valid;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.validate.QueryGroup;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.mall.domain.TzUserSearch;
|
||||
@@ -17,11 +18,14 @@ import org.dromara.mall.domain.bo.TzNoticeBo;
|
||||
import org.dromara.mall.domain.bo.TzPictureAlbumBo;
|
||||
import org.dromara.mall.domain.vo.*;
|
||||
import org.dromara.mall.service.*;
|
||||
import org.dromara.system.domain.vo.SysDictDataVo;
|
||||
import org.dromara.system.service.ISysDictTypeService;
|
||||
import org.dromara.web.common.SecurityUtils;
|
||||
import org.dromara.web.common.ServerResponseEntity;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -44,6 +48,8 @@ public class ApiIndexController {
|
||||
|
||||
private final ITzNoticeService tzNoticeService;
|
||||
|
||||
private final ISysDictTypeService dictTypeService;
|
||||
|
||||
@GetMapping("/indexImgs")
|
||||
@Operation(summary = "首页轮播图" , description = "获取首页轮播图列表信息")
|
||||
public ServerResponseEntity<List<TzIndexImgVo>> indexImgs() {
|
||||
@@ -102,4 +108,18 @@ public class ApiIndexController {
|
||||
return ServerResponseEntity.success(noticeDetail);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据字典类型查询字典数据信息
|
||||
*
|
||||
* @param dictType 字典类型
|
||||
*/
|
||||
@GetMapping(value = "/type/{dictType}")
|
||||
public R<List<SysDictDataVo>> dictType(@PathVariable String dictType) {
|
||||
List<SysDictDataVo> data = dictTypeService.selectDictDataByType(dictType);
|
||||
if (ObjectUtil.isNull(data)) {
|
||||
data = new ArrayList<>();
|
||||
}
|
||||
return R.ok(data);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -215,17 +215,45 @@ public class ApiProdController {
|
||||
}
|
||||
|
||||
@GetMapping("/categoryInfo")
|
||||
@Operation(summary = "分类信息列表", description = "获取所有的产品分类信息,顶级分类的parentId为0,默认为顶级分类")
|
||||
@Operation(summary = "根据父级ID获取分类信息列表", description = "获取所有的产品分类信息,顶级分类的parentId为0,默认为顶级分类")
|
||||
@Parameter(name = "parentId", description = "分类ID")
|
||||
public ServerResponseEntity<List<TzCategoryVo>> categoryInfo(@RequestParam(value = "parentId", defaultValue = "0") Long parentId) {
|
||||
List<TzCategoryVo> categories = categoryService.listByParentId(parentId);
|
||||
return ServerResponseEntity.success(categories);
|
||||
}
|
||||
|
||||
@GetMapping("/categoryByAncestors")
|
||||
@Operation(summary = "根据祖级ID获取分类信息列表", description = "获取所有的产品分类信息,顶级分类的ancestors为0,默认为顶级分类")
|
||||
@Parameter(name = "ancestors", description = "祖级ID")
|
||||
public ServerResponseEntity<List<TzCategoryVo>> categoryByAncestors(@RequestParam(value = "ancestors", defaultValue = "0") String ancestors) {
|
||||
List<TzCategoryVo> categories = categoryService.listByAncestors(ancestors);
|
||||
return ServerResponseEntity.success(categories);
|
||||
}
|
||||
|
||||
@PostMapping("/searchProdPage")
|
||||
@Operation(summary = "分页排序搜索商品", description = "根据商品名搜索")
|
||||
@Parameters({@Parameter(name = "categoryId", description = "分类ID"),@Parameter(name = "prodName", description = "商品名"), @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时必传")})
|
||||
public ServerResponseEntity<IPage<TzProdVo>> searchProdPage(@RequestBody PageQuery pageQuery, @RequestParam(value = "categoryId") Long categoryId, @RequestParam(value = "prodName") String prodName, @RequestParam(value = "floor") Integer floor, @RequestParam(value = "sort") Integer sort, @RequestParam(value = "orderBy") Integer orderBy) {
|
||||
@Parameters({
|
||||
@Parameter(name = "categoryId", description = "分类ID"),
|
||||
@Parameter(name = "prodName", description = "商品名"),
|
||||
@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时必传")
|
||||
})
|
||||
public ServerResponseEntity<IPage<TzProdVo>> searchProdPage(
|
||||
@RequestBody PageQuery pageQuery,
|
||||
@RequestParam(value = "categoryId") Long categoryId,
|
||||
@RequestParam(value = "prodName") String prodName,
|
||||
@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) {
|
||||
Long userId = SecurityUtils.getUserInfo();
|
||||
//用户个人搜索关键词叠加
|
||||
if (ObjectUtil.isNotEmpty(userId)) {
|
||||
@@ -233,7 +261,14 @@ public class ApiProdController {
|
||||
}
|
||||
//热搜关键词次数叠加
|
||||
hotSearchService.setSearchNum(prodName);
|
||||
return ServerResponseEntity.success(prodService.getSearchProdPageByProdName(pageQuery, categoryId, prodName, floor, sort, orderBy));
|
||||
|
||||
return ServerResponseEntity.success(prodService.getSearchProdPageByProdName(pageQuery, categoryId, prodName, envLevel, fireLevel, trialScenario, label, floor, sort, orderBy));
|
||||
}
|
||||
|
||||
@GetMapping("/prodCommPage")
|
||||
@Operation(summary = "商品评论列表", description = "查询商品评论列表")
|
||||
public ServerResponseEntity<IPage<TzProdCommVo>> getMyWithdrawList(TzProdCommBo bo, PageQuery pageQuery) {
|
||||
return ServerResponseEntity.success(prodCommService.selectPageList(bo, pageQuery));
|
||||
}
|
||||
|
||||
@PostMapping("/prodCommByProdId")
|
||||
|
||||
@@ -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<String, Object> config = new TreeMap<String, Object>();
|
||||
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("短信接口异常");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -52,9 +52,9 @@ spring:
|
||||
# url: jdbc:mysql://localhost:3306/jcs?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
|
||||
# username: root
|
||||
# password: root
|
||||
url: jdbc:mysql://erp9.52o.site:13308/jcs20250106?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
|
||||
username: jcs20250106
|
||||
password: esXkafdSMsxRAkNe
|
||||
url: jdbc:mysql://erp9.52o.site:13308/jcs20250512?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
|
||||
username: jcs20250512
|
||||
password: rdnGT3TFYFnMzstX
|
||||
# 从库数据源
|
||||
slave:
|
||||
lazy: false
|
||||
|
||||
@@ -55,9 +55,9 @@ spring:
|
||||
# url: jdbc:mysql://localhost:3306/cailiao?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
|
||||
# username: root
|
||||
# password: root
|
||||
url: jdbc:mysql://localhost:3306/jcs?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
|
||||
username: root
|
||||
password: root
|
||||
url: jdbc:mysql://erp9.52o.site:13308/jcs20250512?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
|
||||
username: jcs20250512
|
||||
password: rdnGT3TFYFnMzstX
|
||||
# 从库数据源
|
||||
slave:
|
||||
lazy: false
|
||||
|
||||
@@ -1,61 +1,61 @@
|
||||
#错误消息
|
||||
not.null=* 必须填写
|
||||
user.jcaptcha.error=验证码错误
|
||||
user.jcaptcha.expire=验证码已失效
|
||||
user.not.exists=对不起, 您的账号:{0} 不存在.
|
||||
user.password.not.match=用户不存在/密码错误
|
||||
user.password.retry.limit.count=密码输入错误{0}次
|
||||
user.password.retry.limit.exceed=密码输入错误{0}次,帐户锁定{1}分钟
|
||||
user.password.delete=对不起,您的账号:{0} 已被删除
|
||||
user.blocked=对不起,您的账号:{0} 已禁用,请联系管理员
|
||||
role.blocked=角色已封禁,请联系管理员
|
||||
user.logout.success=退出成功
|
||||
length.not.valid=长度必须在{min}到{max}个字符之间
|
||||
user.username.not.blank=用户名不能为空
|
||||
user.username.not.valid=* 2到20个汉字、字母、数字或下划线组成,且必须以非数字开头
|
||||
user.username.length.valid=账户长度必须在{min}到{max}个字符之间
|
||||
user.password.not.blank=用户密码不能为空
|
||||
user.password.length.valid=用户密码长度必须在{min}到{max}个字符之间
|
||||
user.password.not.valid=* 5-50个字符
|
||||
user.email.not.valid=邮箱格式错误
|
||||
user.email.not.blank=邮箱不能为空
|
||||
user.phonenumber.not.blank=用户手机号不能为空
|
||||
user.mobile.phone.number.not.valid=手机号格式错误
|
||||
user.login.success=登录成功
|
||||
user.register.success=注册成功
|
||||
user.register.save.error=保存用户 {0} 失败,注册账号已存在
|
||||
user.register.error=注册失败,请联系系统管理人员
|
||||
user.notfound=请重新登录
|
||||
user.forcelogout=管理员强制退出,请重新登录
|
||||
user.unknown.error=未知错误,请重新登录
|
||||
auth.grant.type.error=认证权限类型错误
|
||||
auth.grant.type.blocked=认证权限类型已禁用
|
||||
auth.grant.type.not.blank=认证权限类型不能为空
|
||||
auth.clientid.not.blank=认证客户端id不能为空
|
||||
##文件上传消息
|
||||
upload.exceed.maxSize=上传的文件大小超出限制的文件大小!<br/>允许的文件最大大小是:{0}MB!
|
||||
upload.filename.exceed.length=上传的文件名最长{0}个字符
|
||||
##权限
|
||||
no.permission=您没有数据的权限,请联系管理员添加权限 [{0}]
|
||||
no.create.permission=您没有创建数据的权限,请联系管理员添加权限 [{0}]
|
||||
no.update.permission=您没有修改数据的权限,请联系管理员添加权限 [{0}]
|
||||
no.delete.permission=您没有删除数据的权限,请联系管理员添加权限 [{0}]
|
||||
no.export.permission=您没有导出数据的权限,请联系管理员添加权限 [{0}]
|
||||
no.view.permission=您没有查看数据的权限,请联系管理员添加权限 [{0}]
|
||||
repeat.submit.message=不允许重复提交,请稍候再试
|
||||
rate.limiter.message=访问过于频繁,请稍候再试
|
||||
sms.code.not.blank=短信验证码不能为空
|
||||
sms.code.retry.limit.count=短信验证码输入错误{0}次
|
||||
sms.code.retry.limit.exceed=短信验证码输入错误{0}次,帐户锁定{1}分钟
|
||||
email.code.not.blank=邮箱验证码不能为空
|
||||
email.code.retry.limit.count=邮箱验证码输入错误{0}次
|
||||
email.code.retry.limit.exceed=邮箱验证码输入错误{0}次,帐户锁定{1}分钟
|
||||
xcx.code.not.blank=小程序[code]不能为空
|
||||
social.source.not.blank=第三方登录平台[source]不能为空
|
||||
social.code.not.blank=第三方登录平台[code]不能为空
|
||||
social.state.not.blank=第三方登录平台[state]不能为空
|
||||
##租户
|
||||
tenant.number.not.blank=租户编号不能为空
|
||||
tenant.not.exists=对不起, 您的租户不存在,请联系管理员
|
||||
tenant.blocked=对不起,您的租户已禁用,请联系管理员
|
||||
tenant.expired=对不起,您的租户已过期,请联系管理员
|
||||
#\u9519\u8BEF\u6D88\u606F
|
||||
not.null=* \u5FC5\u987B\u586B\u5199
|
||||
user.jcaptcha.error=\u9A8C\u8BC1\u7801\u9519\u8BEF
|
||||
user.jcaptcha.expire=\u9A8C\u8BC1\u7801\u5DF2\u5931\u6548
|
||||
user.not.exists=\u5BF9\u4E0D\u8D77, \u60A8\u7684\u8D26\u53F7\uFF1A{0} \u4E0D\u5B58\u5728.
|
||||
user.password.not.match=\u7528\u6237\u4E0D\u5B58\u5728/\u5BC6\u7801\u9519\u8BEF
|
||||
user.password.retry.limit.count=\u5BC6\u7801\u8F93\u5165\u9519\u8BEF{0}\u6B21
|
||||
user.password.retry.limit.exceed=\u5BC6\u7801\u8F93\u5165\u9519\u8BEF{0}\u6B21\uFF0C\u5E10\u6237\u9501\u5B9A{1}\u5206\u949F
|
||||
user.password.delete=\u5BF9\u4E0D\u8D77\uFF0C\u60A8\u7684\u8D26\u53F7\uFF1A{0} \u5DF2\u88AB\u5220\u9664
|
||||
user.blocked=\u5BF9\u4E0D\u8D77\uFF0C\u60A8\u7684\u8D26\u53F7\uFF1A{0} \u5DF2\u7981\u7528\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
|
||||
role.blocked=\u89D2\u8272\u5DF2\u5C01\u7981\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
|
||||
user.logout.success=\u9000\u51FA\u6210\u529F
|
||||
length.not.valid=\u957F\u5EA6\u5FC5\u987B\u5728{min}\u5230{max}\u4E2A\u5B57\u7B26\u4E4B\u95F4
|
||||
user.username.not.blank=\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user.username.not.valid=* 2\u523020\u4E2A\u6C49\u5B57\u3001\u5B57\u6BCD\u3001\u6570\u5B57\u6216\u4E0B\u5212\u7EBF\u7EC4\u6210\uFF0C\u4E14\u5FC5\u987B\u4EE5\u975E\u6570\u5B57\u5F00\u5934
|
||||
user.username.length.valid=\u8D26\u6237\u957F\u5EA6\u5FC5\u987B\u5728{min}\u5230{max}\u4E2A\u5B57\u7B26\u4E4B\u95F4
|
||||
user.password.not.blank=\u7528\u6237\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user.password.length.valid=\u7528\u6237\u5BC6\u7801\u957F\u5EA6\u5FC5\u987B\u5728{min}\u5230{max}\u4E2A\u5B57\u7B26\u4E4B\u95F4
|
||||
user.password.not.valid=* 5-50\u4E2A\u5B57\u7B26
|
||||
user.email.not.valid=\u90AE\u7BB1\u683C\u5F0F\u9519\u8BEF
|
||||
user.email.not.blank=\u90AE\u7BB1\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user.phonenumber.not.blank=\u7528\u6237\u624B\u673A\u53F7\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user.mobile.phone.number.not.valid=\u624B\u673A\u53F7\u683C\u5F0F\u9519\u8BEF
|
||||
user.login.success=\u767B\u5F55\u6210\u529F
|
||||
user.register.success=\u6CE8\u518C\u6210\u529F
|
||||
user.register.save.error=\u4FDD\u5B58\u7528\u6237 {0} \u5931\u8D25\uFF0C\u6CE8\u518C\u8D26\u53F7\u5DF2\u5B58\u5728
|
||||
user.register.error=\u6CE8\u518C\u5931\u8D25\uFF0C\u8BF7\u8054\u7CFB\u7CFB\u7EDF\u7BA1\u7406\u4EBA\u5458
|
||||
user.notfound=\u8BF7\u91CD\u65B0\u767B\u5F55
|
||||
user.forcelogout=\u7BA1\u7406\u5458\u5F3A\u5236\u9000\u51FA\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55
|
||||
user.unknown.error=\u672A\u77E5\u9519\u8BEF\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55
|
||||
auth.grant.type.error=\u8BA4\u8BC1\u6743\u9650\u7C7B\u578B\u9519\u8BEF
|
||||
auth.grant.type.blocked=\u8BA4\u8BC1\u6743\u9650\u7C7B\u578B\u5DF2\u7981\u7528
|
||||
auth.grant.type.not.blank=\u8BA4\u8BC1\u6743\u9650\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A
|
||||
auth.clientid.not.blank=\u8BA4\u8BC1\u5BA2\u6237\u7AEFid\u4E0D\u80FD\u4E3A\u7A7A
|
||||
##\u6587\u4EF6\u4E0A\u4F20\u6D88\u606F
|
||||
upload.exceed.maxSize=\u4E0A\u4F20\u7684\u6587\u4EF6\u5927\u5C0F\u8D85\u51FA\u9650\u5236\u7684\u6587\u4EF6\u5927\u5C0F\uFF01<br/>\u5141\u8BB8\u7684\u6587\u4EF6\u6700\u5927\u5927\u5C0F\u662F\uFF1A{0}MB\uFF01
|
||||
upload.filename.exceed.length=\u4E0A\u4F20\u7684\u6587\u4EF6\u540D\u6700\u957F{0}\u4E2A\u5B57\u7B26
|
||||
##\u6743\u9650
|
||||
no.permission=\u60A8\u6CA1\u6709\u6570\u636E\u7684\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650 [{0}]
|
||||
no.create.permission=\u60A8\u6CA1\u6709\u521B\u5EFA\u6570\u636E\u7684\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650 [{0}]
|
||||
no.update.permission=\u60A8\u6CA1\u6709\u4FEE\u6539\u6570\u636E\u7684\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650 [{0}]
|
||||
no.delete.permission=\u60A8\u6CA1\u6709\u5220\u9664\u6570\u636E\u7684\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650 [{0}]
|
||||
no.export.permission=\u60A8\u6CA1\u6709\u5BFC\u51FA\u6570\u636E\u7684\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650 [{0}]
|
||||
no.view.permission=\u60A8\u6CA1\u6709\u67E5\u770B\u6570\u636E\u7684\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650 [{0}]
|
||||
repeat.submit.message=\u4E0D\u5141\u8BB8\u91CD\u590D\u63D0\u4EA4\uFF0C\u8BF7\u7A0D\u5019\u518D\u8BD5
|
||||
rate.limiter.message=\u8BBF\u95EE\u8FC7\u4E8E\u9891\u7E41\uFF0C\u8BF7\u7A0D\u5019\u518D\u8BD5
|
||||
sms.code.not.blank=\u77ED\u4FE1\u9A8C\u8BC1\u7801\u4E0D\u80FD\u4E3A\u7A7A
|
||||
sms.code.retry.limit.count=\u77ED\u4FE1\u9A8C\u8BC1\u7801\u8F93\u5165\u9519\u8BEF{0}\u6B21
|
||||
sms.code.retry.limit.exceed=\u77ED\u4FE1\u9A8C\u8BC1\u7801\u8F93\u5165\u9519\u8BEF{0}\u6B21\uFF0C\u5E10\u6237\u9501\u5B9A{1}\u5206\u949F
|
||||
email.code.not.blank=\u90AE\u7BB1\u9A8C\u8BC1\u7801\u4E0D\u80FD\u4E3A\u7A7A
|
||||
email.code.retry.limit.count=\u90AE\u7BB1\u9A8C\u8BC1\u7801\u8F93\u5165\u9519\u8BEF{0}\u6B21
|
||||
email.code.retry.limit.exceed=\u90AE\u7BB1\u9A8C\u8BC1\u7801\u8F93\u5165\u9519\u8BEF{0}\u6B21\uFF0C\u5E10\u6237\u9501\u5B9A{1}\u5206\u949F
|
||||
xcx.code.not.blank=\u5C0F\u7A0B\u5E8F[code]\u4E0D\u80FD\u4E3A\u7A7A
|
||||
social.source.not.blank=\u7B2C\u4E09\u65B9\u767B\u5F55\u5E73\u53F0[source]\u4E0D\u80FD\u4E3A\u7A7A
|
||||
social.code.not.blank=\u7B2C\u4E09\u65B9\u767B\u5F55\u5E73\u53F0[code]\u4E0D\u80FD\u4E3A\u7A7A
|
||||
social.state.not.blank=\u7B2C\u4E09\u65B9\u767B\u5F55\u5E73\u53F0[state]\u4E0D\u80FD\u4E3A\u7A7A
|
||||
##\u79DF\u6237
|
||||
tenant.number.not.blank=\u79DF\u6237\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A
|
||||
tenant.not.exists=\u5BF9\u4E0D\u8D77, \u60A8\u7684\u79DF\u6237\u4E0D\u5B58\u5728\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
|
||||
tenant.blocked=\u5BF9\u4E0D\u8D77\uFF0C\u60A8\u7684\u79DF\u6237\u5DF2\u7981\u7528\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
|
||||
tenant.expired=\u5BF9\u4E0D\u8D77\uFF0C\u60A8\u7684\u79DF\u6237\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
|
||||
|
||||
@@ -1,61 +1,61 @@
|
||||
#错误消息
|
||||
not.null=* 必须填写
|
||||
user.jcaptcha.error=验证码错误
|
||||
user.jcaptcha.expire=验证码已失效
|
||||
user.not.exists=对不起, 您的账号:{0} 不存在.
|
||||
user.password.not.match=用户不存在/密码错误
|
||||
user.password.retry.limit.count=密码输入错误{0}次
|
||||
user.password.retry.limit.exceed=密码输入错误{0}次,帐户锁定{1}分钟
|
||||
user.password.delete=对不起,您的账号:{0} 已被删除
|
||||
user.blocked=对不起,您的账号:{0} 已禁用,请联系管理员
|
||||
role.blocked=角色已封禁,请联系管理员
|
||||
user.logout.success=退出成功
|
||||
length.not.valid=长度必须在{min}到{max}个字符之间
|
||||
user.username.not.blank=用户名不能为空
|
||||
user.username.not.valid=* 2到20个汉字、字母、数字或下划线组成,且必须以非数字开头
|
||||
user.username.length.valid=账户长度必须在{min}到{max}个字符之间
|
||||
user.password.not.blank=用户密码不能为空
|
||||
user.password.length.valid=用户密码长度必须在{min}到{max}个字符之间
|
||||
user.password.not.valid=* 5-50个字符
|
||||
user.email.not.valid=邮箱格式错误
|
||||
user.email.not.blank=邮箱不能为空
|
||||
user.phonenumber.not.blank=用户手机号不能为空
|
||||
user.mobile.phone.number.not.valid=手机号格式错误
|
||||
user.login.success=登录成功
|
||||
user.register.success=注册成功
|
||||
user.register.save.error=保存用户 {0} 失败,注册账号已存在
|
||||
user.register.error=注册失败,请联系系统管理人员
|
||||
user.notfound=请重新登录
|
||||
user.forcelogout=管理员强制退出,请重新登录
|
||||
user.unknown.error=未知错误,请重新登录
|
||||
auth.grant.type.error=认证权限类型错误
|
||||
auth.grant.type.blocked=认证权限类型已禁用
|
||||
auth.grant.type.not.blank=认证权限类型不能为空
|
||||
auth.clientid.not.blank=认证客户端id不能为空
|
||||
##文件上传消息
|
||||
upload.exceed.maxSize=上传的文件大小超出限制的文件大小!<br/>允许的文件最大大小是:{0}MB!
|
||||
upload.filename.exceed.length=上传的文件名最长{0}个字符
|
||||
##权限
|
||||
no.permission=您没有数据的权限,请联系管理员添加权限 [{0}]
|
||||
no.create.permission=您没有创建数据的权限,请联系管理员添加权限 [{0}]
|
||||
no.update.permission=您没有修改数据的权限,请联系管理员添加权限 [{0}]
|
||||
no.delete.permission=您没有删除数据的权限,请联系管理员添加权限 [{0}]
|
||||
no.export.permission=您没有导出数据的权限,请联系管理员添加权限 [{0}]
|
||||
no.view.permission=您没有查看数据的权限,请联系管理员添加权限 [{0}]
|
||||
repeat.submit.message=不允许重复提交,请稍候再试
|
||||
rate.limiter.message=访问过于频繁,请稍候再试
|
||||
sms.code.not.blank=短信验证码不能为空
|
||||
sms.code.retry.limit.count=短信验证码输入错误{0}次
|
||||
sms.code.retry.limit.exceed=短信验证码输入错误{0}次,帐户锁定{1}分钟
|
||||
email.code.not.blank=邮箱验证码不能为空
|
||||
email.code.retry.limit.count=邮箱验证码输入错误{0}次
|
||||
email.code.retry.limit.exceed=邮箱验证码输入错误{0}次,帐户锁定{1}分钟
|
||||
xcx.code.not.blank=小程序[code]不能为空
|
||||
social.source.not.blank=第三方登录平台[source]不能为空
|
||||
social.code.not.blank=第三方登录平台[code]不能为空
|
||||
social.state.not.blank=第三方登录平台[state]不能为空
|
||||
##租户
|
||||
tenant.number.not.blank=租户编号不能为空
|
||||
tenant.not.exists=对不起, 您的租户不存在,请联系管理员
|
||||
tenant.blocked=对不起,您的租户已禁用,请联系管理员
|
||||
tenant.expired=对不起,您的租户已过期,请联系管理员
|
||||
#\u9519\u8BEF\u6D88\u606F
|
||||
not.null=* \u5FC5\u987B\u586B\u5199
|
||||
user.jcaptcha.error=\u9A8C\u8BC1\u7801\u9519\u8BEF
|
||||
user.jcaptcha.expire=\u9A8C\u8BC1\u7801\u5DF2\u5931\u6548
|
||||
user.not.exists=\u5BF9\u4E0D\u8D77, \u60A8\u7684\u8D26\u53F7\uFF1A{0} \u4E0D\u5B58\u5728.
|
||||
user.password.not.match=\u7528\u6237\u4E0D\u5B58\u5728/\u5BC6\u7801\u9519\u8BEF
|
||||
user.password.retry.limit.count=\u5BC6\u7801\u8F93\u5165\u9519\u8BEF{0}\u6B21
|
||||
user.password.retry.limit.exceed=\u5BC6\u7801\u8F93\u5165\u9519\u8BEF{0}\u6B21\uFF0C\u5E10\u6237\u9501\u5B9A{1}\u5206\u949F
|
||||
user.password.delete=\u5BF9\u4E0D\u8D77\uFF0C\u60A8\u7684\u8D26\u53F7\uFF1A{0} \u5DF2\u88AB\u5220\u9664
|
||||
user.blocked=\u5BF9\u4E0D\u8D77\uFF0C\u60A8\u7684\u8D26\u53F7\uFF1A{0} \u5DF2\u7981\u7528\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
|
||||
role.blocked=\u89D2\u8272\u5DF2\u5C01\u7981\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
|
||||
user.logout.success=\u9000\u51FA\u6210\u529F
|
||||
length.not.valid=\u957F\u5EA6\u5FC5\u987B\u5728{min}\u5230{max}\u4E2A\u5B57\u7B26\u4E4B\u95F4
|
||||
user.username.not.blank=\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user.username.not.valid=* 2\u523020\u4E2A\u6C49\u5B57\u3001\u5B57\u6BCD\u3001\u6570\u5B57\u6216\u4E0B\u5212\u7EBF\u7EC4\u6210\uFF0C\u4E14\u5FC5\u987B\u4EE5\u975E\u6570\u5B57\u5F00\u5934
|
||||
user.username.length.valid=\u8D26\u6237\u957F\u5EA6\u5FC5\u987B\u5728{min}\u5230{max}\u4E2A\u5B57\u7B26\u4E4B\u95F4
|
||||
user.password.not.blank=\u7528\u6237\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user.password.length.valid=\u7528\u6237\u5BC6\u7801\u957F\u5EA6\u5FC5\u987B\u5728{min}\u5230{max}\u4E2A\u5B57\u7B26\u4E4B\u95F4
|
||||
user.password.not.valid=* 5-50\u4E2A\u5B57\u7B26
|
||||
user.email.not.valid=\u90AE\u7BB1\u683C\u5F0F\u9519\u8BEF
|
||||
user.email.not.blank=\u90AE\u7BB1\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user.phonenumber.not.blank=\u7528\u6237\u624B\u673A\u53F7\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user.mobile.phone.number.not.valid=\u624B\u673A\u53F7\u683C\u5F0F\u9519\u8BEF
|
||||
user.login.success=\u767B\u5F55\u6210\u529F
|
||||
user.register.success=\u6CE8\u518C\u6210\u529F
|
||||
user.register.save.error=\u4FDD\u5B58\u7528\u6237 {0} \u5931\u8D25\uFF0C\u6CE8\u518C\u8D26\u53F7\u5DF2\u5B58\u5728
|
||||
user.register.error=\u6CE8\u518C\u5931\u8D25\uFF0C\u8BF7\u8054\u7CFB\u7CFB\u7EDF\u7BA1\u7406\u4EBA\u5458
|
||||
user.notfound=\u8BF7\u91CD\u65B0\u767B\u5F55
|
||||
user.forcelogout=\u7BA1\u7406\u5458\u5F3A\u5236\u9000\u51FA\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55
|
||||
user.unknown.error=\u672A\u77E5\u9519\u8BEF\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55
|
||||
auth.grant.type.error=\u8BA4\u8BC1\u6743\u9650\u7C7B\u578B\u9519\u8BEF
|
||||
auth.grant.type.blocked=\u8BA4\u8BC1\u6743\u9650\u7C7B\u578B\u5DF2\u7981\u7528
|
||||
auth.grant.type.not.blank=\u8BA4\u8BC1\u6743\u9650\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A
|
||||
auth.clientid.not.blank=\u8BA4\u8BC1\u5BA2\u6237\u7AEFid\u4E0D\u80FD\u4E3A\u7A7A
|
||||
##\u6587\u4EF6\u4E0A\u4F20\u6D88\u606F
|
||||
upload.exceed.maxSize=\u4E0A\u4F20\u7684\u6587\u4EF6\u5927\u5C0F\u8D85\u51FA\u9650\u5236\u7684\u6587\u4EF6\u5927\u5C0F\uFF01<br/>\u5141\u8BB8\u7684\u6587\u4EF6\u6700\u5927\u5927\u5C0F\u662F\uFF1A{0}MB\uFF01
|
||||
upload.filename.exceed.length=\u4E0A\u4F20\u7684\u6587\u4EF6\u540D\u6700\u957F{0}\u4E2A\u5B57\u7B26
|
||||
##\u6743\u9650
|
||||
no.permission=\u60A8\u6CA1\u6709\u6570\u636E\u7684\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650 [{0}]
|
||||
no.create.permission=\u60A8\u6CA1\u6709\u521B\u5EFA\u6570\u636E\u7684\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650 [{0}]
|
||||
no.update.permission=\u60A8\u6CA1\u6709\u4FEE\u6539\u6570\u636E\u7684\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650 [{0}]
|
||||
no.delete.permission=\u60A8\u6CA1\u6709\u5220\u9664\u6570\u636E\u7684\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650 [{0}]
|
||||
no.export.permission=\u60A8\u6CA1\u6709\u5BFC\u51FA\u6570\u636E\u7684\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650 [{0}]
|
||||
no.view.permission=\u60A8\u6CA1\u6709\u67E5\u770B\u6570\u636E\u7684\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650 [{0}]
|
||||
repeat.submit.message=\u4E0D\u5141\u8BB8\u91CD\u590D\u63D0\u4EA4\uFF0C\u8BF7\u7A0D\u5019\u518D\u8BD5
|
||||
rate.limiter.message=\u8BBF\u95EE\u8FC7\u4E8E\u9891\u7E41\uFF0C\u8BF7\u7A0D\u5019\u518D\u8BD5
|
||||
sms.code.not.blank=\u77ED\u4FE1\u9A8C\u8BC1\u7801\u4E0D\u80FD\u4E3A\u7A7A
|
||||
sms.code.retry.limit.count=\u77ED\u4FE1\u9A8C\u8BC1\u7801\u8F93\u5165\u9519\u8BEF{0}\u6B21
|
||||
sms.code.retry.limit.exceed=\u77ED\u4FE1\u9A8C\u8BC1\u7801\u8F93\u5165\u9519\u8BEF{0}\u6B21\uFF0C\u5E10\u6237\u9501\u5B9A{1}\u5206\u949F
|
||||
email.code.not.blank=\u90AE\u7BB1\u9A8C\u8BC1\u7801\u4E0D\u80FD\u4E3A\u7A7A
|
||||
email.code.retry.limit.count=\u90AE\u7BB1\u9A8C\u8BC1\u7801\u8F93\u5165\u9519\u8BEF{0}\u6B21
|
||||
email.code.retry.limit.exceed=\u90AE\u7BB1\u9A8C\u8BC1\u7801\u8F93\u5165\u9519\u8BEF{0}\u6B21\uFF0C\u5E10\u6237\u9501\u5B9A{1}\u5206\u949F
|
||||
xcx.code.not.blank=\u5C0F\u7A0B\u5E8F[code]\u4E0D\u80FD\u4E3A\u7A7A
|
||||
social.source.not.blank=\u7B2C\u4E09\u65B9\u767B\u5F55\u5E73\u53F0[source]\u4E0D\u80FD\u4E3A\u7A7A
|
||||
social.code.not.blank=\u7B2C\u4E09\u65B9\u767B\u5F55\u5E73\u53F0[code]\u4E0D\u80FD\u4E3A\u7A7A
|
||||
social.state.not.blank=\u7B2C\u4E09\u65B9\u767B\u5F55\u5E73\u53F0[state]\u4E0D\u80FD\u4E3A\u7A7A
|
||||
##\u79DF\u6237
|
||||
tenant.number.not.blank=\u79DF\u6237\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A
|
||||
tenant.not.exists=\u5BF9\u4E0D\u8D77, \u60A8\u7684\u79DF\u6237\u4E0D\u5B58\u5728\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
|
||||
tenant.blocked=\u5BF9\u4E0D\u8D77\uFF0C\u60A8\u7684\u79DF\u6237\u5DF2\u7981\u7528\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
|
||||
tenant.expired=\u5BF9\u4E0D\u8D77\uFF0C\u60A8\u7684\u79DF\u6237\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
|
||||
|
||||
@@ -139,12 +139,12 @@
|
||||
<version>5.3.0</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<!--<dependency>
|
||||
<groupId>org.dromara</groupId>
|
||||
<artifactId>ruoyi-common-pay-new</artifactId>
|
||||
<version>5.3.0</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependency>-->
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
|
||||
@@ -22,7 +22,6 @@ import org.dromara.mall.domain.bo.TzSkuBo;
|
||||
import org.dromara.mall.domain.vo.TzProdSumVo;
|
||||
import org.dromara.mall.domain.vo.TzProdVo;
|
||||
import org.dromara.mall.service.ITzProdService;
|
||||
import org.dromara.mall.service.ITzSkuService;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@@ -42,8 +41,6 @@ public class TzProdController extends BaseController {
|
||||
|
||||
private final ITzProdService tzProdService;
|
||||
|
||||
private final ITzSkuService tzSkuService;
|
||||
|
||||
/**
|
||||
* 查询商品列表
|
||||
*/
|
||||
|
||||
@@ -30,9 +30,9 @@ public class TzCategory extends BaseEntity {
|
||||
private Long categoryId;
|
||||
|
||||
/**
|
||||
* 店铺ID
|
||||
* 祖级列表
|
||||
*/
|
||||
private Long shopId;
|
||||
private String ancestors;
|
||||
|
||||
/**
|
||||
* 父节点
|
||||
|
||||
@@ -212,4 +212,19 @@ public class TzProd extends TenantEntity {
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 环保等级
|
||||
*/
|
||||
private String envLevel;
|
||||
|
||||
/**
|
||||
* 防火等级
|
||||
*/
|
||||
private String fireLevel;
|
||||
|
||||
/**
|
||||
* 试用场景
|
||||
*/
|
||||
private String trialScenario;
|
||||
|
||||
}
|
||||
|
||||
@@ -33,6 +33,11 @@ public class TzProdComm extends TenantEntity {
|
||||
*/
|
||||
private Long prodId;
|
||||
|
||||
/**
|
||||
* 商品名称
|
||||
*/
|
||||
private String prodName;
|
||||
|
||||
/**
|
||||
* 订单 ID
|
||||
*/
|
||||
@@ -83,5 +88,10 @@ public class TzProdComm extends TenantEntity {
|
||||
*/
|
||||
private Long delFlag;
|
||||
|
||||
/**
|
||||
* 浏览量
|
||||
*/
|
||||
private Long num;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -30,9 +30,9 @@ public class TzCategoryBo extends BaseEntity {
|
||||
private Long categoryId;
|
||||
|
||||
/**
|
||||
* 店铺ID
|
||||
* 祖级列表
|
||||
*/
|
||||
private Long shopId;
|
||||
private String ancestors;
|
||||
|
||||
/**
|
||||
* 父节点
|
||||
|
||||
@@ -217,4 +217,19 @@ public class TzProdBo extends TenantEntity {
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 环保等级(查询多值时逗号隔开)
|
||||
*/
|
||||
private String envLevel;
|
||||
|
||||
/**
|
||||
* 防火等级(查询多值时逗号隔开)
|
||||
*/
|
||||
private String fireLevel;
|
||||
|
||||
/**
|
||||
* 试用场景(查询多值时逗号隔开)
|
||||
*/
|
||||
private String trialScenario;
|
||||
|
||||
}
|
||||
|
||||
@@ -32,6 +32,11 @@ public class TzProdCommBo extends BaseEntity {
|
||||
@NotNull(message = "商品ID不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long prodId;
|
||||
|
||||
/**
|
||||
* 商品名称
|
||||
*/
|
||||
private String prodName;
|
||||
|
||||
/**
|
||||
* 订单 ID
|
||||
*/
|
||||
@@ -82,5 +87,15 @@ public class TzProdCommBo extends BaseEntity {
|
||||
*/
|
||||
private Integer delFlag;
|
||||
|
||||
/**
|
||||
* 浏览量
|
||||
*/
|
||||
private Long num;
|
||||
|
||||
/**
|
||||
* 排序 1-最新,2-最热
|
||||
*/
|
||||
private Integer sort;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -104,6 +104,12 @@ public class HyBasketVo implements Serializable {
|
||||
@ExcelProperty(value = "SKU图片")
|
||||
private String pic;
|
||||
|
||||
/**
|
||||
* 指导价
|
||||
*/
|
||||
@ExcelProperty(value = "指导价")
|
||||
private BigDecimal guidingPrice;
|
||||
|
||||
/**
|
||||
* SKU成本价格
|
||||
*/
|
||||
|
||||
@@ -153,6 +153,12 @@ public class HyOrderItemVo implements Serializable {
|
||||
@ExcelProperty(value = "付款金额")
|
||||
private BigDecimal payPrice;
|
||||
|
||||
/**
|
||||
* 指导价
|
||||
*/
|
||||
@ExcelProperty(value = "指导价")
|
||||
private BigDecimal guidingPrice;
|
||||
|
||||
/**
|
||||
* 支付状态 1:待支付 2:未付清 3:已付清
|
||||
*/
|
||||
|
||||
@@ -33,10 +33,10 @@ public class TzCategoryVo implements Serializable {
|
||||
private Long categoryId;
|
||||
|
||||
/**
|
||||
* 店铺ID
|
||||
* 祖级列表
|
||||
*/
|
||||
@ExcelProperty(value = "店铺ID")
|
||||
private Long shopId;
|
||||
@ExcelProperty(value = "祖级列表")
|
||||
private String ancestors;
|
||||
|
||||
/**
|
||||
* 父节点
|
||||
|
||||
@@ -8,6 +8,7 @@ import org.dromara.mall.domain.TzProdComm;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
@@ -109,5 +110,21 @@ public class TzProdCommVo implements Serializable {
|
||||
@ExcelProperty(value = "评论时间")
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 浏览量
|
||||
*/
|
||||
@ExcelProperty(value = "浏览量")
|
||||
private Long num;
|
||||
|
||||
/**
|
||||
* 商品指导价
|
||||
*/
|
||||
private BigDecimal guidingPrice;
|
||||
|
||||
/**
|
||||
* 商品展示价
|
||||
*/
|
||||
private BigDecimal price;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -289,5 +289,20 @@ public class TzProdVo implements Serializable {
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 环保等级
|
||||
*/
|
||||
private String envLevel;
|
||||
|
||||
/**
|
||||
* 防火等级
|
||||
*/
|
||||
private String fireLevel;
|
||||
|
||||
/**
|
||||
* 试用场景
|
||||
*/
|
||||
private String trialScenario;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -60,7 +60,7 @@ public interface TzProdMapper extends BaseMapperPlus<TzProd, TzProdVo>, MPJBaseM
|
||||
* @param orderBy
|
||||
* @return
|
||||
*/
|
||||
IPage<TzProdVo> getSearchProdPageByProdName(@Param("page") IPage<TzProdBo> page, @Param("categoryId") Long categoryId, @Param("prodName") String prodName, @Param("floor") Integer floor, @Param("sort") Integer sort, @Param("orderBy") Integer orderBy);
|
||||
IPage<TzProdVo> getSearchProdPageByProdName(@Param("page") IPage<TzProdBo> 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);
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@@ -68,4 +68,11 @@ public interface ITzCategoryService {
|
||||
* @return
|
||||
*/
|
||||
List<TzCategoryVo> categoryAll();
|
||||
|
||||
/**
|
||||
* 分类信息列表
|
||||
* @param ancestors
|
||||
* @return
|
||||
*/
|
||||
List<TzCategoryVo> listByAncestors(String ancestors);
|
||||
}
|
||||
|
||||
@@ -91,4 +91,12 @@ public interface ITzProdCommService {
|
||||
* @return 商品评论分页列表
|
||||
*/
|
||||
IPage<TzProdCommVo> queryPageListByUser(TzProdCommBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询商品评论列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 商品评论列表
|
||||
*/
|
||||
IPage<TzProdCommVo> selectPageList(TzProdCommBo bo, PageQuery pageQuery);
|
||||
}
|
||||
|
||||
@@ -108,7 +108,7 @@ public interface ITzProdService extends MPJBaseService<TzProd> {
|
||||
* @param orderBy
|
||||
* @return
|
||||
*/
|
||||
IPage<TzProdVo> getSearchProdPageByProdName(PageQuery pageQuery, Long categoryId, String prodName, Integer floor, Integer sort, Integer orderBy);
|
||||
IPage<TzProdVo> getSearchProdPageByProdName(PageQuery pageQuery, Long categoryId, String prodName, String envLevel, String fireLevel, String trialScenario, Integer label, Integer floor, Integer sort, Integer orderBy);
|
||||
|
||||
/**
|
||||
* 商品收藏
|
||||
|
||||
@@ -85,6 +85,7 @@ public class HyBasketServiceImpl extends MPJBaseServiceImpl<HyBasketMapper,HyBas
|
||||
.selectAll(HyBasket.class)
|
||||
.select(TzProd::getProdCode, TzProd::getProdName, TzProd::getPic, TzProd::getUnit)
|
||||
.select(TzSku::getSkuCode, TzSku::getSkuFactoryCode, TzSku::getSkuName)
|
||||
.selectAs(TzProd::getGuidingPrice, HyBasketVo::getGuidingPrice)
|
||||
.selectAs(TzSku::getPrice, HyBasketVo::getOriPrice)
|
||||
.leftJoin(TzProd.class, TzProd::getProdId, HyBasket::getProdId)
|
||||
.leftJoin(TzSku.class, TzSku::getSkuId, HyBasket::getSkuId)
|
||||
|
||||
@@ -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;
|
||||
@@ -147,7 +146,7 @@ public class HyOrderItemServiceImpl extends MPJBaseServiceImpl<HyOrderItemMapper
|
||||
MPJLambdaWrapper<HyOrderItem> wrapper = buildQueryWrapper(bo)
|
||||
.selectAll(HyOrderItem.class)
|
||||
.select(TzProd::getProdName, TzProd::getPic,TzProd::getUnit)
|
||||
.select(TzSku::getSkuName, TzSku::getPrice)
|
||||
.select(TzSku::getSkuName, TzSku::getPrice,TzSku::getGuidingPrice)
|
||||
.leftJoin(TzProd.class, TzProd::getProdId, HyOrderItem::getProdId)
|
||||
.leftJoin(TzSku.class, TzSku::getSkuId, HyOrderItem::getSkuId)
|
||||
.orderByDesc(HyOrderItem::getCreateTime);
|
||||
@@ -382,7 +381,7 @@ public class HyOrderItemServiceImpl extends MPJBaseServiceImpl<HyOrderItemMapper
|
||||
MPJLambdaWrapper<HyOrderItem> wrapper = new MPJLambdaWrapper<HyOrderItem>()
|
||||
.selectAll(HyOrderItem.class)
|
||||
.select(TzProd::getProdName, TzProd::getPic,TzProd::getUnit)
|
||||
.select(TzSku::getSkuName, TzSku::getPrice)
|
||||
.select(TzSku::getSkuName, TzSku::getPrice, TzSku::getGuidingPrice)
|
||||
.leftJoin(TzProd.class, TzProd::getProdId, HyOrderItem::getProdId)
|
||||
.leftJoin(TzSku.class, TzSku::getSkuId, HyOrderItem::getSkuId)
|
||||
.eq(HyOrderItem::getId, orderId)
|
||||
@@ -526,7 +525,7 @@ public class HyOrderItemServiceImpl extends MPJBaseServiceImpl<HyOrderItemMapper
|
||||
MPJLambdaWrapper<HyOrderItem> wrapper = new MPJLambdaWrapper<HyOrderItem>()
|
||||
.selectAll(HyOrderItem.class)
|
||||
.select(TzProd::getProdName, TzProd::getPic,TzProd::getUnit)
|
||||
.select(TzSku::getSkuName)
|
||||
.select(TzSku::getSkuName, TzSku::getGuidingPrice)
|
||||
.leftJoin(TzProd.class, TzProd::getProdId, HyOrderItem::getProdId)
|
||||
.leftJoin(TzSku.class, TzSku::getSkuId, HyOrderItem::getSkuId)
|
||||
.eq(HyOrderItem::getOrderId, orderId)
|
||||
@@ -836,7 +835,7 @@ public class HyOrderItemServiceImpl extends MPJBaseServiceImpl<HyOrderItemMapper
|
||||
V3LabsTradeLocationInfo v3LabsTradeLocationInfo = new V3LabsTradeLocationInfo("124.223.107.31", null, null);
|
||||
v3LabsRelationRefundRequest.setLocationInfo(v3LabsTradeLocationInfo);
|
||||
|
||||
JSONObject jsonObject1 = V3LakalaOrderUtils.relationRefund(v3LabsRelationRefundRequest);
|
||||
JSONObject jsonObject1 = V3LakalaUserUtils.relationRefund(v3LabsRelationRefundRequest);
|
||||
if ("BBS00000".equals(jsonObject1.getString("code"))) {
|
||||
// 更新主订单付款金额
|
||||
boolean orderResult = orderMapper.update(null,
|
||||
|
||||
@@ -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;
|
||||
@@ -475,7 +474,7 @@ public class HyOrderServiceImpl extends MPJBaseServiceImpl<HyOrderMapper, HyOrde
|
||||
V3LabsTradeLocationInfo v3LabsTradeLocationInfo = new V3LabsTradeLocationInfo("124.223.107.31", null, null);
|
||||
v3LabsRelationRefundRequest.setLocationInfo(v3LabsTradeLocationInfo);
|
||||
|
||||
JSONObject jsonObject1 = V3LakalaOrderUtils.relationRefund(v3LabsRelationRefundRequest);
|
||||
JSONObject jsonObject1 = V3LakalaUserUtils.relationRefund(v3LabsRelationRefundRequest);
|
||||
if ("BBS00000".equals(jsonObject1.getString("code"))) {
|
||||
// 更新主订单状态为已取消
|
||||
boolean orderResult = baseMapper.update(null,
|
||||
|
||||
@@ -63,14 +63,14 @@ public class TzBankCardServiceImpl extends BaseCommonDemo implements ITzBankCard
|
||||
|
||||
private final TzUserMapper userMapper;
|
||||
|
||||
/* private static String basePath = "D:\\lkl\\createFile\\";
|
||||
private static String basePath = "D:\\lkl\\createFile\\";
|
||||
|
||||
private static String urlPrefix = "D:\\lkl\\file\\";*/
|
||||
private static String urlPrefix = "D:\\lkl\\file\\";
|
||||
|
||||
|
||||
private static String basePath = "/home/manage/jcs/createFile/";
|
||||
/*private static String basePath = "/home/manage/jcs/createFile/";
|
||||
|
||||
private static String urlPrefix = "/home/manage/jcs/file/";
|
||||
private static String urlPrefix = "/home/manage/jcs/file/";*/
|
||||
|
||||
/**
|
||||
* 1-身份证正面 2-身份证反面 3-银行卡 4-营业执照 5-合作协议-纸质版 6-合作协议-电子版
|
||||
|
||||
@@ -75,14 +75,14 @@ public class TzCategoryServiceImpl implements ITzCategoryService {
|
||||
bo.setGrade(category.getGrade()+1);
|
||||
category.setSubset(1);
|
||||
baseMapper.updateById(category);
|
||||
|
||||
bo.setAncestors(category.getAncestors()+StringUtils.SEPARATOR+category.getCategoryId());
|
||||
}else{
|
||||
bo.setAncestors("0");
|
||||
}
|
||||
bo.setRecTime(new Date());
|
||||
TzCategory add = MapstructUtils.convert(bo, TzCategory.class);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setCategoryId(add.getCategoryId());
|
||||
}
|
||||
return flag;
|
||||
return baseMapper.insert(add) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -98,13 +98,15 @@ public class TzCategoryServiceImpl implements ITzCategoryService {
|
||||
bo.setGrade(category.getGrade()+1);
|
||||
category.setSubset(1);
|
||||
baseMapper.updateById(category);
|
||||
|
||||
bo.setAncestors(category.getAncestors()+StringUtils.SEPARATOR+category.getCategoryId());
|
||||
}else{
|
||||
bo.setAncestors("0");
|
||||
}
|
||||
TzCategory update = MapstructUtils.convert(bo, TzCategory.class);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 校验并批量删除产品类目信息
|
||||
*
|
||||
@@ -117,15 +119,24 @@ public class TzCategoryServiceImpl implements ITzCategoryService {
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据父级ID查询子类信息
|
||||
*/
|
||||
@Override
|
||||
public List<TzCategoryVo> listByParentId(Long parentId) {
|
||||
return baseMapper.selectVoList(new LambdaQueryWrapper<TzCategory>().eq(TzCategory::getParentId, parentId).eq(TzCategory::getStatus,1));
|
||||
}
|
||||
|
||||
/**
|
||||
* 分类信息列表
|
||||
*/
|
||||
@Override
|
||||
public List<TzCategoryVo> listByAncestors(String ancestors) {
|
||||
return baseMapper.selectVoList(new LambdaQueryWrapper<TzCategory>().like(TzCategory::getAncestors, ancestors).eq(TzCategory::getStatus,1));
|
||||
}
|
||||
|
||||
/**
|
||||
* 全部分类信息列表
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<TzCategoryVo> categoryAll() {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package org.dromara.mall.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@@ -41,7 +42,6 @@ public class TzProdCommServiceImpl implements ITzProdCommService {
|
||||
private final HyOrderMapper orderMapper;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 查询商品评论
|
||||
*
|
||||
@@ -50,7 +50,16 @@ public class TzProdCommServiceImpl implements ITzProdCommService {
|
||||
*/
|
||||
@Override
|
||||
public TzProdCommVo queryById(Long id){
|
||||
return baseMapper.selectVoById(id);
|
||||
TzProdCommVo tzProdCommVo = baseMapper.selectVoById(id);
|
||||
|
||||
TzUser user = userMapper.selectById(tzProdCommVo.getUserId());
|
||||
if(user != null) {
|
||||
tzProdCommVo.setUserAvatar(user.getPic());
|
||||
tzProdCommVo.setUserName(user.getRealName());
|
||||
}
|
||||
//设置浏览量+1
|
||||
baseMapper.update(new LambdaUpdateWrapper<TzProdComm>().eq(TzProdComm::getId, id).setIncrBy(TzProdComm::getNum, 1));
|
||||
return tzProdCommVo;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -68,6 +77,37 @@ public class TzProdCommServiceImpl implements ITzProdCommService {
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询商品评论列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery
|
||||
* @return 商品评论列表
|
||||
*/
|
||||
@Override
|
||||
public IPage<TzProdCommVo> selectPageList(TzProdCommBo bo, PageQuery pageQuery) {
|
||||
bo.setDelFlag(1);
|
||||
bo.setStatus(1);
|
||||
LambdaQueryWrapper<TzProdComm> lqw = buildQueryWrapper(bo);
|
||||
IPage<TzProdCommVo> page = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
|
||||
// 获取评论用户头像
|
||||
for(TzProdCommVo vo : page.getRecords()) {
|
||||
TzUser user = userMapper.selectById(vo.getUserId());
|
||||
if(user != null) {
|
||||
vo.setUserAvatar(user.getPic());
|
||||
vo.setUserName(user.getRealName());
|
||||
}
|
||||
|
||||
TzProd prod = prodMapper.selectById(vo.getProdId());
|
||||
if(prod != null) {
|
||||
vo.setGuidingPrice(prod.getGuidingPrice());
|
||||
vo.setPrice(prod.getPrice());
|
||||
}
|
||||
}
|
||||
return page;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的商品评论列表
|
||||
*
|
||||
@@ -111,6 +151,7 @@ public class TzProdCommServiceImpl implements ITzProdCommService {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<TzProdComm> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(bo.getProdId() != null, TzProdComm::getProdId, bo.getProdId());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getProdName()), TzProdComm::getProdName, bo.getProdName());
|
||||
lqw.eq(bo.getOrderId() != null, TzProdComm::getOrderId, bo.getOrderId());
|
||||
lqw.eq(bo.getOrderItemId() != null, TzProdComm::getOrderItemId, bo.getOrderItemId());
|
||||
lqw.eq(bo.getUserId() != null, TzProdComm::getUserId, bo.getUserId());
|
||||
@@ -121,7 +162,13 @@ public class TzProdCommServiceImpl implements ITzProdCommService {
|
||||
lqw.eq(bo.getIsAnonymous() != null, TzProdComm::getIsAnonymous, bo.getIsAnonymous());
|
||||
lqw.eq(bo.getStatus() != null, TzProdComm::getStatus, bo.getStatus());
|
||||
lqw.eq(bo.getDelFlag() != null, TzProdComm::getDelFlag, bo.getDelFlag());
|
||||
lqw.orderByDesc(TzProdComm::getId);
|
||||
if(bo.getSort() != null){
|
||||
if(bo.getSort() == 1){
|
||||
lqw.orderByDesc(TzProdComm::getCreateTime);
|
||||
}else if (bo.getSort() == 2){
|
||||
lqw.orderByDesc(TzProdComm::getNum);
|
||||
}
|
||||
}
|
||||
return lqw;
|
||||
}
|
||||
|
||||
@@ -134,17 +181,22 @@ public class TzProdCommServiceImpl implements ITzProdCommService {
|
||||
@Override
|
||||
public Boolean insertByBo(TzProdCommBo bo) {
|
||||
//更新订单状态为已完成
|
||||
HyOrderItem orderItem = orderItemMapper.selectById(bo.getOrderItemId());
|
||||
orderItem.setStatus(5);
|
||||
orderItemMapper.updateById(orderItem);
|
||||
//更新总订单状态为已完成
|
||||
HyOrder order = orderMapper.selectById(bo.getOrderId());
|
||||
List<HyOrderItem> orderItems = orderItemMapper.selectList(Wrappers.lambdaQuery(HyOrderItem.class).eq(HyOrderItem::getOrderId, bo.getOrderId()));
|
||||
//判断订单是否已全部完成
|
||||
if (orderItems.stream().allMatch(item -> item.getStatus() == 5)) {
|
||||
order.setStatus(5);
|
||||
orderMapper.updateById(order);
|
||||
if (bo.getOrderItemId() != null) {
|
||||
HyOrderItem orderItem = orderItemMapper.selectById(bo.getOrderItemId());
|
||||
orderItem.setStatus(5);
|
||||
orderItemMapper.updateById(orderItem);
|
||||
//更新总订单状态为已完成
|
||||
HyOrder order = orderMapper.selectById(bo.getOrderId());
|
||||
List<HyOrderItem> orderItems = orderItemMapper.selectList(Wrappers.lambdaQuery(HyOrderItem.class).eq(HyOrderItem::getOrderId, bo.getOrderId()));
|
||||
//判断订单是否已全部完成
|
||||
if (orderItems.stream().allMatch(item -> item.getStatus() == 5)) {
|
||||
order.setStatus(5);
|
||||
orderMapper.updateById(order);
|
||||
}
|
||||
}
|
||||
// 根据商品ID查询商品信息
|
||||
TzProd prod = prodMapper.selectById(bo.getProdId());
|
||||
bo.setProdName(prod.getProdName());
|
||||
TzProdComm add = MapstructUtils.convert(bo, TzProdComm.class);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
@@ -189,14 +241,13 @@ public class TzProdCommServiceImpl implements ITzProdCommService {
|
||||
IPage<TzProdCommVo> page = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
|
||||
// 获取评论列表中的商品信息
|
||||
page.getRecords().forEach(comment -> {
|
||||
/*page.getRecords().forEach(comment -> {
|
||||
// 根据商品ID查询商品信息
|
||||
TzProd prod = prodMapper.selectById(comment.getProdId());
|
||||
if (prod != null) {
|
||||
comment.setProdName(prod.getProdName());
|
||||
}
|
||||
});
|
||||
|
||||
});*/
|
||||
return page;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -172,6 +172,7 @@ public class TzProdServiceImpl extends MPJBaseServiceImpl<TzProdMapper,TzProd> i
|
||||
private MPJLambdaWrapper<TzProd> buildQueryMPJWrapper(TzProdBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
MPJLambdaWrapper<TzProd> 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());
|
||||
@@ -182,7 +183,21 @@ public class TzProdServiceImpl extends MPJBaseServiceImpl<TzProdMapper,TzProd> i
|
||||
lqw.like(StringUtils.isNotBlank(bo.getFactoryAddress()), TzProd::getFactoryAddress, bo.getFactoryAddress());
|
||||
lqw.eq(bo.getStatus() != null, TzProd::getStatus, bo.getStatus());
|
||||
lqw.eq(bo.getExamineFlag() != null, TzProd::getExamineFlag, bo.getExamineFlag());
|
||||
// lqw.like(bo.getCategoryId() != null, TzProd::getCategoryId, bo.getCategoryId());
|
||||
|
||||
if(bo.getEnvLevel() != null){
|
||||
/*//根据逗号分割解析该字符串
|
||||
String[] split = bo.getEnvLevel().split(",");
|
||||
for (String s : split) {
|
||||
lqw.or().like(TzProd::getEnvLevel, s);
|
||||
}*/
|
||||
lqw.in(TzProd::getEnvLevel, bo.getEnvLevel());
|
||||
}
|
||||
if(bo.getFireLevel() != null){
|
||||
lqw.in(TzProd::getFireLevel, bo.getFireLevel());
|
||||
}
|
||||
if(bo.getTrialScenario() != null){
|
||||
lqw.in(TzProd::getTrialScenario, bo.getTrialScenario());
|
||||
}
|
||||
if(bo.getCategoryId() != null){
|
||||
lqw.or().apply("FIND_IN_SET({0}, t.category_id)", bo.getCategoryId());
|
||||
}
|
||||
@@ -439,9 +454,9 @@ public class TzProdServiceImpl extends MPJBaseServiceImpl<TzProdMapper,TzProd> i
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<TzProdVo> getSearchProdPageByProdName(PageQuery pageQuery, Long categoryId, String prodName, Integer floor, Integer sort, Integer orderBy) {
|
||||
public IPage<TzProdVo> getSearchProdPageByProdName(PageQuery pageQuery, Long categoryId, String prodName, String envLevel, String fireLevel, String trialScenario, Integer label, Integer floor, Integer sort, Integer orderBy) {
|
||||
IPage<TzProdBo> page = new Page<>(pageQuery.getPageNum(), pageQuery.getPageSize());
|
||||
return baseMapper.getSearchProdPageByProdName(page, categoryId, prodName, floor, sort, orderBy);
|
||||
return baseMapper.getSearchProdPageByProdName(page, categoryId, prodName, envLevel, fireLevel, trialScenario, label, floor, sort, orderBy);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -27,8 +27,6 @@ import org.dromara.mall.mapper.*;
|
||||
import org.dromara.mall.service.ITzWithdrawRequestService;
|
||||
import org.dromara.system.domain.SysDictData;
|
||||
import org.dromara.system.mapper.SysDictDataMapper;
|
||||
import org.dromara.system.mapper.SysTenantMapper;
|
||||
import org.dromara.system.service.ISysTenantService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@@ -55,16 +53,7 @@ public class TzWithdrawRequestServiceImpl extends MPJBaseServiceImpl<TzWithdrawR
|
||||
|
||||
private final HyPromoterMapper promoterMapper;
|
||||
|
||||
private final TzTenantRecordMapper tententRecordMapper;
|
||||
|
||||
private final SysTenantMapper tenantMapper;
|
||||
|
||||
private final ISysTenantService tenantService;
|
||||
|
||||
private final SysDictDataMapper dictDataMapper;
|
||||
|
||||
private final TzBankCardMapper bankCardMapper;
|
||||
|
||||
/**
|
||||
* 查询提现申请
|
||||
*
|
||||
|
||||
@@ -70,11 +70,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="floor == 1">
|
||||
and p.is_floor = 1
|
||||
</if>
|
||||
<if test="label != null">
|
||||
and p.label = #{label}
|
||||
</if>
|
||||
<if test="prodName != null and prodName != ''">
|
||||
and p.prod_name like concat('%',#{prodName} ,'%')
|
||||
or
|
||||
p.prod_code like concat('%',#{prodName} ,'%')
|
||||
</if>
|
||||
<if test="envLevel != null and envLevel != ''">
|
||||
and FIND_IN_SET(p.env_level, #{envLevel}) > 0
|
||||
</if>
|
||||
<if test="fireLevel != null and fireLevel != ''">
|
||||
and FIND_IN_SET(p.fire_level, #{fireLevel}) > 0
|
||||
</if>
|
||||
<if test="trialScenario != null and trialScenario != ''">
|
||||
and FIND_IN_SET(p.trial_scenario, #{trialScenario}) > 0
|
||||
</if>
|
||||
|
||||
<if test="sort == 0">
|
||||
ORDER BY RAND()
|
||||
|
||||
@@ -351,6 +351,10 @@ public class SysTenantServiceImpl implements ISysTenantService {
|
||||
@CacheEvict(cacheNames = CacheNames.SYS_TENANT, key = "#bo.tenantId")
|
||||
@Override
|
||||
public Boolean updateByBo(SysTenantBo bo) {
|
||||
SysUser user = userMapper.selectOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getTenantId, bo.getTenantId()).eq(SysUser::getUserType, "zh_user"));
|
||||
user.setNickName(bo.getCompanyName());
|
||||
userMapper.updateById(user);
|
||||
|
||||
SysTenant tenant = MapstructUtils.convert(bo, SysTenant.class);
|
||||
tenant.setTenantId(null);
|
||||
tenant.setPackageId(null);
|
||||
|
||||
@@ -1,75 +0,0 @@
|
||||
{
|
||||
"flowCode" : "leave1",
|
||||
"flowName" : "请假申请-普通",
|
||||
"category" : "1",
|
||||
"version" : "1",
|
||||
"formCustom" : "N",
|
||||
"formPath" : "/workflow/leaveEdit/index",
|
||||
"nodeList" : [ {
|
||||
"nodeType" : 0,
|
||||
"nodeCode" : "d5ee3ddf-3968-4379-a86f-9ceabde5faac",
|
||||
"nodeName" : "开始",
|
||||
"nodeRatio" : 0.000,
|
||||
"coordinate" : "200,200|200,200",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N",
|
||||
"skipList" : [ {
|
||||
"nowNodeCode" : "d5ee3ddf-3968-4379-a86f-9ceabde5faac",
|
||||
"nextNodeCode" : "dd515cdd-59f6-446f-94ca-25ca062afb42",
|
||||
"skipType" : "PASS",
|
||||
"coordinate" : "220,200;310,200"
|
||||
} ]
|
||||
}, {
|
||||
"nodeType" : 1,
|
||||
"nodeCode" : "dd515cdd-59f6-446f-94ca-25ca062afb42",
|
||||
"nodeName" : "申请人",
|
||||
"nodeRatio" : 0.000,
|
||||
"coordinate" : "360,200|360,200",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N",
|
||||
"skipList" : [ {
|
||||
"nowNodeCode" : "dd515cdd-59f6-446f-94ca-25ca062afb42",
|
||||
"nextNodeCode" : "78fa8e5b-e809-44ed-978a-41092409ebcf",
|
||||
"skipType" : "PASS",
|
||||
"coordinate" : "410,200;490,200"
|
||||
} ]
|
||||
}, {
|
||||
"nodeType" : 1,
|
||||
"nodeCode" : "78fa8e5b-e809-44ed-978a-41092409ebcf",
|
||||
"nodeName" : "组长",
|
||||
"permissionFlag" : "role:1",
|
||||
"nodeRatio" : 0.000,
|
||||
"coordinate" : "540,200|540,200",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N",
|
||||
"skipList" : [ {
|
||||
"nowNodeCode" : "78fa8e5b-e809-44ed-978a-41092409ebcf",
|
||||
"nextNodeCode" : "a8abf15f-b83e-428a-86cc-033555ea9bbe",
|
||||
"skipType" : "PASS",
|
||||
"coordinate" : "590,200;670,200"
|
||||
} ]
|
||||
}, {
|
||||
"nodeType" : 1,
|
||||
"nodeCode" : "a8abf15f-b83e-428a-86cc-033555ea9bbe",
|
||||
"nodeName" : "部门主管",
|
||||
"permissionFlag" : "role:3,role:4",
|
||||
"nodeRatio" : 0.000,
|
||||
"coordinate" : "720,200|720,200",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N",
|
||||
"skipList" : [ {
|
||||
"nowNodeCode" : "a8abf15f-b83e-428a-86cc-033555ea9bbe",
|
||||
"nextNodeCode" : "8b82b7d7-8660-455e-b880-d6d22ea3eb6d",
|
||||
"skipType" : "PASS",
|
||||
"coordinate" : "770,200;880,200"
|
||||
} ]
|
||||
}, {
|
||||
"nodeType" : 2,
|
||||
"nodeCode" : "8b82b7d7-8660-455e-b880-d6d22ea3eb6d",
|
||||
"nodeName" : "结束",
|
||||
"nodeRatio" : 0.000,
|
||||
"coordinate" : "900,200|900,200",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N"
|
||||
} ]
|
||||
}
|
||||
@@ -1,111 +0,0 @@
|
||||
{
|
||||
"flowCode" : "leave2",
|
||||
"flowName" : "请假申请-排他网关",
|
||||
"category" : "1",
|
||||
"version" : "1",
|
||||
"formCustom" : "N",
|
||||
"formPath" : "/workflow/leaveEdit/index",
|
||||
"nodeList" : [ {
|
||||
"nodeType" : 0,
|
||||
"nodeCode" : "cef3895c-f7d8-4598-8bf3-8ec2ef6ce84a",
|
||||
"nodeName" : "开始",
|
||||
"nodeRatio" : 0.000,
|
||||
"coordinate" : "300,240|300,240",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N",
|
||||
"skipList" : [ {
|
||||
"nowNodeCode" : "cef3895c-f7d8-4598-8bf3-8ec2ef6ce84a",
|
||||
"nextNodeCode" : "fdcae93b-b69c-498a-b231-09255e74bcbd",
|
||||
"skipType" : "PASS",
|
||||
"coordinate" : "320,240;390,240"
|
||||
} ]
|
||||
}, {
|
||||
"nodeType" : 1,
|
||||
"nodeCode" : "fdcae93b-b69c-498a-b231-09255e74bcbd",
|
||||
"nodeName" : "申请人",
|
||||
"nodeRatio" : 0.000,
|
||||
"coordinate" : "440,240|440,240",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N",
|
||||
"skipList" : [ {
|
||||
"nowNodeCode" : "fdcae93b-b69c-498a-b231-09255e74bcbd",
|
||||
"nextNodeCode" : "7b8c7ead-7dc8-4951-a7f3-f0c41995909e",
|
||||
"skipType" : "PASS",
|
||||
"coordinate" : "490,240;535,240"
|
||||
} ]
|
||||
}, {
|
||||
"nodeType" : 3,
|
||||
"nodeCode" : "7b8c7ead-7dc8-4951-a7f3-f0c41995909e",
|
||||
"nodeRatio" : 0.000,
|
||||
"coordinate" : "560,240",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N",
|
||||
"skipList" : [ {
|
||||
"nowNodeCode" : "7b8c7ead-7dc8-4951-a7f3-f0c41995909e",
|
||||
"nextNodeCode" : "b3528155-dcb7-4445-bbdf-3d00e3499e86",
|
||||
"skipType" : "PASS",
|
||||
"skipCondition" : "le@@leaveDays|2",
|
||||
"coordinate" : "560,265;560,320;670,320"
|
||||
}, {
|
||||
"nowNodeCode" : "7b8c7ead-7dc8-4951-a7f3-f0c41995909e",
|
||||
"nextNodeCode" : "5ed2362b-fc0c-4d52-831f-95208b830605",
|
||||
"skipName" : "大于两天",
|
||||
"skipType" : "PASS",
|
||||
"skipCondition" : "gt@@leaveDays|2",
|
||||
"coordinate" : "560,215;560,160;670,160|560,187"
|
||||
} ]
|
||||
}, {
|
||||
"nodeType" : 1,
|
||||
"nodeCode" : "b3528155-dcb7-4445-bbdf-3d00e3499e86",
|
||||
"nodeName" : "组长",
|
||||
"permissionFlag" : "3,4",
|
||||
"nodeRatio" : 0.000,
|
||||
"coordinate" : "720,320|720,320",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N",
|
||||
"skipList" : [ {
|
||||
"nowNodeCode" : "b3528155-dcb7-4445-bbdf-3d00e3499e86",
|
||||
"nextNodeCode" : "c9fa6d7d-2a74-4e78-b947-0cad8a6af869",
|
||||
"skipType" : "PASS",
|
||||
"coordinate" : "770,320;860,320;860,280"
|
||||
} ]
|
||||
}, {
|
||||
"nodeType" : 1,
|
||||
"nodeCode" : "c9fa6d7d-2a74-4e78-b947-0cad8a6af869",
|
||||
"nodeName" : "总经理",
|
||||
"permissionFlag" : "role:1",
|
||||
"nodeRatio" : 0.000,
|
||||
"coordinate" : "860,240|860,240",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N",
|
||||
"skipList" : [ {
|
||||
"nowNodeCode" : "c9fa6d7d-2a74-4e78-b947-0cad8a6af869",
|
||||
"nextNodeCode" : "40aa65fd-0712-4d23-b6f7-d0432b920fd1",
|
||||
"skipType" : "PASS",
|
||||
"coordinate" : "910,240;980,240"
|
||||
} ]
|
||||
}, {
|
||||
"nodeType" : 2,
|
||||
"nodeCode" : "40aa65fd-0712-4d23-b6f7-d0432b920fd1",
|
||||
"nodeName" : "结束",
|
||||
"nodeRatio" : 0.000,
|
||||
"coordinate" : "1000,240|1000,240",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N"
|
||||
}, {
|
||||
"nodeType" : 1,
|
||||
"nodeCode" : "5ed2362b-fc0c-4d52-831f-95208b830605",
|
||||
"nodeName" : "部门领导",
|
||||
"permissionFlag" : "role:1",
|
||||
"nodeRatio" : 0.000,
|
||||
"coordinate" : "720,160|720,160",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N",
|
||||
"skipList" : [ {
|
||||
"nowNodeCode" : "5ed2362b-fc0c-4d52-831f-95208b830605",
|
||||
"nextNodeCode" : "c9fa6d7d-2a74-4e78-b947-0cad8a6af869",
|
||||
"skipType" : "PASS",
|
||||
"coordinate" : "770,160;860,160;860,200"
|
||||
} ]
|
||||
} ]
|
||||
}
|
||||
@@ -1,121 +0,0 @@
|
||||
{
|
||||
"flowCode" : "leave3",
|
||||
"flowName" : "请假申请-并行网关",
|
||||
"category" : "1",
|
||||
"version" : "1",
|
||||
"formCustom" : "N",
|
||||
"formPath" : "/workflow/leaveEdit/index",
|
||||
"nodeList" : [ {
|
||||
"nodeType" : 0,
|
||||
"nodeCode" : "a80ecf9f-f465-4ae5-a429-e30ec5d0f957",
|
||||
"nodeName" : "开始",
|
||||
"nodeRatio" : 0.000,
|
||||
"coordinate" : "380,220|380,220",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N",
|
||||
"skipList" : [ {
|
||||
"nowNodeCode" : "a80ecf9f-f465-4ae5-a429-e30ec5d0f957",
|
||||
"nextNodeCode" : "b7bbb571-06de-455c-8083-f83c07bf0b99",
|
||||
"skipType" : "PASS",
|
||||
"coordinate" : "400,220;470,220"
|
||||
} ]
|
||||
}, {
|
||||
"nodeType" : 1,
|
||||
"nodeCode" : "b7bbb571-06de-455c-8083-f83c07bf0b99",
|
||||
"nodeName" : "申请人",
|
||||
"nodeRatio" : 0.000,
|
||||
"coordinate" : "520,220|520,220",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N",
|
||||
"skipList" : [ {
|
||||
"nowNodeCode" : "b7bbb571-06de-455c-8083-f83c07bf0b99",
|
||||
"nextNodeCode" : "84d7ed24-bb44-4ba1-bf1f-e6f5092d3f0a",
|
||||
"skipType" : "PASS",
|
||||
"coordinate" : "570,220;655,220"
|
||||
} ]
|
||||
}, {
|
||||
"nodeType" : 4,
|
||||
"nodeCode" : "84d7ed24-bb44-4ba1-bf1f-e6f5092d3f0a",
|
||||
"nodeRatio" : 0.000,
|
||||
"coordinate" : "680,220",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N",
|
||||
"skipList" : [ {
|
||||
"nowNodeCode" : "84d7ed24-bb44-4ba1-bf1f-e6f5092d3f0a",
|
||||
"nextNodeCode" : "4b7743cd-940c-431b-926f-e7b614fbf1fe",
|
||||
"skipType" : "PASS",
|
||||
"coordinate" : "680,195;680,140;750,140"
|
||||
}, {
|
||||
"nowNodeCode" : "84d7ed24-bb44-4ba1-bf1f-e6f5092d3f0a",
|
||||
"nextNodeCode" : "762cb975-37d8-4276-b6db-79a4c3606394",
|
||||
"skipType" : "PASS",
|
||||
"coordinate" : "680,245;680,300;750,300"
|
||||
} ]
|
||||
}, {
|
||||
"nodeType" : 1,
|
||||
"nodeCode" : "4b7743cd-940c-431b-926f-e7b614fbf1fe",
|
||||
"nodeName" : "市场部",
|
||||
"permissionFlag" : "role:1",
|
||||
"nodeRatio" : 0.000,
|
||||
"coordinate" : "800,140|800,140",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N",
|
||||
"skipList" : [ {
|
||||
"nowNodeCode" : "4b7743cd-940c-431b-926f-e7b614fbf1fe",
|
||||
"nextNodeCode" : "b66b6563-f9fe-41cc-a782-f7837bb6f3d2",
|
||||
"skipType" : "PASS",
|
||||
"coordinate" : "850,140;920,140;920,195"
|
||||
} ]
|
||||
}, {
|
||||
"nodeType" : 4,
|
||||
"nodeCode" : "b66b6563-f9fe-41cc-a782-f7837bb6f3d2",
|
||||
"nodeRatio" : 0.000,
|
||||
"coordinate" : "920,220",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N",
|
||||
"skipList" : [ {
|
||||
"nowNodeCode" : "b66b6563-f9fe-41cc-a782-f7837bb6f3d2",
|
||||
"nextNodeCode" : "23e7429e-2b47-4431-b93e-40db7c431ce6",
|
||||
"skipType" : "PASS",
|
||||
"coordinate" : "945,220;975,220;975,220;960,220;960,220;990,220"
|
||||
} ]
|
||||
}, {
|
||||
"nodeType" : 1,
|
||||
"nodeCode" : "23e7429e-2b47-4431-b93e-40db7c431ce6",
|
||||
"nodeName" : "CEO",
|
||||
"permissionFlag" : "1",
|
||||
"nodeRatio" : 0.000,
|
||||
"coordinate" : "1040,220|1040,220",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N",
|
||||
"skipList" : [ {
|
||||
"nowNodeCode" : "23e7429e-2b47-4431-b93e-40db7c431ce6",
|
||||
"nextNodeCode" : "f5ace37f-5a5e-4e64-a6f6-913ab9a71cd1",
|
||||
"skipType" : "PASS",
|
||||
"coordinate" : "1090,220;1140,220"
|
||||
} ]
|
||||
}, {
|
||||
"nodeType" : 2,
|
||||
"nodeCode" : "f5ace37f-5a5e-4e64-a6f6-913ab9a71cd1",
|
||||
"nodeName" : "结束",
|
||||
"nodeRatio" : 0.000,
|
||||
"coordinate" : "1160,220|1160,220",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N"
|
||||
}, {
|
||||
"nodeType" : 1,
|
||||
"nodeCode" : "762cb975-37d8-4276-b6db-79a4c3606394",
|
||||
"nodeName" : "综合部",
|
||||
"permissionFlag" : "role:3,role:4",
|
||||
"nodeRatio" : 0.000,
|
||||
"coordinate" : "800,300|800,300",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N",
|
||||
"skipList" : [ {
|
||||
"nowNodeCode" : "762cb975-37d8-4276-b6db-79a4c3606394",
|
||||
"nextNodeCode" : "b66b6563-f9fe-41cc-a782-f7837bb6f3d2",
|
||||
"skipType" : "PASS",
|
||||
"coordinate" : "850,300;920,300;920,245"
|
||||
} ]
|
||||
} ]
|
||||
}
|
||||
@@ -1,90 +0,0 @@
|
||||
{
|
||||
"flowCode" : "leave4",
|
||||
"flowName" : "请假申请-会签",
|
||||
"category" : "1",
|
||||
"version" : "1",
|
||||
"formCustom" : "N",
|
||||
"formPath" : "/workflow/leaveEdit/index",
|
||||
"nodeList" : [ {
|
||||
"nodeType" : 0,
|
||||
"nodeCode" : "9ce8bf00-f25b-4fc6-91b8-827082fc4876",
|
||||
"nodeName" : "开始",
|
||||
"nodeRatio" : 0.000,
|
||||
"coordinate" : "320,240|320,240",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N",
|
||||
"skipList" : [ {
|
||||
"nowNodeCode" : "9ce8bf00-f25b-4fc6-91b8-827082fc4876",
|
||||
"nextNodeCode" : "e90b98ef-35b4-410c-a663-bae8b7624b9f",
|
||||
"skipType" : "PASS",
|
||||
"coordinate" : "340,240;410,240"
|
||||
} ]
|
||||
}, {
|
||||
"nodeType" : 1,
|
||||
"nodeCode" : "e90b98ef-35b4-410c-a663-bae8b7624b9f",
|
||||
"nodeName" : "申请人",
|
||||
"nodeRatio" : 0.000,
|
||||
"coordinate" : "460,240|460,240",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N",
|
||||
"skipList" : [ {
|
||||
"nowNodeCode" : "e90b98ef-35b4-410c-a663-bae8b7624b9f",
|
||||
"nextNodeCode" : "768b5b1a-6726-4d67-8853-4cc70d5b1045",
|
||||
"skipType" : "PASS",
|
||||
"coordinate" : "510,240;590,240"
|
||||
} ]
|
||||
}, {
|
||||
"nodeType" : 1,
|
||||
"nodeCode" : "768b5b1a-6726-4d67-8853-4cc70d5b1045",
|
||||
"nodeName" : "百分之60通过",
|
||||
"permissionFlag" : "${userList}",
|
||||
"nodeRatio" : 60.000,
|
||||
"coordinate" : "640,240|640,240",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N",
|
||||
"skipList" : [ {
|
||||
"nowNodeCode" : "768b5b1a-6726-4d67-8853-4cc70d5b1045",
|
||||
"nextNodeCode" : "2f9f2e21-9bcf-42a3-a07c-13037aad22d1",
|
||||
"skipType" : "PASS",
|
||||
"coordinate" : "690,240;770,240"
|
||||
} ]
|
||||
}, {
|
||||
"nodeType" : 1,
|
||||
"nodeCode" : "2f9f2e21-9bcf-42a3-a07c-13037aad22d1",
|
||||
"nodeName" : "全部审批通过",
|
||||
"permissionFlag" : "role:1,role:3",
|
||||
"nodeRatio" : 100.000,
|
||||
"coordinate" : "820,240|820,240",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N",
|
||||
"skipList" : [ {
|
||||
"nowNodeCode" : "2f9f2e21-9bcf-42a3-a07c-13037aad22d1",
|
||||
"nextNodeCode" : "27461e01-3d9f-4530-8fe3-bd5ec7f9571f",
|
||||
"skipType" : "PASS",
|
||||
"coordinate" : "870,240;950,240"
|
||||
} ]
|
||||
}, {
|
||||
"nodeType" : 1,
|
||||
"nodeCode" : "27461e01-3d9f-4530-8fe3-bd5ec7f9571f",
|
||||
"nodeName" : "CEO",
|
||||
"permissionFlag" : "1",
|
||||
"nodeRatio" : 0.000,
|
||||
"coordinate" : "1000,240|1000,240",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N",
|
||||
"skipList" : [ {
|
||||
"nowNodeCode" : "27461e01-3d9f-4530-8fe3-bd5ec7f9571f",
|
||||
"nextNodeCode" : "b62b88c3-8d8d-4969-911e-2aaea219e7fc",
|
||||
"skipType" : "PASS",
|
||||
"coordinate" : "1050,240;1080,240;1080,240;1070,240;1070,240;1100,240"
|
||||
} ]
|
||||
}, {
|
||||
"nodeType" : 2,
|
||||
"nodeCode" : "b62b88c3-8d8d-4969-911e-2aaea219e7fc",
|
||||
"nodeName" : "结束",
|
||||
"nodeRatio" : 0.000,
|
||||
"coordinate" : "1120,240|1120,240",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N"
|
||||
} ]
|
||||
}
|
||||
@@ -1,121 +0,0 @@
|
||||
{
|
||||
"flowCode" : "leave5",
|
||||
"flowName" : "请假申请-并行会签网关",
|
||||
"category" : "1",
|
||||
"version" : "1",
|
||||
"formCustom" : "N",
|
||||
"formPath" : "/workflow/leaveEdit/index",
|
||||
"nodeList" : [ {
|
||||
"nodeType" : 0,
|
||||
"nodeCode" : "ebebaf26-9cb6-497e-8119-4c9fed4c597c",
|
||||
"nodeName" : "开始",
|
||||
"nodeRatio" : 0.000,
|
||||
"coordinate" : "300,220|300,220",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N",
|
||||
"skipList" : [ {
|
||||
"nowNodeCode" : "ebebaf26-9cb6-497e-8119-4c9fed4c597c",
|
||||
"nextNodeCode" : "e1b04e96-dc81-4858-a309-2fe945d2f374",
|
||||
"skipType" : "PASS",
|
||||
"coordinate" : "320,220;350,220;350,220;340,220;340,220;370,220"
|
||||
} ]
|
||||
}, {
|
||||
"nodeType" : 1,
|
||||
"nodeCode" : "e1b04e96-dc81-4858-a309-2fe945d2f374",
|
||||
"nodeName" : "申请人",
|
||||
"nodeRatio" : 0.000,
|
||||
"coordinate" : "420,220|420,220",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N",
|
||||
"skipList" : [ {
|
||||
"nowNodeCode" : "e1b04e96-dc81-4858-a309-2fe945d2f374",
|
||||
"nextNodeCode" : "3e743f4f-51ca-41d4-8e94-21f5dd9b59c9",
|
||||
"skipType" : "PASS",
|
||||
"coordinate" : "470,220;535,220"
|
||||
} ]
|
||||
}, {
|
||||
"nodeType" : 4,
|
||||
"nodeCode" : "3e743f4f-51ca-41d4-8e94-21f5dd9b59c9",
|
||||
"nodeRatio" : 0.000,
|
||||
"coordinate" : "560,220",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N",
|
||||
"skipList" : [ {
|
||||
"nowNodeCode" : "3e743f4f-51ca-41d4-8e94-21f5dd9b59c9",
|
||||
"nextNodeCode" : "c80f273e-1f17-4bd8-9ad1-04a4a94ea862",
|
||||
"skipType" : "PASS",
|
||||
"coordinate" : "560,245;560,320;650,320"
|
||||
}, {
|
||||
"nowNodeCode" : "3e743f4f-51ca-41d4-8e94-21f5dd9b59c9",
|
||||
"nextNodeCode" : "1e3e8d3b-18ae-4d6c-a814-ce0d724adfa4",
|
||||
"skipType" : "PASS",
|
||||
"coordinate" : "560,195;560,120;650,120"
|
||||
} ]
|
||||
}, {
|
||||
"nodeType" : 1,
|
||||
"nodeCode" : "c80f273e-1f17-4bd8-9ad1-04a4a94ea862",
|
||||
"nodeName" : "会签",
|
||||
"permissionFlag" : "role:1,role:3",
|
||||
"nodeRatio" : 100.000,
|
||||
"coordinate" : "700,320|700,320",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N",
|
||||
"skipList" : [ {
|
||||
"nowNodeCode" : "c80f273e-1f17-4bd8-9ad1-04a4a94ea862",
|
||||
"nextNodeCode" : "1a20169e-3d82-4926-a151-e2daad28de1b",
|
||||
"skipType" : "PASS",
|
||||
"coordinate" : "750,320;860,320;860,245"
|
||||
} ]
|
||||
}, {
|
||||
"nodeType" : 4,
|
||||
"nodeCode" : "1a20169e-3d82-4926-a151-e2daad28de1b",
|
||||
"nodeRatio" : 0.000,
|
||||
"coordinate" : "860,220",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N",
|
||||
"skipList" : [ {
|
||||
"nowNodeCode" : "1a20169e-3d82-4926-a151-e2daad28de1b",
|
||||
"nextNodeCode" : "7a8f0473-e409-442e-a843-5c2b813d00e9",
|
||||
"skipType" : "PASS",
|
||||
"coordinate" : "885,220;950,220"
|
||||
} ]
|
||||
}, {
|
||||
"nodeType" : 1,
|
||||
"nodeCode" : "7a8f0473-e409-442e-a843-5c2b813d00e9",
|
||||
"nodeName" : "CEO",
|
||||
"permissionFlag" : "1",
|
||||
"nodeRatio" : 0.000,
|
||||
"coordinate" : "1000,220|1000,220",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N",
|
||||
"skipList" : [ {
|
||||
"nowNodeCode" : "7a8f0473-e409-442e-a843-5c2b813d00e9",
|
||||
"nextNodeCode" : "03c4d2bc-58b5-4408-a2e4-65afb046f169",
|
||||
"skipType" : "PASS",
|
||||
"coordinate" : "1050,220;1120,220"
|
||||
} ]
|
||||
}, {
|
||||
"nodeType" : 2,
|
||||
"nodeCode" : "03c4d2bc-58b5-4408-a2e4-65afb046f169",
|
||||
"nodeName" : "结束",
|
||||
"nodeRatio" : 0.000,
|
||||
"coordinate" : "1140,220|1140,220",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N"
|
||||
}, {
|
||||
"nodeType" : 1,
|
||||
"nodeCode" : "1e3e8d3b-18ae-4d6c-a814-ce0d724adfa4",
|
||||
"nodeName" : "百分之60票签",
|
||||
"permissionFlag" : "${userList}",
|
||||
"nodeRatio" : 60.000,
|
||||
"coordinate" : "700,120|700,120",
|
||||
"skipAnyNode" : "N",
|
||||
"formCustom" : "N",
|
||||
"skipList" : [ {
|
||||
"nowNodeCode" : "1e3e8d3b-18ae-4d6c-a814-ce0d724adfa4",
|
||||
"nextNodeCode" : "1a20169e-3d82-4926-a151-e2daad28de1b",
|
||||
"skipType" : "PASS",
|
||||
"coordinate" : "750,120;860,120;860,195"
|
||||
} ]
|
||||
} ]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
ALTER TABLE `flow_node` DROP COLUMN `skip_any_node`;
|
||||
ALTER TABLE `flow_node`
|
||||
ADD COLUMN `ext` text NULL COMMENT '扩展属性' AFTER `update_time`;
|
||||
|
||||
INSERT INTO sys_dict_type VALUES (16, '000000', '按钮权限', 'wf_button_permission', 103, 1, sysdate(), NULL, NULL, '按钮权限列表');
|
||||
INSERT INTO sys_dict_data VALUES (60, '000000', 1, '是否弹窗选人', '1', 'wf_button_permission', '', 'default', 'N', 103, 1, sysdate(), NULL, NULL,'是否弹窗选人');
|
||||
Reference in New Issue
Block a user