Commit f30adf44 authored by hanfeng's avatar hanfeng

修改租车订单

parent 83fbd9b9
......@@ -6,6 +6,7 @@ import com.xxfc.platform.order.entity.OrderVehicleCrosstown;
import com.xxfc.platform.order.pojo.DedDetailDTO;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
......@@ -79,4 +80,19 @@ public class OrderVehicleCrosstownDto extends OrderVehicleCrosstown {
private Integer showType;
/**
* 实际退还的部分押金
*/
private String actualDeposit;
/**
* 实际退还剩余押金
*/
private BigDecimal refundOfRemainingDeposit;
/**
* 违章扣款
*/
private BigDecimal violationOfCharges;
}
\ No newline at end of file
......@@ -17,12 +17,15 @@ import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.activity.entity.Coupon;
import com.xxfc.platform.activity.user.UserInfoBiz;
import com.xxfc.platform.order.biz.inner.OrderMsgBiz;
import com.xxfc.platform.order.contant.enumerate.AccountTypeEnum;
import com.xxfc.platform.order.contant.enumerate.CrosstownTypeEnum;
import com.xxfc.platform.order.contant.enumerate.DepositRefundStatus;
import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum;
import com.xxfc.platform.order.entity.*;
import com.xxfc.platform.order.mapper.OrderVehicaleCrosstownMapper;
import com.xxfc.platform.order.pojo.DedDetailDTO;
import com.xxfc.platform.order.pojo.account.OrderAccountDeduction;
import com.xxfc.platform.order.pojo.account.OrderAccountDetail;
import com.xxfc.platform.order.pojo.mq.OrderMQDTO;
import com.xxfc.platform.order.pojo.order.OrderPageVO;
import com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto;
......@@ -36,6 +39,7 @@ import com.xxfc.platform.vehicle.feign.VehicleFeign;
import com.xxfc.platform.vehicle.pojo.CompanyDetail;
import com.xxfc.platform.vehicle.pojo.VehicleArrivalVo;
import com.xxfc.platform.vehicle.pojo.VehicleDepartureVo;
import jodd.util.StringUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.map.HashedMap;
......@@ -83,6 +87,9 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
OrderItemBiz orderItemBiz;
@Autowired
OrderMsgBiz orderMsgBiz;
@Autowired
OrderAccountBiz orderAccountBiz;
public OrderVehicleCrosstown get(Integer id) {
return selectById(id);
......@@ -106,31 +113,47 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
}
}
}
if (value.getType() == 2 || value.getType() == 3) {
List<Coupon> c = baseOrderBiz.getReturnCouponByOrderId(value.getOrderId());
value.setBackCoupons(c);
if (StringUtils.isNotBlank(value.getDedDetail())) {
List<DedDetailDTO> dddList = JSONUtil.toList(JSONUtil.parseArray(value.getDedDetail()), DedDetailDTO.class);
value.setDedDetailDTOList(dddList);
}
if (StringUtils.isNotBlank(value.getViolateDetail())) {
List<DedDetailDTO> dddList = JSONUtil.toList(JSONUtil.parseArray(value.getViolateDetail()), DedDetailDTO.class);
value.setViolateDetailList(dddList);
}
}
if (StringUtils.isNotBlank(value.getDedDetail())) {
List<DedDetailDTO> dddList = JSONUtil.toList(JSONUtil.parseArray(value.getDedDetail()), DedDetailDTO.class);
value.setDedDetailDTOList(dddList);
}
if (StringUtils.isNotBlank(value.getViolateDetail())) {
List<DedDetailDTO> dddList = JSONUtil.toList(JSONUtil.parseArray(value.getViolateDetail()), DedDetailDTO.class);
value.setViolateDetailList(dddList);
if (value.getType()!=1){
Example example = new Example(OrderAccount.class);
//获取退还部分押金和剩余押金的记录
example.createCriteria().andEqualTo("order_id",value.getOrderId()).andIn("accountType",Lists.newArrayList(AccountTypeEnum.OUT_PART_DEPOSIT.getCode(),AccountTypeEnum.OUT_RESIDUE_DEPOSIT.getCode()) );
List<OrderAccount> orderAccounts = orderAccountBiz.selectByExample(example);
if (CollectionUtil.isEmpty(orderAccounts)) {
value.setActualDeposit("定损中");
}
for (OrderAccount orderAccount : orderAccounts) {
if (AccountTypeEnum.OUT_PART_DEPOSIT.getCode().equals(orderAccount.getAccountType())) {
OrderAccountDetail orderAccountDetail = JSONUtil.toBean(orderAccount.getAccountDetail(), OrderAccountDetail.class);
value.setActualDeposit(orderAccountDetail.getDepositAmount().toString());
}
if (AccountTypeEnum.OUT_RESIDUE_DEPOSIT.getCode().equals(orderAccount.getAccountType())) {
value.setRefundOfRemainingDeposit(orderAccount.getOriginalAmount());
value.setViolationOfCharges(orderAccount.getDeductAmount());
}
}
}
updateCrossRecord(value);
List<DepositRefundRecord> depositRefundRecords = orderDepositRefundRecordBiz.selectByCrossId(value.getId());
if ( orderVehicleCrosstownDto.getAddress()!=null&&
1 == orderVehicleCrosstownDto.getAddress() && CollectionUtil.isNotEmpty(depositRefundRecords)) {
depositRefundRecords = depositRefundRecords.parallelStream().filter(e -> {
if (e.getStatus() == 1) {
value.setShowType(1);
return false;
}
if (e.getStatus() == 4||e.getStatus() == 5) {
value.setShowType(2);
if (e.getStatus() == 4||e.getStatus() == 5||e.getStatus() == 1) {
return false;
}
return true;
......
......@@ -38,6 +38,7 @@
<select id="selectByOrderId" parameterType="com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto" resultType="com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto">
select o.*, o.violate_amount_detail violateDetail
from order_vehicle_crosstown o
<where>
<if test="status != null">
and o.status = #{status}
......@@ -48,6 +49,9 @@
<if test="orderId != null">
and o.order_id = #{orderId}
</if>
<if test="address != null and address== 1">
and o.type != 1
</if>
<if test="orderNo != null">
and o.order_no = #{orderNo}
</if>
......@@ -65,4 +69,5 @@
where order_no = #{no} and type = #{type}
</select>
</mapper>
\ No newline at end of file
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