Преглед на файлове

fix 订单关闭手动限制

zoujiajian преди 2 години
родител
ревизия
4f8bfe650a

+ 1 - 0
netflix-service/src/main/java/com/cyksj/redis/RedisService.java

@@ -673,6 +673,7 @@ public class RedisService {
         WX_INDENT_BIND_KEY("wx_indent_bind:key:", "微信身份授权绑定key", 60 * 60 * 24),
         EQUIPMENT_USER_SERVICE_RECORD("equipment_user_service_record:", "用户设备客服获取记录key", 60 * 60 * 24),
         INFORMATION_KEY("information_key:", "文章", 30 * 60L),
+        CLOSE_ORDER_TIME_KEY("close_order_time_key:", "关闭订单key", 3 * 60),
         ;
 
         private String name;

+ 4 - 3
netflix-service/src/main/java/com/cyksj/service/order/impl/OrderDonServiceImpl.java

@@ -806,6 +806,10 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 	@Transactional(rollbackFor = Throwable.class)
 	@Override
 	public void closeOrder(Long orderId, Long userId) {
+		String orderCloseKey = RedisService.key.CLOSE_ORDER_TIME_KEY.getName() + orderId;
+		if (!redisService.setNx(orderCloseKey, orderId, RedisService.key.CLOSE_ORDER_TIME_KEY.getTimeout())) {
+			throw BusinessRuntimeException.getInstance("订单正在关闭中..");
+		}
 		//关闭订单逻辑
 		OrderDon orderDon = getById(orderId);
 		if (orderDon == null) {
@@ -2814,9 +2818,6 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 	public void deductBalancePayOrderMoney(OrderDon orderDon, BigDecimal balance, User user) {
 		//存在余额
 		if (balance != null && balance.compareTo(BigDecimal.ZERO) > 0) {
-			if (true) {
-				throw BusinessRuntimeException.getInstance("暂不支持余额支付..");
-			}
 			BigDecimal money = orderDon.getMoney();
 			//去掉余额 多出的部分
 			BigDecimal subBalance = balance;