Commit fb429e15 by 程裕兵

feat:CashierEvent

parent a1ed70ab
......@@ -10,9 +10,11 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.google.common.collect.Lists;
import com.jiejing.common.exception.BizException;
import com.jiejing.common.utils.collection.CollectionUtil;
import com.jiejing.common.utils.convert.BeanUtil;
import com.jiejing.fitness.enums.auth.AuthDomainEnum;
import com.jiejing.fitness.enums.finance.BrandCashierTransStateEnum;
import com.jiejing.fitness.enums.tenant.TenantTypeEnum;
import com.jiejing.fitness.event.finance.CashierEvent;
import com.jiejing.fitness.finance.repository.entity.GlobalConfig;
import com.jiejing.fitness.finance.repository.entity.StudioCashierRecord;
import com.jiejing.fitness.finance.repository.entity.PartyToMerchant;
......@@ -180,8 +182,8 @@ public class PayServiceImpl implements PayService {
return;
}
Long id = Long.parseLong(event.getTransNo());
Boolean result = transactionTemplate.execute(action -> {
Long id = Long.parseLong(event.getTransNo());
StudioCashierRecord record = studioCashierRecordRpService.getByIdForUpdate(id).orElse(null);
if (null == record) {
return false;
......@@ -202,6 +204,9 @@ public class PayServiceImpl implements PayService {
return true;
});
// 发布收银事件
this.triggerCashierEvent(id);
if (null != result && result) {
if (PayStateEnums.SUCCESS.getCode().equals(event.getPayState())) {
executor.execute(() -> this.sendPaySuccessMessage(event));
......@@ -210,6 +215,12 @@ public class PayServiceImpl implements PayService {
}
private void triggerCashierEvent(Long id) {
// 发布收银事件
StudioCashierRecord record = studioCashierRecordRpService.getById(id).orElse(null);
EventAgent.of(CashierEvent.class).triggerEvent(BeanUtil.map(record, CashierEvent.class));
}
private List<Long> getAdminIds(Long studioId) {
List<Long> userIds = this.getUserIds(studioId);
if (CollectionUtil.isEmpty(userIds)) {
......
......@@ -6,10 +6,12 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.google.common.collect.Lists;
import com.jiejing.common.exception.BizException;
import com.jiejing.common.utils.collection.CollectionUtil;
import com.jiejing.common.utils.convert.BeanUtil;
import com.jiejing.common.utils.text.StringUtil;
import com.jiejing.common.utils.time.TimeUtil;
import com.jiejing.fitness.enums.auth.AuthDomainEnum;
import com.jiejing.fitness.enums.finance.BrandCashierTransStateEnum;
import com.jiejing.fitness.event.finance.CashierEvent;
import com.jiejing.fitness.finance.api.merchant.vo.StudioMerchantCheckRefundVO;
import com.jiejing.fitness.finance.api.merchant.vo.StudioMerchantCheckRefundVO.CheckRefundCodeEnum;
import com.jiejing.fitness.finance.api.merchant.vo.StudioMerchantRefundVO;
......@@ -151,10 +153,19 @@ public class RefundServiceImpl implements RefundService {
StudioCashierRecord toModify = RefundConvert.convertRefund(record, event);
studioCashierRecordRpService.updateById(toModify);
// 发布收银事件
this.triggerCashierEvent(record.getId());
// 执行后续处理
this.doAfterRefund(event, record);
}
private void triggerCashierEvent(Long id) {
// 发布收银事件
StudioCashierRecord record = studioCashierRecordRpService.getById(id).orElse(null);
EventAgent.of(CashierEvent.class).triggerEvent(BeanUtil.map(record, CashierEvent.class));
}
private void doAfterRefund(RefundEvent event, StudioCashierRecord record) {
TransStateEnums state = TransStateEnums.getByCode(event.getRefundState());
switch (state) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment