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 bf60b7f..601eff2 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 @@ -1,6 +1,8 @@ package com.qniao.dam.domain.aggregate.ora.entity; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.annotation.TableName; +import com.qniao.dam.domain.aggregate.ora.vobj.OrderRefundApplicationImage; import com.qniao.dam.domian.aggregate.ora.constant.OrderRefundApplicationStatus; import com.qniao.dam.domian.aggregate.ora.constant.RefundOrderTypeEnum; import io.swagger.annotations.ApiModelProperty; @@ -9,6 +11,8 @@ import lombok.EqualsAndHashCode; import com.qniao.domain.Entity; import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; /** * 订单退款申请 @@ -46,6 +50,8 @@ public class OrderRefundApplication extends Entity { @ApiModelProperty("财务审批备注") private String remark; + private transient List imageList; + public static OrderRefundApplication build(Long orderId, RefundOrderTypeEnum refundOrderType, BigDecimal refundAmount, @@ -58,4 +64,15 @@ public class OrderRefundApplication extends Entity { return orderRefundApplication; } + public void handle(List imageList) { + if (CollUtil.isNotEmpty(imageList)) { + List list = new ArrayList<>(); + for (String url : imageList) { + OrderRefundApplicationImage image = new OrderRefundApplicationImage(); + image.setUrl(url); + list.add(image); + } + this.imageList = list; + } + } } diff --git a/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/ora/vobj/OrderRefundApplicationImage.java b/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/ora/vobj/OrderRefundApplicationImage.java new file mode 100644 index 0000000..e3801ea --- /dev/null +++ b/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/ora/vobj/OrderRefundApplicationImage.java @@ -0,0 +1,17 @@ +package com.qniao.dam.domain.aggregate.ora.vobj; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.qniao.domain.ValueObject; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("da_order_refund_application_image") +public class OrderRefundApplicationImage extends ValueObject { + + private Long applicationId; + + private String url; + +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/eso/user/EntrustServiceOrderUserCommandController.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/eso/user/EntrustServiceOrderUserCommandController.java index b0b8935..cc3dcf1 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/eso/user/EntrustServiceOrderUserCommandController.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/eso/user/EntrustServiceOrderUserCommandController.java @@ -31,7 +31,7 @@ public class EntrustServiceOrderUserCommandController { @PostMapping("/cancel/entrust-service-order") public void cancelEntrustServiceOrder(@RequestBody @Validated UserCancelEntrustServiceOrderDto dto, @RequestParam Long userId) { - entrustServiceOrderApplicationService.cancel(dto.trans2Domain()); + entrustServiceOrderApplicationService.cancel(dto.trans2Domain(),dto.getImageList()); } @ApiOperation("用户确认委托服务订单") @@ -45,7 +45,7 @@ public class EntrustServiceOrderUserCommandController { @PostMapping("/apply/after-sales/entrust-service-order") public void applyAfterSalesEntrustServiceOrder(@RequestBody @Validated UserApplyAfterSalesEntrustServiceOrderDto dto, @RequestParam Long userId) { - entrustServiceOrderApplicationService.applyAfterSales(dto.trans2Domain()); + entrustServiceOrderApplicationService.applyAfterSales(dto.trans2Domain(),dto.getImageList()); } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/eso/user/request/request/UserApplyAfterSalesEntrustServiceOrderDto.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/eso/user/request/request/UserApplyAfterSalesEntrustServiceOrderDto.java index 10d6456..2ec1a4c 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/eso/user/request/request/UserApplyAfterSalesEntrustServiceOrderDto.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/eso/user/request/request/UserApplyAfterSalesEntrustServiceOrderDto.java @@ -8,6 +8,7 @@ import lombok.Data; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; +import java.util.List; @Data public class UserApplyAfterSalesEntrustServiceOrderDto implements Trans2DomainAssembler { @@ -21,6 +22,8 @@ public class UserApplyAfterSalesEntrustServiceOrderDto implements Trans2DomainAs @Size(max = 100,min = 1, message = "退款原因不超过100个字符") private String refundReason; + private List imageList; + @Override public EntrustServiceOrder trans2Domain() { return TypeConvertUtils.convert(this, EntrustServiceOrder.class); diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/eso/user/request/request/UserCancelEntrustServiceOrderDto.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/eso/user/request/request/UserCancelEntrustServiceOrderDto.java index 8dd2efe..e79e2d4 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/eso/user/request/request/UserCancelEntrustServiceOrderDto.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/eso/user/request/request/UserCancelEntrustServiceOrderDto.java @@ -8,6 +8,7 @@ import lombok.Data; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; +import java.util.List; @Data public class UserCancelEntrustServiceOrderDto implements Trans2DomainAssembler { @@ -21,6 +22,9 @@ public class UserCancelEntrustServiceOrderDto implements Trans2DomainAssembler imageList; + @Override public EntrustServiceOrder trans2Domain() { return TypeConvertUtils.convert(this, EntrustServiceOrder.class); diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/eso/EntrustServiceOrderApplicationService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/eso/EntrustServiceOrderApplicationService.java index d84fa83..b4936ea 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/eso/EntrustServiceOrderApplicationService.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/eso/EntrustServiceOrderApplicationService.java @@ -1,5 +1,6 @@ package com.qniao.dam.application.service.eso; +import cn.hutool.core.collection.CollUtil; import com.qniao.dam.application.service.paymentorderrefund.PaymentOrderRefundApplicationService; import com.qniao.dam.domain.aggregate.eso.EntrustServiceOrderAggregate; import com.qniao.dam.domain.aggregate.eso.entity.EntrustServiceOrder; @@ -20,7 +21,6 @@ import com.qniao.dam.query.paymentchannelorder.PaymentChannelOrderQueryService; import com.qniao.dam.query.paymentorder.PaymentOrderQueryService; import com.qniao.das.domian.aggregate.matchmakermarriage.MatchmakerMarriageInformation; import com.qniao.domain.BaseApplicationService; -import com.qniao.domain.BaseDomainEvent; import com.qniao.framework.exception.BizException; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -115,7 +115,7 @@ public class EntrustServiceOrderApplicationService extends BaseApplicationServic } } - public void cancel(EntrustServiceOrder entrustServiceOrder) { + public void cancel(EntrustServiceOrder entrustServiceOrder, List imageList) { //状态判断 退款时间要求 EntrustServiceOrder existEntrustServiceOrder = entrustServiceOrderDao.selectById(entrustServiceOrder.getId()); checkCancelPossible(existEntrustServiceOrder); @@ -127,10 +127,11 @@ public class EntrustServiceOrderApplicationService extends BaseApplicationServic existEntrustServiceOrder.getPaidAmount(), existEntrustServiceOrder.getPaidAmount()); orderRefundApplication.setOperationStatus(OrderRefundApplicationStatus.UNAUDITED); orderRefundApplication.setStatus(OrderRefundApplicationStatus.UNAUDITED); + orderRefundApplication.handle(imageList); cancelEntrustServiceOrderDomainService.handle(entrustServiceOrder, orderRefundApplication); } - public void applyAfterSales(EntrustServiceOrder entrustServiceOrder) { + public void applyAfterSales(EntrustServiceOrder entrustServiceOrder, List imageList) { //状态判断 退款时间要求 EntrustServiceOrder existEntrustServiceOrder = entrustServiceOrderDao.selectById(entrustServiceOrder.getId()); applyAfterSalesPossible(existEntrustServiceOrder); @@ -142,6 +143,7 @@ public class EntrustServiceOrderApplicationService extends BaseApplicationServic existEntrustServiceOrder.getPaidAmount(), existEntrustServiceOrder.getPaidAmount()); orderRefundApplication.setOperationStatus(OrderRefundApplicationStatus.UNAUDITED); orderRefundApplication.setStatus(OrderRefundApplicationStatus.UNAUDITED); + orderRefundApplication.handle(imageList); cancelEntrustServiceOrderDomainService.handle(entrustServiceOrder, orderRefundApplication); } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/ora/OrderRefundApplicationImageDao.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/ora/OrderRefundApplicationImageDao.java new file mode 100644 index 0000000..7a523f1 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/ora/OrderRefundApplicationImageDao.java @@ -0,0 +1,7 @@ +package com.qniao.dam.infrastructure.persistent.dao.ora; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qniao.dam.domain.aggregate.ora.vobj.OrderRefundApplicationImage; + +public interface OrderRefundApplicationImageDao extends BaseMapper { +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/OrderRefundApplicationRepositoryImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/OrderRefundApplicationRepositoryImpl.java index 14c3b2d..c960bf0 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/OrderRefundApplicationRepositoryImpl.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/OrderRefundApplicationRepositoryImpl.java @@ -1,8 +1,10 @@ package com.qniao.dam.infrastructure.persistent.repository.impl; +import cn.hutool.core.collection.CollUtil; import com.qniao.dam.domain.aggregate.ora.entity.OrderRefundApplication; import com.qniao.dam.domain.aggregate.ora.repository.OrderRefundApplicationRepository; import com.qniao.dam.infrastructure.persistent.dao.ora.OrderRefundApplicationDao; +import com.qniao.dam.infrastructure.persistent.dao.ora.OrderRefundApplicationImageDao; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -18,6 +20,8 @@ public class OrderRefundApplicationRepositoryImpl implements OrderRefundApplicat @Resource private OrderRefundApplicationDao dao; + @Resource + private OrderRefundApplicationImageDao orderRefundApplicationImageDao; @Override public OrderRefundApplication load(Long id) { @@ -31,6 +35,12 @@ public class OrderRefundApplicationRepositoryImpl implements OrderRefundApplicat } else { dao.updateById(entity); } + if (CollUtil.isNotEmpty(entity.getImageList())) { + entity.getImageList().forEach(image -> { + image.setApplicationId(entity.getId()); + orderRefundApplicationImageDao.insert(image); + }); + } return entity.getId(); }