|
|
@@ -13,7 +13,9 @@ use app\common\model\goods\Goods;
|
|
|
use app\common\model\master_worker\MasterWorker;
|
|
|
use app\common\model\orders\RechargeOrder;
|
|
|
use app\common\model\recharge\OrderGoods;
|
|
|
+use app\common\model\spare_part\SparePart;
|
|
|
use app\common\model\works\ServiceWork;
|
|
|
+use app\common\model\works\ServiceWorkSpare;
|
|
|
use app\workerapi\logic\ServiceWorkLogLogic;
|
|
|
use think\Exception;
|
|
|
use think\facade\Db;
|
|
|
@@ -311,7 +313,7 @@ class ServiceOrderLogic extends BaseLogic
|
|
|
$order_info = \app\common\model\recharge\RechargeOrder::with(['order_goods'=>function ($query) {
|
|
|
$query->visible(['goods_name','goods_image','goods_number','good_unit']);
|
|
|
},'service_work'=>function ($query) {
|
|
|
- $query->visible(['real_name','mobile','address','service_status','appointment_time','master_worker_id','work_images','finished_images','finished_time'])->append(['service_status_text','user_service_status','user_service_status_text']);
|
|
|
+ $query->visible(['real_name','mobile','address','service_status','appointment_time','master_worker_id','work_images','finished_images','finished_time','spare_total','service_work_spare_id'])->append(['service_status_text','user_service_status','user_service_status_text']);
|
|
|
}])
|
|
|
->visible(['id','sn','payment_type','order_total','order_amount','paid_amount','pay_status','create_time','title','work_id'])
|
|
|
->where([
|
|
|
@@ -320,6 +322,9 @@ class ServiceOrderLogic extends BaseLogic
|
|
|
'sn'=>$params['sn']
|
|
|
])->findOrEmpty()->toArray();
|
|
|
|
|
|
+ if(empty($order_info)){
|
|
|
+ throw new Exception('订单不存在');
|
|
|
+ }
|
|
|
|
|
|
$order_info['master_worker'] = [
|
|
|
'avatar' => '',
|
|
|
@@ -329,9 +334,7 @@ class ServiceOrderLogic extends BaseLogic
|
|
|
'worker_exp'=>''
|
|
|
];
|
|
|
|
|
|
- if(empty($order_info)){
|
|
|
- throw new Exception('订单不存在');
|
|
|
- }
|
|
|
+
|
|
|
|
|
|
//查询总价
|
|
|
$order_info['order_amount'] = \app\common\model\recharge\RechargeOrder::where(['order_type'=>0,'user_id'=>$params['user_id'],'work_id'=>$order_info['work_id']])->sum('order_amount');
|
|
|
@@ -364,6 +367,21 @@ class ServiceOrderLogic extends BaseLogic
|
|
|
//汇总优惠卷额度
|
|
|
$order_info['coupon_price'] = $coupon_price;
|
|
|
|
|
|
+ // 所有配件
|
|
|
+ $order_info['spare_parts'] = [];
|
|
|
+ if($order_info['service_work']['service_work_spare_id']){
|
|
|
+ $work_spare_parts = json_decode(ServiceWorkSpare::where('id',$order_info['service_work']['service_work_spare_id'])->value('spare_parts'),true);
|
|
|
+ $spare_parts = SparePart::where('id','in',array_column($work_spare_parts,'id'))
|
|
|
+ ->field(['id', 'goods_category_id', 'spare_name', 'spare_image', 'spare_number', 'spare_unit','spare_status'])
|
|
|
+ ->select()
|
|
|
+ ->toArray();
|
|
|
+ $spare_parts = array_column($spare_parts,null,'id');
|
|
|
+ foreach (array_column($work_spare_parts,null,'id') as $k=>&$v){
|
|
|
+ $spare_parts[$k] = array_merge($spare_parts[$k],$v);
|
|
|
+ }
|
|
|
+ $order_info['spare_parts'] = array_values($spare_parts)??[];
|
|
|
+ }
|
|
|
+
|
|
|
return $order_info;
|
|
|
}
|
|
|
catch (\Exception $e) {
|
|
|
@@ -612,7 +630,6 @@ class ServiceOrderLogic extends BaseLogic
|
|
|
array_walk($orderGoodsData, function (&$value, $key, $data) {
|
|
|
$value = array_merge($value, ['sn' => $data['sn']]);
|
|
|
},$data);
|
|
|
- dd($orderGoodsData);
|
|
|
$orderGoodsModel = new OrderGoods();
|
|
|
$orderGoodsModel->saveAll($orderGoodsData);
|
|
|
Db::commit();
|