|
|
|
@ -15,8 +15,10 @@ import com.qniao.dam.domian.aggregate.marriagebounty.event.MarriageBountyOrderCo |
|
|
|
import com.qniao.dam.domian.aggregate.marriagebounty.event.MarriageBountyOrderConfirmedMeetingEvent; |
|
|
|
import com.qniao.dam.domian.aggregate.marriagebounty.event.MarriageBountyOrderCreatedEvent; |
|
|
|
import com.qniao.dam.domian.aggregate.marriagebounty.event.MarriageBountyOrderCreatedMQ; |
|
|
|
import com.qniao.dam.domian.aggregate.paymentorderrefund.constant.PaymentOrderRefundStatusEnum; |
|
|
|
import com.qniao.dam.domian.aggregate.pointaccount.event.PointRewardCreatedMQ; |
|
|
|
import com.qniao.dam.domian.aggregate.prc.constant.PointRewardConfigTypeEnum; |
|
|
|
import com.qniao.dam.domian.aggregate.rewardconfig.constant.RewardTypeEnum; |
|
|
|
import com.qniao.dam.domian.aggregate.walletaccount.constant.IdentityTypeEnum; |
|
|
|
import com.qniao.dam.infrastructure.constant.MqExchange; |
|
|
|
import com.qniao.dam.infrastructure.constant.MqQueue; |
|
|
|
@ -85,7 +87,7 @@ public class MarriageBountyOrderEventHandle extends BaseApplicationService { |
|
|
|
mq.setOwnId(matchmaker.getUserId()); |
|
|
|
mq.setIdentityType(IdentityTypeEnum.INDIVIDUAL); |
|
|
|
mq.setPointType(PointRewardConfigTypeEnum.INVITE_BOUNTY); |
|
|
|
mq.setContent("邀请发榜:" + marriageInformation.getNickName()); |
|
|
|
mq.setContent("邀请发榜:" + marriageInformation.getNickName() + "榜单"); |
|
|
|
mq.setIsIncome(true); |
|
|
|
mq.setAssociateId(event.getId()); |
|
|
|
mq.setAmount(marriageBountyOrder.getPaidAmount()); |
|
|
|
@ -146,6 +148,35 @@ public class MarriageBountyOrderEventHandle extends BaseApplicationService { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Subscribe |
|
|
|
public void handle2(MarriageBountyOrderConfirmedMatchEvent event) { |
|
|
|
try { |
|
|
|
//红娘获取奖励 |
|
|
|
if (Objects.nonNull(event.getMarriageBountyOrderRewardId()) && CollUtil.isNotEmpty(event.getRewardReceiveRecordList())) { |
|
|
|
MarriageBountyOrder marriageBountyOrder = marriageBountyOrderDao.selectById(event.getId()); |
|
|
|
for (MarriageBountyOrderConfirmedMatchEvent.MarriageBountyOrderRewardReceiveRecordEvent rewardReceiveRecordEvent : event.getRewardReceiveRecordList()) { |
|
|
|
if (Objects.nonNull(rewardReceiveRecordEvent.getReceivedAmount()) && rewardReceiveRecordEvent.getReceivedAmount().compareTo(BigDecimal.ZERO) > 0) { |
|
|
|
//处理积分奖励 |
|
|
|
//积分奖励 |
|
|
|
MarriageInformation marriageInformation = marriageInformationDao.selectById(marriageBountyOrder.getMiId()); |
|
|
|
PointRewardCreatedMQ mq = new PointRewardCreatedMQ(); |
|
|
|
mq.setOwnId(rewardReceiveRecordEvent.getReceiver()); |
|
|
|
mq.setIdentityType(IdentityTypeEnum.INDIVIDUAL); |
|
|
|
mq.setPointType(transformPointRewardConfigType(rewardReceiveRecordEvent.getRewardType())); |
|
|
|
mq.setContent("完成榜单:" + marriageInformation.getNickName() + "榜单"); |
|
|
|
mq.setIsIncome(true); |
|
|
|
mq.setAssociateId(event.getId()); |
|
|
|
mq.setAmount(marriageBountyOrder.getPaidAmount()); |
|
|
|
// 发送mq事件 |
|
|
|
amqpTemplate.convertAndSend(MqExchange.POINT_REWARD_CREATED, null, mq); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} catch (Exception e) { |
|
|
|
log.error("悬赏招亲订单确认匹配事件处理异常", e); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@RabbitListener(bindings = @QueueBinding(value = @Queue(MqQueue.REWARD_SELECTED_GUEST), |
|
|
|
exchange = @Exchange(value = MqExchange.REWARD_SELECTED_GUEST, |
|
|
|
@ -174,4 +205,27 @@ public class MarriageBountyOrderEventHandle extends BaseApplicationService { |
|
|
|
log.error("悬赏招亲匹配成功处理异常", e); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public PointRewardConfigTypeEnum transformPointRewardConfigType(RewardTypeEnum rewardType) { |
|
|
|
PointRewardConfigTypeEnum pointRewardConfigType = null; |
|
|
|
switch (rewardType) { |
|
|
|
case GUEST_CERTIFICATION: |
|
|
|
case GUEST_CERTIFICATION_BY_ONLINE: |
|
|
|
case GUEST_CERTIFICATION_BY_TRAINEE: |
|
|
|
pointRewardConfigType = PointRewardConfigTypeEnum.COMPLETE_BOUNTY_AUTHENTICATION; |
|
|
|
break; |
|
|
|
case PUBLISH_MARRIAGE_BOUNTY: |
|
|
|
case PUBLISH_MARRIAGE_BOUNTY_BY_ONLINE: |
|
|
|
case PUBLISH_MARRIAGE_BOUNTY_BY_TRAINEE: |
|
|
|
pointRewardConfigType = PointRewardConfigTypeEnum.COMPLETE_BOUNTY_PUBLISH; |
|
|
|
break; |
|
|
|
case MATCH_MARRIAGE_BOUNTY: |
|
|
|
case MATCH_MARRIAGE_BOUNTY_BY_ONLINE: |
|
|
|
case MATCH_MARRIAGE_BOUNTY_BY_TRAINEE: |
|
|
|
pointRewardConfigType = PointRewardConfigTypeEnum.COMPLETE_BOUNTY_MATCH; |
|
|
|
break; |
|
|
|
default: |
|
|
|
} |
|
|
|
return pointRewardConfigType; |
|
|
|
} |
|
|
|
} |