运单生成时改为异步调用邮政系统,避免出现响应超时。

master
luojian 2025-02-28 16:31:36 +08:00
parent 44d542a97d
commit 1d30ffc934
3 changed files with 32 additions and 11 deletions

View File

@ -6,9 +6,8 @@ spring:
druid: druid:
# 主库数据源 # 主库数据源
master: master:
# url: jdbc:mysql://localhost:3306/cpxtdb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 url: jdbc:mysql://192.168.0.49:3306/cpxtdb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
# url: jdbc:mysql://192.168.0.49:3306/cpxtdb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 # url: jdbc:mysql://localhost:3506/cpxtdb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
url: jdbc:mysql://localhost:3506/cpxtdb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root username: root
# password: 1234 # password: 1234
password: root password: root

View File

@ -7,7 +7,8 @@ ruoyi:
# 版权年份 # 版权年份
copyrightYear: 2024 copyrightYear: 2024
# 文件路径 示例( Windows配置D:/ruoyi/uploadPathLinux配置 /home/ruoyi/uploadPath # 文件路径 示例( Windows配置D:/ruoyi/uploadPathLinux配置 /home/ruoyi/uploadPath
profile: D:/ruoyi/cpxt/uploadPath # profile: D:/ruoyi/cpxt/uploadPath
profile: D:/ruoyi/uploadPath
# 获取ip地址开关 # 获取ip地址开关
addressEnabled: false addressEnabled: false
# 验证码类型 math 数字计算 char 字符验证 # 验证码类型 math 数字计算 char 字符验证
@ -16,7 +17,7 @@ ruoyi:
# 开发环境配置 # 开发环境配置
server: server:
# 服务器的HTTP端口默认为8080 # 服务器的HTTP端口默认为8080
port: 8888 port: 8007
servlet: servlet:
# 应用的访问路径 # 应用的访问路径
context-path: / context-path: /

View File

@ -404,10 +404,16 @@ public class BizOrderServiceImpl implements IBizOrderService {
bizOrderSub.setOrderFee(BigDecimal.valueOf(Helper.FDouble(subList.get(0).get("orderFee")))); bizOrderSub.setOrderFee(BigDecimal.valueOf(Helper.FDouble(subList.get(0).get("orderFee"))));
bizOrderSub.setRemark((String) subList.get(0).get("remark")); bizOrderSub.setRemark((String) subList.get(0).get("remark"));
bizOrderSubMapper.insert(bizOrderSub); bizOrderSubMapper.insert(bizOrderSub);
}
// 同步调用同城急送平台入口 // 异步调用,避免出现响应时间过长的问题
Runnable runnable = () -> {
for (int i = 1; i <= totalQuantity; i++) {
BizOrderSub bizOrderSub = bizOrderSubMapper.selectBySubOrderSn(orderSn + "-" + i);
// 调用同城急送平台入口
callThirdPartyInterface(bizOrder, bizOrderSub); callThirdPartyInterface(bizOrder, bizOrderSub);
} }
};
new Thread(runnable).start();
} }
} else { } else {
for (Map map1 : subList) { for (Map map1 : subList) {
@ -432,11 +438,19 @@ public class BizOrderServiceImpl implements IBizOrderService {
bizOrderSub.setOrderFee(BigDecimal.valueOf(Helper.FDouble(map1.get("orderFee")))); bizOrderSub.setOrderFee(BigDecimal.valueOf(Helper.FDouble(map1.get("orderFee"))));
bizOrderSub.setRemark((String) map1.get("remark")); bizOrderSub.setRemark((String) map1.get("remark"));
bizOrderSubMapper.insert(bizOrderSub); bizOrderSubMapper.insert(bizOrderSub);
}
// 同步调用同城急送平台入口 }
// 异步调用,避免出现响应时间过长的问题
Runnable runnable = () -> {
for (Map map1 : subList) {
if (map1.get("orderSn").equals(orderSn)) {
BizOrderSub bizOrderSub = bizOrderSubMapper.selectBySubOrderSn((String) map1.get("subOrderSn"));
// 调用同城急送平台入口
callThirdPartyInterface(bizOrder, bizOrderSub); callThirdPartyInterface(bizOrder, bizOrderSub);
} }
} }
};
new Thread(runnable).start();
} }
} }
@ -473,6 +487,13 @@ public class BizOrderServiceImpl implements IBizOrderService {
orderSub.setTotalFee(String.valueOf(totalFee)); orderSub.setTotalFee(String.valueOf(totalFee));
orderSub.setPostageFee(String.valueOf(postageFee)); orderSub.setPostageFee(String.valueOf(postageFee));
bizOrderSubMapper.updateById(orderSub); bizOrderSubMapper.updateById(orderSub);
}else {
// 如果订单创建失败,则记录失败原因
Object message = jsonObject.get("message");
if (ObjectUtil.isNotEmpty(message)){
bizOrderSub.setRemark(message.toString());
bizOrderSubMapper.updateById(bizOrderSub);
}
} }
} }