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 index 73cca30..52571be 100644 --- 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 @@ -1,13 +1,17 @@ package com.qniao.dam.application.handler.operationlog; +import cn.hutool.core.util.StrUtil; import com.google.common.eventbus.Subscribe; import com.qniao.dam.domain.aggregate.order.entity.Order; 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.OrderDao; import com.qniao.dam.infrastructure.persistent.dao.domain.UserDao; +import com.qniao.dam.query.account.AccountQueryService; import com.qniao.das.domian.aggregate.certificate.constant.CertificationAuditStatusEnum; +import com.qniao.dau.domain.aggregate.account.entity.Account; import com.qniao.dau.domain.aggregate.user.entity.User; +import com.qniao.dau.domian.aggregate.account.constant.AccountTypeEnum; import com.qniao.domain.BaseApplicationService; import com.qniao.logging.domain.aggregate.operationlog.constant.OperationLogTypeEnum; import com.qniao.logging.domain.aggregate.operationlog.event.UserOperatedEvent; @@ -28,6 +32,8 @@ public class OperationLogEventHandler extends BaseApplicationService { private UserDao userDao; @Resource private OrderDao orderDao; + @Resource + private AccountQueryService accountQueryService; /** * 订单已支付事件 @@ -57,6 +63,11 @@ public class OperationLogEventHandler extends BaseApplicationService { User user = userDao.selectById(userId); if (Objects.nonNull(user)) { String operatorName = user.getRealName() != null ? user.getRealName() : user.getNickName(); + //没名称用手机号码 + if (StrUtil.isBlank(operatorName)) { + Account phoneAccount = accountQueryService.queryByUserIdAndType(userId, AccountTypeEnum.MOBILE); + operatorName = Objects.nonNull(phoneAccount) ? phoneAccount.getTid() : null; + } logEvent.setOperatorName(operatorName); } } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/domain/AccountDao.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/domain/AccountDao.java new file mode 100644 index 0000000..21d4db2 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/domain/AccountDao.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.account.entity.Account; + +public interface AccountDao extends BaseMapper { +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/account/AccountQueryService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/account/AccountQueryService.java new file mode 100644 index 0000000..8cfd1dc --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/account/AccountQueryService.java @@ -0,0 +1,9 @@ +package com.qniao.dam.query.account; + +import com.qniao.dau.domain.aggregate.account.entity.Account; +import com.qniao.dau.domian.aggregate.account.constant.AccountTypeEnum; + +public interface AccountQueryService { + + Account queryByUserIdAndType(Long userId, AccountTypeEnum type); +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/account/impl/AccountQueryServiceImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/account/impl/AccountQueryServiceImpl.java new file mode 100644 index 0000000..d507d8b --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/account/impl/AccountQueryServiceImpl.java @@ -0,0 +1,25 @@ +package com.qniao.dam.query.account.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qniao.dam.infrastructure.persistent.dao.domain.AccountDao; +import com.qniao.dam.query.account.AccountQueryService; +import com.qniao.dau.domain.aggregate.account.entity.Account; +import com.qniao.dau.domian.aggregate.account.constant.AccountTypeEnum; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +@Service +public class AccountQueryServiceImpl implements AccountQueryService { + + @Resource + private AccountDao accountDao; + + @Override + public Account queryByUserIdAndType(Long userId, AccountTypeEnum type) { + return accountDao.selectOne(new LambdaQueryWrapper() + .eq(Account::getUserId, userId) + .eq(Account::getType, type) + .last("limit 1")); + } +}