Commit 2b138687 authored by jiaorz's avatar jiaorz

添加定损列表

parent 0c7390c8
...@@ -20,12 +20,12 @@ public class GlobalBasicConfiguration implements ApplicationRunner{ ...@@ -20,12 +20,12 @@ public class GlobalBasicConfiguration implements ApplicationRunner{
@Override @Override
public void run(ApplicationArguments args) throws Exception { public void run(ApplicationArguments args) throws Exception {
showApplicationProperties("数据库连接地址: ", "spring.datasource.url"); showApplicationProperties("数据库连接地址: ", "spring.datasource.url");
showApplicationProperties("Redis连接主机: ", "spring.redis.host"); showApplicationProperties("Redis连接主机: ", "spring.redis.host");
showApplicationProperties("Redis连接端口: ", "spring.redis.port"); showApplicationProperties("Redis连接端口: ", "spring.redis.port");
showApplicationProperties("rabbitmq连接主机", "spring.rabbitmq.host"); showApplicationProperties("rabbitmq连接主机", "spring.rabbitmq.host");
showApplicationProperties("rabbitmq连接虚拟机", "spring.rabbitmq.virtual-host"); showApplicationProperties("rabbitmq连接虚拟机", "spring.rabbitmq.virtual-host");
} }
public static void showApplicationProperties(String key, String value) { public static void showApplicationProperties(String key, String value) {
if(env != null) { if(env != null) {
......
...@@ -64,15 +64,15 @@ public class IntegralUserRecordBiz extends BaseBiz<IntegralUserRecordMapper, Int ...@@ -64,15 +64,15 @@ public class IntegralUserRecordBiz extends BaseBiz<IntegralUserRecordMapper, Int
IntegralRule oldValue = ruleObjectRestResponse.getData(); IntegralRule oldValue = ruleObjectRestResponse.getData();
if (integralUserRecord.getPoint() == null) { if (integralUserRecord.getPoint() == null) {
Integer point = 0; Integer point = 0;
if(oldValue.getPoint() == 0) {//没有基础分需要计算分数 if (oldValue.getPoint() == 0) {//没有基础分需要计算分数
//Integer amount = Integer.parseInt(new BigDecimal(integralUserRecord.getAmount()).divide(new BigDecimal("100"), 0, BigDecimal.ROUND_DOWN).toString()); //Integer amount = Integer.parseInt(new BigDecimal(integralUserRecord.getAmount()).divide(new BigDecimal("100"), 0, BigDecimal.ROUND_DOWN).toString());
Integer amount = Integer.parseInt(integralUserRecord.getAmount()); Integer amount = Integer.parseInt(integralUserRecord.getAmount());
JSONObject jsonObject = JSONObject.parseObject(oldValue.getOtherRule()); JSONObject jsonObject = JSONObject.parseObject(oldValue.getOtherRule());
log.info("查询的其他规则json信息:jsonObject = {}", jsonObject); log.info("查询的其他规则json信息:jsonObject = {}", jsonObject);
if(jsonObject == null) { if (jsonObject == null) {
point = ruleObjectRestResponse.getData().getPoint(); point = ruleObjectRestResponse.getData().getPoint();
} else { } else {
point = jsonObject.getInteger("rule") == null? 0 * amount: jsonObject.getInteger("rule") * amount; point = jsonObject.getInteger("rule") == null ? 0 * amount : jsonObject.getInteger("rule") * amount;
} }
} else { } else {
...@@ -101,7 +101,7 @@ public class IntegralUserRecordBiz extends BaseBiz<IntegralUserRecordMapper, Int ...@@ -101,7 +101,7 @@ public class IntegralUserRecordBiz extends BaseBiz<IntegralUserRecordMapper, Int
} }
} }
insertSelective(integralUserRecord.getIntegralUserRecord()); insertSelective(integralUserRecord.getIntegralUserRecord());
if(oldValue != null) { if (oldValue != null) {
getUserRecordStatus(integralUserRecord, oldValue.getPeriod(), oldValue.getNumber()); getUserRecordStatus(integralUserRecord, oldValue.getPeriod(), oldValue.getNumber());
} }
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
...@@ -160,19 +160,19 @@ public class IntegralUserRecordBiz extends BaseBiz<IntegralUserRecordMapper, Int ...@@ -160,19 +160,19 @@ public class IntegralUserRecordBiz extends BaseBiz<IntegralUserRecordMapper, Int
} }
/** /**
* //判断用户获取积分是否达标 * //判断用户获取积分是否达标
*
* @param integralUserRecordDto 积分记录实体 * @param integralUserRecordDto 积分记录实体
* @param period 周期 * @param period 周期
* number 周期内可获得积分的次数 * number 周期内可获得积分的次数
*/ */
public void getUserRecordStatus(IntegralUserRecordDto integralUserRecordDto, Integer period, Integer number) { public void getUserRecordStatus(IntegralUserRecordDto integralUserRecordDto, Integer period, Integer number) {
IntegralUserStatus integralUserStatus = new IntegralUserStatus(); IntegralUserStatus integralUserStatus = new IntegralUserStatus();
integralUserStatus.setUserId(integralUserRecordDto.getUserId()); integralUserStatus.setUserId(integralUserRecordDto.getUserId());
integralUserStatus.setIntegralRuleCode(integralUserRecordDto.getIntegralRuleCode()); integralUserStatus.setIntegralRuleCode(integralUserRecordDto.getIntegralRuleCode());
if(period == IntegralRulePeriod.DAY.getCode()) {//按天 if (period == IntegralRulePeriod.DAY.getCode()) {//按天
integralUserRecordDto.setStartTime(IntegralToolsUtils.getDayStart()); integralUserRecordDto.setStartTime(IntegralToolsUtils.getDayStart());
integralUserRecordDto.setEndTime(IntegralToolsUtils.getDayStart() + 24 * 60 * 60 * 1000); integralUserRecordDto.setEndTime(IntegralToolsUtils.getDayStart() + 24 * 60 * 60 * 1000);
Integer count = mapper.countByUserAndCode(integralUserRecordDto); Integer count = mapper.countByUserAndCode(integralUserRecordDto);
......
package com.xxfc.platform.order.contant.enumerate;
import java.util.HashMap;
import java.util.Map;
public enum DepositRefundStatus {
INITIATEREFUND(1,"发起退还"),
REFUNDARRIVAL(2,"退还到账"),
VIOLATIONARRIVAL (3,"违章到账"),
FIXLOSS(4,"定损中"),
FIXLOSSREFUND(5,"定损押金退还"),
FIXLOSSREFUNDARRIVAL(6,"定损押金已到账"),
;
/**
* 编码
*/
private Integer code;
/**
* 类型描述
*/
private String desc;
private static Map<Integer,String> codeAndDesc = new HashMap<Integer, String>();
DepositRefundStatus(Integer code, String desc){
this.code=code;
this.desc=desc;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public static Boolean exists(Integer code){
return codeAndDesc.containsKey(code);
}
}
package com.xxfc.platform.order.entity;
import lombok.Data;
import javax.persistence.*;
import java.math.BigDecimal;
@Table(name = "deposit_refund_record")
@Data
public class DepositRefundRecord {
@Id
private Integer id;
/**
* 定损状态:1、押金退还已经发起,2、押金退还已到账,3、违章押金已到账,4、定损中,5、完成定损退还剩余押金,6、剩余押金退还到账,
*/
private Integer status;
/**
* 创建时间
*/
@Column(name = "crt_time")
private Long crtTime;
/**
* 更新时间
*/
@Column(name = "upd_time")
private Long updTime;
/**
* 交还车记录ID
*/
@Column(name = "crosstown_id")
private Integer crosstownId;
/**
* 退换押金
*/
private BigDecimal amount;
/**
* 剩余押金
*/
private BigDecimal restAmount;
/**
* 总共押金
*/
private BigDecimal totalAmount;
/**
* 是否显示
*/
private Boolean isshow;
/**
* 是否完成
*/
private Boolean iscomplete;
}
\ No newline at end of file
...@@ -106,7 +106,7 @@ public class OrderVehicleCrosstown { ...@@ -106,7 +106,7 @@ public class OrderVehicleCrosstown {
private String dedDetail; private String dedDetail;
/** /**
* 1、交车, 2、还车 * 1、交车, 2、还车, 3、定损还车
*/ */
private Integer type; private Integer type;
......
...@@ -30,4 +30,5 @@ public class OrderVehicleCrosstownDto extends OrderVehicleCrosstown { ...@@ -30,4 +30,5 @@ public class OrderVehicleCrosstownDto extends OrderVehicleCrosstown {
private String username; private String username;
} }
package com.xxfc.platform.order.biz; package com.xxfc.platform.order.biz;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.admin.dto.UserMemberDTO; import com.github.wxiaoqi.security.admin.dto.UserMemberDTO;
import com.github.wxiaoqi.security.admin.feign.UserFeign; import com.github.wxiaoqi.security.admin.feign.UserFeign;
...@@ -10,15 +9,12 @@ import com.github.wxiaoqi.security.admin.vo.AppUserVo; ...@@ -10,15 +9,12 @@ import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.exception.BaseException; import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.IntervalUtil;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.xxfc.platform.activity.feign.ActivityFeign; import com.xxfc.platform.activity.feign.ActivityFeign;
import com.xxfc.platform.order.biz.inner.OrderMsgBiz; import com.xxfc.platform.order.biz.inner.OrderMsgBiz;
import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum; import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum;
import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum; import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
import com.xxfc.platform.order.contant.enumerate.RefundStatusEnum;
import com.xxfc.platform.order.contant.enumerate.RefundTypeEnum;
import com.xxfc.platform.order.entity.*; import com.xxfc.platform.order.entity.*;
import com.xxfc.platform.order.mapper.BaseOrderMapper; import com.xxfc.platform.order.mapper.BaseOrderMapper;
import com.xxfc.platform.order.pojo.mq.OrderMQDTO; import com.xxfc.platform.order.pojo.mq.OrderMQDTO;
...@@ -30,25 +26,25 @@ import com.xxfc.platform.universal.constant.DictionaryKey; ...@@ -30,25 +26,25 @@ import com.xxfc.platform.universal.constant.DictionaryKey;
import com.xxfc.platform.universal.entity.Dictionary; import com.xxfc.platform.universal.entity.Dictionary;
import com.xxfc.platform.universal.feign.MQSenderFeign; import com.xxfc.platform.universal.feign.MQSenderFeign;
import com.xxfc.platform.universal.feign.ThirdFeign; import com.xxfc.platform.universal.feign.ThirdFeign;
import com.xxfc.platform.universal.vo.OrderRefundVo;
import com.xxfc.platform.vehicle.common.RestResponse; import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.entity.Vehicle; import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.entity.VehicleUserLicense; import com.xxfc.platform.vehicle.entity.VehicleUserLicense;
import com.xxfc.platform.vehicle.feign.VehicleFeign; import com.xxfc.platform.vehicle.feign.VehicleFeign;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.jexl2.MapContext;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*; import java.util.List;
import java.util.Map;
import java.util.TimeZone;
import static com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant.*; import static com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant.*;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_FALSE; import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_FALSE;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TRUE; import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TRUE;
import static com.xxfc.platform.universal.constant.DictionaryKey.*; import static com.xxfc.platform.universal.constant.DictionaryKey.APP_ORDER;
/** /**
* *
...@@ -71,7 +67,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> { ...@@ -71,7 +67,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
OrderRentVehicleBiz orderRentVehicleBiz; OrderRentVehicleBiz orderRentVehicleBiz;
@Autowired @Autowired
OrderVehicalCrosstownBiz orderVehicalCrosstownBiz; OrderVehicleCrosstownBiz orderVehicleCrosstownBiz;
@Autowired @Autowired
OrderUserLicenseBiz orderUserLicenseBiz; OrderUserLicenseBiz orderUserLicenseBiz;
...@@ -164,7 +160,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> { ...@@ -164,7 +160,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
OrderVehicleCrosstownDto orderVehicleCrosstownDto = new OrderVehicleCrosstownDto(); OrderVehicleCrosstownDto orderVehicleCrosstownDto = new OrderVehicleCrosstownDto();
orderVehicleCrosstownDto.setOrderId(orderPageVo.getId()); orderVehicleCrosstownDto.setOrderId(orderPageVo.getId());
orderVehicleCrosstownDto.setOrderNo(orderPageVo.getNo()); orderVehicleCrosstownDto.setOrderNo(orderPageVo.getNo());
List<OrderVehicleCrosstownDto> orderVehicleCrosstowns = orderVehicalCrosstownBiz.selectByOrderId(orderVehicleCrosstownDto); List<OrderVehicleCrosstownDto> orderVehicleCrosstowns = orderVehicleCrosstownBiz.selectByOrderId(orderVehicleCrosstownDto);
if(orderVehicleCrosstowns != null && orderVehicleCrosstowns.size() > 0) { if(orderVehicleCrosstowns != null && orderVehicleCrosstowns.size() > 0) {
List<OrderUserLicense> orderUserLicenses = orderUserLicenseBiz.selectByIds(orderVehicleCrosstowns.get(0).getUserLicenseId()).getData(); List<OrderUserLicense> orderUserLicenses = orderUserLicenseBiz.selectByIds(orderVehicleCrosstowns.get(0).getUserLicenseId()).getData();
if(orderUserLicenses != null && orderUserLicenses.size() > 0) { if(orderUserLicenses != null && orderUserLicenses.size() > 0) {
...@@ -194,7 +190,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> { ...@@ -194,7 +190,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
ids.add(Integer.parseInt(orderPageVo.getOrderTourDetail().getTourUserIds())); ids.add(Integer.parseInt(orderPageVo.getOrderTourDetail().getTourUserIds()));
} }
List<AppUserVo> list = userFeign.getByUserIds(ids).getData(); List<AppUserVo> list = userFeign.getByUserIds(ids).getData();
orderPageVo.getOrderTourDetail().setUserVoList(list); orderPageVo.getOrderTourDetail().setUserVoList(list == null|| list.size() <= 0 ? null : list);
} }
//设置保留金 //设置保留金
Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData(); Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData();
......
package com.xxfc.platform.order.biz;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.xxfc.platform.order.contant.enumerate.DepositRefundStatus;
import com.xxfc.platform.order.entity.DepositRefundRecord;
import com.xxfc.platform.order.mapper.DepositRefundRecordMapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.HashMap;
import java.util.Map;
@Service
@Transactional
public class OrderDepositRefundRecordBiz extends BaseBiz<DepositRefundRecordMapper, DepositRefundRecord> {
/**
* 添加正常记录
*/
public void saveNormalRecord(DepositRefundRecord depositRefundRecord) {
depositRefundRecord.setStatus(DepositRefundStatus.INITIATEREFUND.getCode());
depositRefundRecord.setIscomplete(true);
insertSelectiveRe(depositRefundRecord);
depositRefundRecord.setStatus(DepositRefundStatus.REFUNDARRIVAL.getCode());
depositRefundRecord.setIscomplete(false);
insertSelectiveRe(depositRefundRecord);
depositRefundRecord.setStatus(DepositRefundStatus.VIOLATIONARRIVAL.getCode());
insertSelectiveRe(depositRefundRecord);
}
/**
* 添加定损记录
* @param depositRefundRecord
*/
public void saveFixLossRecord(DepositRefundRecord depositRefundRecord) {
depositRefundRecord.setStatus(DepositRefundStatus.FIXLOSS.getCode());
depositRefundRecord.setIscomplete(true);
insertSelectiveRe(depositRefundRecord);
depositRefundRecord.setIscomplete(false);
depositRefundRecord.setStatus(DepositRefundStatus.FIXLOSSREFUND.getCode());
insertSelectiveRe(depositRefundRecord);
depositRefundRecord.setStatus(DepositRefundStatus.FIXLOSSREFUNDARRIVAL.getCode());
insertSelectiveRe(depositRefundRecord);
depositRefundRecord.setStatus(DepositRefundStatus.VIOLATIONARRIVAL.getCode());
insertSelectiveRe(depositRefundRecord);
}
public DepositRefundRecord findByCrossIdAndStatus(Integer crossId, Integer status) {
Map<String, Object> map = new HashMap<>();
map.put("crossId", crossId);
map.put("status", status);
return mapper.findByCrossIdAndStatus(map);
}
}
...@@ -46,7 +46,7 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> { ...@@ -46,7 +46,7 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
OrderRentVehicleBiz orderRentVehicleBiz; OrderRentVehicleBiz orderRentVehicleBiz;
@Autowired @Autowired
OrderVehicalCrosstownBiz crosstownBiz; OrderVehicleCrosstownBiz crosstownBiz;
@Autowired @Autowired
OrderViolationBiz orderViolationBiz; OrderViolationBiz orderViolationBiz;
......
package com.xxfc.platform.order.biz; package com.xxfc.platform.order.biz;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import com.github.wxiaoqi.security.admin.feign.UserFeign; import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO; import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO; import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.activity.user.UserInfoBiz; import com.xxfc.platform.activity.user.UserInfoBiz;
import com.xxfc.platform.order.contant.enumerate.CrosstownTypeEnum; 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.contant.enumerate.OrderStatusEnum;
import com.xxfc.platform.order.entity.BaseOrder; import com.xxfc.platform.order.entity.*;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import com.xxfc.platform.order.entity.OrderUserLicense;
import com.xxfc.platform.order.entity.OrderVehicleCrosstown;
import com.xxfc.platform.order.mapper.OrderVehicaleCrosstownMapper; import com.xxfc.platform.order.mapper.OrderVehicaleCrosstownMapper;
import com.xxfc.platform.order.pojo.mq.OrderMQDTO; import com.xxfc.platform.order.pojo.mq.OrderMQDTO;
import com.xxfc.platform.order.pojo.order.OrderPageVO;
import com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto; import com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto;
import com.xxfc.platform.vehicle.common.RestResponse; import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.entity.Vehicle; import com.xxfc.platform.vehicle.entity.Vehicle;
...@@ -25,14 +27,15 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -25,14 +27,15 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
@Service @Service
@Slf4j @Slf4j
public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapper, OrderVehicleCrosstown> { public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapper, OrderVehicleCrosstown> {
@Autowired @Autowired
OrderVehicalCrosstownBiz orderVehicalCrosstownBiz; OrderVehicleCrosstownBiz orderVehicleCrosstownBiz;
@Autowired @Autowired
OrderUserLicenseBiz orderUserLicenseBiz; OrderUserLicenseBiz orderUserLicenseBiz;
...@@ -46,6 +49,9 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -46,6 +49,9 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
@Autowired @Autowired
private OrderRentVehicleBiz orderRentVehicleBiz; private OrderRentVehicleBiz orderRentVehicleBiz;
@Autowired
private OrderDepositRefundRecordBiz orderDepositRefundRecordBiz;
@Autowired @Autowired
BaseOrderBiz baseOrderBiz; BaseOrderBiz baseOrderBiz;
...@@ -117,13 +123,23 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -117,13 +123,23 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
vehicleFeign.arrivalBySmall(vehicleArrivalVo); vehicleFeign.arrivalBySmall(vehicleArrivalVo);
} }
//出车成功后修改订单状态 //出车成功后修改订单状态
List<OrderVehicleCrosstownDto> oldValue = orderVehicalCrosstownBiz.selectByOrderId(orderVehicleCrosstownDto); List<OrderVehicleCrosstownDto> oldValue = orderVehicleCrosstownBiz.selectByOrderId(orderVehicleCrosstownDto);
if (oldValue .size() == 1) { if (oldValue .size() == 1) {
BeanUtil.copyProperties(orderVehicleCrosstownDto, oldValue.get(0), CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true));
getOrderLicense(orderVehicleCrosstownDto);
handleOrderStatus(baseOrder, orderRentVehicleDetail, oldValue.get(0));
updateSelectiveByIdRe(oldValue.get(0));
RestResponse<Vehicle> restResponse = vehicleFeign.findById(orderRentVehicleDetail.getVehicleId());
if(restResponse.getData() != null) {
orderVehicleCrosstownDto.setVehicleNumberPlat(restResponse.getData().getNumberPlate());
}
return ObjectRestResponse.succ(oldValue.get(0)); return ObjectRestResponse.succ(oldValue.get(0));
} else if(oldValue .size() <= 0) { } else if(oldValue .size() <= 0) {
getOrderLicense(orderVehicleCrosstownDto); getOrderLicense(orderVehicleCrosstownDto);
orderVehicalCrosstownBiz.insertSelective(orderVehicleCrosstownDto); orderVehicleCrosstownBiz.insertSelective(orderVehicleCrosstownDto);
handleOrderStatus(baseOrder, orderRentVehicleDetail, orderVehicleCrosstownDto.getType());
OrderVehicleCrosstown orderVehicleCrosstown = orderVehicleCrosstownBiz.selectOne(orderVehicleCrosstownDto);
handleOrderStatus(baseOrder, orderRentVehicleDetail, orderVehicleCrosstown);
RestResponse<Vehicle> restResponse = vehicleFeign.findById(orderRentVehicleDetail.getVehicleId()); RestResponse<Vehicle> restResponse = vehicleFeign.findById(orderRentVehicleDetail.getVehicleId());
if(restResponse.getData() != null) { if(restResponse.getData() != null) {
orderVehicleCrosstownDto.setVehicleNumberPlat(restResponse.getData().getNumberPlate()); orderVehicleCrosstownDto.setVehicleNumberPlat(restResponse.getData().getNumberPlate());
...@@ -133,22 +149,52 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -133,22 +149,52 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
return ObjectRestResponse.createDefaultFail(); return ObjectRestResponse.createDefaultFail();
} }
private void handleOrderStatus(BaseOrder baseOrder, OrderRentVehicleDetail orderRentVehicleDetail, Integer type) { private void handleOrderStatus(BaseOrder baseOrder, OrderRentVehicleDetail orderRentVehicleDetail, OrderVehicleCrosstown orderVehicleCrosstown) {
//交车完成 设置订单状态为出行中 //交车完成 设置订单状态为出行中
BigDecimal totalAmount = new BigDecimal(0);
ObjectRestResponse<OrderPageVO> objectRestResponse = baseOrderBiz.getOrderDetail(baseOrder.getNo());
if(objectRestResponse.getData() != null && objectRestResponse.getData().getOrderRentVehicleDetail() != null) {
totalAmount = objectRestResponse.getData().getOrderRentVehicleDetail().getDeposit();
}
if (baseOrder.getStatus() == OrderStatusEnum.ORDER_TOSTART.getCode()) {//交车 if (baseOrder.getStatus() == OrderStatusEnum.ORDER_TOSTART.getCode()) {//交车
//判断是否是今日交车 //判断是否是今日交车
baseOrder.setStatus(OrderStatusEnum.ORDER_WAIT.getCode()); baseOrder.setStatus(OrderStatusEnum.ORDER_WAIT.getCode());
baseOrderBiz.updateSelectiveById(baseOrder); baseOrderBiz.updateSelectiveById(baseOrder);
} else if (baseOrder.getStatus() == OrderStatusEnum.ORDER_WAIT.getCode()) { //还车 } else if (baseOrder.getStatus() == OrderStatusEnum.ORDER_WAIT.getCode()) { //还车
if(type == CrosstownTypeEnum.ARRIVE.getCode()) {//不定损直接还车 if(orderVehicleCrosstown.getType() == CrosstownTypeEnum.ARRIVE.getCode()) {//不定损直接还车
//添加非定损记录
DepositRefundRecord depositRefundRecord = new DepositRefundRecord();
depositRefundRecord.setAmount(orderVehicleCrosstown.getDeductionCost());
depositRefundRecord.setRestAmount(orderVehicleCrosstown.getRestDeposit());
depositRefundRecord.setTotalAmount(totalAmount);
depositRefundRecord.setCrosstownId(orderVehicleCrosstown.getId());
orderDepositRefundRecordBiz.saveNormalRecord(depositRefundRecord);
baseOrder.setStatus(OrderStatusEnum.ORDER_FINISH.getCode()); baseOrder.setStatus(OrderStatusEnum.ORDER_FINISH.getCode());
baseOrderBiz.updateSelectiveById(baseOrder); baseOrderBiz.updateSelectiveById(baseOrder);
baseOrderBiz.sendOrderMq(orderRentVehicleDetail, null, null, baseOrder, OrderMQDTO.ORDER_FINISH); baseOrderBiz.sendOrderMq(orderRentVehicleDetail, null, null, baseOrder, OrderMQDTO.ORDER_FINISH);
} else if(type == CrosstownTypeEnum.FIXED_LOSS.getCode()){ //定损还车 } else if(orderVehicleCrosstown.getType() == CrosstownTypeEnum.FIXED_LOSS.getCode()){ //定损还车,添加定损记录
//添加定损记录
DepositRefundRecord depositRefundRecord = new DepositRefundRecord();
depositRefundRecord.setAmount(orderVehicleCrosstown.getDeductionCost());
depositRefundRecord.setRestAmount(orderVehicleCrosstown.getRestDeposit());
depositRefundRecord.setTotalAmount(totalAmount);
depositRefundRecord.setCrosstownId(orderVehicleCrosstown.getId());
orderDepositRefundRecordBiz.saveFixLossRecord(depositRefundRecord);
baseOrder.setStatus(OrderStatusEnum.ORDER_FIXED_LOSS.getCode()); baseOrder.setStatus(OrderStatusEnum.ORDER_FIXED_LOSS.getCode());
baseOrderBiz.updateSelectiveById(baseOrder); baseOrderBiz.updateSelectiveById(baseOrder);
} }
} else if (baseOrder.getStatus() == OrderStatusEnum.ORDER_FIXED_LOSS.getCode()) {//定损后还车 } else if (baseOrder.getStatus() == OrderStatusEnum.ORDER_FIXED_LOSS.getCode()) {//定损后还车
DepositRefundRecord depositRefundRecord = orderDepositRefundRecordBiz.findByCrossIdAndStatus(orderVehicleCrosstown.getId(), DepositRefundStatus.FIXLOSSREFUND.getCode());
if(depositRefundRecord != null) {
depositRefundRecord.setIscomplete(true); //发起退款显示
depositRefundRecord.setAmount(orderVehicleCrosstown.getDeductionCost());
depositRefundRecord.setRestAmount(orderVehicleCrosstown.getRestDeposit());
depositRefundRecord.setTotalAmount(totalAmount);
depositRefundRecord.setCrosstownId(orderVehicleCrosstown.getId());
orderDepositRefundRecordBiz.updateSelectiveByIdRe(depositRefundRecord);
} else {
throw new BaseException("定损记录不存在!请联系客服");
}
baseOrder.setStatus(OrderStatusEnum.ORDER_FINISH.getCode()); baseOrder.setStatus(OrderStatusEnum.ORDER_FINISH.getCode());
baseOrderBiz.updateSelectiveById(baseOrder); baseOrderBiz.updateSelectiveById(baseOrder);
baseOrderBiz.sendOrderMq(orderRentVehicleDetail, null, null, baseOrder, OrderMQDTO.ORDER_FINISH); baseOrderBiz.sendOrderMq(orderRentVehicleDetail, null, null, baseOrder, OrderMQDTO.ORDER_FINISH);
......
package com.xxfc.platform.order.jobhandler; package com.xxfc.platform.order.jobhandler;
import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.common.util.IntervalUtil; import com.github.wxiaoqi.security.common.util.IntervalUtil;
import com.xxfc.platform.order.biz.*; import com.xxfc.platform.order.biz.*;
import com.xxfc.platform.order.contant.enumerate.*; import com.xxfc.platform.order.contant.enumerate.*;
import com.xxfc.platform.order.entity.BaseOrder; import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail; import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import com.xxfc.platform.order.entity.OrderVehicleCrosstown;
import com.xxfc.platform.order.entity.OrderViolation; import com.xxfc.platform.order.entity.OrderViolation;
import com.xxfc.platform.order.pojo.DedDetailDTO;
import com.xxfc.platform.universal.constant.DictionaryKey; import com.xxfc.platform.universal.constant.DictionaryKey;
import com.xxfc.platform.universal.entity.Dictionary; import com.xxfc.platform.universal.entity.Dictionary;
import com.xxfc.platform.universal.feign.ThirdFeign; import com.xxfc.platform.universal.feign.ThirdFeign;
...@@ -46,7 +43,7 @@ public class RentDepositJobHandler extends IJobHandler { ...@@ -46,7 +43,7 @@ public class RentDepositJobHandler extends IJobHandler {
OrderRentVehicleBiz orderRentVehicleBiz; OrderRentVehicleBiz orderRentVehicleBiz;
@Autowired @Autowired
OrderVehicalCrosstownBiz crosstownBiz; OrderVehicleCrosstownBiz crosstownBiz;
@Autowired @Autowired
OrderViolationBiz orderViolationBiz; OrderViolationBiz orderViolationBiz;
......
package com.xxfc.platform.order.mapper;
import com.xxfc.platform.order.entity.DepositRefundRecord;
import tk.mybatis.mapper.common.Mapper;
import java.util.Map;
public interface DepositRefundRecordMapper extends Mapper<DepositRefundRecord> {
DepositRefundRecord findByCrossIdAndStatus(Map<String, Object> map);
}
\ No newline at end of file
...@@ -21,7 +21,7 @@ import com.github.wxiaoqi.security.common.vo.PageDataVO; ...@@ -21,7 +21,7 @@ import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.order.biz.BaseOrderBiz; import com.xxfc.platform.order.biz.BaseOrderBiz;
import com.xxfc.platform.order.biz.OrderMemberDetailBiz; import com.xxfc.platform.order.biz.OrderMemberDetailBiz;
import com.xxfc.platform.order.biz.OrderUserLicenseBiz; import com.xxfc.platform.order.biz.OrderUserLicenseBiz;
import com.xxfc.platform.order.biz.OrderVehicalCrosstownBiz; import com.xxfc.platform.order.biz.OrderVehicleCrosstownBiz;
import com.xxfc.platform.order.biz.inner.OrderCancelBiz; import com.xxfc.platform.order.biz.inner.OrderCancelBiz;
import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum; import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum;
import com.xxfc.platform.order.entity.BaseOrder; import com.xxfc.platform.order.entity.BaseOrder;
...@@ -77,7 +77,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes ...@@ -77,7 +77,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes
OrderUserLicenseBiz orderUserLicenseBiz; OrderUserLicenseBiz orderUserLicenseBiz;
@Autowired @Autowired
OrderVehicalCrosstownBiz orderVehicalCrosstownBiz; OrderVehicleCrosstownBiz orderVehicleCrosstownBiz;
@Autowired @Autowired
OrderCancelBiz orderCancelBiz; OrderCancelBiz orderCancelBiz;
...@@ -217,7 +217,6 @@ public class BaseOrderController extends CommonBaseController implements UserRes ...@@ -217,7 +217,6 @@ public class BaseOrderController extends CommonBaseController implements UserRes
orderPageVO.setOrderVehicleCrosstownDto(orderVehicleCrosstownDto); orderPageVO.setOrderVehicleCrosstownDto(orderVehicleCrosstownDto);
} }
} }
} }
if (orderPageVO.getOrderRentVehicleDetail() != null && orderPageVO.getOrderRentVehicleDetail().getStartCompanyId() != null && orderPageVO.getOrderRentVehicleDetail().getEndCompanyId() != null) { if (orderPageVO.getOrderRentVehicleDetail() != null && orderPageVO.getOrderRentVehicleDetail().getStartCompanyId() != null && orderPageVO.getOrderRentVehicleDetail().getEndCompanyId() != null) {
ObjectRestResponse<CompanyDetail> startResponse = vehicleFeign.getCompanyDetail(orderPageVO.getOrderRentVehicleDetail().getStartCompanyId()); ObjectRestResponse<CompanyDetail> startResponse = vehicleFeign.getCompanyDetail(orderPageVO.getOrderRentVehicleDetail().getStartCompanyId());
......
...@@ -3,7 +3,7 @@ package com.xxfc.platform.order.rest; ...@@ -3,7 +3,7 @@ package com.xxfc.platform.order.rest;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.order.biz.BaseOrderBiz; import com.xxfc.platform.order.biz.BaseOrderBiz;
import com.xxfc.platform.order.biz.OrderUserLicenseBiz; import com.xxfc.platform.order.biz.OrderUserLicenseBiz;
import com.xxfc.platform.order.biz.OrderVehicalCrosstownBiz; import com.xxfc.platform.order.biz.OrderVehicleCrosstownBiz;
import com.xxfc.platform.order.entity.OrderVehicleCrosstown; import com.xxfc.platform.order.entity.OrderVehicleCrosstown;
import com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto; import com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -22,7 +22,7 @@ import java.util.List; ...@@ -22,7 +22,7 @@ import java.util.List;
public class OrderVehicleCrosstownController { public class OrderVehicleCrosstownController {
@Autowired @Autowired
OrderVehicalCrosstownBiz orderVehicalCrosstownBiz; OrderVehicleCrosstownBiz orderVehicleCrosstownBiz;
@Autowired @Autowired
OrderUserLicenseBiz orderUserLicenseBiz; OrderUserLicenseBiz orderUserLicenseBiz;
...@@ -35,13 +35,13 @@ public class OrderVehicleCrosstownController { ...@@ -35,13 +35,13 @@ public class OrderVehicleCrosstownController {
@Transactional @Transactional
public ObjectRestResponse<OrderVehicleCrosstownDto> add(@RequestBody OrderVehicleCrosstownDto orderVehicleCrosstownDto) { public ObjectRestResponse<OrderVehicleCrosstownDto> add(@RequestBody OrderVehicleCrosstownDto orderVehicleCrosstownDto) {
return orderVehicalCrosstownBiz.add(orderVehicleCrosstownDto); return orderVehicleCrosstownBiz.add(orderVehicleCrosstownDto);
} }
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
@ApiOperation(value = "查询记录信息") @ApiOperation(value = "查询记录信息")
public ObjectRestResponse<OrderVehicleCrosstown> get(@PathVariable Integer id) { public ObjectRestResponse<OrderVehicleCrosstown> get(@PathVariable Integer id) {
return ObjectRestResponse.succ(orderVehicalCrosstownBiz.get(id)); return ObjectRestResponse.succ(orderVehicleCrosstownBiz.get(id));
} }
@GetMapping(value = "/getByOrderId") @GetMapping(value = "/getByOrderId")
...@@ -50,6 +50,6 @@ public class OrderVehicleCrosstownController { ...@@ -50,6 +50,6 @@ public class OrderVehicleCrosstownController {
if (orderVehicleCrosstownDto == null) { if (orderVehicleCrosstownDto == null) {
return ObjectRestResponse.createFailedResult(500, "参数orderId为空"); return ObjectRestResponse.createFailedResult(500, "参数orderId为空");
} }
return ObjectRestResponse.succ(orderVehicalCrosstownBiz.selectByOrderId(orderVehicleCrosstownDto)); return ObjectRestResponse.succ(orderVehicleCrosstownBiz.selectByOrderId(orderVehicleCrosstownDto));
} }
} }
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
</plugin> </plugin>
<jdbcConnection driverClass="com.mysql.jdbc.Driver" <jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://10.5.52.3:3306/xxfc_activity?useUnicode=true&amp;characterEncoding=UTF8" connectionURL="jdbc:mysql://10.5.52.4:3307/xxfc_order?useUnicode=true&amp;characterEncoding=UTF8"
userId="root" userId="root"
password="sslcloud123*()"> password="sslcloud123*()">
</jdbcConnection> </jdbcConnection>
...@@ -37,10 +37,6 @@ ...@@ -37,10 +37,6 @@
<!-- </table>--> <!-- </table>-->
<!-- <table tableName="branch_company_stock_info" domainObjectName="BranchCompanyStockInfo"></table>--> <!-- <table tableName="branch_company_stock_info" domainObjectName="BranchCompanyStockInfo"></table>-->
<!-- <table tableName="branch_company_stock_apply_info" domainObjectName="BranchCompanyStockApplyInfo"></table>--> <!-- <table tableName="branch_company_stock_apply_info" domainObjectName="BranchCompanyStockApplyInfo"></table>-->
<table tableName="integral_rule" domainObjectName="IntegralRule"></table> <table tableName="deposit_refund_record" domainObjectName="DepositRefundRecord"></table>
<table tableName="integral_sign_record" domainObjectName="IntegralSignRecord"></table>
<table tableName="integral_user_total" domainObjectName="IntegralUserTotal"></table>
<table tableName="integral_user_record" domainObjectName="IntegralUserRecord"></table>
<!-- <table tableName="integeral_user_record" domainObjectName="VehicleUpkeepLog"></table>-->
</context> </context>
</generatorConfiguration> </generatorConfiguration>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.xxfc.platform.order.mapper.DepositRefundRecordMapper" >
<select id="findByCrossIdAndStatus" resultType="com.xxfc.platform.order.entity.DepositRefundRecord" parameterType="java.util.Map">
select * from deposit_refund_record
where status = #{status} and crosstown_id = #{crossId} and isshow = 1
</select>
</mapper>
\ No newline at end of file
...@@ -28,6 +28,8 @@ public enum ResCode { ...@@ -28,6 +28,8 @@ public enum ResCode {
VEHICLE_DEPARTURE_VEHICLE_DISABLE(104002,"车辆不可用"), VEHICLE_DEPARTURE_VEHICLE_DISABLE(104002,"车辆不可用"),
VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE(104003,"车辆未出车"), VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE(104003,"车辆未出车"),
VEHICLE_BOOK_RECORD_IS_NOT_EXIST(104004, "预约记录不存在"),
BRANCH_COMPANY_UNEXIST(105001, "分公司信息不存在"), BRANCH_COMPANY_UNEXIST(105001, "分公司信息不存在"),
BRANCH_COMPANY_STOCK_EXISTED(105002, "分公司股权信息已存在"), BRANCH_COMPANY_STOCK_EXISTED(105002, "分公司股权信息已存在"),
BRANCH_COMPANY_STOCK_UNEXIST(105003, "分公司股权信息不存在"), BRANCH_COMPANY_STOCK_UNEXIST(105003, "分公司股权信息不存在"),
......
...@@ -9,7 +9,7 @@ public enum VehicleStatus { ...@@ -9,7 +9,7 @@ public enum VehicleStatus {
DISCARD(3,"报废"), DISCARD(3,"报废"),
DEPARTURE(4, "出车"), DEPARTURE(4, "出车"),
UPKEEP(5, "保养"), UPKEEP(5, "保养"),
; ;
/** /**
* 编码 * 编码
......
...@@ -184,6 +184,6 @@ public class VehicleBookRecord { ...@@ -184,6 +184,6 @@ public class VehicleBookRecord {
private String vehicleUserPhone; private String vehicleUserPhone;
@Column(name = "vehicle_upkeep_item_ids") @Column(name = "upkeep_ids")
private String upkeepIds; private String upkeepIds;
} }
\ No newline at end of file
...@@ -77,7 +77,9 @@ public class VehicleDepartureLog { ...@@ -77,7 +77,9 @@ public class VehicleDepartureLog {
* 还车分公司 * 还车分公司
*/ */
Integer arrivalBranchCompanyId; Integer arrivalBranchCompanyId;
Date createTime; Date createTime;
Date updateTime; Date updateTime;
Integer state; Integer state;
...@@ -86,8 +88,17 @@ public class VehicleDepartureLog { ...@@ -86,8 +88,17 @@ public class VehicleDepartureLog {
* 预约记录id * 预约记录id
*/ */
Integer bookRecordId; Integer bookRecordId;
//违章图片,逗号分隔
String illegalPic;
//违章金额
Integer illegalAmount;
String illegalPic; //出车图片
String departurePic;
//收车图片
String arrivalPic;
//备注
String departureRemark;
Integer illegalAmount; String arrivalRemark;
} }
...@@ -27,4 +27,17 @@ public class VehicleArrivalVo { ...@@ -27,4 +27,17 @@ public class VehicleArrivalVo {
*/ */
Integer arrivalBranchCompanyId; Integer arrivalBranchCompanyId;
//收车图片
String arrivalPic;
//备注
String remark;
//违章图片,逗号分隔
String illegalPic;
//违章金额
Integer illegalAmount;
Integer bookRecordId;
} }
...@@ -2,6 +2,7 @@ package com.xxfc.platform.vehicle.pojo; ...@@ -2,6 +2,7 @@ package com.xxfc.platform.vehicle.pojo;
import com.xxfc.platform.vehicle.entity.VehicleBookHourInfo; import com.xxfc.platform.vehicle.entity.VehicleBookHourInfo;
import com.xxfc.platform.vehicle.entity.VehicleBookRecord; import com.xxfc.platform.vehicle.entity.VehicleBookRecord;
import com.xxfc.platform.vehicle.entity.VehicleUpkeepItem;
import lombok.Data; import lombok.Data;
import java.util.List; import java.util.List;
...@@ -32,4 +33,7 @@ public class VehicleBookRecordVo extends VehicleBookRecord { ...@@ -32,4 +33,7 @@ public class VehicleBookRecordVo extends VehicleBookRecord {
private Integer liftStatus; private Integer liftStatus;
private Integer retStatus; private Integer retStatus;
List<VehicleUpkeepItem> vehicleUpkeepItems;
} }
...@@ -31,4 +31,13 @@ public class VehicleDepartureLogVo { ...@@ -31,4 +31,13 @@ public class VehicleDepartureLogVo {
String illegalPic; String illegalPic;
Integer illegalAmount; Integer illegalAmount;
//出车图片
String departurePic;
//收车图片
String arrivalPic;
//备注
String departureRemark;
String arrivalRemark;
} }
...@@ -50,4 +50,14 @@ public class VehicleDepartureVo { ...@@ -50,4 +50,14 @@ public class VehicleDepartureVo {
*/ */
Integer bookRecordId; Integer bookRecordId;
//出车图片
String departurePic;
//备注
String remark;
//违章图片,逗号分隔
String illegalPic;
//违章金额
Integer illegalAmount;
} }
...@@ -3,12 +3,10 @@ package com.xxfc.platform.vehicle.biz; ...@@ -3,12 +3,10 @@ package com.xxfc.platform.vehicle.biz;
import com.github.wxiaoqi.security.common.exception.BaseException; import com.github.wxiaoqi.security.common.exception.BaseException;
import com.xxfc.platform.vehicle.constant.ResCode.ResCode; import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
import com.xxfc.platform.vehicle.constant.VehicleActiveType; import com.xxfc.platform.vehicle.constant.VehicleActiveType;
import com.xxfc.platform.vehicle.constant.VehicleBookRecordStatus;
import com.xxfc.platform.vehicle.constant.VehicleDepartureState; import com.xxfc.platform.vehicle.constant.VehicleDepartureState;
import com.xxfc.platform.vehicle.constant.VehicleStatus; import com.xxfc.platform.vehicle.constant.VehicleStatus;
import com.xxfc.platform.vehicle.entity.Vehicle; import com.xxfc.platform.vehicle.entity.*;
import com.xxfc.platform.vehicle.entity.VehicleActiveLog;
import com.xxfc.platform.vehicle.entity.VehicleDepartureLog;
import com.xxfc.platform.vehicle.entity.VehicleUpkeepLog;
import com.xxfc.platform.vehicle.mapper.*; import com.xxfc.platform.vehicle.mapper.*;
import com.xxfc.platform.vehicle.pojo.VehicleArrivalVo; import com.xxfc.platform.vehicle.pojo.VehicleArrivalVo;
import com.xxfc.platform.vehicle.pojo.VehicleDepartureVo; import com.xxfc.platform.vehicle.pojo.VehicleDepartureVo;
...@@ -39,6 +37,9 @@ public class VehicleActiveService { ...@@ -39,6 +37,9 @@ public class VehicleActiveService {
@Autowired @Autowired
VehicleUpkeepLogMapper vehicleUpkeepLogMapper; VehicleUpkeepLogMapper vehicleUpkeepLogMapper;
@Autowired
VehicleBookRecordBiz vehicleBookRecordBiz;
@Autowired @Autowired
VehicleUpkeepItemMapper vehicleUpkeepItemMapper; VehicleUpkeepItemMapper vehicleUpkeepItemMapper;
@Value("${vehicle.mileage}") @Value("${vehicle.mileage}")
...@@ -80,6 +81,10 @@ public class VehicleActiveService { ...@@ -80,6 +81,10 @@ public class VehicleActiveService {
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getDesc(), throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getDesc(),
ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getCode()); ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getCode());
} }
//修改预约记录状态
if(departureVo.getBookRecordId() != null) {
updateBookRecordStatus(departureVo.getBookRecordId());
}
// 出车记录 // 出车记录
VehicleDepartureLog departureLog = new VehicleDepartureLog(); VehicleDepartureLog departureLog = new VehicleDepartureLog();
...@@ -89,6 +94,7 @@ public class VehicleActiveService { ...@@ -89,6 +94,7 @@ public class VehicleActiveService {
departureLog.setMileageStart(departureVo.getMileage()); departureLog.setMileageStart(departureVo.getMileage());
departureLog.setState(VehicleDepartureState.DEPARTURE.getCode()); departureLog.setState(VehicleDepartureState.DEPARTURE.getCode());
departureLog.setBookRecordId(departureVo.getBookRecordId()); departureLog.setBookRecordId(departureVo.getBookRecordId());
departureLog.setDepartureRemark(departureLog.getDepartureRemark());
vehicleDepartureLogMapper.insert(departureLog); vehicleDepartureLogMapper.insert(departureLog);
// 车辆活动日志 // 车辆活动日志
...@@ -141,6 +147,11 @@ public class VehicleActiveService { ...@@ -141,6 +147,11 @@ public class VehicleActiveService {
ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getCode()); ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getCode());
} }
if(arrivalVo.getBookRecordId() != null) {
updateBookRecordStatus(arrivalVo.getBookRecordId());
}
// 出车记录 // 出车记录
VehicleDepartureLog departureLog = vehicleDepartureLogMapper.selectLastByVehicleId(arrivalVo.getVehicleId()); VehicleDepartureLog departureLog = vehicleDepartureLogMapper.selectLastByVehicleId(arrivalVo.getVehicleId());
if (departureLog == null) { if (departureLog == null) {
...@@ -154,6 +165,10 @@ public class VehicleActiveService { ...@@ -154,6 +165,10 @@ public class VehicleActiveService {
departureLog.setUpdateTime(new Date()); departureLog.setUpdateTime(new Date());
departureLog.setArrivalTime(new Date()); departureLog.setArrivalTime(new Date());
departureLog.setState(VehicleDepartureState.END.getCode()); departureLog.setState(VehicleDepartureState.END.getCode());
departureLog.setIllegalPic(arrivalVo.getIllegalPic());
departureLog.setIllegalAmount(arrivalVo.getIllegalAmount());
departureLog.setArrivalPic(arrivalVo.getArrivalPic());
departureLog.setArrivalRemark(arrivalVo.getRemark());
vehicleDepartureLogMapper.updateByPrimaryKeySelective(departureLog); vehicleDepartureLogMapper.updateByPrimaryKeySelective(departureLog);
// 车辆活动日志 // 车辆活动日志
...@@ -172,6 +187,18 @@ public class VehicleActiveService { ...@@ -172,6 +187,18 @@ public class VehicleActiveService {
} }
} }
public void updateBookRecordStatus(Integer bookRecordId) {
VehicleBookRecord vehicleBookRecord = vehicleBookRecordBiz.selectById(bookRecordId);
if(vehicleBookRecord != null) {
vehicleBookRecord.setStatus(VehicleBookRecordStatus.LIFTED.getCode());
vehicleBookRecordBiz.updateSelectiveByIdRe(vehicleBookRecord);
} else {
throw new BaseException(ResCode.VEHICLE_BOOK_RECORD_IS_NOT_EXIST.getDesc(),
ResCode.VEHICLE_BOOK_RECORD_IS_NOT_EXIST.getCode());
}
}
/** /**
* 车辆保养 * 车辆保养
* @param vehicleUpkeepVo * @param vehicleUpkeepVo
......
...@@ -14,12 +14,14 @@ import com.google.common.collect.Lists; ...@@ -14,12 +14,14 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.xxfc.platform.vehicle.common.CustomIllegalParamException; import com.xxfc.platform.vehicle.common.CustomIllegalParamException;
import com.xxfc.platform.vehicle.common.RestResponse; import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.constant.BookType;
import com.xxfc.platform.vehicle.constant.RedisKey; import com.xxfc.platform.vehicle.constant.RedisKey;
import com.xxfc.platform.vehicle.constant.ResCode.ResCode; import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
import com.xxfc.platform.vehicle.constant.VehicleBookRecordStatus; import com.xxfc.platform.vehicle.constant.VehicleBookRecordStatus;
import com.xxfc.platform.vehicle.entity.BookRecordAccItem; import com.xxfc.platform.vehicle.entity.BookRecordAccItem;
import com.xxfc.platform.vehicle.entity.BranchCompany; import com.xxfc.platform.vehicle.entity.BranchCompany;
import com.xxfc.platform.vehicle.entity.VehicleBookRecord; import com.xxfc.platform.vehicle.entity.VehicleBookRecord;
import com.xxfc.platform.vehicle.entity.VehicleUpkeepItem;
import com.xxfc.platform.vehicle.mapper.BookRecordAccItemMapper; import com.xxfc.platform.vehicle.mapper.BookRecordAccItemMapper;
import com.xxfc.platform.vehicle.mapper.VehicleBookRecordMapper; import com.xxfc.platform.vehicle.mapper.VehicleBookRecordMapper;
import com.xxfc.platform.vehicle.pojo.*; import com.xxfc.platform.vehicle.pojo.*;
...@@ -70,6 +72,8 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic ...@@ -70,6 +72,8 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
@Autowired @Autowired
UserFeign userFeign; UserFeign userFeign;
@Autowired
VehicleUpkeepService vehicleUpkeepService;
@Override @Override
public UserFeign getUserFeign() {return userFeign;} public UserFeign getUserFeign() {return userFeign;}
...@@ -128,6 +132,7 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic ...@@ -128,6 +132,7 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
vehicleBookRecordQueryVo.setCompanyIds(companyList); vehicleBookRecordQueryVo.setCompanyIds(companyList);
Query query = new Query(vehicleBookRecordQueryVo); Query query = new Query(vehicleBookRecordQueryVo);
PageDataVO<VehicleBookRecordVo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.getBookRecordInfo(query.getSuper())); PageDataVO<VehicleBookRecordVo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.getBookRecordInfo(query.getSuper()));
getupKeeps(pageDataVO.getData());
return RestResponse.suc(pageDataVO); return RestResponse.suc(pageDataVO);
} }
...@@ -158,13 +163,29 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic ...@@ -158,13 +163,29 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
companyList.add(vehicleBookRecordQueryVo.getCompanyId()); companyList.add(vehicleBookRecordQueryVo.getCompanyId());
} }
} }
vehicleBookRecordQueryVo.setCompanyIds(companyList); vehicleBookRecordQueryVo.setCompanyIds(companyList);
Query query = new Query(vehicleBookRecordQueryVo); Query query = new Query(vehicleBookRecordQueryVo);
PageDataVO<VehicleBookRecordVo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.getBookRecordInfo(query.getSuper())); PageDataVO<VehicleBookRecordVo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.getBookRecordInfo(query.getSuper()));
getupKeeps(pageDataVO.getData());
return RestResponse.suc(pageDataVO); return RestResponse.suc(pageDataVO);
} }
public List<VehicleBookRecordVo> getupKeeps(List<VehicleBookRecordVo> vehicleBookRecordVos) {
for(VehicleBookRecordVo vehicleBookRecordVo : vehicleBookRecordVos) {
if(vehicleBookRecordVo.getBookType() == BookType.MAINTAIN.getCode()) {//获取 保养项目
if(StringUtils.isNotBlank(vehicleBookRecordVo.getUpkeepIds())) {
List<Integer> upKeeps = Arrays.asList(vehicleBookRecordVo.getUpkeepIds().split(",")).parallelStream().map(s -> Integer.valueOf(s)).collect(Collectors.toList());
if(upKeeps.size() > 0) {
List<VehicleUpkeepItem> vehicleUpkeepItems = vehicleUpkeepService.getUpkeepsByIds(upKeeps);
vehicleBookRecordVo.setVehicleUpkeepItems(vehicleUpkeepItems);
}
}
}
}
return vehicleBookRecordVos;
}
public RestResponse<Integer> lift(Integer operatorId, String userName, LiftVehicleVo liftVehicleVo) throws Exception{ public RestResponse<Integer> lift(Integer operatorId, String userName, LiftVehicleVo liftVehicleVo) throws Exception{
Map<String, Object> params = PropertyUtils.describe(liftVehicleVo); Map<String, Object> params = PropertyUtils.describe(liftVehicleVo);
params.put("reviewerLift", operatorId); params.put("reviewerLift", operatorId);
......
...@@ -2,7 +2,6 @@ package com.xxfc.platform.vehicle.biz; ...@@ -2,7 +2,6 @@ package com.xxfc.platform.vehicle.biz;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.xxfc.platform.vehicle.entity.VehicleUpkeepItem; import com.xxfc.platform.vehicle.entity.VehicleUpkeepItem;
import com.xxfc.platform.vehicle.entity.VehicleUpkeepLog; import com.xxfc.platform.vehicle.entity.VehicleUpkeepLog;
import com.xxfc.platform.vehicle.mapper.VehicleUpkeepItemMapper; import com.xxfc.platform.vehicle.mapper.VehicleUpkeepItemMapper;
...@@ -13,10 +12,11 @@ import org.apache.commons.beanutils.BeanUtilsBean; ...@@ -13,10 +12,11 @@ import org.apache.commons.beanutils.BeanUtilsBean;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import redis.clients.jedis.Transaction;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
@Service @Service
public class VehicleUpkeepService { public class VehicleUpkeepService {
...@@ -56,6 +56,12 @@ public class VehicleUpkeepService { ...@@ -56,6 +56,12 @@ public class VehicleUpkeepService {
return new PageInfo<>(vehicleUpkeepLogMapper.selectVoAll(numberPlate, companyList)); return new PageInfo<>(vehicleUpkeepLogMapper.selectVoAll(numberPlate, companyList));
} }
public List<VehicleUpkeepItem> getUpkeepsByIds(List<Integer> ids) {
Map<String, Object> param = new HashMap<>();
param.put("ids", ids);
return vehicleUpkeepItemMapper.selectByIds(param);
}
public VehicleUpkeepLogVo getLogVoById(Integer id) { public VehicleUpkeepLogVo getLogVoById(Integer id) {
VehicleUpkeepLogVo vehicleUpkeepLogVo = vehicleUpkeepLogMapper.selectVoById(id); VehicleUpkeepLogVo vehicleUpkeepLogVo = vehicleUpkeepLogMapper.selectVoById(id);
List<VehicleUpkeepLogItemVo> upkeepItems = vehicleUpkeepLogMapper.getItemsByLogId(id); List<VehicleUpkeepLogItemVo> upkeepItems = vehicleUpkeepLogMapper.getItemsByLogId(id);
......
...@@ -3,5 +3,9 @@ package com.xxfc.platform.vehicle.mapper; ...@@ -3,5 +3,9 @@ package com.xxfc.platform.vehicle.mapper;
import com.xxfc.platform.vehicle.entity.VehicleUpkeepItem; import com.xxfc.platform.vehicle.entity.VehicleUpkeepItem;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
import java.util.List;
import java.util.Map;
public interface VehicleUpkeepItemMapper extends Mapper<VehicleUpkeepItem> { public interface VehicleUpkeepItemMapper extends Mapper<VehicleUpkeepItem> {
List<VehicleUpkeepItem> selectByIds(Map<String, Object> param);
} }
\ No newline at end of file
...@@ -8,4 +8,13 @@ ...@@ -8,4 +8,13 @@
<id column="id" property="id" jdbcType="INTEGER" /> <id column="id" property="id" jdbcType="INTEGER" />
<result column="name" property="name" jdbcType="VARCHAR" /> <result column="name" property="name" jdbcType="VARCHAR" />
</resultMap> </resultMap>
<select id="selectByIds" parameterType="java.util.Map" resultType="com.xxfc.platform.vehicle.entity.VehicleUpkeepItem">
select * from vehicle_upkeep_item
where id in
<foreach collection="ids" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</select>
</mapper> </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