feat:部门管理员查看每日菜单
This commit is contained in:
1 parent
a059b981ef
commit
4d3376067c
8 files changed
+158
-142
No files matched your search
@@ -1,4 +1,4 @@
|
||||
MYSQL_HOST=123.157.250.162
|
||||
MYSQL_PORT=2881
|
||||
MYSQL_PORT=28815
|
||||
MYSQL_USER=root@sys
|
||||
MYSQL_PWD=bsd.1799
|
||||
+2
-1
@@ -37,7 +37,8 @@
|
||||
sp.pic_url,
|
||||
t.hour_type,
|
||||
sp.price,
|
||||
sp.category_id
|
||||
sp.category_id,
|
||||
sp.dept_id
|
||||
FROM canteen_daily_menu t
|
||||
LEFT JOIN canteen_spu sp
|
||||
on t.spu_id=sp.id
|
||||
|
||||
+134
-134
@@ -53,159 +53,159 @@ import java.util.Map;
|
||||
@RequiredArgsConstructor
|
||||
public class DruidSqlLogFilter extends FilterEventAdapter {
|
||||
|
||||
private static final SQLUtils.FormatOption FORMAT_OPTION = new SQLUtils.FormatOption(false, false);
|
||||
private static final SQLUtils.FormatOption FORMAT_OPTION = new SQLUtils.FormatOption(false, false);
|
||||
|
||||
private final PjcloudMybatisProperties properties;
|
||||
private final PjcloudMybatisProperties properties;
|
||||
|
||||
@Override
|
||||
protected void statementExecuteBefore(StatementProxy statement, String sql) {
|
||||
statement.setLastExecuteStartNano();
|
||||
}
|
||||
@Override
|
||||
protected void statementExecuteBefore(StatementProxy statement, String sql) {
|
||||
statement.setLastExecuteStartNano();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void statementExecuteBatchBefore(StatementProxy statement) {
|
||||
statement.setLastExecuteStartNano();
|
||||
}
|
||||
@Override
|
||||
protected void statementExecuteBatchBefore(StatementProxy statement) {
|
||||
statement.setLastExecuteStartNano();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void statementExecuteUpdateBefore(StatementProxy statement, String sql) {
|
||||
statement.setLastExecuteStartNano();
|
||||
}
|
||||
@Override
|
||||
protected void statementExecuteUpdateBefore(StatementProxy statement, String sql) {
|
||||
statement.setLastExecuteStartNano();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void statementExecuteQueryBefore(StatementProxy statement, String sql) {
|
||||
statement.setLastExecuteStartNano();
|
||||
}
|
||||
@Override
|
||||
protected void statementExecuteQueryBefore(StatementProxy statement, String sql) {
|
||||
statement.setLastExecuteStartNano();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void statementExecuteAfter(StatementProxy statement, String sql, boolean firstResult) {
|
||||
statement.setLastExecuteTimeNano();
|
||||
}
|
||||
@Override
|
||||
protected void statementExecuteAfter(StatementProxy statement, String sql, boolean firstResult) {
|
||||
statement.setLastExecuteTimeNano();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void statementExecuteBatchAfter(StatementProxy statement, int[] result) {
|
||||
statement.setLastExecuteTimeNano();
|
||||
}
|
||||
@Override
|
||||
protected void statementExecuteBatchAfter(StatementProxy statement, int[] result) {
|
||||
statement.setLastExecuteTimeNano();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void statementExecuteQueryAfter(StatementProxy statement, String sql, ResultSetProxy resultSet) {
|
||||
statement.setLastExecuteTimeNano();
|
||||
}
|
||||
@Override
|
||||
protected void statementExecuteQueryAfter(StatementProxy statement, String sql, ResultSetProxy resultSet) {
|
||||
statement.setLastExecuteTimeNano();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void statementExecuteUpdateAfter(StatementProxy statement, String sql, int updateCount) {
|
||||
statement.setLastExecuteTimeNano();
|
||||
}
|
||||
@Override
|
||||
protected void statementExecuteUpdateAfter(StatementProxy statement, String sql, int updateCount) {
|
||||
statement.setLastExecuteTimeNano();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void statement_close(FilterChain chain, StatementProxy statement) throws SQLException {
|
||||
// 先调用父类关闭 statement
|
||||
super.statement_close(chain, statement);
|
||||
// 支持动态开启
|
||||
if (!properties.isShowSql()) {
|
||||
return;
|
||||
}
|
||||
@Override
|
||||
public void statement_close(FilterChain chain, StatementProxy statement) throws SQLException {
|
||||
// 先调用父类关闭 statement
|
||||
super.statement_close(chain, statement);
|
||||
// 支持动态开启
|
||||
if (!properties.isShowSql()) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 是否开启调试
|
||||
if (!log.isInfoEnabled()) {
|
||||
return;
|
||||
}
|
||||
// 是否开启调试
|
||||
if (!log.isInfoEnabled()) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 打印可执行的 sql
|
||||
String sql = statement.getBatchSql();
|
||||
// sql 为空直接返回
|
||||
if (StringUtils.isEmpty(sql)) {
|
||||
return;
|
||||
}
|
||||
// 打印可执行的 sql
|
||||
String sql = statement.getBatchSql();
|
||||
// sql 为空直接返回
|
||||
if (StringUtils.isEmpty(sql)) {
|
||||
return;
|
||||
}
|
||||
|
||||
String dbType = statement.getConnectionProxy().getDirectDataSource().getDbType();
|
||||
String dbType = statement.getConnectionProxy().getDirectDataSource().getDbType();
|
||||
|
||||
// 判断表名是配置了匹配过滤
|
||||
if (CollUtil.isNotEmpty(properties.getSkipTable())) {
|
||||
List<String> skipTableList = properties.getSkipTable();
|
||||
// 判断表名是配置了匹配过滤
|
||||
if (CollUtil.isNotEmpty(properties.getSkipTable())) {
|
||||
List<String> skipTableList = properties.getSkipTable();
|
||||
|
||||
List<String> tableNameList = getTablesBydruid(sql, dbType);
|
||||
if (tableNameList.stream()
|
||||
.anyMatch(tableName -> StrUtil.containsAnyIgnoreCase(tableName,
|
||||
ArrayUtil.toArray(skipTableList, String.class)))) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
List<String> tableNameList = getTablesBydruid(sql, dbType);
|
||||
if (tableNameList.stream()
|
||||
.anyMatch(tableName -> StrUtil.containsAnyIgnoreCase(tableName,
|
||||
ArrayUtil.toArray(skipTableList, String.class)))) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
int parametersSize = statement.getParametersSize();
|
||||
List<Object> parameters = new ArrayList<>(parametersSize);
|
||||
for (int i = 0; i < parametersSize; ++i) {
|
||||
// 转换参数,处理 java8 时间
|
||||
parameters.add(getJdbcParameter(statement.getParameter(i)));
|
||||
}
|
||||
String formattedSql = SQLUtils.format(sql, DbType.of(dbType), parameters, FORMAT_OPTION);
|
||||
printSql(formattedSql, statement);
|
||||
}
|
||||
int parametersSize = statement.getParametersSize();
|
||||
List<Object> parameters = new ArrayList<>(parametersSize);
|
||||
for (int i = 0; i < parametersSize; ++i) {
|
||||
// 转换参数,处理 java8 时间
|
||||
parameters.add(getJdbcParameter(statement.getParameter(i)));
|
||||
}
|
||||
String formattedSql = SQLUtils.format(sql, DbType.of(dbType), parameters, FORMAT_OPTION);
|
||||
printSql(formattedSql, statement);
|
||||
}
|
||||
|
||||
private static Object getJdbcParameter(JdbcParameter jdbcParam) {
|
||||
if (jdbcParam == null) {
|
||||
return null;
|
||||
}
|
||||
Object value = jdbcParam.getValue();
|
||||
// 处理 java8 时间
|
||||
if (value instanceof TemporalAccessor) {
|
||||
return value.toString();
|
||||
}
|
||||
return value;
|
||||
}
|
||||
private static Object getJdbcParameter(JdbcParameter jdbcParam) {
|
||||
if (jdbcParam == null) {
|
||||
return null;
|
||||
}
|
||||
Object value = jdbcParam.getValue();
|
||||
// 处理 java8 时间
|
||||
if (value instanceof TemporalAccessor) {
|
||||
return value.toString();
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
private static void printSql(String sql, StatementProxy statement) {
|
||||
// 打印 sql
|
||||
String sqlLogger = "\n\n======= Sql Logger ======================" + "\n{}"
|
||||
+ "\n======= Sql Execute Time: {} =======\n";
|
||||
log.info(sqlLogger, sql.trim(), format(statement.getLastExecuteTimeNano()));
|
||||
}
|
||||
private static void printSql(String sql, StatementProxy statement) {
|
||||
// 打印 sql
|
||||
String sqlLogger = "\n\n======= Sql Logger ======================" + "\n{}"
|
||||
+ "\n======= Sql Execute Time: {} =======\n";
|
||||
log.info(sqlLogger, sql.trim(), format(statement.getLastExecuteTimeNano()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 格式化执行时间,单位为 ms 和 s,保留三位小数
|
||||
* @param nanos 纳秒
|
||||
* @return 格式化后的时间
|
||||
*/
|
||||
private static String format(long nanos) {
|
||||
if (nanos < 1) {
|
||||
return "0ms";
|
||||
}
|
||||
double millis = (double) nanos / (1000 * 1000);
|
||||
// 不够 1 ms,最小单位为 ms
|
||||
if (millis > 1000) {
|
||||
return String.format("%.3fs", millis / 1000);
|
||||
}
|
||||
else {
|
||||
return String.format("%.3fms", millis);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 格式化执行时间,单位为 ms 和 s,保留三位小数
|
||||
*
|
||||
* @param nanos 纳秒
|
||||
* @return 格式化后的时间
|
||||
*/
|
||||
private static String format(long nanos) {
|
||||
if (nanos < 1) {
|
||||
return "0ms";
|
||||
}
|
||||
double millis = (double) nanos / (1000 * 1000);
|
||||
// 不够 1 ms,最小单位为 ms
|
||||
if (millis > 1000) {
|
||||
return String.format("%.3fs", millis / 1000);
|
||||
} else {
|
||||
return String.format("%.3fms", millis);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 从SQL中提取表名(sql中出现的所有表)
|
||||
* @param sql sql语句
|
||||
* @param dbType dbType
|
||||
* @return List<String>
|
||||
*/
|
||||
public static List<String> getTablesBydruid(String sql, String dbType) {
|
||||
List<String> result = new ArrayList<String>();
|
||||
List<SQLStatement> stmtList = SQLUtils.parseStatements(sql, dbType);
|
||||
for (SQLStatement stmt : stmtList) {
|
||||
// 也可以用更精确的解析器,如MySqlSchemaStatVisitor
|
||||
SchemaStatVisitor visitor;
|
||||
// SQL server 数据库特殊处理
|
||||
if (DbType.sqlserver.name().equalsIgnoreCase(dbType)) {
|
||||
visitor = new SQLServerSchemaStatVisitor();
|
||||
}
|
||||
else {
|
||||
visitor = new SchemaStatVisitor();
|
||||
}
|
||||
stmt.accept(visitor);
|
||||
Map<TableStat.Name, TableStat> tables = visitor.getTables();
|
||||
for (TableStat.Name name : tables.keySet()) {
|
||||
result.add(name.getName());
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
/**
|
||||
* 从SQL中提取表名(sql中出现的所有表)
|
||||
*
|
||||
* @param sql sql语句
|
||||
* @param dbType dbType
|
||||
* @return List<String>
|
||||
*/
|
||||
public static List<String> getTablesBydruid(String sql, String dbType) {
|
||||
List<String> result = new ArrayList<String>();
|
||||
List<SQLStatement> stmtList = SQLUtils.parseStatements(sql, dbType);
|
||||
for (SQLStatement stmt : stmtList) {
|
||||
// 也可以用更精确的解析器,如MySqlSchemaStatVisitor
|
||||
SchemaStatVisitor visitor;
|
||||
// SQL server 数据库特殊处理
|
||||
if (DbType.sqlserver.name().equalsIgnoreCase(dbType)) {
|
||||
visitor = new SQLServerSchemaStatVisitor();
|
||||
} else {
|
||||
visitor = new SchemaStatVisitor();
|
||||
}
|
||||
stmt.accept(visitor);
|
||||
Map<TableStat.Name, TableStat> tables = visitor.getTables();
|
||||
for (TableStat.Name name : tables.keySet()) {
|
||||
result.add(name.getName());
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
+6
-1
@@ -10,6 +10,7 @@ import com.alipay.api.AlipayConfig;
|
||||
import com.alipay.api.DefaultAlipayClient;
|
||||
import com.alipay.api.domain.AlipayTradeAppPayModel;
|
||||
import com.alipay.api.domain.AlipayTradeRefundModel;
|
||||
import com.alipay.api.domain.ExtendParams;
|
||||
import com.alipay.api.request.AlipayTradeAppPayRequest;
|
||||
import com.alipay.api.request.AlipayTradeRefundRequest;
|
||||
import com.alipay.api.response.AlipayTradeAppPayResponse;
|
||||
@@ -42,7 +43,7 @@ import java.util.Map;
|
||||
@RequiredArgsConstructor
|
||||
public class ThirdAppPlusAliPayServiceImpl implements ThirdAppPlusAliPayService {
|
||||
|
||||
private final String TAG = "微信小程序支付(app版本)";
|
||||
private final String TAG = "支付宝支付(app版本)";
|
||||
|
||||
static private AlipayClient alipayClient = null;
|
||||
|
||||
@@ -109,6 +110,10 @@ public class ThirdAppPlusAliPayServiceImpl implements ThirdAppPlusAliPayService
|
||||
model.setSubject("资安信");
|
||||
// 超时时间15分钟
|
||||
model.setTimeExpire(LocalDateTimeUtil.format(now.plusMinutes(15), DatePattern.NORM_DATETIME_PATTERN));
|
||||
// 设置子商户号
|
||||
ExtendParams extendParams = new ExtendParams();
|
||||
extendParams.setSysServiceProviderId(dto.getSubMchid());
|
||||
model.setExtendParams(extendParams);
|
||||
|
||||
payOrder.setPayRep(JSONUtil.toJsonStr(model));
|
||||
request.setBizModel(model);
|
||||
|
||||
+3
-1
@@ -156,7 +156,7 @@ public class ThirdAppPlusServiceImpl implements ThirdAppPlusService {
|
||||
if (ObjectUtil.isEmpty(userInfo)) {
|
||||
throw new RuntimeException("用户不存在");
|
||||
}
|
||||
MchManageVo mchManage = remoteMchService.getFirstMchByDeptId(userInfo.getSysUser().getDeptId(), MerchantTypeEnum.OTHER_CANTEEN).getData();
|
||||
MchManageVo mchManage = remoteMchService.getFirstMchByDeptId(userInfo.getSysUser().getDeptId(), MerchantTypeEnum.CANTEEN).getData();
|
||||
if (ObjectUtil.isEmpty(mchManage)) {
|
||||
throw new RuntimeException("用户不属于任何食堂");
|
||||
}
|
||||
@@ -220,6 +220,8 @@ public class ThirdAppPlusServiceImpl implements ThirdAppPlusService {
|
||||
if (ObjectUtil.isEmpty(paySetting)) {
|
||||
throw new RuntimeException("商户未配置微信支付参数");
|
||||
}
|
||||
MchPaySettingEntity.AliPaySetting wechatPaySetting = JSONUtil.toBean(paySetting.getSettingJson(), MchPaySettingEntity.AliPaySetting.class);
|
||||
appPlusPayDto.setSubMchid(wechatPaySetting.getSubMchid());
|
||||
|
||||
String orderStr = thirdMiniAppAliPayService.appPay(appPlusPayDto);
|
||||
if (ObjectUtil.isEmpty(orderStr)) {
|
||||
|
||||
+3
-3
@@ -125,9 +125,9 @@ app-plus:
|
||||
spbill-create-ip: 59.202.170.152
|
||||
base-url: https://api.mch.weixin.qq.com
|
||||
ali-pay-config:
|
||||
app-id: 2021006147685828
|
||||
app-private-key: MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC9OwO+0R0y3wxniFEzoDcVHuSB+5D49WYLi/Bgvqz04Y7dnbphih4ShKNByRxw046c+gG406EZ5KTbfB/AwUflYl0gANTwhuLjK2O+/MaKpfsE2m4vT8MuDsUW4Y00RO0DkLN/Kf9aLrQd62/GtLipVIejHCi9KevclKstO7NomCkJC3ucZ1FIqeeJEhM8aNq0Q7VAfJ0IFiY+yJuqz7Yxpy39tAW5TxFXCzkwQUjRoz4xOD8+N2Qo9OVn6rE1Z65LIa3c6uxTmg8/8s7thwralx57Rr6VDdFSMbnPKplNDFWKlZL8YAmk9PI/3Jg03HH+r3GxBNvTAp5Uk/CqPAAJAgMBAAECggEBAIQqDLKggSE/sf05s2U4WGBzBCxY1OddFhmocopPgqNCSrM0b7GicuCCLThMS4Xt7KRs5Pj/LnzUOeRmLBNHq3xlmB87FX6s5xi8/FyvVcgOp2S7XsvCjNLFVBhoDmRcY6Hi1ctSPNvy1LA0+Quyu2rg9B8TEs0T031rhKcCFItOzvamdTWPZ17AQBykSn+8F4Uhp6EiR17HWyS4TkmLfeS+Q6LgP6VLIhqPgBvC48hMc8pLDv97b26kTe8QcdOFdplqzdYAFCOlaXAS2OHXRieILAjaSVtdPfjqy6wu66PyUuMGnAA4HhvNeTbJIuXv0Y+PsGHXHmGL3YCsVdsVTzUCgYEA6vlP0yQ6+6IFwfMba+8BYEKpEaHT+BsqMuO+jDKINo2HwMA8WBQjkAfsDkgzQrFiicq4ENdSqihEtqbZrgb3lqOajzXU3BUtj49TjIbOmNgofy+du8KnpIGKIXe59T75E9jv8SByBBulGn3Sjwcby1jBEGeVXJ325sjRXFcCvyMCgYEAzinVFXTgJk0hWp4Tj9+4XaO299T85x27Uk3wO5Y5drmPJB/aqxHInzRSvDeyTeXF3++xf0EW1UXYSRazmKIBlr8JqnUZGuwMu4ZWvNGNuMsUA/R19tail6XtRc740kILO1r2DouWmqQtMIrgEyDANkIl+RKsaDNCofAYmuqrrOMCgYBJofDS0IKvQfmd6onIS/BZcuo6PUUIdbLGmbmng1pOBhHpZBRE4aK3StQ9MYDmwGGJnn4JwQAFlHLb7fM+5q4FhaU0hYD7qqNJXnenDMOHAA3ItWovYXNZSMK5dCRQ5vf0sUGXhTxVbzhQ0eb+rRKXqWtusZcLm/C4J2v8DMQukwKBgEZsjch1kzgiMtmUlBQalQ0PpqnEDNwaEOoNi5mfOGPxAQ+S/gxf18tigTygPf1UFyLm6xgQMO+Lm1VkNtdVx/spqPCcbYX/yl2ohyqa3rGYVW8Aa+d07DenS4UELYUNYG7XJKRVVI3gtTsWxXJjRqWCNRx/H3u8vu84Z/9LWHeHAoGADJmbuMUctjMfNVuh5B65VhLXYiOdta9smuAeAhoUiP9tlZuBvjEDVXHfu+NnRXL1yn0OhIK9N4Q3rS+2z/G5W1GvDxiSmk4fRQBwakybn4DqKorCxxwK5nGciZ+2Bde0IAcDe1no/YuxY5uC12LyQi7PINO18NBgBgXFWBYlYvM=
|
||||
alipay-public-key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhoU7Iun0y/g/4UefwCc/TWudwRfgn302yQjI50u9gFek9YS5RxlIj4T+WfNv7a8rDKvTGjxeMG638rXuLHEuUMJCZadvjNYdVwvGo9mtmtwa+BK7q2ovpc5iTU9OYPTM0eOPX5FO8qkd15U1pvfBO1BFCDwpelGW+AZwObL/dFhU43j0EcVqLM3VrnLuynURPt2pX9oQ1Je65W0Q1IyVMw5FWm2+aayr/jlhJqtwdsWPuzGegBW7Pc2h/rugTeE+1Rx4+bvlNVaihCewyu+tzvUJzT0xekhQM1kH9um/ZyyivJOziuwGwFoqAdFB7FYM5yMUo1AKaZGjL3to9eWIGQIDAQAB
|
||||
app-id: 2021006152681025
|
||||
app-private-key: MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCArccby2Bq3DlDveWHLrBBzx/zQEehhJlJbUnzlYytpwcsprhlUIKfLJDxVlERxBCaOFQDVh8IPYSpD/ryXPsvkQ4Ev1g2TPDdmikUJYP9zigLwvB55tLMjYy78+hrYnKIUVGxk4j+FKW2/d/MJM09/j8NcHZbtRy9Jg1Bcxoo9FR+nk+MRhsKc1pdR7ba+45LMtNvWX/GLZffxDkGF2QfITtNNvbZHlAsuOTDGNjpF8bykHNr9eIsYaiJhSZsbRW0RrOEWf5nq9iEVEN5zi1moq1pDMveIN96wXj21Nurkt9i21i5gLWTslCFOE46bOlCtwCjy0j5x9sJ2FaJY6B5AgMBAAECggEAaT+6L721azIdlI7qAhvqBqnHVEsrS60NQ8WkSxvzKMYJVDg5coTbkh39n6gePw3DFqEj9mamkzLeIvnzI/FxcoKOmMt491EPYfIJz3Sv9RR+JMCZuNtXaAAPMFxbqhmn3F/HFhu6XTe+I2KbfnpLdX1TTUbDSFdm3j8VcIcYyo2EA8ksMRifcoEjYPJO9X/V70VxrqvcMnYzb8HegzLVmdA9E6KOxz4E8YcTsPl53H3z7M+LHZ7hAxWffacKwEuCj015nD4DVNRcx+9B0qyaH0V0FD0eGeYB9wlR3Q71AuT9Eu1DMJ1Krd1PH9++pGOqOE+9oWzfk3YsZxKD32tQEQKBgQDEmRakTBZZZKKxlFsX/h5Jl0WQhV0zKzOMBDEvonmLp7jB948UXqdL+A/1r1lJ/+9NJAlyeySstcUVdkgpFvnFWkVOkEuUsiYyIE+Zl3qjedhs+v5nGZ6pK/N+r6tGxOdKT2gfg2s9gTZZKwNcHOmUTLd2Pv+80s4ElhkwMoWicwKBgQCnjx8FxO4FLmFHjzmbNwlXgSdjLbLQsR/08ZzwuNQwn7nR72Ye1d6EEIkyqdq/WMJPiaAMUg+zkoIzM0zX21U7ZrV0kknm4LctLi+FwEEGK/wm5nAdGQA8Uf+Lt55A0dafJMjVT/w8vf3S9JV/6qZQ8wwGVCnavZhbAJRdLMl6YwKBgC/aU3iKTKZVqIQw6Dtez2B6QaR70cOysElUe+RsV8l2ebI838bFg1Mqfjf/BmzMryLHssT61GJ1nBMtR0M5JHK1FkmZNcxr0IBC/R0VkfRYpCVisqnFwqjK2ensOHRxWRrtWRrSkjfWS7RIk/jH0NMYGU/e5cDATwUuw9LHeV+hAoGAZeE306IxtyTEMWZ8eEu2emYlNMCMgSexbpWZ/yPioM39hhAx333aliIXyZ5NSxsEyqe7kMI0mdLzJ36Bsp3B7SQ+IGryVFc+CVKTwpdq8f28i0qB0K9q3UJeRu2WY4MzJACRvGGt1KEQvDvKysQ56+5b2V1DNaUiBfMMQrsAplECgYBgVTk/5NVFHt6MTiYJiqIA4s6Us5lfNpTbc7rGOlFfKo+sxS1hO/klZ83Ou2HHyzm18F5AXSARETBT98m0UzPHL+c6EZaFPltgOJHG72eZ0MstWQU1et9mzPpInCRCXAv5cg1VCrXe9bPhH61UhBK3i9NR6QFahMaPPyVsQF0ISg==
|
||||
alipay-public-key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAg/tnDZnVyF3K6mQYrdnPqfnFou0tmf2uFOErWps7GBzPtR65XI8aFuwN17oFsF0m1L05i1tPzRN+UWH/siXlAh2YtDosw8Af1GY0fhwZQIxD/WigDvPD8w8c9xwNGGfmGfyc0f46GEsTakur7UG2wDmhE51ijLbQiol0kQixu6cUCWuCEXl3pCgCvpByUn53607+w/gfXDeMF5tMT734RsDwhz9hiDALrT3z50V5HSyfM0JsQZEMIG3uM+PSD04gvUY95yIuhAWUjf8z67TdKY/rMoW9PJYBI4aG2UZge2YkDufDXgtCSdFt6qJx9c0w4BY/FQZPBCxfyMZ7noiJmQIDAQAB
|
||||
# base-callback-url: https://dzc-test-1.fy.takin.cc
|
||||
base-callback-url: https://www.zianxin.com/api
|
||||
pay-callback-url: /third/third-app-pay/app/pay-callback
|
||||
|
||||
+8
@@ -114,4 +114,12 @@ public class MchPaySettingEntity extends Model<MchPaySettingEntity> {
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
static public class AliPaySetting {
|
||||
/**
|
||||
* 子商户号
|
||||
*/
|
||||
private String subMchid;
|
||||
}
|
||||
|
||||
}
|
||||
+1
-1
@@ -79,7 +79,7 @@ public class MchPaySettingServiceImpl extends ServiceImpl<MchPaySettingMapper, M
|
||||
if (ObjectUtil.isEmpty(userInfo)) {
|
||||
throw new RuntimeException("用户不存在");
|
||||
}
|
||||
MchManageVo targetMch = mchManageService.getFirstMchByDeptId(userInfo.getSysUser().getDeptId(), List.of(MerchantTypeEnum.OTHER_CANTEEN));
|
||||
MchManageVo targetMch = mchManageService.getFirstMchByDeptId(userInfo.getSysUser().getDeptId(), List.of(MerchantTypeEnum.CANTEEN));
|
||||
if (ObjectUtil.isEmpty(targetMch) || ObjectUtil.isEmpty(targetMch.getPaySettingList())) {
|
||||
return List.of();
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user