|
|
@@ -6,6 +6,8 @@ import com.alibaba.fastjson2.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.sckw.core.model.constant.Global;
|
|
|
import com.sckw.core.model.enums.LogisticsOrderV1Enum;
|
|
|
+import com.sckw.core.utils.DateUtils;
|
|
|
+import com.sckw.core.web.response.BaseResult;
|
|
|
import com.sckw.order.dao.KwoTradeOrderGoodsMapper;
|
|
|
import com.sckw.order.dao.KwoTradeOrderMapper;
|
|
|
import com.sckw.order.dao.KwoTradeOrderUnitMapper;
|
|
|
@@ -25,6 +27,7 @@ import org.springframework.scheduling.annotation.Scheduled;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.Objects;
|
|
|
@@ -97,7 +100,8 @@ public class TradeOrderTask {
|
|
|
walletFreeze.setTTradeOrderId(kwoTradeOrder.getId());
|
|
|
walletFreeze.setOrderNo(kwoTradeOrder.getTOrderNo());
|
|
|
log.info("结算 {}", JSONObject.toJSONString(walletFreeze));
|
|
|
- paymentDubboService.dealMoney(walletFreeze);
|
|
|
+ BaseResult<Boolean> booleanBaseResult = paymentDubboService.dealMoney(walletFreeze);
|
|
|
+ log.info("结算结果:{}", JSONObject.toJSONString(booleanBaseResult));
|
|
|
|
|
|
kwoTradeOrder.setStatus(TradeOrderStatusEnum.SUCCESS.getCode());
|
|
|
kwoTradeOrderMapper.updateById(kwoTradeOrder);
|
|
|
@@ -109,6 +113,38 @@ public class TradeOrderTask {
|
|
|
}
|
|
|
|
|
|
}
|
|
|
-
|
|
|
+ List<KwoTradeOrder> kwoTradeOrders2 = kwoTradeOrderMapper.selectList(new LambdaQueryWrapper<KwoTradeOrder>()
|
|
|
+ .eq(KwoTradeOrder::getStatus, List.of(TradeOrderStatusEnum.AUDIT.getCode(), TradeOrderStatusEnum.ING.getCode()))
|
|
|
+ .lt(KwoTradeOrder::getEndTime, DateUtils.getEndOfDay(new Date()))
|
|
|
+ .eq(KwoTradeOrder::getDelFlag, Global.UN_DELETED)
|
|
|
+ );
|
|
|
+ if (CollUtil.isNotEmpty(kwoTradeOrders2)) {
|
|
|
+ threadPoolExecutor.execute(() -> {
|
|
|
+ Map<Integer, List<KwoTradeOrder>> collect = kwoTradeOrders2.stream().collect(Collectors.groupingBy(KwoTradeOrder::getStatus));
|
|
|
+ for (Map.Entry<Integer, List<KwoTradeOrder>> one : collect.entrySet()) {
|
|
|
+ List<KwoTradeOrder> value = one.getValue();
|
|
|
+ if (CollUtil.isEmpty(value)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if (Objects.equals(one.getKey(), TradeOrderStatusEnum.AUDIT.getCode())) {
|
|
|
+ for (KwoTradeOrder kwoTradeOrder : value) {
|
|
|
+ WalletFreeze walletFreeze = new WalletFreeze();
|
|
|
+ walletFreeze.setTTradeOrderId(kwoTradeOrder.getId());
|
|
|
+ walletFreeze.setOrderNo(kwoTradeOrder.getTOrderNo());
|
|
|
+ BaseResult<Boolean> booleanBaseResult = paymentDubboService.unfreezeMoney(walletFreeze);
|
|
|
+ log.info("解冻结果:{}", JSONObject.toJSONString(booleanBaseResult));
|
|
|
+ kwoTradeOrder.setStatus(TradeOrderStatusEnum.SUCCESS.getCode());
|
|
|
+ kwoTradeOrderMapper.updateById(kwoTradeOrder);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (Objects.equals(one.getKey(), TradeOrderStatusEnum.ING.getCode())) {
|
|
|
+ for (KwoTradeOrder kwoTradeOrder : value) {
|
|
|
+ kwoTradeOrder.setStatus(TradeOrderStatusEnum.DEAL.getCode());
|
|
|
+ kwoTradeOrderMapper.updateById(kwoTradeOrder);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
}
|