13 changed files with 355 additions and 36 deletions
Split View
Diff Options
-
33dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/revenuereward/user/RevenueRewardUserCommandController.java
-
70dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/revenuereward/user/request/UserCreateRevenueRewardDto.java
-
67dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/revenuereward/user/request/UserEditRevenueRewardDto.java
-
70dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/revenuereward/user/response/UserGetRevenueRewardRecordByOperatorVo.java
-
25dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/revenuereward/user/RevenueRewardUserQueryController.java
-
5dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/revenuereward/user/request/UserPageRevenueRewardRecordByOperatorQueryParams.java
-
2dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/revenuereward/user/response/UserGetRevenueRewardAbstractByOperatorVo.java
-
6dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/revenuereward/user/response/UserPageRevenueRewardRecordByOperatorVo.java
-
37dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/revenuereward/RevenueRewardApplicationService.java
-
8dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/view/RevenueRewardViewDao.java
-
15dating-agency-mall-server/src/main/java/com/qniao/dam/query/revenuereward/RevenueRewardQueryService.java
-
42dating-agency-mall-server/src/main/java/com/qniao/dam/query/revenuereward/impl/RevenueRewardQueryServiceImpl.java
-
11dating-agency-mall-server/src/main/resources/mapper/revenuereward/RevenueRewardViewMapper.xml
@ -0,0 +1,33 @@ |
|||
package com.qniao.dam.api.command.revenuereward.user; |
|||
|
|||
import com.qniao.dam.api.command.revenuereward.user.request.UserCreateRevenueRewardDto; |
|||
import com.qniao.dam.api.command.revenuereward.user.request.UserEditRevenueRewardDto; |
|||
import com.qniao.dam.application.service.revenuereward.RevenueRewardApplicationService; |
|||
import io.swagger.annotations.Api; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
import javax.annotation.Resource; |
|||
import javax.validation.Valid; |
|||
|
|||
@RestController |
|||
@RequestMapping("user") |
|||
@Api(tags = "收益") |
|||
public class RevenueRewardUserCommandController { |
|||
|
|||
@Resource |
|||
private RevenueRewardApplicationService revenueRewardApplicationService; |
|||
|
|||
@ApiOperation("用户创建积分升级配置") |
|||
@PostMapping("create/revenue-reward-record") |
|||
public void userCreateRevenueRewardRecord(@RequestBody @Valid UserCreateRevenueRewardDto dto) { |
|||
revenueRewardApplicationService.create(dto.trans2Domain()); |
|||
} |
|||
|
|||
@ApiOperation("用户编辑积分升级配置") |
|||
@PostMapping("edit/point-upgrade-config") |
|||
public void userEditRevenueRewardRecord(@RequestBody @Valid UserEditRevenueRewardDto dto) { |
|||
revenueRewardApplicationService.edit(dto.trans2Domain()); |
|||
} |
|||
|
|||
} |
|||
@ -0,0 +1,70 @@ |
|||
package com.qniao.dam.api.command.revenuereward.user.request; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import com.qniao.dam.domain.aggregate.revenuereward.entity.RevenueReward; |
|||
import com.qniao.dam.domain.aggregate.revenuereward.valueobj.RevenueRewardRecord; |
|||
import com.qniao.dam.domian.aggregate.walletaccount.constant.TradeSceneEnum; |
|||
import com.qniao.dam.domian.aggregate.walletaccount.constant.TradeTypeEnum; |
|||
import com.qniao.domain.Trans2DomainAssembler; |
|||
import com.qniao.framework.utils.TypeConvertUtils; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotNull; |
|||
import java.math.BigDecimal; |
|||
import java.time.LocalDateTime; |
|||
import java.util.Collections; |
|||
|
|||
@Data |
|||
public class UserCreateRevenueRewardDto implements Trans2DomainAssembler<RevenueReward> { |
|||
|
|||
@ApiModelProperty("红娘用户ID唯一标识") |
|||
@NotNull(message = "收益用户不能为空") |
|||
private Long matchmakerUserId; |
|||
|
|||
@ApiModelProperty("交易类型") |
|||
@NotNull(message = "交易类型不能为空") |
|||
private TradeTypeEnum tradeType; |
|||
|
|||
@ApiModelProperty("交易场景") |
|||
@NotNull(message = "交易场景不能为空") |
|||
private TradeSceneEnum tradeScene; |
|||
|
|||
@ApiModelProperty("订单金额") |
|||
@NotNull(message = "订单金额不能为空") |
|||
private BigDecimal totalAssociateOrderAmount; |
|||
|
|||
@ApiModelProperty("营收额") |
|||
@NotNull(message = "营收额不能为空") |
|||
private BigDecimal revenue; |
|||
|
|||
@ApiModelProperty("营收额百分比") |
|||
@NotNull(message = "营收额百分比不能为空") |
|||
private BigDecimal revenuePct; |
|||
|
|||
@ApiModelProperty("服务费百分比") |
|||
@NotNull(message = "服务费百分比不能为空") |
|||
private BigDecimal servicePct; |
|||
|
|||
@ApiModelProperty("实收金额") |
|||
@NotNull(message = "实收金额不能为空") |
|||
private BigDecimal earnings; |
|||
|
|||
@ApiModelProperty("内容") |
|||
private String content; |
|||
|
|||
@ApiModelProperty("凭证Url") |
|||
private String proofUrl; |
|||
|
|||
@ApiModelProperty("创建时间") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
private LocalDateTime createTime; |
|||
|
|||
@Override |
|||
public RevenueReward trans2Domain() { |
|||
RevenueReward revenueReward = RevenueReward.initUser(matchmakerUserId); |
|||
RevenueRewardRecord revenueRewardRecord = TypeConvertUtils.convert(this, RevenueRewardRecord.class); |
|||
revenueReward.setRecordList(Collections.singletonList(revenueRewardRecord)); |
|||
return revenueReward; |
|||
} |
|||
} |
|||
@ -0,0 +1,67 @@ |
|||
package com.qniao.dam.api.command.revenuereward.user.request; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import com.qniao.dam.domain.aggregate.revenuereward.valueobj.RevenueRewardRecord; |
|||
import com.qniao.dam.domian.aggregate.walletaccount.constant.TradeSceneEnum; |
|||
import com.qniao.dam.domian.aggregate.walletaccount.constant.TradeTypeEnum; |
|||
import com.qniao.domain.Trans2DomainAssembler; |
|||
import com.qniao.framework.utils.TypeConvertUtils; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotNull; |
|||
import java.math.BigDecimal; |
|||
import java.time.LocalDateTime; |
|||
|
|||
@Data |
|||
public class UserEditRevenueRewardDto implements Trans2DomainAssembler<RevenueRewardRecord> { |
|||
|
|||
@ApiModelProperty("收益记录标识") |
|||
@NotNull(message = "收益记录标识不能为空") |
|||
private Long revenueRewardRecordId; |
|||
|
|||
@ApiModelProperty("交易类型") |
|||
@NotNull(message = "交易类型不能为空") |
|||
private TradeTypeEnum tradeType; |
|||
|
|||
@ApiModelProperty("交易场景") |
|||
@NotNull(message = "交易场景不能为空") |
|||
private TradeSceneEnum tradeScene; |
|||
|
|||
@ApiModelProperty("订单金额") |
|||
@NotNull(message = "订单金额不能为空") |
|||
private BigDecimal totalAssociateOrderAmount; |
|||
|
|||
@ApiModelProperty("营收额") |
|||
@NotNull(message = "营收额不能为空") |
|||
private BigDecimal revenue; |
|||
|
|||
@ApiModelProperty("营收额百分比") |
|||
@NotNull(message = "营收额百分比不能为空") |
|||
private BigDecimal revenuePct; |
|||
|
|||
@ApiModelProperty("服务费百分比") |
|||
@NotNull(message = "服务费百分比不能为空") |
|||
private BigDecimal servicePct; |
|||
|
|||
@ApiModelProperty("实收金额") |
|||
@NotNull(message = "实收金额不能为空") |
|||
private BigDecimal earnings; |
|||
|
|||
@ApiModelProperty("内容") |
|||
private String content; |
|||
|
|||
@ApiModelProperty("凭证Url") |
|||
private String proofUrl; |
|||
|
|||
@ApiModelProperty("创建时间") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
private LocalDateTime createTime; |
|||
|
|||
@Override |
|||
public RevenueRewardRecord trans2Domain() { |
|||
RevenueRewardRecord revenueRewardRecord = TypeConvertUtils.convert(this, RevenueRewardRecord.class); |
|||
revenueRewardRecord.setRevenueRewardId(revenueRewardRecordId); |
|||
return revenueRewardRecord; |
|||
} |
|||
} |
|||
@ -0,0 +1,70 @@ |
|||
package com.qniao.dam.api.command.revenuereward.user.response; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import com.fasterxml.jackson.databind.annotation.JsonSerialize; |
|||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; |
|||
import com.qniao.dam.domian.aggregate.product.constant.ProductSubCategoryEnum; |
|||
import com.qniao.dam.domian.aggregate.walletaccount.constant.TradeSceneEnum; |
|||
import com.qniao.dam.domian.aggregate.walletaccount.constant.TradeTypeEnum; |
|||
import com.qniao.dau.domian.aggregate.matchmaker.constant.MatchmakerLevelEnum; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.time.LocalDateTime; |
|||
|
|||
@Data |
|||
public class UserGetRevenueRewardRecordByOperatorVo { |
|||
|
|||
@ApiModelProperty("收益记录标识") |
|||
@JsonSerialize(using = ToStringSerializer.class) |
|||
private Long revenueRewardRecordId; |
|||
|
|||
@ApiModelProperty("收益者名称") |
|||
private String revenueOwnerName; |
|||
|
|||
@ApiModelProperty("收益者手机") |
|||
private String revenueOwnerPhone; |
|||
|
|||
@ApiModelProperty("红娘用户ID") |
|||
@JsonSerialize(using = ToStringSerializer.class) |
|||
private Long matchmakerUserId; |
|||
|
|||
@ApiModelProperty("红娘身份类型") |
|||
private ProductSubCategoryEnum matchmakerType; |
|||
|
|||
@ApiModelProperty("红娘等级") |
|||
private MatchmakerLevelEnum matchmakerLevel; |
|||
|
|||
@ApiModelProperty("交易类型") |
|||
private TradeTypeEnum tradeType; |
|||
|
|||
@ApiModelProperty("交易场景") |
|||
private TradeSceneEnum tradeScene; |
|||
|
|||
@ApiModelProperty("营收额") |
|||
private BigDecimal revenue; |
|||
|
|||
@ApiModelProperty("营收额百分比") |
|||
private BigDecimal revenuePct; |
|||
|
|||
@ApiModelProperty("服务费百分比") |
|||
private BigDecimal servicePct; |
|||
|
|||
@ApiModelProperty("收益额 营收额除去平台服务费") |
|||
private BigDecimal earnings; |
|||
|
|||
@ApiModelProperty("订单金额") |
|||
private BigDecimal totalAssociateOrderAmount; |
|||
|
|||
@ApiModelProperty("内容") |
|||
private String content; |
|||
|
|||
@ApiModelProperty("凭证Url") |
|||
private String proofUrl; |
|||
|
|||
@ApiModelProperty("创建时间") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
private LocalDateTime createTime; |
|||
|
|||
} |
|||
@ -0,0 +1,37 @@ |
|||
package com.qniao.dam.application.service.revenuereward; |
|||
|
|||
import cn.hutool.core.collection.CollUtil; |
|||
import com.qniao.dam.domain.aggregate.revenuereward.RevenueRewardAggregate; |
|||
import com.qniao.dam.domain.aggregate.revenuereward.entity.RevenueReward; |
|||
import com.qniao.dam.domain.aggregate.revenuereward.valueobj.RevenueRewardRecord; |
|||
import com.qniao.dam.infrastructure.persistent.dao.domain.RevenueRewardRecordDao; |
|||
import com.qniao.dam.query.revenuereward.RevenueRewardQueryService; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import javax.annotation.Resource; |
|||
import java.math.BigDecimal; |
|||
import java.math.RoundingMode; |
|||
import java.util.Objects; |
|||
|
|||
@Service |
|||
public class RevenueRewardApplicationService { |
|||
|
|||
@Resource |
|||
private RevenueRewardQueryService revenueRewardQueryService; |
|||
@Resource |
|||
private RevenueRewardAggregate revenueRewardAggregate; |
|||
@Resource |
|||
private RevenueRewardRecordDao revenueRewardRecordDao; |
|||
|
|||
public void create(RevenueReward revenueReward) { |
|||
RevenueReward existRevenueReward = revenueRewardQueryService.queryByUserId(revenueReward.getUserId()); |
|||
if (Objects.nonNull(existRevenueReward)) { |
|||
revenueReward.setId(existRevenueReward.getId()); |
|||
} |
|||
revenueRewardAggregate.save(revenueReward); |
|||
} |
|||
|
|||
public void edit(RevenueRewardRecord revenueRewardRecord) { |
|||
revenueRewardRecordDao.updateById(revenueRewardRecord); |
|||
} |
|||
} |
|||
Write
Preview
Loading…
Cancel
Save