记得上下班打卡 | git大法好,push需谨慎

Commit f79444f2 authored by 胡佳晨's avatar 胡佳晨

提交 预退款 订单详情

parent 28daf8e1
......@@ -48,6 +48,10 @@ public class KylinOrderTicketEntitiesVo implements Serializable, Cloneable {
private LocalDateTime changeDate;
public BigDecimal getRefundPrice() {
return refundPrice==null?BigDecimal.valueOf(0.00):refundPrice;
}
private static final KylinOrderTicketEntitiesVo obj = new KylinOrderTicketEntitiesVo();
public static KylinOrderTicketEntitiesVo getNew() {
......
package com.liquidnet.service.kylin.dto.vo.returns;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
public class KylinOrderTicketEntitiesPreRefundVo implements Serializable, Cloneable {
private static final long serialVersionUID = 1207664465164005975L;
private String orderTicketEntitiesId;
private Integer enterType;
private String enterName;
private String enterMobile;
private String enterIdCode;
private Integer status;
private String useStart;
private String useEnd;
private BigDecimal refundPrice;
private BigDecimal priceActual;
private BigDecimal priceCanRefund;
private String ticketTitle;
}
package com.liquidnet.service.kylin.dto.vo.returns;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo;
import com.liquidnet.service.kylin.entity.KylinOrderTicketRelations;
import com.liquidnet.service.kylin.entity.KylinOrderTicketStatus;
import com.liquidnet.service.kylin.entity.KylinOrderTickets;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.beans.BeanUtils;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@ApiModel(value = "KylinOrderTicketVo", description = "订单数据")
@Data
public class KylinOrderTicketPreVo implements Serializable {
private Integer mid;
private static final long serialVersionUID = 5325511589667456213L;
@ApiModelProperty(position = 10, value = "ID")
private String orderTicketsId;
@ApiModelProperty(position = 11, value = "用户ID[64]")
private String userId;
@ApiModelProperty(position = 12, value = "用户昵称")
private String userName;
@ApiModelProperty(position = 13, value = "用户手机号")
private String userMobile;
@ApiModelProperty(position = 14, value = "演出名称")
private String performanceTitle;
private String ticketTitle;
private String timeStart;
private String useStart;
private String performanceImg;
private Integer number;
private BigDecimal priceTotal;
private BigDecimal priceVoucher;
private BigDecimal priceActual;
private BigDecimal priceExpress;
private BigDecimal priceRefund;
private Integer refundNumber;
private String couponType;
private String getTicketType;
private Integer expressType;
private Integer status;
private String performanceId;
private String timeId;
private String ticketId;
private String fieldName;
private List<KylinOrderTicketEntitiesPreRefundVo> entitiesPreRefundVos;
}
......@@ -6,10 +6,7 @@ import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.param.PayAgainParam;
import com.liquidnet.service.kylin.dto.param.PayOrderParam;
import com.liquidnet.service.kylin.dto.param.SyncOrderParam;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo;
import com.liquidnet.service.kylin.dto.vo.returns.OrderDetailsVo;
import com.liquidnet.service.kylin.dto.vo.returns.OrderRefundVo;
import com.liquidnet.service.kylin.dto.vo.returns.PayResultVo;
import com.liquidnet.service.kylin.dto.vo.returns.*;
import com.liquidnet.service.kylin.entity.KylinOrderTickets;
import java.util.ArrayList;
......@@ -52,7 +49,7 @@ public interface IKylinOrderTicketsService extends IService<KylinOrderTickets> {
ResponseDto<Integer> orderUnPayCount();
//想要退款详情
OrderDetailsVo toOrderRefundDetails(String orderId);
KylinOrderTicketPreVo toOrderRefundDetails(String orderId);
//退款详情
OrderRefundVo orderRefundDetails(String orderId,String orderRefundId);
......
......@@ -7,10 +7,7 @@ import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.param.PayAgainParam;
import com.liquidnet.service.kylin.dto.param.PayOrderParam;
import com.liquidnet.service.kylin.dto.param.SyncOrderParam;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo;
import com.liquidnet.service.kylin.dto.vo.returns.OrderDetailsVo;
import com.liquidnet.service.kylin.dto.vo.returns.OrderRefundVo;
import com.liquidnet.service.kylin.dto.vo.returns.PayResultVo;
import com.liquidnet.service.kylin.dto.vo.returns.*;
import com.liquidnet.service.kylin.service.IKylinOrderTicketsService;
import com.liquidnet.service.kylin.service.impl.KylinOrderTicketsServiceImpl;
import io.swagger.annotations.Api;
......@@ -91,8 +88,8 @@ public class KylinOrderTicketsController {
@GetMapping("toOrderRefundDetails")
@ApiOperation("想要退款订单详情")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<OrderDetailsVo> toOrderRefundDetails(@RequestParam(value = "orderId", required = false) @NotNull(message = "订单id不能为空") String orderId) {
OrderDetailsVo vo = orderTicketsService.toOrderRefundDetails(orderId);
public ResponseDto<KylinOrderTicketPreVo> toOrderRefundDetails(@RequestParam(value = "orderId", required = false) @NotNull(message = "订单id不能为空") String orderId) {
KylinOrderTicketPreVo vo = orderTicketsService.toOrderRefundDetails(orderId);
if (null == vo) {
return ResponseDto.failure(ErrorMapping.get("20003"));
} else {
......
......@@ -1205,17 +1205,21 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
}
@Override
public OrderDetailsVo toOrderRefundDetails(String orderId) {
OrderDetailsVo vo = new OrderDetailsVo();
public KylinOrderTicketPreVo toOrderRefundDetails(String orderId) {
try {
KylinOrderTicketPreVo vo = new KylinOrderTicketPreVo();
String uid = CurrentUtil.getCurrentUid();
KylinOrderTicketVo orderTicketVo = dataUtils.getOrderTicketVo(orderId);
KylinPerformanceVo performanceVo = dataUtils.getPerformanceVo(orderTicketVo.getPerformanceId());
List<KylinOrderRefundsVoBase> kylinOrderRefundsVoBaseList = dataUtils.getOrderRefundVoByOrderId(orderTicketVo.getOrderTicketsId());
if (!orderTicketVo.getUserId().equals(uid)) {
return null;
}
List<KylinOrderTicketEntitiesVo> kylinOrderTicketEntitiesVoList = orderTicketVo.getEntitiesVoList();
List<KylinOrderTicketEntitiesPreRefundVo> kylinOrderTicketEntitiesPreRefundVos = new ArrayList<>();
// 数据脱敏
for (KylinOrderTicketEntitiesVo item : kylinOrderTicketEntitiesVoList) {
KylinOrderTicketEntitiesPreRefundVo refundVo = new KylinOrderTicketEntitiesPreRefundVo();
if (item.getEnterIdCode().length() == 18) {
item.setEnterIdCode(item.getEnterIdCode().substring(0, 3) + "*************" + item.getEnterIdCode().substring(16));
}
......@@ -1224,8 +1228,18 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
}
item.setPriceActual(orderTicketVo.getPriceActual().subtract(orderTicketVo.getPriceExpress()).divide(new BigDecimal(orderTicketVo.getNumber())));
item.setPriceCanRefund(dataUtils.getCanRefundOrderEntitiesPrice(orderTicketVo, kylinOrderRefundsVoBaseList, item.getOrderTicketEntitiesId()));
BeanUtils.copyProperties(item,refundVo);
kylinOrderTicketEntitiesPreRefundVos.add(refundVo);
}
orderTicketVo.setFieldName(performanceVo.getFieldName());
BeanUtils.copyProperties(orderTicketVo,vo);
vo.setEntitiesPreRefundVos(kylinOrderTicketEntitiesPreRefundVos);
return vo;
}catch (Exception e){
e.printStackTrace();
return null;
}
}
@Override
......
......@@ -632,7 +632,7 @@ public class DataUtils {
BigDecimal canRefundSinglePrice = new BigDecimal("0.00");
for (KylinOrderTicketEntitiesVo item : orderTicketVo.getEntitiesVoList()) {
if (item.getOrderTicketEntitiesId().equals(orderTicketEntitiesId)) {
canRefundSinglePrice = singlePrice.subtract(item.getRefundPrice());
canRefundSinglePrice = singlePrice.subtract(item.getRefundPrice()==null?BigDecimal.valueOf(0.00):item.getRefundPrice());
}
}
//订单锁定金额
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment