diff --git a/agileboot-admin/src/main/java/com/agileboot/admin/controller/cabinet/CabinetCellController.java b/agileboot-admin/src/main/java/com/agileboot/admin/controller/cabinet/CabinetCellController.java index da7ed3e..f48e6cc 100644 --- a/agileboot-admin/src/main/java/com/agileboot/admin/controller/cabinet/CabinetCellController.java +++ b/agileboot-admin/src/main/java/com/agileboot/admin/controller/cabinet/CabinetCellController.java @@ -11,6 +11,7 @@ import com.agileboot.domain.cabinet.cell.command.UpdateCabinetCellCommand; import com.agileboot.domain.cabinet.cell.db.CabinetCellEntity; import com.agileboot.domain.cabinet.cell.dto.CabinetCellDTO; import com.agileboot.domain.cabinet.cell.query.SearchCabinetCellQuery; +import com.agileboot.domain.cabinet.cell.query.SearchCabinetCellWithOrdersQuery; import com.agileboot.domain.common.command.BulkOperationCommand; import io.swagger.v3.oas.annotations.Operation; import java.util.List; @@ -38,7 +39,7 @@ public class CabinetCellController extends BaseController { @Operation(summary = "格口列表") @GetMapping - public ResponseDTO<PageDTO<CabinetCellDTO>> list(SearchCabinetCellQuery<CabinetCellEntity> query) { + public ResponseDTO<PageDTO<CabinetCellDTO>> list(SearchCabinetCellWithOrdersQuery<CabinetCellEntity> query) { PageDTO<CabinetCellDTO> page = cabinetCellApplicationService.getCabinetCellList(query); return ResponseDTO.ok(page); } diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/cabinet/cell/CabinetCellApplicationService.java b/agileboot-domain/src/main/java/com/agileboot/domain/cabinet/cell/CabinetCellApplicationService.java index c513622..abb1f21 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/cabinet/cell/CabinetCellApplicationService.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/cabinet/cell/CabinetCellApplicationService.java @@ -2,6 +2,7 @@ package com.agileboot.domain.cabinet.cell; import com.agileboot.common.core.page.PageDTO; import com.agileboot.domain.cabinet.cell.dto.CabinetCellWithOrderCountDTO; +import com.agileboot.domain.cabinet.cell.query.SearchCabinetCellWithOrdersQuery; import com.agileboot.domain.common.command.BulkOperationCommand; import com.agileboot.domain.cabinet.cell.command.AddCabinetCellCommand; import com.agileboot.domain.cabinet.cell.command.UpdateCabinetCellCommand; @@ -29,7 +30,7 @@ public class CabinetCellApplicationService { private final CabinetCellModelFactory cabinetCellModelFactory; private final ShopGoodsService shopGoodsService; - public PageDTO<CabinetCellDTO> getCabinetCellList(SearchCabinetCellQuery<CabinetCellEntity> query) { + public PageDTO<CabinetCellDTO> getCabinetCellList(SearchCabinetCellWithOrdersQuery<CabinetCellEntity> query) { // Page<CabinetCellEntity> page = cabinetCellService.getCellList(query); Page<CabinetCellWithOrderCountDTO> page = cabinetCellService.getCellListWithOrders(query); List<ShopGoodsEntity> goodsList = shopGoodsService.selectAll(); diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/cabinet/cell/query/SearchCabinetCellWithOrdersQuery.java b/agileboot-domain/src/main/java/com/agileboot/domain/cabinet/cell/query/SearchCabinetCellWithOrdersQuery.java index 49e5313..008b4ab 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/cabinet/cell/query/SearchCabinetCellWithOrdersQuery.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/cabinet/cell/query/SearchCabinetCellWithOrdersQuery.java @@ -31,7 +31,8 @@ public class SearchCabinetCellWithOrdersQuery<T> extends AbstractPageQuery<T> { .eq(usageStatus != null, "cc.usage_status", usageStatus) .eq(availableStatus != null, "cc.available_status", availableStatus) .eq("cc.deleted", false) - .between(startTime != null && endTime != null, "cc.create_time", startTime, endTime); + .between(startTime != null && endTime != null, "cc.create_time", startTime, endTime) + .groupBy("cc.cell_id"); this.timeRangeColumn = "create_time"; diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/shop/payment/PaymentApplicationService.java b/agileboot-domain/src/main/java/com/agileboot/domain/shop/payment/PaymentApplicationService.java index 422320b..ff5849c 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/shop/payment/PaymentApplicationService.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/shop/payment/PaymentApplicationService.java @@ -15,10 +15,13 @@ import com.agileboot.common.utils.OpenSignUtil; import com.agileboot.domain.shop.order.model.OrderModel; import com.agileboot.domain.shop.order.model.OrderModelFactory; import com.agileboot.domain.shop.payment.dto.*; +import com.agileboot.domain.shop.paymentOperationLog.PaymentOperationLogApplicationService; +import com.agileboot.domain.shop.paymentOperationLog.command.AddPaymentOperationLogCommand; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.exception.ExceptionUtils; import org.springframework.stereotype.Service; import java.net.URLEncoder; @@ -32,13 +35,16 @@ import java.util.UUID; @RequiredArgsConstructor public class PaymentApplicationService { private final OrderModelFactory orderModelFactory; + private final PaymentOperationLogApplicationService paymentOperationLogApplicationService; private static final Object LOCKER = new Object(); public WxJsApiPreCreateResponse callJsApiPreCreate(WxJsApiPreCreateRequest request) { String gatewayUrl = PayApiConstants.pay_url; + String result = ""; + String jsonBody = ""; try { - String jsonBody = JSONUtil.toJsonStr(request); + jsonBody = JSONUtil.toJsonStr(request); log.info("callJsApiPreCreate 请求body:{}", jsonBody); // 使用try-with-resources自动关闭连接 @@ -50,7 +56,7 @@ public class PaymentApplicationService { // 获取HTTP状态码和响应体 int status = httpResponse.getStatus(); - String result = httpResponse.body(); + result = httpResponse.body(); log.info("callJsApiPreCreate 响应body:{}", result); // 先校验HTTP状态码 @@ -74,6 +80,13 @@ public class PaymentApplicationService { } } catch (Exception e) { + AddPaymentOperationLogCommand paymentOperationLogCommand = new AddPaymentOperationLogCommand(); + paymentOperationLogCommand.setParams("body:" + jsonBody + " result:" + result); + paymentOperationLogCommand.setOperationType("submitOrder"); + paymentOperationLogCommand.setStatus(2); + paymentOperationLogCommand.setRemark(ExceptionUtils.getStackTrace(e)); + paymentOperationLogCommand.initBaseEntity(); + paymentOperationLogApplicationService.addPaymentOperationLog(paymentOperationLogCommand); throw new RuntimeException("支付网关调用失败:" + e.getLocalizedMessage(), e); } }