Commit 7462637a authored by 周健威's avatar 周健威

修复bug

parent 8a8f3ae5
......@@ -15,6 +15,7 @@ public enum OrderCostEnum {
* 编码
*/
private String code;
/**
* 类型描述
*/
......
package com.xxfc.platform.order.entity;
import com.github.wxiaoqi.security.common.util.JsonUtil;
import com.xxfc.platform.order.pojo.price.CostDetailExtend;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -327,4 +329,8 @@ public class OrderRentVehicleDetail implements Serializable {
@ApiModelProperty(value = "费用其他明细 type:1--取消违约金;2--取消费用明细;3--提前还车费用明细;4--延期还车费用明细")
private String costDetailExtend;
public void setCostDetailExtend(CostDetailExtend costDetailExtend) {
this.costDetailExtend = JsonUtil.objectToJson(((CostDetailExtend)costDetailExtend));
}
}
......@@ -9,32 +9,32 @@ public class CancelStartedVO extends CostDetailExtend {
/**
* 消费金额(实际计费)
*/
private BigDecimal consumeAmount;
private BigDecimal consumeAmount = BigDecimal.ZERO;
/**
* 租车单价
*/
private BigDecimal modelAmount;
private BigDecimal modelAmount = BigDecimal.ZERO;
/**
* 使用天数
*/
private Integer usedDayNum;
private Integer usedDayNum = 0;
/**
* 使用金额
*/
private BigDecimal usedAmount;
private BigDecimal usedAmount = BigDecimal.ZERO;
/**
* 使用免费天数
*/
private Integer usedfreeDayNum;
private Integer usedfreeDayNum = 0;
/**
* 使用免费金额
*/
private BigDecimal usedFreeAmount;
private BigDecimal usedFreeAmount = BigDecimal.ZERO;
/**
* 违约金描述
......@@ -44,5 +44,20 @@ public class CancelStartedVO extends CostDetailExtend {
/**
* 违约金金额
*/
private BigDecimal violateAmount;
private BigDecimal violateAmount = BigDecimal.ZERO;
/**
* 优惠金额
*/
private BigDecimal couponAmount = BigDecimal.ZERO;
/**
* 优惠描述
*/
private String couponDesc;
/**
* 原订单是否包含优惠券
*/
private Boolean hadConpon = Boolean.FALSE;
}
......@@ -14,6 +14,7 @@ import com.xxfc.platform.order.pojo.price.CancelStartedVO;
import com.xxfc.platform.order.pojo.price.CostDetailExtend;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
......@@ -69,24 +70,51 @@ public class OrderTemplateBiz extends BaseBiz<OrderTemplateMapper,OrderTemplate>
}});
}
/**
* 计算费用明细
* @param vo
* @return
*/
public void handleCostDetailExtend(CancelNoStartVO vo) {
public <T extends CostDetailExtend> void handleCostDetailExtend(T costDetailExtend) {
switch (costDetailExtend.getType()) {
case CostDetailExtend.CANCEL_NO_START :
break;
case CostDetailExtend.CANCEL_STARTED :
OrderTemplate template = selectByCode(OrderCostEnum.RENT_VEHICLE.getCode());
template.setTemplate(result(template.getTemplate(), new HashMap(){{
put("children", handleChildren(costDetailExtend));
put("consumeAmount", ((CancelStartedVO)costDetailExtend).getConsumeAmount());
}}));
break;
case CostDetailExtend.FINLISH_ADVANCE :
break;
case CostDetailExtend.FINLISH_DELAY :
break;
default:
break;
}
OrderTemplate template = selectByCode(OrderCostEnum.CANCEL_NO_START.getCode());
vo.setCostDetail(result(template.getTemplate(), Dict.parse(vo)));
costDetailExtend.setCostDetail(result(template.getTemplate(), Dict.parse(costDetailExtend)));
}
/**
* 取消费用明细
* @param vo
* @return
*/
public void handleCostDetailExtend(CancelStartedVO vo) {
OrderTemplate template = selectByCode(OrderCostEnum.CANCEL_STARTED.getCode());
vo.setCostDetail(result(template.getTemplate(), Dict.parse(vo)));
public <T extends CostDetailExtend> String handleChildren(T costDetailExtend) {
StringBuffer childrenStr = new StringBuffer("");
if(costDetailExtend instanceof CancelStartedVO) {
CancelStartedVO cancelStartedVO = (CancelStartedVO)costDetailExtend;
childrenStr.append(",${tem_0401}");
if(cancelStartedVO.getUsedfreeDayNum() > 0 ) {
childrenStr.append(",${tem_0402}");
}
if(cancelStartedVO.getHadConpon()) {
if(cancelStartedVO.getCouponAmount().compareTo(BigDecimal.ZERO) > 0) {
childrenStr.append(",${tem_0901}");
}else {
childrenStr.append(",${tem_0902}");
}
}
if(cancelStartedVO.getViolateAmount().compareTo(BigDecimal.ZERO) > 0) {
childrenStr.append(",${tem_0903}");
}
}
if(childrenStr.length() > 0){
childrenStr.deleteCharAt(0);
}
return childrenStr.toString();
}
public static void main(String[] args) {
......
......@@ -6,6 +6,7 @@ import cn.hutool.core.util.StrUtil;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.util.JsonUtil;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.activity.feign.ActivityFeign;
import com.xxfc.platform.order.biz.*;
......@@ -17,6 +18,7 @@ import com.xxfc.platform.order.pojo.calculate.InProgressVO;
import com.xxfc.platform.order.pojo.mq.OrderMQDTO;
import com.xxfc.platform.order.pojo.price.CancelNoStartVO;
import com.xxfc.platform.order.pojo.price.CancelStartedVO;
import com.xxfc.platform.order.pojo.price.CostDetailExtend;
import com.xxfc.platform.tour.feign.TourFeign;
import com.xxfc.platform.universal.feign.ThirdFeign;
import com.xxfc.platform.vehicle.common.RestResponse;
......@@ -175,7 +177,7 @@ public class OrderCancelBiz {
}
}
orderTemplateBiz.handleCostDetailExtend(csv);
orvd.setCostDetailExtend(csv.getCostDetail());
orvd.setCostDetailExtend(csv);
orderRentVehicleBiz.updateSelectiveByIdRe(orvd);
}else {
//没到出车时间
......@@ -201,7 +203,7 @@ public class OrderCancelBiz {
setViolateDesc(deduction.getName());
}};
orderTemplateBiz.handleCostDetailExtend(cnsv);
orvd.setCostDetailExtend(cnsv.getCostDetail());
orvd.setCostDetailExtend(cnsv);
orderRentVehicleBiz.updateSelectiveByIdRe(orvd);
}
}
......
......@@ -411,7 +411,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
* @return
*/
private void costDetail(RentVehiclePriceVO vo, String children) {
OrderTemplate template = orderTemplateBiz.selectById(OrderCostEnum.RENT_VEHICLE.getCode());
OrderTemplate template = orderTemplateBiz.selectByCode(OrderCostEnum.RENT_VEHICLE.getCode());
template.setTemplate(orderTemplateBiz.result(template.getTemplate(), new HashMap(){{
put("children", children);
put("vehicleAmount", vo.getVehicleAmount());
......
......@@ -310,7 +310,7 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
* @return
*/
private void costDetail(TourPriceVO vo, String children) {
OrderTemplate template = orderTemplateBiz.selectById(OrderCostEnum.RENT_VEHICLE.getCode());
OrderTemplate template = orderTemplateBiz.selectByCode(OrderCostEnum.RENT_VEHICLE.getCode());
template.setTemplate(orderTemplateBiz.result(template.getTemplate(), new HashMap(){{
put("children", children);
}}));
......
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