Commit a37bf457 authored by hezhen's avatar hezhen

添加接单业务

parent 72036fd3
......@@ -32,7 +32,7 @@ public class VehicleUseTime implements Serializable {
@Column(name = "vehicle_id")
@ApiModelProperty(value = "商品id")
private Integer vehicleId;
private String vehicleId;
@Column(name = "company_id")
......@@ -41,6 +41,12 @@ public class VehicleUseTime implements Serializable {
@Column(name = "publish_id")
@ApiModelProperty(value = "需求id")
private Integer publishId;
@Column(name = "start_time")
@ApiModelProperty(value = "开始时间")
private Long startTime;
......
......@@ -16,11 +16,12 @@ import java.util.List;
@Data
public class VehiclePublishReceiveDTO{
public static final int ADD=0;
public static final int PAY=1;
public static final int REFUSE=2;
public static final int AGREE=3;
public static final int CANCEL=4;
public static final int ADD=0;//接单添加
public static final int PAY=1;//接单支付
public static final int REFUSE=2;//确认全部拒绝
public static final int AGREE=3;//确认
public static final int CANCEL=4;//取消
public static final int COLLECT=5;//收车
@ApiModelProperty("需求Id")
private Integer publishId;
......
......@@ -12,10 +12,7 @@ import com.xxfc.platform.order.feign.OrderFeign;
import com.xxfc.platform.order.pojo.order.PulishReceiveBO;
import com.xxfc.platform.universal.dto.SendMsgDTO;
import com.xxfc.platform.universal.feign.MQSenderFeign;
import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.entity.VehiclePublish;
import com.xxfc.platform.vehicle.entity.VehiclePublishGoods;
import com.xxfc.platform.vehicle.entity.VehiclePublishReceive;
import com.xxfc.platform.vehicle.entity.*;
import com.xxfc.platform.vehicle.mapper.VehiclePublishReceiveMapper;
import com.xxfc.platform.vehicle.pojo.dto.VehiclePublishReceiveDTO;
import com.xxfc.platform.vehicle.pojo.dto.VehicleReceiveRefundDTO;
......@@ -59,12 +56,16 @@ public class VehiclePublishReceiveBiz extends BaseBiz<VehiclePublishReceiveMappe
@Autowired
MQSenderFeign mqSenderFeign;
@Autowired
VehicleUseTimeBiz vehicleUseTimeBiz;
@Transactional(rollbackFor = Exception.class)
public BaseOrder receive(VehiclePublishReceiveDTO publishReceiveDTO){
Integer publishId = publishReceiveDTO.getPublishId() == null ? 0 : publishReceiveDTO.getPublishId();
Integer receiveType = publishReceiveDTO.getType() == null ? 0 : publishReceiveDTO.getType();
String receiveIdStr= publishReceiveDTO.getReceiveIds();
if (publishId == 0 || receiveType == 0 || ( receiveType == 1 && CollectionUtils.isEmpty(publishReceiveDTO.getReceives()))){
throw new BaseException("参数不能为空", ResultCode.FAILED_CODE);
}
......@@ -74,6 +75,7 @@ public class VehiclePublishReceiveBiz extends BaseBiz<VehiclePublishReceiveMappe
}
Integer type = vehiclePublish.getType() == null ? 0 : vehiclePublish.getType();
List<VehiclePublishReceive> receives = publishReceiveDTO.getReceives();
setVehiclePublishReceive(receives,receiveIdStr);
List<Integer> receiveIds = new ArrayList<>();
if (CollectionUtils.isNotEmpty(publishReceiveDTO.getReceives())){
for (VehiclePublishReceive vehiclePublishReceive : receives){
......@@ -134,6 +136,20 @@ public class VehiclePublishReceiveBiz extends BaseBiz<VehiclePublishReceiveMappe
}
public void setVehiclePublishReceive(List<VehiclePublishReceive> receives,String receiveIds){
if (receives == null || receives.size() == 0){
receives = new ArrayList<>();
if(StringUtils.isNotBlank(receiveIds)){
List<Integer> receiveIdList =Arrays.asList(receiveIds.split(",")).parallelStream().map(s -> Integer.valueOf(s)).collect(Collectors.toList());
for (Integer id : receiveIdList){
VehiclePublishReceive vehiclePublishReceive = new VehiclePublishReceive();
vehiclePublishReceive.setId(id);
receives.add(vehiclePublishReceive);
}
}
}
}
public List<VehiclePublishReceiveVo> getList(VehiclePublishReceiveDTO publishReceiveDTO){
return mapper.selectList(publishReceiveDTO);
......@@ -165,6 +181,7 @@ public class VehiclePublishReceiveBiz extends BaseBiz<VehiclePublishReceiveMappe
String receiveIds = publishReceiveDTO.getReceiveIds();
Integer status = publishReceiveDTO.getStatus() == null ? 0 : publishReceiveDTO.getStatus();
Integer type = publishReceiveDTO.getType() == null ? 0 : publishReceiveDTO.getType();
Integer publishId = publishReceiveDTO.getPublishId() == null ? 0 : publishReceiveDTO.getPublishId();
String publishOrderNo = publishReceiveDTO.getOrderNo();
Integer number = 0;
VehiclePublishReceive receive = new VehiclePublishReceive();
......@@ -190,18 +207,70 @@ public class VehiclePublishReceiveBiz extends BaseBiz<VehiclePublishReceiveMappe
}
if (type == 2){
number+=refuseNumber;
vehiclePublishBiz.updConfirmNumber(number,publishReceiveDTO.getPublishId());
vehiclePublishBiz.updConfirmNumber(number,publishId);
if (StringUtils.isBlank(orderNoStr)){
orderNoStr=mapper.getOrderNoStr(publishOrderNo,null);
VehicleReceiveRefundDTO receiveRefundDTO = new VehicleReceiveRefundDTO();
receiveRefundDTO.setOrderNoStr(orderNoStr);
sendQueue(receiveRefundDTO);
}
addVehicleUseTime(publishReceiveDTO);
VehicleReceiveRefundDTO receiveRefundDTO = new VehicleReceiveRefundDTO();
receiveRefundDTO.setOrderNoStr(orderNoStr);
sendQueue(receiveRefundDTO);
}else if (type == 1){
if (status.equals( VehiclePublishReceiveDTO.PAY)){
vehiclePublishBiz.updWaitConfirmNumber(number,publishId);
addVehicleUseTime(publishReceiveDTO);
}
}
}
}else {
if (type == 1 && status.equals( VehiclePublishReceiveDTO.PAY)){
vehiclePublishBiz.updWaitConfirmNumber(number,publishReceiveDTO.getPublishId());
public void addVehicleUseTime(VehiclePublishReceiveDTO publishReceiveDTO){
String receiveIds = publishReceiveDTO.getReceiveIds();
String refuseReceiveIds = publishReceiveDTO.getRefuseReceiveIds();
Integer receiveStatus = publishReceiveDTO.getStatus() == null ? 0 : publishReceiveDTO.getStatus();
List<Integer> receiveIdList = new ArrayList<>();
if (receiveStatus.equals(VehiclePublishReceiveDTO.PAY) && StringUtils.isNotBlank(receiveIds)){
List<Integer> receiveList =Arrays.asList(receiveIds.split(",")).parallelStream().map(s -> Integer.valueOf(s)).collect(Collectors.toList());
receiveIdList.addAll(receiveList);
}
if (StringUtils.isNotBlank(refuseReceiveIds)){
List<Integer> refuseList =Arrays.asList(receiveIds.split(",")).parallelStream().map(s -> Integer.valueOf(s)).collect(Collectors.toList());
receiveIdList.addAll(refuseList);
}
if (receiveIdList.size() == 0)
return;
for (Integer receiveId : receiveIdList){
VehiclePublishReceive receive = selectById(receiveId);
if (receive == null || !(receive.getStatus().equals(VehiclePublishReceiveDTO.PAY) || receive.getStatus().equals(VehiclePublishReceiveDTO.REFUSE)|| receive.getStatus().equals(VehiclePublishReceiveDTO.COLLECT)))
continue;
VehiclePublishGoods publishGoods = publishGoodsBiz.selectById(receive.getPublishGoodsId());
if (publishGoods == null )
continue;
VehiclePublish vehiclePublish = vehiclePublishBiz.selectById(publishGoods.getPublishId());
if (vehiclePublish == null )
continue;
Integer companyId = null;
Long startTime = null;
Long endTime = null;
Integer status = 1;
if (receive.getStatus().equals(VehiclePublishReceiveDTO.PAY)){
companyId = receive.getReceiveCompanyId();
startTime = System.currentTimeMillis();
endTime = vehiclePublish.getStartTime();
}else if (receive.getStatus().equals(VehiclePublishReceiveDTO.COLLECT)){
companyId = receive.getPublishCompanyId();
startTime = vehiclePublish.getStartTime();
endTime = vehiclePublish.getEndTime();
}else if (receive.getStatus().equals(VehiclePublishReceiveDTO.REFUSE)){
status = 2;
}
VehicleUseTime vehicleUseTime = new VehicleUseTime();
vehicleUseTime.setVehicleId(receive.getVehicleId());
vehicleUseTime.setCompanyId(companyId);
vehicleUseTime.setStartTime(startTime);
vehicleUseTime.setEndTime(endTime);
vehicleUseTime.setStatus(status);
vehicleUseTime.setPublishId(vehiclePublish.getId());
vehicleUseTimeBiz.addOrUpd(vehicleUseTime);
}
}
......
......@@ -3,10 +3,16 @@ package com.xxfc.platform.vehicle.biz;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.vehicle.entity.VehicleUseTime;
import com.xxfc.platform.vehicle.mapper.VehicleUseTimeMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example;
import java.util.List;
@Service
......@@ -15,6 +21,25 @@ public class VehicleUseTimeBiz extends BaseBiz<VehicleUseTimeMapper, VehicleUseT
public void addOrUpd(VehicleUseTime vehicleUseTime){
String vehicleId = vehicleUseTime.getVehicleId();
Integer companyId = vehicleUseTime.getCompanyId() == null ? 0 :vehicleUseTime.getCompanyId();
if (StringUtils.isBlank(vehicleId) || companyId == 0){
throw new BaseException("参数不能为空", ResultCode.FAILED_CODE);
}
Example example = new Example(VehicleUseTime.class);
example.createCriteria().andEqualTo("vehicleId",vehicleId).andEqualTo("status",1);
List<VehicleUseTime> list = selectByExample(example);
if (list.size() > 0){
VehicleUseTime vehicleUseTime1 = list.get(0);
vehicleUseTime.setId(vehicleUseTime1.getId());
updateSelectiveById(vehicleUseTime);
}else {
insertSelective(vehicleUseTime);
}
}
......
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