11 changed files with 930 additions and 158 deletions
-
76src/main/java/com/example/demo/RabbitMQ/CashCollectionConsumer.java
-
76src/main/java/com/example/demo/RabbitMQ/CashRefundConsumer.java
-
5src/main/java/com/example/demo/RabbitMQ/LogAspect.java
-
240src/main/java/com/example/demo/config/RabbitMQConfig.java
-
2src/main/java/com/example/demo/controller/cash/CashCollectionController.java
-
66src/main/java/com/example/demo/domain/vo/cash/CashCollectionMessage.java
-
76src/main/java/com/example/demo/domain/vo/cash/CashRefundMessage.java
-
145src/main/java/com/example/demo/serviceImpl/cash/CashAuditServiceImpl.java
-
186src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java
-
214src/main/java/com/example/demo/serviceImpl/cash/CashRefundServiceImpl.java
-
2src/main/resources/cashMapper/CashRefundMapper.xml
@ -0,0 +1,76 @@ |
|||
package com.example.demo.RabbitMQ; |
|||
|
|||
import com.example.demo.config.RabbitMQConfig; |
|||
import com.example.demo.domain.vo.cash.CashCollectionMessage; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.amqp.rabbit.annotation.RabbitListener; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
/** |
|||
* 收款流程消息消费者 |
|||
* 监听收款流程中各个状态变更的消息队列 |
|||
*/ |
|||
@Component |
|||
@Slf4j |
|||
public class CashCollectionConsumer { |
|||
|
|||
/** |
|||
* 处理收款订单创建消息 |
|||
* 当有新的收款订单创建时,该方法会被调用 |
|||
* |
|||
* @param message 收款订单消息对象 |
|||
*/ |
|||
@RabbitListener(queues = RabbitMQConfig.COLLECTION_CREATED_QUEUE) |
|||
public void handleCollectionCreated(CashCollectionMessage message) { |
|||
log.info("收款订单创建通知: 订单号={}, 状态={}, 提交人={}, 消息={}", |
|||
message.getOrderCode(), message.getStatus(), message.getSubmitterId(), message.getMessage()); |
|||
} |
|||
|
|||
/** |
|||
* 处理收款订单审核通过消息 |
|||
* 当收款订单审核通过时,该方法会被调用 |
|||
* |
|||
* @param message 收款订单消息对象 |
|||
*/ |
|||
@RabbitListener(queues = RabbitMQConfig.COLLECTION_AUDITED_QUEUE) |
|||
public void handleCollectionAudited(CashCollectionMessage message) { |
|||
log.info("收款订单审核通过通知: 订单号={}, 状态={}, 审核人={}, 消息={}", |
|||
message.getOrderCode(), message.getStatus(), message.getAuditId(), message.getMessage()); |
|||
} |
|||
|
|||
/** |
|||
* 处理收款订单审核驳回消息 |
|||
* 当收款订单被审核驳回时,该方法会被调用 |
|||
* |
|||
* @param message 收款订单消息对象 |
|||
*/ |
|||
@RabbitListener(queues = RabbitMQConfig.COLLECTION_REJECTED_QUEUE) |
|||
public void handleCollectionRejected(CashCollectionMessage message) { |
|||
log.info("收款订单审核驳回通知: 订单号={}, 状态={}, 审核人={}, 消息={}", |
|||
message.getOrderCode(), message.getStatus(), message.getAuditId(), message.getMessage()); |
|||
} |
|||
|
|||
/** |
|||
* 处理收款订单完成消息 |
|||
* 当收款订单流程全部完成时,该方法会被调用 |
|||
* |
|||
* @param message 收款订单消息对象 |
|||
*/ |
|||
@RabbitListener(queues = RabbitMQConfig.COLLECTION_COMPLETED_QUEUE) |
|||
public void handleCollectionCompleted(CashCollectionMessage message) { |
|||
log.info("收款订单完成通知: 订单号={}, 状态={}, 消息={}", |
|||
message.getOrderCode(), message.getStatus(), message.getMessage()); |
|||
} |
|||
|
|||
/** |
|||
* 处理收款订单撤回消息 |
|||
* 当收款订单被撤回时,该方法会被调用 |
|||
* |
|||
* @param message 收款订单消息对象 |
|||
*/ |
|||
@RabbitListener(queues = RabbitMQConfig.COLLECTION_CANCELLED_QUEUE) |
|||
public void handleCollectionCancelled(CashCollectionMessage message) { |
|||
log.info("收款订单撤回通知: 订单号={}, 状态={}, 提交人={}, 消息={}", |
|||
message.getOrderCode(), message.getStatus(), message.getSubmitterId(), message.getMessage()); |
|||
} |
|||
} |
|||
@ -0,0 +1,76 @@ |
|||
package com.example.demo.RabbitMQ; |
|||
|
|||
import com.example.demo.config.RabbitMQConfig; |
|||
import com.example.demo.domain.vo.cash.CashRefundMessage; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.amqp.rabbit.annotation.RabbitListener; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
/** |
|||
* 退款流程消息消费者 |
|||
* 监听退款流程中各个状态变更的消息队列 |
|||
*/ |
|||
@Component |
|||
@Slf4j |
|||
public class CashRefundConsumer { |
|||
|
|||
/** |
|||
* 处理退款订单创建消息 |
|||
* 当有新的退款订单创建时,该方法会被调用 |
|||
* |
|||
* @param message 退款订单消息对象 |
|||
*/ |
|||
@RabbitListener(queues = RabbitMQConfig.REFUND_CREATED_QUEUE) |
|||
public void handleRefundCreated(CashRefundMessage message) { |
|||
log.info("退款订单创建通知: 订单号={}, 状态={}, 提交人={}, 消息={}", |
|||
message.getOrderCode(), message.getStatus(), message.getSubmitterId(), message.getMessage()); |
|||
} |
|||
|
|||
/** |
|||
* 处理退款订单审核通过消息 |
|||
* 当退款订单审核通过时,该方法会被调用 |
|||
* |
|||
* @param message 退款订单消息对象 |
|||
*/ |
|||
@RabbitListener(queues = RabbitMQConfig.REFUND_REVIEWED_QUEUE) |
|||
public void handleRefundReviewed(CashRefundMessage message) { |
|||
log.info("退款订单审核通过通知: 订单号={}, 状态={}, 审核人={}, 消息={}", |
|||
message.getOrderCode(), message.getStatus(), message.getAuditId(), message.getMessage()); |
|||
} |
|||
|
|||
/** |
|||
* 处理退款订单审核驳回消息 |
|||
* 当退款订单被审核驳回时,该方法会被调用 |
|||
* |
|||
* @param message 退款订单消息对象 |
|||
*/ |
|||
@RabbitListener(queues = RabbitMQConfig.REFUND_REJECTED_QUEUE) |
|||
public void handleRefundRejected(CashRefundMessage message) { |
|||
log.info("退款订单审核驳回通知: 订单号={}, 状态={}, 审核人={}, 消息={}", |
|||
message.getOrderCode(), message.getStatus(), message.getAuditId(), message.getMessage()); |
|||
} |
|||
|
|||
/** |
|||
* 处理退款订单执行消息 |
|||
* 当退款订单被执行时,该方法会被调用 |
|||
* |
|||
* @param message 退款订单消息对象 |
|||
*/ |
|||
@RabbitListener(queues = RabbitMQConfig.REFUND_EXECUTED_QUEUE) |
|||
public void handleRefundExecuted(CashRefundMessage message) { |
|||
log.info("退款订单执行通知: 订单号={}, 状态={}, 执行人={}, 消息={}", |
|||
message.getOrderCode(), message.getStatus(), message.getExecutorId(), message.getMessage()); |
|||
} |
|||
|
|||
/** |
|||
* 处理退款订单完成消息 |
|||
* 当退款订单流程全部完成时,该方法会被调用 |
|||
* |
|||
* @param message 退款订单消息对象 |
|||
*/ |
|||
@RabbitListener(queues = RabbitMQConfig.REFUND_COMPLETED_QUEUE) |
|||
public void handleRefundCompleted(CashRefundMessage message) { |
|||
log.info("退款订单完成通知: 订单号={}, 状态={}, 消息={}", |
|||
message.getOrderCode(), message.getStatus(), message.getMessage()); |
|||
} |
|||
} |
|||
@ -0,0 +1,66 @@ |
|||
package com.example.demo.domain.vo.cash; |
|||
|
|||
import lombok.AllArgsConstructor; |
|||
import lombok.Data; |
|||
import lombok.NoArgsConstructor; |
|||
|
|||
import java.time.LocalDateTime; |
|||
|
|||
/** |
|||
* 收款消息实体类 |
|||
* 用于在收款流程中传递状态变更信息 |
|||
*/ |
|||
@Data |
|||
@NoArgsConstructor |
|||
@AllArgsConstructor |
|||
public class CashCollectionMessage { |
|||
/** |
|||
* 订单ID |
|||
*/ |
|||
private Integer id; |
|||
|
|||
/** |
|||
* 订单编号 |
|||
*/ |
|||
private String orderCode; |
|||
|
|||
/** |
|||
* 订单状态 |
|||
*/ |
|||
private Integer status; |
|||
|
|||
/** |
|||
* 状态描述 |
|||
*/ |
|||
private String statusDescription; |
|||
|
|||
/** |
|||
* 消息内容 |
|||
*/ |
|||
private String message; |
|||
|
|||
/** |
|||
* 提交人ID |
|||
*/ |
|||
private Integer submitterId; |
|||
|
|||
/** |
|||
* 提交人姓名 |
|||
*/ |
|||
private String submitterName; |
|||
|
|||
/** |
|||
* 审核人ID |
|||
*/ |
|||
private Integer auditId; |
|||
|
|||
/** |
|||
* 审核人姓名 |
|||
*/ |
|||
private String auditName; |
|||
|
|||
/** |
|||
* 时间戳 |
|||
*/ |
|||
private LocalDateTime timestamp = LocalDateTime.now(); |
|||
} |
|||
@ -0,0 +1,76 @@ |
|||
package com.example.demo.domain.vo.cash; |
|||
|
|||
import lombok.AllArgsConstructor; |
|||
import lombok.Data; |
|||
import lombok.NoArgsConstructor; |
|||
|
|||
import java.time.LocalDateTime; |
|||
|
|||
/** |
|||
* 退款消息实体类 |
|||
* 用于在退款流程中传递状态变更信息 |
|||
*/ |
|||
@Data |
|||
@NoArgsConstructor |
|||
@AllArgsConstructor |
|||
public class CashRefundMessage { |
|||
/** |
|||
* 订单ID |
|||
*/ |
|||
private Integer id; |
|||
|
|||
/** |
|||
* 订单编号 |
|||
*/ |
|||
private String orderCode; |
|||
|
|||
/** |
|||
* 订单状态 |
|||
*/ |
|||
private Integer status; |
|||
|
|||
/** |
|||
* 状态描述 |
|||
*/ |
|||
private String statusDescription; |
|||
|
|||
/** |
|||
* 消息内容 |
|||
*/ |
|||
private String message; |
|||
|
|||
/** |
|||
* 提交人ID |
|||
*/ |
|||
private Integer submitterId; |
|||
|
|||
/** |
|||
* 提交人姓名 |
|||
*/ |
|||
private String submitterName; |
|||
|
|||
/** |
|||
* 审核人ID |
|||
*/ |
|||
private Integer auditId; |
|||
|
|||
/** |
|||
* 审核人姓名 |
|||
*/ |
|||
private String auditName; |
|||
|
|||
/** |
|||
* 执行人ID |
|||
*/ |
|||
private Integer executorId; |
|||
|
|||
/** |
|||
* 执行人姓名 |
|||
*/ |
|||
private String executorName; |
|||
|
|||
/** |
|||
* 时间戳 |
|||
*/ |
|||
private LocalDateTime timestamp = LocalDateTime.now(); |
|||
} |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue