diff --git a/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/presellorder/PresellOrderService.java b/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/presellorder/PresellOrderService.java index 9943f81..0a84b6c 100644 --- a/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/presellorder/PresellOrderService.java +++ b/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/presellorder/PresellOrderService.java @@ -237,4 +237,57 @@ public class PresellOrderService extends BaseService { return out == null ? new BigDecimal(0) : out; } + + /** + * 根据客户id查询客户的可用余额 + * @param id + * @return + */ + public BigDecimal getPresellCustomerSurplus2ById(Integer id) { + List params = new ArrayList<>(); + params.add(id); + params.add(id); + + String sql = "SELECT\n" + + " IFNULL(\n" + + " (\n" + + " SELECT\n" + + " (\n" + + " IFNULL(\n" + + " (\n" + + " SELECT\n" + + " sum(t.presell_amount)\n" + + " FROM\n" + + " presell_order t\n" + + " WHERE\n" + + " t.del = 0\n" + + " AND t.customer_id = ?\n" + + " ),\n" + + " 0\n" + + " )\n" + + " ) - (\n" + + " IFNULL(\n" + + " (\n" + + " SELECT\n" + + " sum(\n" + + " t.total_price\n" + + " )\n" + + " FROM\n" + + " order_temp t\n" + + " WHERE\n" + + " t.sale_type = 1\n" + + " AND t.state = 5\n" + + " AND t.customer_id = ?\n" + + " ),\n" + + " 0\n" + + " )\n" + + " )\n" + + " ),\n" + + " 0\n" + + " ) AS suplus"; + + BigDecimal out = Db.queryBigDecimal(sql, params.toArray()); + + return out == null ? new BigDecimal(0) : out; + } } diff --git a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/order/ordertemp/OrderTempSyncService.java b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/order/ordertemp/OrderTempSyncService.java index d68e1e5..73b29a9 100644 --- a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/order/ordertemp/OrderTempSyncService.java +++ b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/order/ordertemp/OrderTempSyncService.java @@ -1127,7 +1127,7 @@ public class OrderTempSyncService { } //账户可用余额 - BigDecimal availableBalance = PresellOrderService.me.getPresellCustomerSurplusById(ordercluster.getCustomerId()); + BigDecimal availableBalance = PresellOrderService.me.getPresellCustomerSurplus2ById(ordercluster.getCustomerId()); if (availableBalance == null || availableBalance.compareTo(min) <= 0) { return Result.failed("客户余额不足"); }