13 changed files with 355 additions and 36 deletions
Unified 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