Browse Source

基础配置

master
张彭杰 1 year ago
parent
commit
2cb3306d51
5 changed files with 92 additions and 1 deletions
  1. 29
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/marriagebounty/user/MarriageBountyOrderUserQueryController.java
  2. 15
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/marriagebounty/user/request/UserGetMarriageBountyOrderPreRefundInfoQueryParam.java
  3. 19
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/marriagebounty/user/response/UserGetMarriageBountyOrderPreRefundInfoVo.java
  4. 3
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/marriagebounty/MarriageBountyOrderQueryService.java
  5. 27
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/marriagebounty/impl/MarriageBountyOrderQueryServiceImpl.java

29
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/marriagebounty/user/MarriageBountyOrderUserQueryController.java

@ -0,0 +1,29 @@
package com.qniao.dam.api.query.marriagebounty.user;
import com.qniao.dam.api.query.marriagebounty.user.request.UserGetMarriageBountyOrderPreRefundInfoQueryParam;
import com.qniao.dam.api.query.marriagebounty.user.response.UserGetMarriageBountyOrderPreRefundInfoVo;
import com.qniao.dam.query.marriagebounty.MarriageBountyOrderQueryService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@RestController
@RequestMapping("user")
@Api(tags = "悬赏招亲订单")
public class MarriageBountyOrderUserQueryController {
@Resource
private MarriageBountyOrderQueryService marriageBountyOrderQueryService;
@GetMapping("get/marriage-bounty-order/pre-refund-info")
@ApiOperation("用户获取悬赏招亲订单预退款信息")
public UserGetMarriageBountyOrderPreRefundInfoVo getMarriageBountyOrderPreRefundInfo(@Validated UserGetMarriageBountyOrderPreRefundInfoQueryParam queryParam,
@RequestParam("userId") Long userId) {
return marriageBountyOrderQueryService.getMarriageBountyOrderPreRefundInfo(userId, queryParam.getMiId());
}
}

15
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/marriagebounty/user/request/UserGetMarriageBountyOrderPreRefundInfoQueryParam.java

@ -0,0 +1,15 @@
package com.qniao.dam.api.query.marriagebounty.user.request;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class UserGetMarriageBountyOrderPreRefundInfoQueryParam {
@ApiModelProperty("征婚资料标识")
@JsonSerialize(using = ToStringSerializer.class)
private Long miId;
}

19
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/marriagebounty/user/response/UserGetMarriageBountyOrderPreRefundInfoVo.java

@ -0,0 +1,19 @@
package com.qniao.dam.api.query.marriagebounty.user.response;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class UserGetMarriageBountyOrderPreRefundInfoVo {
@ApiModelProperty("可退款见面费用")
private BigDecimal refundableMeetingFee = BigDecimal.ZERO;
@ApiModelProperty("可退款结果礼金")
private BigDecimal refundableResultGift = BigDecimal.ZERO;
@ApiModelProperty("是否可以退款")
private Boolean refundable = false;
}

3
dating-agency-mall-server/src/main/java/com/qniao/dam/query/marriagebounty/MarriageBountyOrderQueryService.java

@ -1,8 +1,11 @@
package com.qniao.dam.query.marriagebounty;
import com.qniao.dam.api.query.marriagebounty.user.response.UserGetMarriageBountyOrderPreRefundInfoVo;
import com.qniao.dam.domain.aggregate.marriagebounty.entity.MarriageBountyOrder;
import com.qniao.dam.domian.aggregate.marriagebount.constant.MarriageBountyOrderStatusEnum;
public interface MarriageBountyOrderQueryService {
MarriageBountyOrder queryBy(Long userId, Long miId, MarriageBountyOrderStatusEnum status);
UserGetMarriageBountyOrderPreRefundInfoVo getMarriageBountyOrderPreRefundInfo(Long userId, Long miId);
}

27
dating-agency-mall-server/src/main/java/com/qniao/dam/query/marriagebounty/impl/MarriageBountyOrderQueryServiceImpl.java

@ -1,15 +1,19 @@
package com.qniao.dam.query.marriagebounty.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qniao.dam.api.query.marriagebounty.user.response.UserGetMarriageBountyOrderPreRefundInfoVo;
import com.qniao.dam.domain.aggregate.marriagebounty.entity.MarriageBountyOrder;
import com.qniao.dam.domain.aggregate.marriagebounty.entity.MarriageBountyOrderReward;
import com.qniao.dam.domian.aggregate.marriagebount.constant.MarriageBountyOrderStatusEnum;
import com.qniao.dam.domian.aggregate.product.constant.ProductSubCategoryEnum;
import com.qniao.dam.infrastructure.persistent.dao.domain.MarriageBountyOrderDao;
import com.qniao.dam.infrastructure.persistent.dao.domain.MarriageBountyOrderRewardDao;
import com.qniao.dam.query.marriagebounty.MarriageBountyOrderQueryService;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.Objects;
@Service
@ -21,7 +25,7 @@ public class MarriageBountyOrderQueryServiceImpl implements MarriageBountyOrderQ
private MarriageBountyOrderRewardDao marriageBountyOrderRewardDao;
@Override
public MarriageBountyOrder queryBy(Long userId, Long miId,MarriageBountyOrderStatusEnum status) {
public MarriageBountyOrder queryBy(Long userId, Long miId, MarriageBountyOrderStatusEnum status) {
MarriageBountyOrder marriageBountyOrder = marriageBountyOrderDao.selectOne(new LambdaQueryWrapper<MarriageBountyOrder>()
.eq(MarriageBountyOrder::getUserId, userId)
.eq(MarriageBountyOrder::getMiId, miId)
@ -34,4 +38,25 @@ public class MarriageBountyOrderQueryServiceImpl implements MarriageBountyOrderQ
}
return marriageBountyOrder;
}
@Override
public UserGetMarriageBountyOrderPreRefundInfoVo getMarriageBountyOrderPreRefundInfo(Long userId, Long miId) {
UserGetMarriageBountyOrderPreRefundInfoVo refundInfoVo = new UserGetMarriageBountyOrderPreRefundInfoVo();
MarriageBountyOrder marriageBountyOrder = queryBy(userId, miId, MarriageBountyOrderStatusEnum.MATCHMAKING);
if (Objects.nonNull(marriageBountyOrder)) {
BigDecimal refundableMeetingFee = BigDecimal.ZERO;
BigDecimal refundableResultGift = BigDecimal.ZERO;
for (MarriageBountyOrderReward orderReward : marriageBountyOrder.getUpdateOrderRewardList()) {
if (!orderReward.getIsReceive()) {
if (ProductSubCategoryEnum.MARRIAGE_BOUNTY_MEETING_FEE.equals(orderReward.getRewardCategory())) {
refundableMeetingFee = refundableMeetingFee.add(orderReward.getRewardAmount());
} else if (ProductSubCategoryEnum.MARRIAGE_BOUNTY_RESULT_GIFT.equals(orderReward.getRewardCategory())) {
refundableResultGift = refundableResultGift.add(orderReward.getRewardAmount());
}
}
refundInfoVo.setRefundable(refundableMeetingFee.compareTo(BigDecimal.ZERO) > 0 || refundableResultGift.compareTo(BigDecimal.ZERO) > 0);
}
}
return refundInfoVo;
}
}
Loading…
Cancel
Save