|
|
@ -1,10 +1,13 @@ |
|
|
package com.qniao.dam.application.service.virtualaccount; |
|
|
package com.qniao.dam.application.service.virtualaccount; |
|
|
|
|
|
|
|
|
|
|
|
import com.qniao.daca.domian.aggregate.rtcchannel.constant.RtcChannelTypeEnum; |
|
|
import com.qniao.dam.api.command.virtualaccount.user.request.UserConsumeVirtualAccountDto; |
|
|
import com.qniao.dam.api.command.virtualaccount.user.request.UserConsumeVirtualAccountDto; |
|
|
import com.qniao.dam.api.command.virtualaccount.user.request.UserCostChannelGiftDto; |
|
|
import com.qniao.dam.api.command.virtualaccount.user.request.UserCostChannelGiftDto; |
|
|
import com.qniao.dam.api.command.virtualaccount.user.request.UserCostIMGiftDto; |
|
|
import com.qniao.dam.api.command.virtualaccount.user.request.UserCostIMGiftDto; |
|
|
|
|
|
import com.qniao.dam.api.command.virtualaccount.user.response.CheckOneOnOneRtcConsumeVo; |
|
|
import com.qniao.dam.api.command.virtualaccount.user.response.CostGiftVo; |
|
|
import com.qniao.dam.api.command.virtualaccount.user.response.CostGiftVo; |
|
|
import com.qniao.dam.api.command.virtualaccount.user.response.UserConsumeVirtualAccountVo; |
|
|
import com.qniao.dam.api.command.virtualaccount.user.response.UserConsumeVirtualAccountVo; |
|
|
|
|
|
import com.qniao.dam.api.query.product.user.response.UserGetProductByCategoryVo; |
|
|
import com.qniao.dam.domain.aggregate.order.entity.Order; |
|
|
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; |
|
|
@ -21,6 +24,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.product.constant.ProductSubCategoryEnum; |
|
|
import com.qniao.dam.domian.aggregate.productspec.constant.ProductSpecTermNameEnum; |
|
|
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; |
|
|
@ -346,4 +350,22 @@ public class VirtualAccountApplicationService extends BaseApplicationService { |
|
|
virtualAccountAggregate.edit(virtualAccount); |
|
|
virtualAccountAggregate.edit(virtualAccount); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public CheckOneOnOneRtcConsumeVo checkOneOnOneRtcConsume(Long userId, |
|
|
|
|
|
RtcChannelTypeEnum rtcChannelType) { |
|
|
|
|
|
CheckOneOnOneRtcConsumeVo vo = new CheckOneOnOneRtcConsumeVo(); |
|
|
|
|
|
UserGetProductByCategoryVo productSpec = null; |
|
|
|
|
|
if (RtcChannelTypeEnum.ONE_ON_ONE_VOICE.equals(rtcChannelType)) { |
|
|
|
|
|
//一对一语音 |
|
|
|
|
|
productSpec = productQueryService.getProductByCategory(ProductSubCategoryEnum.CHAT_VOICE_FEE.getValue()); |
|
|
|
|
|
} else if (RtcChannelTypeEnum.ONE_ON_ONE_VIDEO.equals(rtcChannelType)) { |
|
|
|
|
|
//一对一视频 |
|
|
|
|
|
productSpec = productQueryService.getProductByCategory(ProductSubCategoryEnum.CHAT_VIDEO_FEE.getValue()); |
|
|
|
|
|
} |
|
|
|
|
|
VirtualAccount virtualAccount = virtualAccountQueryService.queryBy(userId); |
|
|
|
|
|
if (virtualAccount != null && virtualAccount.getBalance() >= productSpec.getUnitSellingPrice().intValue()) { |
|
|
|
|
|
vo.setFlag(true); |
|
|
|
|
|
} |
|
|
|
|
|
return vo; |
|
|
|
|
|
} |
|
|
} |
|
|
} |