Browse Source

玫瑰

master
张彭杰 2 months ago
parent
commit
8eb1a93f56
7 changed files with 90 additions and 8 deletions
  1. 5
      dating-agency-mall-sdk/src/main/java/com/qniao/dam/application/MallServerApplicationService.java
  2. 12
      dating-agency-mall-sdk/src/main/java/com/qniao/dam/application/request/QueryOneOnOneRtcConsumeBySdkDto.java
  3. 16
      dating-agency-mall-sdk/src/main/java/com/qniao/dam/application/response/QueryOneOnOneRtcConsumeBySdkVo.java
  4. 11
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/virtualaccount/user/VirtualAccountUserCommandController.java
  5. 14
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/virtualaccount/user/request/QueryOneOnOneRtcConsumeDto.java
  6. 16
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/virtualaccount/user/response/QueryOneOnOneRtcConsumeVo.java
  7. 24
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/virtualaccount/VirtualAccountApplicationService.java

5
dating-agency-mall-sdk/src/main/java/com/qniao/dam/application/MallServerApplicationService.java

@ -69,4 +69,9 @@ public interface MallServerApplicationService {
@IgnoreResponseAdvice
FreezeOneOnOneRtcConsumeBySdkVo freezeOneOnOneRtcConsumeBySdk(@RequestBody FreezeOneOnOneRtcConsumeBySdkDto dto);
@PostMapping("/user/query/one-on-one-rtc-consume/by/sdk")
@IgnoreResponseAdvice
QueryOneOnOneRtcConsumeBySdkVo queryOneOnOneRtcConsumeBySdk(@RequestBody QueryOneOnOneRtcConsumeBySdkDto dto);
}

12
dating-agency-mall-sdk/src/main/java/com/qniao/dam/application/request/QueryOneOnOneRtcConsumeBySdkDto.java

@ -0,0 +1,12 @@
package com.qniao.dam.application.request;
import com.qniao.daca.domian.aggregate.rtcchannel.constant.RtcChannelTypeEnum;
import lombok.Data;
@Data
public class QueryOneOnOneRtcConsumeBySdkDto {
private Long userId;
private RtcChannelTypeEnum rtcChannelType;
}

16
dating-agency-mall-sdk/src/main/java/com/qniao/dam/application/response/QueryOneOnOneRtcConsumeBySdkVo.java

@ -0,0 +1,16 @@
package com.qniao.dam.application.response;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class QueryOneOnOneRtcConsumeBySdkVo {
private Integer freezeBalance;
private Integer availableBalance;
private BigDecimal unitSellingPrice;
}

11
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/virtualaccount/user/VirtualAccountUserCommandController.java

@ -1,10 +1,7 @@
package com.qniao.dam.api.command.virtualaccount.user;
import com.qniao.dam.api.command.virtualaccount.user.request.*;
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.FreezeOneOnOneRtcConsumeVo;
import com.qniao.dam.api.command.virtualaccount.user.response.UserConsumeVirtualAccountVo;
import com.qniao.dam.api.command.virtualaccount.user.response.*;
import com.qniao.dam.application.service.virtualaccount.VirtualAccountApplicationService;
import com.qniao.framework.annotation.IgnoreResponseAdvice;
import io.swagger.annotations.Api;
@ -53,4 +50,10 @@ public class VirtualAccountUserCommandController {
return virtualAccountApplicationService.freezeOneOnOneRtcConsume(dto.getUserId(), dto.getRtcChannelType());
}
@PostMapping("/query/one-on-one-rtc-consume/by/sdk")
@IgnoreResponseAdvice
public QueryOneOnOneRtcConsumeVo queryOneOnOneRtcConsumeBySdk(@RequestBody QueryOneOnOneRtcConsumeDto dto) {
return virtualAccountApplicationService.queryOneOnOneRtcConsume(dto.getUserId(), dto.getRtcChannelType());
}
}

14
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/virtualaccount/user/request/QueryOneOnOneRtcConsumeDto.java

@ -0,0 +1,14 @@
package com.qniao.dam.api.command.virtualaccount.user.request;
import com.qniao.daca.domian.aggregate.rtcchannel.constant.RtcChannelTypeEnum;
import lombok.Data;
@Data
public class QueryOneOnOneRtcConsumeDto {
private Long userId;
private RtcChannelTypeEnum rtcChannelType;
}

16
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/virtualaccount/user/response/QueryOneOnOneRtcConsumeVo.java

@ -0,0 +1,16 @@
package com.qniao.dam.api.command.virtualaccount.user.response;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class QueryOneOnOneRtcConsumeVo {
private Integer freezeBalance;
private Integer availableBalance;
private BigDecimal unitSellingPrice;
}

24
dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/virtualaccount/VirtualAccountApplicationService.java

@ -4,10 +4,7 @@ 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.UserCostChannelGiftDto;
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.FreezeOneOnOneRtcConsumeVo;
import com.qniao.dam.api.command.virtualaccount.user.response.UserConsumeVirtualAccountVo;
import com.qniao.dam.api.command.virtualaccount.user.response.*;
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.OrderItem;
@ -394,9 +391,28 @@ public class VirtualAccountApplicationService extends BaseApplicationService {
vo.setAvailableBalance(virtualAccount.getBalance());
vo.setUnitSellingPrice(productSpec.getUnitSellingPrice());
} else {
vo.setFreezeBalance(0);
vo.setAvailableBalance(Objects.nonNull(virtualAccount) ? virtualAccount.getBalance() : 0);
vo.setUnitSellingPrice(productSpec.getUnitSellingPrice());
}
return vo;
}
public QueryOneOnOneRtcConsumeVo queryOneOnOneRtcConsume(Long userId, RtcChannelTypeEnum rtcChannelType) {
QueryOneOnOneRtcConsumeVo vo = new QueryOneOnOneRtcConsumeVo();
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());
}
vo.setUnitSellingPrice(productSpec.getUnitSellingPrice());
VirtualAccount virtualAccount = virtualAccountQueryService.queryBy(userId);
if (Objects.nonNull(virtualAccount)) {
vo.setAvailableBalance(virtualAccount.getBalance());
}
return vo;
}
}
Loading…
Cancel
Save