Browse Source

积分奖励配置

release
张彭杰 1 year ago
parent
commit
14eba013f2
1 changed files with 55 additions and 1 deletions
  1. 56
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/marriagebounty/MarriageBountyOrderEventHandle.java

56
dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/marriagebounty/MarriageBountyOrderEventHandle.java

@ -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;
}
}
Loading…
Cancel
Save