|
@@ -545,7 +545,7 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
|
*/
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public int driverReceiveOrRefuse(Map<String, Object> map) {
|
|
|
+ public synchronized int driverReceiveOrRefuse(Map<String, Object> map) {
|
|
|
BigDecimal orderId = DataChange.dataToBigDecimal(map.get("orderId"));
|
|
|
OmstruckOrder omstruckOrder = new OmstruckOrder();
|
|
|
if((Integer) map.get("orderReceiveStatus") == 1){
|
|
@@ -558,6 +558,18 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
|
|
|
|
Map<String, Object> orderMessage = omstruckOrderSeparateMapper.getOrderMessagge(orderId);
|
|
|
omstruckOrderSeparateService.addAllSonResult(orderMessage);
|
|
|
+
|
|
|
+
|
|
|
+ BigDecimal orderType= (BigDecimal) orderMessage.get("orderType");
|
|
|
+ if (orderType.equals(15)||orderType.equals(16)){
|
|
|
+
|
|
|
+ Integer sporadicOrderTimes =omstruckOrderMapper.getSporadicOrderTimes(orderId);
|
|
|
+
|
|
|
+ if (orderMessage.containsKey("orderPlanId")&&sporadicOrderTimes>0){
|
|
|
+ int state= omstruckOrderSeparateService.updateTimes(new BigDecimal(orderMessage.get("orderPlanId").toString()),sporadicOrderTimes-1);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
}else {
|
|
|
omstruckOrder.setOrderStatus(new BigDecimal(6));
|
|
|
|