Kaynağa Gözat

8.9 商家通知司机拉货

Mechrevo 2 yıl önce
ebeveyn
işleme
99c2434dc1
19 değiştirilmiş dosya ile 362 ekleme ve 35 silme
  1. 4 0
      sp-core/sp-api/src/main/java/com/pj/api/client/level_one_server/LevelOneServerInterface.java
  2. 7 0
      sp-core/sp-api/src/main/java/com/pj/api/client/level_one_server/LevelOneServerInterfaceFallback.java
  3. 2 0
      sp-service/level-one-server/src/main/java/com/pj/tb_goods_cart/MethodGoodsCartService.java
  4. 1 0
      sp-service/level-one-server/src/main/java/com/pj/tb_goods_cart/TbGoodsCart.java
  5. 1 0
      sp-service/level-one-server/src/main/java/com/pj/tb_goods_cart/TbGoodsCartMapper.xml
  6. 1 0
      sp-service/level-one-server/src/main/java/com/pj/tb_goods_cart/vo/GoodsCartVo.java
  7. 16 0
      sp-service/level-one-server/src/main/java/com/pj/tb_goods_transit/MethodGoodsTransitService.java
  8. 4 0
      sp-service/level-one-server/src/main/java/com/pj/tb_goods_transit/TbGoodsTransitService.java
  9. 6 0
      sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrderAppController.java
  10. 9 0
      sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrderService.java
  11. 0 19
      sp-service/level-one-server/src/main/java/com/pj/tb_order/param/OrderListParam.java
  12. 1 1
      sp-service/transport-server/src/main/java/com/pj/project/tb_favorite_contacts/TbFavoriteContacts.java
  13. 1 1
      sp-service/transport-server/src/main/java/com/pj/project/tb_favorite_contacts/TbFavoriteContactsMapper.xml
  14. 3 1
      sp-service/transport-server/src/main/java/com/pj/project/tb_logistics/TbLogistics.java
  15. 71 0
      sp-service/transport-server/src/main/java/com/pj/project/tb_vehicle/MethodVehicleService.java
  16. 43 9
      sp-service/transport-server/src/main/java/com/pj/project/tb_vehicle/TbVehicleAppController.java
  17. 93 3
      sp-service/transport-server/src/main/java/com/pj/project/tb_vehicle/TbVehicleService.java
  18. 98 0
      sp-service/transport-server/src/main/java/com/pj/project/tb_vehicle/param/DriverResultParam.java
  19. 1 1
      sp-service/transport-server/src/main/java/com/pj/project/tb_vehicle/vo/TbVehicleVo.java

+ 4 - 0
sp-core/sp-api/src/main/java/com/pj/api/client/level_one_server/LevelOneServerInterface.java

@@ -22,6 +22,10 @@ import java.util.List;
 )
 public interface LevelOneServerInterface {
 
+    /** 查 - 根据id查orderDto */
+    @RequestMapping("rpc/getById")
+    public OrderDto rpcGetById(@RequestParam("orderId") Long orderId);
+
     @RequestMapping("/app/TbOrder/rpc/selectOrderList")
     public List<OrderDto> selectOrderList(@RequestParam("currDay") Date currDay, @RequestParam("appUserId") Long appUserId);
 

+ 7 - 0
sp-core/sp-api/src/main/java/com/pj/api/client/level_one_server/LevelOneServerInterfaceFallback.java

@@ -23,6 +23,13 @@ public class LevelOneServerInterfaceFallback implements FallbackFactory<LevelOne
     public LevelOneServerInterface create(Throwable throwable) {
         return new LevelOneServerInterface() {
             @Override
+            public OrderDto rpcGetById(Long orderId) {
+                System.out.println(throwable.getMessage());
+                log.error("根据一级市场订单错误,当前ID:{},错误信息是:{}",orderId,throwable.getMessage());
+                return null;
+            }
+
+            @Override
             public List<OrderDto> selectOrderList(Date currDay, Long appUserId) {
                 System.out.println(throwable.getMessage());
                 log.error("根据一级市场订单错误,当前日:{},当前用户ID:{},错误信息是:{}",currDay,appUserId,throwable.getMessage());

+ 2 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_goods_cart/MethodGoodsCartService.java

@@ -56,6 +56,8 @@ public class MethodGoodsCartService {
             String goodsUnits = tbGoodsTransit.getGoodsUnits();
             //创建对象
             GoodsCartVo goodsCartVo = new GoodsCartVo();
+            //关联的商品是否已被下单
+            goodsCartVo.setGoodsIsorderStatus(item.getGoodsIsorderStatus());
             //数据拷贝
             BeanUtils.copyProperties(item,goodsCartVo);
             //设置店铺名称

+ 1 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_goods_cart/TbGoodsCart.java

@@ -68,6 +68,7 @@ public class TbGoodsCart extends Model<TbGoodsCart> implements Serializable {
 	private String goodsName;
 
 	private Integer buyNum;
+	private Integer goodsIsorderStatus;
 
 	/**
 	 *  

+ 1 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_goods_cart/TbGoodsCartMapper.xml

@@ -24,6 +24,7 @@
 		<where>
 			<if test=' this.has("id") '> and id = #{id} </if>
 			<if test=' this.has("enterpriseId") '> and enterprise_id = #{enterpriseId} </if>
+			<if test=' this.has("goodsIsorderStatus") '> and goods_isorder_status = #{goodsIsorderStatus} </if>
 			<if test=' this.has("shopId") '> and shop_id = #{shopId} </if>
 			<if test=' this.has("tradeAreaId") '> and trade_area_id = #{tradeAreaId} </if>
 			<if test=' this.has("goodsName") '> and goods_name = #{goodsName} </if>

+ 1 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_goods_cart/vo/GoodsCartVo.java

@@ -56,6 +56,7 @@ public class GoodsCartVo {
     private String goodsName;
 
     private Integer buyNum;
+    private Integer goodsIsorderStatus;
 
     /**
      *

+ 16 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_goods_transit/MethodGoodsTransitService.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.pj.current.dto.APPLoginUserInfo;
 import com.pj.enummj.*;
 import com.pj.retry.SmsRetryService;
+import com.pj.tb_goods_cart.TbGoodsCart;
+import com.pj.tb_goods_cart.TbGoodsCartService;
 import com.pj.tb_order.TbOrder;
 import com.pj.tb_order.TbOrderMapper;
 import com.pj.tb_people.TbPeople;
@@ -41,6 +43,8 @@ public class MethodGoodsTransitService {
     private TbOrderMapper tbOrderMapper;
     @Autowired
     private TbPeopleMapper tbPeopleMapper;
+    @Autowired
+    private TbGoodsCartService tbGoodsCartService;
 
 
 
@@ -146,6 +150,18 @@ public class MethodGoodsTransitService {
         return tbOrder;
     }
 
+    /**
+     * 如果购物车内的商品为已下单,则将所有人添加该商品到购物车的状态全部改成已下单
+     * @param tbGoodsCarts
+     */
+    public void goodsCartIsOrder(List<TbGoodsCart> tbGoodsCarts){
+        if(tbGoodsCarts.size() == 0)return;
+        //将购物的的商品订单状态改成已下单
+        tbGoodsCarts.forEach(item -> {
+            item.setGoodsIsorderStatus(1);
+        });
+        tbGoodsCartService.saveBatch(tbGoodsCarts);
+    }
 
 
 

+ 4 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_goods_transit/TbGoodsTransitService.java

@@ -19,6 +19,7 @@ import com.pj.tb_enterprise.TbEnterprise;
 import com.pj.tb_enterprise.TbEnterpriseMapper;
 import com.pj.tb_goods.TbGoods;
 import com.pj.tb_goods.TbGoodsMapper;
+import com.pj.tb_goods_cart.TbGoodsCart;
 import com.pj.tb_goods_cart.TbGoodsCartMapper;
 import com.pj.tb_goods_transit.param.JudgeTransitParam;
 import com.pj.tb_goods_transit.param.PurchaseLevelOneGoodsTransitParam;
@@ -289,6 +290,9 @@ public class TbGoodsTransitService extends ServiceImpl<TbGoodsTransitMapper, TbG
 		//执行保存 todo:创建订单
 		int insert = tbOrderMapper.insert(tbOrder);
 		if(insert == 1){
+			//将该商品被添加进的购物车的下单状态goodsIsorderStatus改成已下单
+			List<TbGoodsCart> tbGoodsCarts = tbGoodsCartMapper.selectList(new LambdaQueryWrapper<TbGoodsCart>().eq(TbGoodsCart::getPublishGoodsId, goodsTransitId));
+			methodGoodsTransitService.goodsCartIsOrder(tbGoodsCarts);
 			//删除购物车
 			tbGoodsCartMapper.deleteById(purchaseLevelOntGoodsTransitParam.getGoodsCartId());
 			//将商品信息改成已被下单

+ 6 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrderAppController.java

@@ -107,6 +107,12 @@ public class TbOrderAppController {
 		List<OrderDto> orderDtos = tbOrderService.selectOrderList(currDay,appUserId);
 		return orderDtos;
 	}
+	/** 查 - 根据id查orderDto */
+	@RequestMapping("rpc/getById")
+	public OrderDto rpcGetById(@RequestParam("orderId") Long orderId){
+		OrderDto t = tbOrderService.getOrderDtoById(orderId);
+		return t;
+	}
 
 
 }

+ 9 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrderService.java

@@ -242,4 +242,13 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
 		return result;
 	}
 
+
+	/** 远程调用  查订单 */
+	OrderDto getOrderDtoById(Long id){
+		TbOrder byId = super.getById(id);
+		OrderDto orderDto = new OrderDto();
+		BeanUtils.copyProperties(byId,orderDto);
+		return orderDto;
+	}
+
 }

+ 0 - 19
sp-service/level-one-server/src/main/java/com/pj/tb_order/param/OrderListParam.java

@@ -1,19 +0,0 @@
-package com.pj.tb_order.param;
-
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-/**
- * 根据不同的状态查看不同的订单
- * @Author Mechrevo
- * @Date 2023 08 08 17 40
- **/
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
-public class OrderListParam {
-
-
-
-}

+ 1 - 1
sp-service/transport-server/src/main/java/com/pj/project/tb_favorite_contacts/TbFavoriteContacts.java

@@ -64,7 +64,7 @@ public class TbFavoriteContacts extends Model<TbFavoriteContacts> implements Ser
 	/**
 	 * 管理人(外联id,与app_user表的id相等)
 	 */
-	private Long fkAppUserId;
+	private Long fkAppUser;
 
 	/**
 	 * 创建时间

+ 1 - 1
sp-service/transport-server/src/main/java/com/pj/project/tb_favorite_contacts/TbFavoriteContactsMapper.xml

@@ -26,7 +26,7 @@
 			<if test=' this.has("name") '> and name = #{name} </if>
 			<if test=' this.has("phone") '> and phone = #{phone} </if>
 			<if test=' this.has("address") '> and address = #{address} </if>
-			<if test=' this.has("fkAppUserId") '> and fk_app_user_id = #{fkAppUserId} </if>
+			<if test=' this.has("fkAppUser") '> and fk_app_user = #{fkAppUser} </if>
 			<if test=' this.has("createBy") '> and create_by = #{createBy} </if>
 			<if test=' this.has("createName") '> and create_name = #{createName} </if>
 			<if test=' this.has("updateBy") '> and update_by = #{updateBy} </if>

+ 3 - 1
sp-service/transport-server/src/main/java/com/pj/project/tb_logistics/TbLogistics.java

@@ -5,6 +5,7 @@ import java.util.Date;
 
 import com.baomidou.mybatisplus.annotation.*;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.EqualsAndHashCode;
 
 import lombok.Data;
@@ -195,12 +196,13 @@ public class TbLogistics extends Model<TbLogistics> implements Serializable {
 	/**
 	 * 创建时间
 	 */
+	@JsonFormat(pattern = "yyyy-MM-dd")
 	private Date createTime;
 
 	/**
 	 * 创建人编号
 	 */
-	private String createBy;
+	private Long createBy;
 
 	/**
 	 * 创建人名称

+ 71 - 0
sp-service/transport-server/src/main/java/com/pj/project/tb_vehicle/MethodVehicleService.java

@@ -1,15 +1,22 @@
 package com.pj.project.tb_vehicle;
 
+import com.pj.current.dto.APPLoginUserInfo;
+import com.pj.enummj.DeleteStatus;
+import com.pj.project.tb_logistics.TbLogistics;
+import com.pj.project.tb_logistics.TbLogisticsMapper;
+import com.pj.project.tb_vehicle.param.DriverResultParam;
 import org.apache.poi.hssf.usermodel.HSSFCell;
 import org.apache.poi.hssf.usermodel.HSSFRow;
 import org.apache.poi.hssf.usermodel.HSSFSheet;
 import org.apache.poi.ss.usermodel.CellType;
 import org.apache.poi.ss.usermodel.DateUtil;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
@@ -24,6 +31,70 @@ public class MethodVehicleService {
 
     @Autowired
     private TbVehicleService tbVehicleService;
+    @Autowired
+    private TbVehicleMapper tbVehicleMapper;
+    @Autowired
+    private TbLogisticsMapper tbLogisticsMapper;
+
+    /** 司机同意 */
+    public boolean agree(APPLoginUserInfo appLoginInfo, DriverResultParam driverResultParam){
+        //修改车辆状态
+        TbVehicle tbVehicle = tbVehicleMapper.selectById(driverResultParam.getVehicleId());
+        if(tbVehicle == null)throw new RuntimeException("车辆信息异常!");
+        tbVehicle.setVehicleStatus(1); // 将状态修改成作业中
+        int updateById = tbVehicleMapper.updateById(tbVehicle);
+        if(updateById != 1)throw new RuntimeException("车辆状态异常");
+        //生成物流信息
+        TbLogistics logistics = new TbLogistics();
+        //数据拷贝
+        BeanUtils.copyProperties(driverResultParam,logistics);
+//        logistics.setDeclarationNumber(); //申报订单号
+//        logistics.setPrepare();  //订单待确认(0=待确认,1=订单已确认,2=订单确认失败)[j switch=true]
+        logistics.setPrepareTime(new Date()); // 确认接单时间
+        logistics.setLoading(0); //装货状态0,默认待装货
+//        logistics.setLoadingTime(); //  装货时间
+        logistics.setDelivery(0); // 发货状态,默认未发货
+//        logistics.setDeliveryTime(); // 发货时间
+        logistics.setClearedCustom(0); // 海关状态0, 默认未出海关
+//        logistics.setClearedCustomTime();  // 出海关时间
+        logistics.setMakeCargo(1);  // 接货人确定接货(0=禁用,1=启用)[j switch=true]
+        logistics.setMakeCargoTime(null); // 接货完成时间
+        logistics.setConfirmReceipt(1);  // 收购商确认(0=禁用,1=启用)[j switch=true]
+        logistics.setConfirmReceiptTime(null);  // 收货方确认时间(相当于订单完成时间)
+        logistics.setOrderFinish(0); // 订单完成状态, 默认未完成
+
+        //设置基本字段属性
+        logistics.setCreateBy(appLoginInfo.getLoginId());
+        logistics.setCreateName(appLoginInfo.getLoginName());
+        logistics.setCreateTime(new Date());
+        logistics.setDeleteStatus(DeleteStatus.DELETE_STATUS_ON.getCode()); // 默认可用
+
+        //保存物流信息
+        int updateById1 = tbLogisticsMapper.updateById(logistics);
+
+        if(updateById1 != 1)throw new RuntimeException("物流信息保存异常!");
+
+        return true;
+    }
+
+
+    /** 司机拒绝 */
+    public boolean refuse(APPLoginUserInfo appLoginInfo){
+
+
+
+        return false;
+    }
+
+
+
+
+
+
+
+
+
+
 
     /**
      * 方法抽取  导入

+ 43 - 9
sp-service/transport-server/src/main/java/com/pj/project/tb_vehicle/TbVehicleAppController.java

@@ -1,18 +1,19 @@
 package com.pj.project.tb_vehicle;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
-import com.pj.project4sp.SP;
+import com.pj.api.dto.OrderDto;
+import com.pj.enummj.DeleteStatus;
+import com.pj.project.tb_vehicle.param.DriverResultParam;
+import com.pj.project.tb_vehicle.vo.TbVehicleVo;
 import com.pj.utils.sg.AjaxJson;
 import com.pj.utils.so.SoMap;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.multipart.MultipartFile;
 
-import java.io.IOException;
 import java.util.List;
 
 
@@ -31,7 +32,6 @@ public class TbVehicleAppController {
 
 	/** 查 - 根据车牌号查车辆信息 */
 	@RequestMapping("getByVehiclePlate")
-	@SaCheckPermission(TbVehicle.PERMISSION_CODE)
 	public AjaxJson getByVehiclePlate(String vehiclePlate){
 		TbVehicle t = tbVehicleService.getByVehiclePlate(vehiclePlate);
 		return AjaxJson.getSuccessData(t);
@@ -39,10 +39,9 @@ public class TbVehicleAppController {
 
 	/** 查集合 - 根据条件(参数为空时代表忽略指定条件) */
 	@RequestMapping("getList")
-	@SaCheckPermission(TbVehicle.PERMISSION_CODE)
 	public AjaxJson getList() {
 		SoMap so = SoMap.getRequestSoMap();
-		so.set("deleteStatus", 1);
+		so.put("deleteStatus", DeleteStatus.DELETE_STATUS_ON.getCode());
 		List<TbVehicle> list = tbVehicleService.getList(so.startPage());
 		return AjaxJson.getPageData(so.getDataCount(), list);
 	}
@@ -50,7 +49,6 @@ public class TbVehicleAppController {
 
 	/** 改 - 根据车辆Id修改车辆状态 */
 	@RequestMapping("updateStatusByVehicleId")
-	@SaCheckPermission(TbVehicle.PERMISSION_CODE_EDIT)
 	public AjaxJson updateStatusByVehicleId(TbVehicleVo vehicleVo) {
 		boolean result = tbVehicleService.updateStatusByVehicleId(vehicleVo);
 		if(result) return AjaxJson.getSuccess();
@@ -58,4 +56,40 @@ public class TbVehicleAppController {
 		return AjaxJson.getError();
 	}
 
+	/**
+	 * 商户确定车辆后执行通知司机
+	 * @param driverId tb_driver表主键
+	 * @return
+	 * @throws Exception
+	 */
+	@RequestMapping("informDriver")
+	public AjaxJson informDriver(@RequestParam("driverId") Long driverId,@RequestParam("") Long levelOneOrderId) throws Exception {
+		OrderDto orderDto = tbVehicleService.informDriver(driverId, levelOneOrderId);
+		return AjaxJson.getSuccessData(orderDto);
+	}
+
+	/**
+	 * 司机处理结果,同意
+	 * @return
+	 * @throws Exception
+	 */
+	@RequestMapping("driverAgree")
+	public AjaxJson driverDispose(@Validated @RequestBody DriverResultParam driverResultParam) throws Exception {
+		boolean dispose = tbVehicleService.driverAgree(driverResultParam);
+		if(dispose)return AjaxJson.getSuccess();
+		return AjaxJson.getError();
+	}
+
+	/**
+	 * 司机处理结果,拒绝
+	 * @return
+	 * @throws Exception
+	 */
+	@RequestMapping("driverRefuse")
+	public AjaxJson driverRefuse(String purchaserPhone) throws Exception {
+		boolean dispose = tbVehicleService.driverRefuse(purchaserPhone);
+		if(dispose)return AjaxJson.getSuccess();
+		return AjaxJson.getError();
+	}
+
 }

+ 93 - 3
sp-service/transport-server/src/main/java/com/pj/project/tb_vehicle/TbVehicleService.java

@@ -4,11 +4,22 @@ import java.io.FileOutputStream;
 import java.io.IOException;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
+import java.util.Date;
 import java.util.List;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.pj.api.client.level_one_server.LevelOneServerInterface;
+import com.pj.api.dto.OrderDto;
+import com.pj.common.core.exception.ServiceException;
+import com.pj.current.dto.APPLoginUserInfo;
+import com.pj.current.satoken.StpAPPUserUtil;
+import com.pj.enummj.DeleteStatus;
 import com.pj.project.tb_driver.TbDriver;
+import com.pj.project.tb_driver.TbDriverMapper;
+import com.pj.project.tb_vehicle.param.DriverResultParam;
+import com.pj.project.tb_vehicle.vo.TbVehicleVo;
+import com.pj.retry.SmsRetryService;
 import com.pj.utils.so.SoMap;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.hssf.usermodel.HSSFRow;
@@ -19,7 +30,6 @@ import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.transaction.annotation.Transactional;
-import com.pj.utils.sg.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.swing.filechooser.FileSystemView;
@@ -39,8 +49,18 @@ public class TbVehicleService extends ServiceImpl<TbVehicleMapper, TbVehicle> im
 	@Autowired
 	private MethodVehicleService methodVehicleService;
 
+	@Autowired
+	private TbDriverMapper tbDriverMapper;
+
+	@Autowired
+	private SmsRetryService smsRetryService;
+
+	@Autowired
+	private LevelOneServerInterface levelOneServerInterface;
+
 	/** 增 */
 	void add(TbVehicle t){
+		t.setCreateTime(new Date());
 		save(t);
 	}
 
@@ -51,6 +71,7 @@ public class TbVehicleService extends ServiceImpl<TbVehicleMapper, TbVehicle> im
 
 	/** 改 */
 	void update(TbVehicle t){
+		t.setUpdateTime(new Date());
 		updateById(t);
 
 	}
@@ -69,9 +90,9 @@ public class TbVehicleService extends ServiceImpl<TbVehicleMapper, TbVehicle> im
 	TbVehicle getByVehiclePlate(String vehiclePlate) {
 
 		TbVehicle tbVehicle = tbVehicleMapper.selectOne(new LambdaQueryWrapper<TbVehicle>()
-				.eq(TbVehicle::getVehiclePlate, vehiclePlate) //车牌号
+				.like(TbVehicle::getVehiclePlate, vehiclePlate) //车牌号
 				.eq(TbVehicle::getVehicleStatus, 1)//车辆状态:1=空闲
-				.eq(TbVehicle::getDeleteStatus, 1));
+				.eq(TbVehicle::getDeleteStatus, DeleteStatus.DELETE_STATUS_ON.getCode()));
 		return tbVehicle;
 	}
 
@@ -90,6 +111,75 @@ public class TbVehicleService extends ServiceImpl<TbVehicleMapper, TbVehicle> im
 
 	}
 
+	/**
+	 * 商户确定车辆后执行通知司机
+	 * @param driverId tb_driver 表ID
+	 * @return
+	 * @throws Exception
+	 */
+	public OrderDto informDriver(Long driverId,Long levelOneOrderId) throws Exception {
+		//通过driverId查询司机表
+		TbDriver tbDriver = tbDriverMapper.selectById(driverId);
+		if(tbDriver == null)throw new ServiceException("司机信息有误!");
+		//获取司机号码
+		String phone = tbDriver.getPhone();
+		//todo: 执行通知
+//		boolean smsMsg = smsRetryService.sendSmsMsg(phone);
+		//发送订单内容
+		OrderDto orderDto = levelOneServerInterface.rpcGetById(levelOneOrderId);
+		if(orderDto == null)throw new ServiceException("未知异常!");
+		return orderDto;
+	}
+
+	/**
+	 * 司机处理订单,同意
+	 * @return
+	 */
+	public boolean driverAgree(DriverResultParam driverResultParam){
+		//获取当前登录人
+		APPLoginUserInfo appLoginInfo = StpAPPUserUtil.getAPPLoginInfo();
+
+		boolean agree = methodVehicleService.agree(appLoginInfo, driverResultParam);
+
+		return agree;
+
+	}
+
+	/**
+	 * 司机处理订单,拒绝
+	 * @param purchaserPhone 收购商电话
+	 * @return
+	 */
+	public boolean driverRefuse(String purchaserPhone) throws Exception {
+
+		//todo:司机拒绝,发送通知短信给收购商
+//		smsRetryService.sendSmsMsg(purchaserPhone);
+
+		return false;
+
+	}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 	/**
 	 * 导入

+ 98 - 0
sp-service/transport-server/src/main/java/com/pj/project/tb_vehicle/param/DriverResultParam.java

@@ -0,0 +1,98 @@
+package com.pj.project.tb_vehicle.param;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Author Mechrevo
+ * @Date 2023 08 09 10 48
+ **/
+@Data
+public class DriverResultParam {
+
+    /**
+     * 处理结果
+     */
+    @NotNull(message = "result,处理结果必填!")
+    private Integer result;
+
+    /**
+     * 一级市场订单ID
+     */
+    @NotNull(message = "levelOneOrderId,一级市场订单ID不能为空!")
+    private Long levelOneOrderId;
+
+    /**
+     * 一级市场订单编号
+     */
+    private String orderNo;
+
+    /**
+     * 装货地址
+     */
+    @NotBlank(message = "loadingAddress,装货地址不能为空!")
+    private String loadingAddress;
+
+    /**
+     * 卸货地址
+     */
+    @NotBlank(message = "unloadingAddress,卸货地址不能为空!")
+    private String unloadingAddress;
+
+    /**
+     * 备注
+     */
+    private String comment;
+
+    /**
+     * 交易地区ID
+     */
+    @NotNull(message = "tradeAreaId,交易地区ID不能为空")
+    private Long tradeAreaId;
+
+    /**
+     * 交易地区名称
+     */
+    @NotNull(message = "tradeAreaName,交易地区名称不能为空")
+    private Long tradeAreaName;
+
+    /**
+     * 司机表ID
+     */
+    @NotNull(message = "driverId,司机表ID不能为空")
+    private Long driverId;
+
+    /**
+     * 司机名称
+     */
+    @NotNull(message = "driverId,司机名称不能为空")
+    private Long driverName;
+
+    /**
+     * 司机电话
+     */
+    @NotNull(message = "driverId,司机电话不能为空")
+    private Long driverPhone;
+
+    /**
+     * 车辆ID
+     */
+    @NotNull(message = "vehicleId,司机表ID不能为空")
+    private Long vehicleId;
+
+    /**
+     * 车辆名称
+     */
+    @NotNull(message = "vehicleName,司机名称不能为空")
+    private Long vehicleName;
+
+    /**
+     * 车辆类型
+     */
+    @NotNull(message = "vehicleType,司机电话不能为空")
+    private Long vehicleType;
+
+
+}

+ 1 - 1
sp-service/transport-server/src/main/java/com/pj/project/tb_vehicle/TbVehicleVo.java → sp-service/transport-server/src/main/java/com/pj/project/tb_vehicle/vo/TbVehicleVo.java

@@ -1,4 +1,4 @@
-package com.pj.project.tb_vehicle;
+package com.pj.project.tb_vehicle.vo;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;