Commit 6ee22ecb authored by hezhen's avatar hezhen

Merge branch 'master_chw_publish' into dev-chw

parents 60339592 a37bf457
...@@ -32,7 +32,7 @@ public class VehicleUseTime implements Serializable { ...@@ -32,7 +32,7 @@ public class VehicleUseTime implements Serializable {
@Column(name = "vehicle_id") @Column(name = "vehicle_id")
@ApiModelProperty(value = "商品id") @ApiModelProperty(value = "商品id")
private Integer vehicleId; private String vehicleId;
@Column(name = "company_id") @Column(name = "company_id")
...@@ -41,6 +41,12 @@ public class VehicleUseTime implements Serializable { ...@@ -41,6 +41,12 @@ public class VehicleUseTime implements Serializable {
@Column(name = "publish_id")
@ApiModelProperty(value = "需求id")
private Integer publishId;
@Column(name = "start_time") @Column(name = "start_time")
@ApiModelProperty(value = "开始时间") @ApiModelProperty(value = "开始时间")
private Long startTime; private Long startTime;
......
...@@ -16,11 +16,12 @@ import java.util.List; ...@@ -16,11 +16,12 @@ import java.util.List;
@Data @Data
public class VehiclePublishReceiveDTO{ public class VehiclePublishReceiveDTO{
public static final int ADD=0; public static final int ADD=0;//接单添加
public static final int PAY=1; public static final int PAY=1;//接单支付
public static final int REFUSE=2; public static final int REFUSE=2;//确认全部拒绝
public static final int AGREE=3; public static final int AGREE=3;//确认
public static final int CANCEL=4; public static final int CANCEL=4;//取消
public static final int COLLECT=5;//收车
@ApiModelProperty("需求Id") @ApiModelProperty("需求Id")
private Integer publishId; private Integer publishId;
......
...@@ -12,10 +12,7 @@ import com.xxfc.platform.order.feign.OrderFeign; ...@@ -12,10 +12,7 @@ import com.xxfc.platform.order.feign.OrderFeign;
import com.xxfc.platform.order.pojo.order.PulishReceiveBO; import com.xxfc.platform.order.pojo.order.PulishReceiveBO;
import com.xxfc.platform.universal.dto.SendMsgDTO; import com.xxfc.platform.universal.dto.SendMsgDTO;
import com.xxfc.platform.universal.feign.MQSenderFeign; import com.xxfc.platform.universal.feign.MQSenderFeign;
import com.xxfc.platform.vehicle.entity.Vehicle; import com.xxfc.platform.vehicle.entity.*;
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.mapper.VehiclePublishReceiveMapper; import com.xxfc.platform.vehicle.mapper.VehiclePublishReceiveMapper;
import com.xxfc.platform.vehicle.pojo.dto.VehiclePublishReceiveDTO; import com.xxfc.platform.vehicle.pojo.dto.VehiclePublishReceiveDTO;
import com.xxfc.platform.vehicle.pojo.dto.VehicleReceiveRefundDTO; import com.xxfc.platform.vehicle.pojo.dto.VehicleReceiveRefundDTO;
...@@ -59,12 +56,16 @@ public class VehiclePublishReceiveBiz extends BaseBiz<VehiclePublishReceiveMappe ...@@ -59,12 +56,16 @@ public class VehiclePublishReceiveBiz extends BaseBiz<VehiclePublishReceiveMappe
@Autowired @Autowired
MQSenderFeign mqSenderFeign; MQSenderFeign mqSenderFeign;
@Autowired
VehicleUseTimeBiz vehicleUseTimeBiz;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public BaseOrder receive(VehiclePublishReceiveDTO publishReceiveDTO){ public BaseOrder receive(VehiclePublishReceiveDTO publishReceiveDTO){
Integer publishId = publishReceiveDTO.getPublishId() == null ? 0 : publishReceiveDTO.getPublishId(); Integer publishId = publishReceiveDTO.getPublishId() == null ? 0 : publishReceiveDTO.getPublishId();
Integer receiveType = publishReceiveDTO.getType() == null ? 0 : publishReceiveDTO.getType(); Integer receiveType = publishReceiveDTO.getType() == null ? 0 : publishReceiveDTO.getType();
String receiveIdStr= publishReceiveDTO.getReceiveIds();
if (publishId == 0 || receiveType == 0 || ( receiveType == 1 && CollectionUtils.isEmpty(publishReceiveDTO.getReceives()))){ if (publishId == 0 || receiveType == 0 || ( receiveType == 1 && CollectionUtils.isEmpty(publishReceiveDTO.getReceives()))){
throw new BaseException("参数不能为空", ResultCode.FAILED_CODE); throw new BaseException("参数不能为空", ResultCode.FAILED_CODE);
} }
...@@ -74,6 +75,7 @@ public class VehiclePublishReceiveBiz extends BaseBiz<VehiclePublishReceiveMappe ...@@ -74,6 +75,7 @@ public class VehiclePublishReceiveBiz extends BaseBiz<VehiclePublishReceiveMappe
} }
Integer type = vehiclePublish.getType() == null ? 0 : vehiclePublish.getType(); Integer type = vehiclePublish.getType() == null ? 0 : vehiclePublish.getType();
List<VehiclePublishReceive> receives = publishReceiveDTO.getReceives(); List<VehiclePublishReceive> receives = publishReceiveDTO.getReceives();
setVehiclePublishReceive(receives,receiveIdStr);
List<Integer> receiveIds = new ArrayList<>(); List<Integer> receiveIds = new ArrayList<>();
if (CollectionUtils.isNotEmpty(publishReceiveDTO.getReceives())){ if (CollectionUtils.isNotEmpty(publishReceiveDTO.getReceives())){
for (VehiclePublishReceive vehiclePublishReceive : receives){ for (VehiclePublishReceive vehiclePublishReceive : receives){
...@@ -134,6 +136,20 @@ public class VehiclePublishReceiveBiz extends BaseBiz<VehiclePublishReceiveMappe ...@@ -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){ public List<VehiclePublishReceiveVo> getList(VehiclePublishReceiveDTO publishReceiveDTO){
return mapper.selectList(publishReceiveDTO); return mapper.selectList(publishReceiveDTO);
...@@ -165,6 +181,7 @@ public class VehiclePublishReceiveBiz extends BaseBiz<VehiclePublishReceiveMappe ...@@ -165,6 +181,7 @@ public class VehiclePublishReceiveBiz extends BaseBiz<VehiclePublishReceiveMappe
String receiveIds = publishReceiveDTO.getReceiveIds(); String receiveIds = publishReceiveDTO.getReceiveIds();
Integer status = publishReceiveDTO.getStatus() == null ? 0 : publishReceiveDTO.getStatus(); Integer status = publishReceiveDTO.getStatus() == null ? 0 : publishReceiveDTO.getStatus();
Integer type = publishReceiveDTO.getType() == null ? 0 : publishReceiveDTO.getType(); Integer type = publishReceiveDTO.getType() == null ? 0 : publishReceiveDTO.getType();
Integer publishId = publishReceiveDTO.getPublishId() == null ? 0 : publishReceiveDTO.getPublishId();
String publishOrderNo = publishReceiveDTO.getOrderNo(); String publishOrderNo = publishReceiveDTO.getOrderNo();
Integer number = 0; Integer number = 0;
VehiclePublishReceive receive = new VehiclePublishReceive(); VehiclePublishReceive receive = new VehiclePublishReceive();
...@@ -190,18 +207,70 @@ public class VehiclePublishReceiveBiz extends BaseBiz<VehiclePublishReceiveMappe ...@@ -190,18 +207,70 @@ public class VehiclePublishReceiveBiz extends BaseBiz<VehiclePublishReceiveMappe
} }
if (type == 2){ if (type == 2){
number+=refuseNumber; number+=refuseNumber;
vehiclePublishBiz.updConfirmNumber(number,publishReceiveDTO.getPublishId()); vehiclePublishBiz.updConfirmNumber(number,publishId);
if (StringUtils.isBlank(orderNoStr)){ if (StringUtils.isBlank(orderNoStr)){
orderNoStr=mapper.getOrderNoStr(publishOrderNo,null); orderNoStr=mapper.getOrderNoStr(publishOrderNo,null);
}
addVehicleUseTime(publishReceiveDTO);
VehicleReceiveRefundDTO receiveRefundDTO = new VehicleReceiveRefundDTO(); VehicleReceiveRefundDTO receiveRefundDTO = new VehicleReceiveRefundDTO();
receiveRefundDTO.setOrderNoStr(orderNoStr); receiveRefundDTO.setOrderNoStr(orderNoStr);
sendQueue(receiveRefundDTO); sendQueue(receiveRefundDTO);
}else if (type == 1){
if (status.equals( VehiclePublishReceiveDTO.PAY)){
vehiclePublishBiz.updWaitConfirmNumber(number,publishId);
addVehicleUseTime(publishReceiveDTO);
}
}
} }
}else { public void addVehicleUseTime(VehiclePublishReceiveDTO publishReceiveDTO){
if (type == 1 && status.equals( VehiclePublishReceiveDTO.PAY)){ String receiveIds = publishReceiveDTO.getReceiveIds();
vehiclePublishBiz.updWaitConfirmNumber(number,publishReceiveDTO.getPublishId()); 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; ...@@ -3,10 +3,16 @@ package com.xxfc.platform.vehicle.biz;
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.util.process.ResultCode;
import com.xxfc.platform.vehicle.entity.VehicleUseTime; import com.xxfc.platform.vehicle.entity.VehicleUseTime;
import com.xxfc.platform.vehicle.mapper.VehicleUseTimeMapper; import com.xxfc.platform.vehicle.mapper.VehicleUseTimeMapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example;
import java.util.List;
@Service @Service
...@@ -15,6 +21,25 @@ public class VehicleUseTimeBiz extends BaseBiz<VehicleUseTimeMapper, VehicleUseT ...@@ -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