50 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
| <?php
 | |
| 
 | |
| namespace app\admin\validate\order;
 | |
| 
 | |
| use app\common\enum\OrderEnum;
 | |
| use think\Validate;
 | |
| use app\common\model\order\Order;
 | |
| use app\common\model\team\Team;
 | |
| 
 | |
| class OrderValidate extends Validate
 | |
| {
 | |
|     /**
 | |
|      * @notes 发货操作验证
 | |
|      * @param $post
 | |
|      * @return bool|string
 | |
|      * @author suny
 | |
|      * @date 2021/7/14 10:10 上午
 | |
|      * @throws \think\db\exception\DbException
 | |
|      * @throws \think\db\exception\ModelNotFoundException
 | |
|      * @throws \think\db\exception\DataNotFoundException
 | |
|      */
 | |
|     protected function checkDelivery($post)
 | |
|     {
 | |
| 
 | |
|         $id = $post['id'];
 | |
|         $order = Order::where(['id' => $id])->find();
 | |
| 
 | |
|         if (!$order) {
 | |
|             return '订单失效';
 | |
|         }
 | |
| 
 | |
|         if ($order['del'] == 1) {
 | |
|             return '订单已删除';
 | |
|         }
 | |
| 
 | |
|         if ($order['shipping_status'] == 1) {
 | |
|             return '此订单已发货';
 | |
|         }
 | |
| 
 | |
|         if ($order['order_type'] == OrderEnum::TEAM_ORDER) {
 | |
|             $found = Order::where(['id' => $order['team_found_id']])->find();
 | |
|             if ($found['status'] != Team::STATUS_SUCCESS) {
 | |
|                 return '已支付的拼团订单需要等待拼团成功后才能发货';
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         return true;
 | |
|     }
 | |
| }
 |