Commit c7b8a669 authored by hezhen's avatar hezhen

修改接单

parent 903c4c22
package com.xxfc.platform.vehicle.pojo.dto; package com.xxfc.platform.vehicle.pojo.dto;
import com.xxfc.platform.vehicle.entity.VehiclePublish;
import com.xxfc.platform.vehicle.entity.VehiclePublishReceive; import com.xxfc.platform.vehicle.entity.VehiclePublishReceive;
import com.xxfc.platform.vehicle.pojo.vo.VehiclePublishReceiveVo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -55,8 +57,12 @@ public class VehiclePublishReceiveDTO{ ...@@ -55,8 +57,12 @@ public class VehiclePublishReceiveDTO{
private Integer status; private Integer status;
@ApiModelProperty("需求详情")
VehiclePublish vehiclePublish;
@ApiModelProperty("接单详情") @ApiModelProperty("接单详情")
List<VehiclePublishReceive> receives; List<VehiclePublishReceiveVo> receiveVos;
private String orderNo; private String orderNo;
......
...@@ -22,6 +22,7 @@ import com.xxfc.platform.vehicle.pojo.vo.VehiclePublishReceiveVo; ...@@ -22,6 +22,7 @@ import com.xxfc.platform.vehicle.pojo.vo.VehiclePublishReceiveVo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
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;
...@@ -61,26 +62,63 @@ public class VehiclePublishReceiveBiz extends BaseBiz<VehiclePublishReceiveMappe ...@@ -61,26 +62,63 @@ public class VehiclePublishReceiveBiz extends BaseBiz<VehiclePublishReceiveMappe
@Autowired @Autowired
VehicleUseTimeBiz vehicleUseTimeBiz; VehicleUseTimeBiz vehicleUseTimeBiz;
@Autowired
VehicleBrandBiz brandBiz;
@Autowired
VehicleCategoryBiz categoryBiz;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public BaseOrder receive(VehiclePublishReceiveDTO publishReceiveDTO){ public BaseOrder receive(VehiclePublishReceiveDTO publishReceiveDTO){
Integer receiveType = publishReceiveDTO.getType() == null ? 0 : publishReceiveDTO.getType();
publishReceiveDTO = confirmOrder(publishReceiveDTO);
List<VehiclePublishReceiveVo> receives = publishReceiveDTO.getReceiveVos();
List<Integer> receiveIds = new ArrayList<>();
if (CollectionUtils.isNotEmpty(receives)){
for (VehiclePublishReceive vehiclePublishReceive : receives){
Integer id = vehiclePublishReceive.getId() == null ? 0 : vehiclePublishReceive.getId();
if (id == 0){
insertSelective(vehiclePublishReceive);
id = vehiclePublishReceive.getId();
}
receiveIds.add(id);
}
publishReceiveDTO.setIds(receiveIds);
BaseOrder baseOrder = addOrder(publishReceiveDTO);
if (baseOrder == null)
throw new BaseException("下单失败",ResultCode.FAILED_CODE);
publishReceiveDTO.setOrderNo(baseOrder.getNo());
mapper.updReceiveById(publishReceiveDTO);
return baseOrder;
}else {
if (receiveType == 2){
publishReceiveDTO.setStatus(VehiclePublishReceiveDTO.REFUSE);
updOrderReceive(publishReceiveDTO);
}
return null;
}
}
public VehiclePublishReceiveDTO confirmOrder(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(); 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.getReceiveVos()))){
throw new BaseException("参数不能为空", ResultCode.FAILED_CODE); throw new BaseException("参数不能为空", ResultCode.FAILED_CODE);
} }
VehiclePublish vehiclePublish = vehiclePublishBiz.selectById(publishId); VehiclePublish vehiclePublish = vehiclePublishBiz.selectById(publishId);
if (vehiclePublish == null ){ if (vehiclePublish == null ){
throw new BaseException("需求不存在或无效", ResultCode.FAILED_CODE); throw new BaseException("需求不存在或无效", ResultCode.FAILED_CODE);
} }
publishReceiveDTO.setVehiclePublish(vehiclePublish);
Integer type = vehiclePublish.getType() == null ? 0 : vehiclePublish.getType(); Integer type = vehiclePublish.getType() == null ? 0 : vehiclePublish.getType();
List<VehiclePublishReceive> receives = publishReceiveDTO.getReceives(); List<VehiclePublishReceiveVo> receives = publishReceiveDTO.getReceiveVos();
setVehiclePublishReceive(receives,receiveIdStr); setVehiclePublishReceive(receives,receiveIdStr);
List<Integer> receiveIds = new ArrayList<>(); if (CollectionUtils.isNotEmpty(receives)){
if (CollectionUtils.isNotEmpty(publishReceiveDTO.getReceives())){ for (VehiclePublishReceiveVo vehiclePublishReceive : receives){
for (VehiclePublishReceive vehiclePublishReceive : receives){
Integer id = vehiclePublishReceive.getId() == null ? 0 : vehiclePublishReceive.getId(); Integer id = vehiclePublishReceive.getId() == null ? 0 : vehiclePublishReceive.getId();
if (id == 0){ if (id == 0){
String vehicleId = vehiclePublishReceive.getVehicleId(); String vehicleId = vehiclePublishReceive.getVehicleId();
...@@ -111,41 +149,33 @@ public class VehiclePublishReceiveBiz extends BaseBiz<VehiclePublishReceiveMappe ...@@ -111,41 +149,33 @@ public class VehiclePublishReceiveBiz extends BaseBiz<VehiclePublishReceiveMappe
vehiclePublishReceive.setCategoryId(categoryId); vehiclePublishReceive.setCategoryId(categoryId);
vehiclePublishReceive.setExtensionList(extensionList); vehiclePublishReceive.setExtensionList(extensionList);
vehiclePublishReceive.setReceiveUserId(publishReceiveDTO.getUserId()); vehiclePublishReceive.setReceiveUserId(publishReceiveDTO.getUserId());
insertSelective(vehiclePublishReceive);
id = vehiclePublishReceive.getId();
}else { }else {
VehiclePublishReceive receive = selectById(id); VehiclePublishReceive vehiclePublishReceive1 = selectById(id);
if (receive == null || !receive.getStatus().equals(VehiclePublishReceiveDTO.PAY)){ BeanUtils.copyProperties(vehiclePublishReceive1,vehiclePublishReceive);
if (vehiclePublishReceive == null || !vehiclePublishReceive.getStatus().equals(VehiclePublishReceiveDTO.PAY)){
throw new BaseException("接单无法确认--id==="+id, ResultCode.FAILED_CODE); throw new BaseException("接单无法确认--id==="+id, ResultCode.FAILED_CODE);
} }
} }
receiveIds.add(id); VehicleBrand vehicleBrand = brandBiz.selectById(vehiclePublishReceive.getBrandId());
if (vehicleBrand != null)
vehiclePublishReceive.setBrandName(vehicleBrand.getCnName());
VehicleCategory vehicleCategory = categoryBiz.selectById(vehiclePublishReceive.getCategoryId());
if (vehicleCategory != null )
vehiclePublishReceive.setCategoryName(vehicleCategory.getName());
if (StringUtils.isNotBlank(vehiclePublishReceive.getExtensionList()))
vehiclePublishReceive.setExtensionVOS(vehicleExtensionBiz.getTreeByApply(Arrays.asList(vehiclePublishReceive.getExtensionList().split(",")).parallelStream().map(s -> Integer.valueOf(s)).collect(Collectors.toList())));
} }
publishReceiveDTO.setIds(receiveIds);
BaseOrder baseOrder = addOrder(publishReceiveDTO);
if (baseOrder == null)
throw new BaseException("下单失败",ResultCode.FAILED_CODE);
publishReceiveDTO.setOrderNo(baseOrder.getNo());
mapper.updReceiveById(publishReceiveDTO);
return baseOrder;
}else {
if (receiveType == 2){
publishReceiveDTO.setStatus(VehiclePublishReceiveDTO.REFUSE);
updOrderReceive(publishReceiveDTO);
}
return null;
} }
return publishReceiveDTO;
} }
public void setVehiclePublishReceive(List<VehiclePublishReceive> receives,String receiveIds){ public void setVehiclePublishReceive(List<VehiclePublishReceiveVo> receives,String receiveIds){
if (receives == null || receives.size() == 0){ if (receives == null || receives.size() == 0){
receives = new ArrayList<>(); receives = new ArrayList<>();
if(StringUtils.isNotBlank(receiveIds)){ if(StringUtils.isNotBlank(receiveIds)){
List<Integer> receiveIdList =Arrays.asList(receiveIds.split(",")).parallelStream().map(s -> Integer.valueOf(s)).collect(Collectors.toList()); List<Integer> receiveIdList =Arrays.asList(receiveIds.split(",")).parallelStream().map(s -> Integer.valueOf(s)).collect(Collectors.toList());
for (Integer id : receiveIdList){ for (Integer id : receiveIdList){
VehiclePublishReceive vehiclePublishReceive = new VehiclePublishReceive(); VehiclePublishReceiveVo vehiclePublishReceive = new VehiclePublishReceiveVo();
vehiclePublishReceive.setId(id); vehiclePublishReceive.setId(id);
receives.add(vehiclePublishReceive); receives.add(vehiclePublishReceive);
} }
......
...@@ -27,16 +27,33 @@ public class AppVehiclePublishReceiveController extends BaseController<VehiclePu ...@@ -27,16 +27,33 @@ public class AppVehiclePublishReceiveController extends BaseController<VehiclePu
@PostMapping("meet") @PostMapping("meet")
@ApiModelProperty("接单") @ApiModelProperty("接单")
public ObjectRestResponse meet(@RequestBody VehiclePublishReceiveDTO publishReceiveDTO) throws Exception { public ObjectRestResponse meet(@RequestBody VehiclePublishReceiveDTO publishReceiveDTO) throws Exception {
if (publishReceiveDTO.getCompanyId() == null || publishReceiveDTO.getCompanyId() == 0){ setPublishReceiveDTO(publishReceiveDTO);
List<Integer> companyIds = getBusinessUserCompanyIds(); return ObjectRestResponse.succ(baseBiz.receive(publishReceiveDTO));
if (companyIds != null && companyIds.size() > 0){ }
publishReceiveDTO.setCompanyId(companyIds.get(0));
}
}
@PostMapping("confirmOrder")
@ApiModelProperty("确认订单")
public ObjectRestResponse confirmOrder(@RequestBody VehiclePublishReceiveDTO publishReceiveDTO) throws Exception {
setPublishReceiveDTO(publishReceiveDTO);
return ObjectRestResponse.succ(baseBiz.confirmOrder(publishReceiveDTO));
}
public void setPublishReceiveDTO(VehiclePublishReceiveDTO publishReceiveDTO)throws Exception{
if (publishReceiveDTO.getCompanyId() == null || publishReceiveDTO.getCompanyId() == 0){
List<Integer> companyIds = getBusinessUserCompanyIds();
if (companyIds != null && companyIds.size() > 0){
publishReceiveDTO.setCompanyId(companyIds.get(0));
}
}
publishReceiveDTO.setUserId(Integer.parseInt(getUserId())); publishReceiveDTO.setUserId(Integer.parseInt(getUserId()));
return ObjectRestResponse.succ(baseBiz.receive(publishReceiveDTO));
} }
@PostMapping("app/unauth/updReceive") @PostMapping("app/unauth/updReceive")
@ApiModelProperty("支付后处理") @ApiModelProperty("支付后处理")
@IgnoreUserToken @IgnoreUserToken
......
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