diff --git a/dating-agency-mall-event/pom.xml b/dating-agency-mall-event/pom.xml
index 5973371..79cadb6 100644
--- a/dating-agency-mall-event/pom.xml
+++ b/dating-agency-mall-event/pom.xml
@@ -33,5 +33,10 @@
dating-agency-mall-constant
0.0.1-SNAPSHOT
+
+ com.qniao
+ common-operation-logging
+ 1.0-dating-SNAPSHOT
+
\ No newline at end of file
diff --git a/dating-agency-mall-event/src/main/java/com/qniao/dam/domian/aggregate/operationlog/event/OrderPaymentLogEvent.java b/dating-agency-mall-event/src/main/java/com/qniao/dam/domian/aggregate/operationlog/event/OrderPaymentLogEvent.java
new file mode 100644
index 0000000..d15fb19
--- /dev/null
+++ b/dating-agency-mall-event/src/main/java/com/qniao/dam/domian/aggregate/operationlog/event/OrderPaymentLogEvent.java
@@ -0,0 +1,8 @@
+package com.qniao.dam.domian.aggregate.operationlog.event;
+
+import com.qniao.logging.domain.aggregate.operationlog.event.UserOperatedEvent;
+import lombok.Data;
+
+@Data
+public class OrderPaymentLogEvent extends UserOperatedEvent {
+}
diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/operationlog/OperationLogEventHandler.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/operationlog/OperationLogEventHandler.java
new file mode 100644
index 0000000..a621555
--- /dev/null
+++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/operationlog/OperationLogEventHandler.java
@@ -0,0 +1,60 @@
+package com.qniao.dam.application.handler.operationlog;
+
+import com.google.common.eventbus.Subscribe;
+import com.qniao.dam.domian.aggregate.operationlog.event.OrderPaymentLogEvent;
+import com.qniao.dam.domian.aggregate.order.event.OrderCompletedEvent;
+import com.qniao.dam.infrastructure.persistent.dao.domain.UserDao;
+import com.qniao.das.domian.aggregate.certificate.constant.CertificationAuditStatusEnum;
+import com.qniao.dau.domain.aggregate.user.entity.User;
+import com.qniao.domain.BaseApplicationService;
+import com.qniao.logging.domain.aggregate.operationlog.constant.OperationLogTypeEnum;
+import com.qniao.logging.domain.aggregate.operationlog.event.UserOperatedEvent;
+import com.qniao.logging.infrastructure.persistent.constant.OperationLogConstants;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.util.Map;
+import java.util.Objects;
+
+@Component
+@Slf4j
+public class OperationLogEventHandler extends BaseApplicationService {
+
+ @Resource
+ private UserDao userDao;
+
+ /**
+ * 订单已支付事件
+ */
+ @Subscribe
+ public void handle(OrderCompletedEvent event) {
+ try {
+ OrderPaymentLogEvent logEvent = new OrderPaymentLogEvent();
+ //预约单号
+ logEvent.setTargetId(event.getId());
+ Map logOperatorParams = event.getLogOperatorParams();
+ handleOperator(logEvent, logOperatorParams);
+ //操作时间
+ logEvent.setOperateTime(LocalDateTime.now());
+ logEvent.setOperationLogType(OperationLogTypeEnum.ORDER_PAYMENT);
+ logEvent.setEventSummaryName("支付");
+ this.sendEvent(logEvent);
+ } catch (Exception e) {
+ log.error("订单已支付事件日志处理异常");
+ }
+ }
+
+ public void handleOperator(UserOperatedEvent logEvent, Map logOperatorParams) {
+ Long userId = (Long) logOperatorParams.get(OperationLogConstants.USER_ID);
+ if (Objects.nonNull(userId)) {
+ logEvent.setOperatorId(String.valueOf(userId));
+ User user = userDao.selectById(userId);
+ if (Objects.nonNull(user)) {
+ String operatorName = user.getRealName() != null ? user.getRealName() : user.getNickName();
+ logEvent.setOperatorName(operatorName);
+ }
+ }
+ }
+}
diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/domain/UserDao.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/domain/UserDao.java
new file mode 100644
index 0000000..4019abb
--- /dev/null
+++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/domain/UserDao.java
@@ -0,0 +1,7 @@
+package com.qniao.dam.infrastructure.persistent.dao.domain;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qniao.dau.domain.aggregate.user.entity.User;
+
+public interface UserDao extends BaseMapper {
+}