From dacb1db1a8402d1a616a6f581b962c24014ae6fd Mon Sep 17 00:00:00 2001 From: Derran Date: Thu, 15 May 2025 14:42:46 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E9=80=80=E6=AC=BE=E7=94=B3?= =?UTF-8?q?=E8=AF=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ora/entity/OrderRefundApplication.java | 5 +++- ...efundApplicationUserCommandController.java | 12 ++++++-- ...tOrderRefundApplicationByOperationDto.java | 29 +++++++++++++++++++ ...rRefundApplicationUserQueryController.java | 13 +++++++-- ...untyOrderRefundApplicationQueryParams.java | 3 ++ ...arriageBountyOrderRefundApplicationVo.java | 5 +++- ...erRefundApplicationApplicationService.java | 11 ++++++- .../ora/OrderRefundApplicationAggregate.java | 4 +++ ...rderRefundApplicationQueryServiceImpl.java | 2 +- .../ora/OrderRefundApplicationMapper.xml | 28 ++++++++++-------- 10 files changed, 92 insertions(+), 20 deletions(-) create mode 100644 dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/ora/user/request/UserAuditOrderRefundApplicationByOperationDto.java diff --git a/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/ora/entity/OrderRefundApplication.java b/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/ora/entity/OrderRefundApplication.java index bdd218a..5078d3e 100644 --- a/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/ora/entity/OrderRefundApplication.java +++ b/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/ora/entity/OrderRefundApplication.java @@ -34,7 +34,10 @@ public class OrderRefundApplication extends Entity { @ApiModelProperty("订单金额") private BigDecimal orderAmount; - @ApiModelProperty("审核状态") + @ApiModelProperty("运营审核状态") + private OrderRefundApplicationStatus operationStatus; + + @ApiModelProperty("财务审核状态") private OrderRefundApplicationStatus status; public static OrderRefundApplication build(Long orderId, diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/ora/user/OrderRefundApplicationUserCommandController.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/ora/user/OrderRefundApplicationUserCommandController.java index 740c184..b9363e2 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/ora/user/OrderRefundApplicationUserCommandController.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/ora/user/OrderRefundApplicationUserCommandController.java @@ -1,5 +1,6 @@ package com.qniao.dam.api.command.ora.user; +import com.qniao.dam.api.command.ora.user.request.UserAuditOrderRefundApplicationByOperationDto; import com.qniao.dam.api.command.ora.user.request.UserAuditOrderRefundApplicationDto; import com.qniao.dam.application.service.ora.OrderRefundApplicationApplicationService; import io.swagger.annotations.Api; @@ -16,10 +17,17 @@ public class OrderRefundApplicationUserCommandController { @Resource private OrderRefundApplicationApplicationService orderRefundApplicationApplicationService; + @PostMapping("audit/order-refund-application/by/operation") + @ApiOperation("运营人员订单退款申请审核") + public void userAuditOrderRefundApplicationByOperation(@RequestBody UserAuditOrderRefundApplicationByOperationDto dto, + @RequestParam("userId") Long userId) { + orderRefundApplicationApplicationService.auditByOperation(dto.trans2Domain()); + } + @PostMapping("audit/order-refund-application") @ApiOperation("订单退款申请审核") - public void userAuditSiteActivityParticipantQuitAudit(@RequestBody UserAuditOrderRefundApplicationDto dto, - @RequestParam("userId") Long userId) { + public void userAuditOrderRefundApplication(@RequestBody UserAuditOrderRefundApplicationDto dto, + @RequestParam("userId") Long userId) { orderRefundApplicationApplicationService.audit(dto.trans2Domain()); } } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/ora/user/request/UserAuditOrderRefundApplicationByOperationDto.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/ora/user/request/UserAuditOrderRefundApplicationByOperationDto.java new file mode 100644 index 0000000..b7c9a7a --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/ora/user/request/UserAuditOrderRefundApplicationByOperationDto.java @@ -0,0 +1,29 @@ +package com.qniao.dam.api.command.ora.user.request; + + +import com.qniao.dam.domain.aggregate.ora.entity.OrderRefundApplication; +import com.qniao.dam.domian.aggregate.ora.constant.OrderRefundApplicationStatus; +import com.qniao.domain.Trans2DomainAssembler; +import com.qniao.framework.utils.TypeConvertUtils; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Data +public class UserAuditOrderRefundApplicationByOperationDto implements Trans2DomainAssembler { + + @ApiModelProperty("唯一标识") + @NotNull(message = "唯一标识不能为空") + private Long id; + + @ApiModelProperty("运营审核状态") + @NotNull(message = "运营审核状态不能为空") + private OrderRefundApplicationStatus operationStatus; + + @Override + public OrderRefundApplication trans2Domain() { + return TypeConvertUtils.convert(this, OrderRefundApplication.class); + } +} + diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/ora/user/OrderRefundApplicationUserQueryController.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/ora/user/OrderRefundApplicationUserQueryController.java index f45823c..6bad56f 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/ora/user/OrderRefundApplicationUserQueryController.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/ora/user/OrderRefundApplicationUserQueryController.java @@ -2,6 +2,7 @@ package com.qniao.dam.api.query.ora.user; import com.qniao.dam.api.query.ora.user.request.UserPageMarriageBountyOrderRefundApplicationQueryParams; import com.qniao.dam.api.query.ora.user.response.UserPageMarriageBountyOrderRefundApplicationVo; +import com.qniao.dam.domian.aggregate.ora.constant.OrderRefundApplicationStatus; import com.qniao.dam.query.ora.OrderRefundApplicationQueryService; import com.qniao.domain.QnPage; import com.qniao.framework.utils.PageUtil; @@ -22,10 +23,18 @@ public class OrderRefundApplicationUserQueryController { @Resource private OrderRefundApplicationQueryService orderRefundApplicationQueryService; + @GetMapping("page/marriage-bounty-order/refund-application/by/operation") + @ApiOperation("运营人员查询订单退款申请分页") + public QnPage userPageMarriageBountyOrderRefundApplicationByOperation(PageUtil pageUtil, + UserPageMarriageBountyOrderRefundApplicationQueryParams queryParams) { + return PageUtil.convert(orderRefundApplicationQueryService.pageMarriageBountyOrder(queryParams, pageUtil), UserPageMarriageBountyOrderRefundApplicationVo.class); + } + @GetMapping("page/marriage-bounty-order/refund-application") - @ApiOperation("用户查询订单退款申请分页") + @ApiOperation("财务查询订单退款申请分页") public QnPage userPageMarriageBountyOrderRefundApplication(PageUtil pageUtil, - @Validated UserPageMarriageBountyOrderRefundApplicationQueryParams queryParams) { + UserPageMarriageBountyOrderRefundApplicationQueryParams queryParams) { + queryParams.setOperationStatus(OrderRefundApplicationStatus.APPROVED.getValue()); return PageUtil.convert(orderRefundApplicationQueryService.pageMarriageBountyOrder(queryParams, pageUtil), UserPageMarriageBountyOrderRefundApplicationVo.class); } } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/ora/user/request/UserPageMarriageBountyOrderRefundApplicationQueryParams.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/ora/user/request/UserPageMarriageBountyOrderRefundApplicationQueryParams.java index 63b3480..7c15a2d 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/ora/user/request/UserPageMarriageBountyOrderRefundApplicationQueryParams.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/ora/user/request/UserPageMarriageBountyOrderRefundApplicationQueryParams.java @@ -9,6 +9,9 @@ import java.time.LocalDateTime; @Data public class UserPageMarriageBountyOrderRefundApplicationQueryParams { + @ApiModelProperty("运营审核状态") + private Integer operationStatus; + @ApiModelProperty("审核状态") private Integer status; diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/ora/user/response/UserPageMarriageBountyOrderRefundApplicationVo.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/ora/user/response/UserPageMarriageBountyOrderRefundApplicationVo.java index 026a5fa..f49999c 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/ora/user/response/UserPageMarriageBountyOrderRefundApplicationVo.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/ora/user/response/UserPageMarriageBountyOrderRefundApplicationVo.java @@ -37,7 +37,10 @@ public class UserPageMarriageBountyOrderRefundApplicationVo { @ApiModelProperty("订单金额") private BigDecimal orderAmount; - @ApiModelProperty("审核状态") + @ApiModelProperty("运营审核状态") + private OrderRefundApplicationStatus operationStatus; + + @ApiModelProperty("财务审核状态") private OrderRefundApplicationStatus status; @ApiModelProperty("申请时间") diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/ora/OrderRefundApplicationApplicationService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/ora/OrderRefundApplicationApplicationService.java index 39ba649..87d6a56 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/ora/OrderRefundApplicationApplicationService.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/ora/OrderRefundApplicationApplicationService.java @@ -41,15 +41,24 @@ public class OrderRefundApplicationApplicationService extends BaseApplicationSer } OrderRefundApplication application = OrderRefundApplication.build(order, RefundOrderTypeEnum.MARRIAGE_BOUNTY, preRefundInfoVo.getRefundableMeetingFee().add(preRefundInfoVo.getRefundableResultGift()), preRefundInfoVo.getPaidMount()); + application.setOperationStatus(OrderRefundApplicationStatus.UNAUDITED); application.setStatus(OrderRefundApplicationStatus.UNAUDITED); orderRefundApplicationAggregate.create(application); } public void audit(OrderRefundApplication orderRefundApplication) { OrderRefundApplication existOrderRefundApplication = orderRefundApplicationDao.selectById(orderRefundApplication.getId()); - if (Objects.nonNull(existOrderRefundApplication) && existOrderRefundApplication.getStatus().equals(OrderRefundApplicationStatus.UNAUDITED)) { + if (Objects.nonNull(existOrderRefundApplication) && existOrderRefundApplication.getStatus().equals(OrderRefundApplicationStatus.UNAUDITED) + && existOrderRefundApplication.getOperationStatus().equals(OrderRefundApplicationStatus.APPROVED)) { BaseDomainEvent event = orderRefundApplicationAggregate.audit(orderRefundApplication); this.sendEvent(event); } } + + public void auditByOperation(OrderRefundApplication orderRefundApplication) { + OrderRefundApplication existOrderRefundApplication = orderRefundApplicationDao.selectById(orderRefundApplication.getId()); + if (Objects.nonNull(existOrderRefundApplication) && existOrderRefundApplication.getOperationStatus().equals(OrderRefundApplicationStatus.UNAUDITED)) { + orderRefundApplicationAggregate.update(orderRefundApplication); + } + } } \ No newline at end of file diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/ora/OrderRefundApplicationAggregate.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/ora/OrderRefundApplicationAggregate.java index 5b3f3de..6c7b661 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/ora/OrderRefundApplicationAggregate.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/ora/OrderRefundApplicationAggregate.java @@ -28,4 +28,8 @@ public class OrderRefundApplicationAggregate { repository.save(entity); return TypeConvertUtils.convert(entity, OrderRefundApplicationAuditedEvent.class); } + + public void update(OrderRefundApplication entity) { + repository.save(entity); + } } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/ora/impl/OrderRefundApplicationQueryServiceImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/ora/impl/OrderRefundApplicationQueryServiceImpl.java index 3dc9cdd..d577be0 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/ora/impl/OrderRefundApplicationQueryServiceImpl.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/ora/impl/OrderRefundApplicationQueryServiceImpl.java @@ -24,7 +24,7 @@ public class OrderRefundApplicationQueryServiceImpl implements OrderRefundApplic public boolean hasApplied(Long orderId) { return orderRefundApplicationDao.selectCount(new LambdaQueryWrapper() .eq(OrderRefundApplication::getOrderId, orderId) - .in(OrderRefundApplication::getStatus, Arrays.asList(OrderRefundApplicationStatus.UNAUDITED, OrderRefundApplicationStatus.APPROVED))) > 0; + .in(OrderRefundApplication::getOperationStatus, Arrays.asList(OrderRefundApplicationStatus.UNAUDITED, OrderRefundApplicationStatus.APPROVED))) > 0; } @Override diff --git a/dating-agency-mall-server/src/main/resources/mapper/ora/OrderRefundApplicationMapper.xml b/dating-agency-mall-server/src/main/resources/mapper/ora/OrderRefundApplicationMapper.xml index 27633c6..4daa555 100644 --- a/dating-agency-mall-server/src/main/resources/mapper/ora/OrderRefundApplicationMapper.xml +++ b/dating-agency-mall-server/src/main/resources/mapper/ora/OrderRefundApplicationMapper.xml @@ -5,20 +5,24 @@