Browse Source

玫瑰

master
张彭杰 4 months ago
parent
commit
c11086f5b1
9 changed files with 151 additions and 2 deletions
  1. 41
      dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/virtualaccount/constant/VirtualAccountTradeTypeEnum.java
  2. 3
      dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/virtualaccount/valobj/VirtualAccountRecord.java
  3. 5
      dating-agency-mall-sdk/src/main/java/com/qniao/dam/application/MallServerApplicationService.java
  4. 19
      dating-agency-mall-sdk/src/main/java/com/qniao/dam/application/request/UserConsumeVirtualAccountDto.java
  5. 10
      dating-agency-mall-sdk/src/main/java/com/qniao/dam/application/response/ConsumeVirtualAccountVo.java
  6. 29
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/virtualaccount/user/VirtualAccountUserCommandController.java
  7. 20
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/virtualaccount/user/request/UserConsumeVirtualAccountDto.java
  8. 10
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/virtualaccount/user/response/UserConsumeVirtualAccountVo.java
  9. 16
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/virtualaccount/VirtualAccountApplicationService.java

41
dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/virtualaccount/constant/VirtualAccountTradeTypeEnum.java

@ -0,0 +1,41 @@
package com.qniao.dam.domian.aggregate.virtualaccount.constant;
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.Getter;
@Getter
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum VirtualAccountTradeTypeEnum {
RECHARGE(101, "充值"),
CHAT(201, "聊天"),
GIFT(202, "礼物");
@EnumValue
@JsonValue
private final Integer value;
private final String desc;
VirtualAccountTradeTypeEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
@JsonCreator
public static VirtualAccountTradeTypeEnum get(Integer v) {
for (VirtualAccountTradeTypeEnum e : VirtualAccountTradeTypeEnum.values()) {
if (e.getValue().equals(v)) {
return e;
}
}
return null;
}
}

3
dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/virtualaccount/valobj/VirtualAccountRecord.java

@ -1,6 +1,7 @@
package com.qniao.dam.domain.aggregate.virtualaccount.valobj;
import com.baomidou.mybatisplus.annotation.TableName;
import com.qniao.dam.domian.aggregate.virtualaccount.constant.VirtualAccountTradeTypeEnum;
import com.qniao.domain.ValueObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -19,7 +20,7 @@ public class VirtualAccountRecord extends ValueObject<VirtualAccountRecord> {
private Long virtualAccountId;
@ApiModelProperty("交易类型")
private Integer tradeType;
private VirtualAccountTradeTypeEnum tradeType;
@ApiModelProperty("交易数量")
private Integer tradeBalance;

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

@ -1,6 +1,7 @@
package com.qniao.dam.application;
import com.qniao.dam.application.request.*;
import com.qniao.dam.application.response.ConsumeVirtualAccountVo;
import com.qniao.dam.application.response.UserCheckEnableRightBySdkVo;
import com.qniao.dam.application.response.UserConsumeRightBySdkVo;
import com.qniao.framework.annotation.IgnoreResponseAdvice;
@ -45,4 +46,8 @@ public interface MallServerApplicationService {
@PostMapping("/user/acquire/matchmaker-join-recommend/reward/by/sdk")
@IgnoreResponseAdvice
void userAcquireMatchmakerJoinRecommendRewardBySdk(@RequestBody @Valid UserAcquireMatchmakerJoinRecommendRewardDto dto);
@PostMapping("/user/consume/virtual-account")
@IgnoreResponseAdvice
ConsumeVirtualAccountVo userConsumeVirtualAccountBySdk(@RequestBody UserConsumeVirtualAccountDto dto);
}

19
dating-agency-mall-sdk/src/main/java/com/qniao/dam/application/request/UserConsumeVirtualAccountDto.java

@ -0,0 +1,19 @@
package com.qniao.dam.application.request;
import com.qniao.dam.domian.aggregate.virtualaccount.constant.VirtualAccountTradeTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class UserConsumeVirtualAccountDto {
private Long userId;
private Integer spend;
private VirtualAccountTradeTypeEnum tradeType;
}

10
dating-agency-mall-sdk/src/main/java/com/qniao/dam/application/response/ConsumeVirtualAccountVo.java

@ -0,0 +1,10 @@
package com.qniao.dam.application.response;
import lombok.Data;
@Data
public class ConsumeVirtualAccountVo {
private Boolean success = false;
}

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

@ -0,0 +1,29 @@
package com.qniao.dam.api.command.virtualaccount.user;
import com.qniao.dam.api.command.virtualaccount.user.request.UserConsumeVirtualAccountDto;
import com.qniao.dam.api.command.virtualaccount.user.response.UserConsumeVirtualAccountVo;
import com.qniao.dam.application.service.virtualaccount.VirtualAccountApplicationService;
import com.qniao.framework.annotation.IgnoreResponseAdvice;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@Api(tags = "虚拟账号")
@RestController
@RequestMapping("user")
public class VirtualAccountUserCommandController {
@Resource
private VirtualAccountApplicationService virtualAccountApplicationService;
@PostMapping("/consume/virtual-account")
@IgnoreResponseAdvice
public UserConsumeVirtualAccountVo userConsumeVirtualAccountBySdk(@RequestBody UserConsumeVirtualAccountDto dto) {
return virtualAccountApplicationService.consume(dto);
}
}

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

@ -0,0 +1,20 @@
package com.qniao.dam.api.command.virtualaccount.user.request;
import com.qniao.dam.domian.aggregate.virtualaccount.constant.VirtualAccountTradeTypeEnum;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
public class UserConsumeVirtualAccountDto {
@NotNull
private Long userId;
@NotNull
private Integer spend;
@NotNull
private VirtualAccountTradeTypeEnum tradeType;
}

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

@ -0,0 +1,10 @@
package com.qniao.dam.api.command.virtualaccount.user.response;
import lombok.Data;
@Data
public class UserConsumeVirtualAccountVo {
private Boolean success = false;
}

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

@ -1,7 +1,10 @@
package com.qniao.dam.application.service.virtualaccount;
import com.qniao.dam.api.command.virtualaccount.user.request.UserConsumeVirtualAccountDto;
import com.qniao.dam.api.command.virtualaccount.user.response.UserConsumeVirtualAccountVo;
import com.qniao.dam.domain.aggregate.virtualaccount.VirtualAccountAggregate;
import com.qniao.dam.domain.aggregate.virtualaccount.entity.VirtualAccount;
import com.qniao.dam.query.virtualaccount.VirtualAccountQueryService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@ -11,6 +14,8 @@ public class VirtualAccountApplicationService {
@Resource
private VirtualAccountAggregate virtualAccountAggregate;
@Resource
private VirtualAccountQueryService virtualAccountQueryService;
public void create(VirtualAccount virtualAccount) {
virtualAccountAggregate.create(virtualAccount);
@ -21,6 +26,15 @@ public class VirtualAccountApplicationService {
}
public void delete(Long id) {
virtualAccountAggregate.delete(id);
virtualAccountAggregate.delete(id);
}
public UserConsumeVirtualAccountVo consume(UserConsumeVirtualAccountDto dto) {
UserConsumeVirtualAccountVo vo = new UserConsumeVirtualAccountVo();
VirtualAccount virtualAccount = virtualAccountQueryService.queryBy(dto.getUserId());
if (virtualAccount != null) {
}
}
}
Loading…
Cancel
Save