|
|
@ -9,6 +9,7 @@ import com.qniao.dam.domain.aggregate.order.entity.Order; |
|
|
import com.qniao.dam.domain.aggregate.order.entity.OrderItem; |
|
|
import com.qniao.dam.domain.aggregate.order.entity.OrderItem; |
|
|
import com.qniao.dam.domain.aggregate.product.entity.Product; |
|
|
import com.qniao.dam.domain.aggregate.product.entity.Product; |
|
|
import com.qniao.dam.domain.aggregate.productspec.entity.ProductSpec; |
|
|
import com.qniao.dam.domain.aggregate.productspec.entity.ProductSpec; |
|
|
|
|
|
import com.qniao.dam.domain.aggregate.productspec.valueobj.ProductSpecTerm; |
|
|
import com.qniao.dam.domain.aggregate.revenuereward.entity.RevenueReward; |
|
|
import com.qniao.dam.domain.aggregate.revenuereward.entity.RevenueReward; |
|
|
import com.qniao.dam.domain.aggregate.revenuereward.valueobj.RevenueRewardRecord; |
|
|
import com.qniao.dam.domain.aggregate.revenuereward.valueobj.RevenueRewardRecord; |
|
|
import com.qniao.dam.domain.aggregate.virtualaccount.VirtualAccountAggregate; |
|
|
import com.qniao.dam.domain.aggregate.virtualaccount.VirtualAccountAggregate; |
|
|
@ -20,6 +21,7 @@ import com.qniao.dam.domain.service.virtualaccount.CostGiftRewardDomainService; |
|
|
import com.qniao.dam.domian.aggregate.order.constant.OrderBelongingEnum; |
|
|
import com.qniao.dam.domian.aggregate.order.constant.OrderBelongingEnum; |
|
|
import com.qniao.dam.domian.aggregate.order.constant.OrderStatusEnum; |
|
|
import com.qniao.dam.domian.aggregate.order.constant.OrderStatusEnum; |
|
|
import com.qniao.dam.domian.aggregate.order.constant.OrderTypeEnum; |
|
|
import com.qniao.dam.domian.aggregate.order.constant.OrderTypeEnum; |
|
|
|
|
|
import com.qniao.dam.domian.aggregate.productspec.constant.ProductSpecTermNameEnum; |
|
|
import com.qniao.dam.domian.aggregate.virtualaccount.constant.VirtualAccountTradeTypeEnum; |
|
|
import com.qniao.dam.domian.aggregate.virtualaccount.constant.VirtualAccountTradeTypeEnum; |
|
|
import com.qniao.dam.domian.aggregate.walletaccount.constant.IdentityTypeEnum; |
|
|
import com.qniao.dam.domian.aggregate.walletaccount.constant.IdentityTypeEnum; |
|
|
import com.qniao.dam.domian.aggregate.walletaccount.constant.TradeSceneEnum; |
|
|
import com.qniao.dam.domian.aggregate.walletaccount.constant.TradeSceneEnum; |
|
|
@ -27,6 +29,7 @@ import com.qniao.dam.domian.aggregate.walletaccount.constant.TradeTypeEnum; |
|
|
import com.qniao.dam.infrastructure.persistent.dao.domain.ProductDao; |
|
|
import com.qniao.dam.infrastructure.persistent.dao.domain.ProductDao; |
|
|
import com.qniao.dam.infrastructure.persistent.dao.domain.ProductSpecDao; |
|
|
import com.qniao.dam.infrastructure.persistent.dao.domain.ProductSpecDao; |
|
|
import com.qniao.dam.infrastructure.utils.SnowFlakeUtil; |
|
|
import com.qniao.dam.infrastructure.utils.SnowFlakeUtil; |
|
|
|
|
|
import com.qniao.dam.query.product.ProductQueryService; |
|
|
import com.qniao.dam.query.revenuereward.RevenueRewardQueryService; |
|
|
import com.qniao.dam.query.revenuereward.RevenueRewardQueryService; |
|
|
import com.qniao.dam.query.virtualaccount.VirtualAccountQueryService; |
|
|
import com.qniao.dam.query.virtualaccount.VirtualAccountQueryService; |
|
|
import com.qniao.dam.query.walletaccount.WalletAccountQueryService; |
|
|
import com.qniao.dam.query.walletaccount.WalletAccountQueryService; |
|
|
@ -61,6 +64,8 @@ public class VirtualAccountApplicationService { |
|
|
private ConsumeVirtualAccountDomainService consumeVirtualAccountDomainService; |
|
|
private ConsumeVirtualAccountDomainService consumeVirtualAccountDomainService; |
|
|
@Resource |
|
|
@Resource |
|
|
private CostGiftRewardDomainService costGiftRewardDomainService; |
|
|
private CostGiftRewardDomainService costGiftRewardDomainService; |
|
|
|
|
|
@Resource |
|
|
|
|
|
private ProductQueryService productQueryService; |
|
|
|
|
|
|
|
|
public void create(VirtualAccount virtualAccount) { |
|
|
public void create(VirtualAccount virtualAccount) { |
|
|
virtualAccountAggregate.create(virtualAccount); |
|
|
virtualAccountAggregate.create(virtualAccount); |
|
|
@ -309,4 +314,21 @@ public class VirtualAccountApplicationService { |
|
|
vo.setSuccess(true); |
|
|
vo.setSuccess(true); |
|
|
return vo; |
|
|
return vo; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 玫瑰充值 |
|
|
|
|
|
*/ |
|
|
|
|
|
public void recharge(Product product, |
|
|
|
|
|
ProductSpec productSpec, |
|
|
|
|
|
Order order) { |
|
|
|
|
|
synchronized (order.getUserId().toString().intern()) { |
|
|
|
|
|
VirtualAccount virtualAccount = virtualAccountQueryService.queryOrInit(order.getUserId()); |
|
|
|
|
|
|
|
|
|
|
|
ProductSpecTerm specTerm = productQueryService.getTermByName(productSpec.getProductSpecTermList(), ProductSpecTermNameEnum.PURCHASE_TIME); |
|
|
|
|
|
int quantity = Integer.parseInt(specTerm.getValue()); |
|
|
|
|
|
|
|
|
|
|
|
virtualAccountAggregate.handleRechargeData(virtualAccount, quantity, VirtualAccountTradeTypeEnum.RECHARGE); |
|
|
|
|
|
virtualAccountAggregate.edit(virtualAccount); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
} |