|
|
@@ -1521,23 +1521,6 @@ class ServiceWorkLogic extends BaseLogic
|
|
|
// 通过分享单Id 获取工单详情 'id'=>$params['id']
|
|
|
$externalShareOrder = ExternalShareOrder::where('id',$params['id']??0)->findOrEmpty();
|
|
|
if($externalShareOrder->isEmpty()){
|
|
|
- if($params['work_id']??false){
|
|
|
- $work = ServiceWork::where(['id'=>$params['work_id']])->findOrEmpty();
|
|
|
- if(empty($work->master_worker_id)){
|
|
|
- $work->work_status = 4;
|
|
|
- $work->master_worker_id = 2;
|
|
|
- $work->save();
|
|
|
- //amount user_id work_sn user_info.worker_number real_name master_worker_id
|
|
|
- self::confirmPrice([
|
|
|
- 'amount'=>$params['amount']??1,
|
|
|
- 'user_id'=>$work->master_worker_id,
|
|
|
- 'work_sn'=>$work->work_sn,
|
|
|
- 'user_info'=>['worker_number'=>'管理员','real_name'=>'管理员']
|
|
|
- ]);
|
|
|
- $res = ExternalShareOrder::create(['work_id'=>$params['work_id']]);
|
|
|
- return ['id'=>$res->id];
|
|
|
- }
|
|
|
- }
|
|
|
return [];
|
|
|
}
|
|
|
|
|
|
@@ -1591,7 +1574,7 @@ class ServiceWorkLogic extends BaseLogic
|
|
|
if($params['amount']){
|
|
|
$work = ServiceWork::where(['id'=>$params['id']])->findOrEmpty();
|
|
|
$work->work_status = 4;
|
|
|
- $work->master_worker_id = 2;
|
|
|
+ if(empty($work->master_worker_id)) $work->master_worker_id = 2;
|
|
|
$work->save();
|
|
|
//amount user_id work_sn user_info.worker_number real_name master_worker_id
|
|
|
self::confirmPrice([
|
|
|
@@ -1608,7 +1591,7 @@ class ServiceWorkLogic extends BaseLogic
|
|
|
|
|
|
$work = ServiceWork::where(['id'=>$params['id']])->findOrEmpty();
|
|
|
$work->work_status = 4;
|
|
|
- $work->master_worker_id = 2;
|
|
|
+ if(empty($work->master_worker_id)) $work->master_worker_id = 2;
|
|
|
$work->save();
|
|
|
//amount user_id work_sn user_info.worker_number real_name master_worker_id
|
|
|
self::confirmPrice([
|
|
|
@@ -1629,5 +1612,27 @@ class ServiceWorkLogic extends BaseLogic
|
|
|
return ['info'=>$shareOrder->isEmpty()?[]:$shareOrder->toArray(),'share_url'=>$shareOrder->isEmpty()?'':$share_url];
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ // 固定的尾款即同当前工单中的尾款金额
|
|
|
+ public static function shareFixedAmountToNative($params){
|
|
|
+ try {
|
|
|
+ // 创建分享单Id
|
|
|
+ $amount = RechargeOrder::where(['work_id'=>$params['id'],'pay_status'=>0])->sum('order_amount');
|
|
|
+ // 查询出未支付的总金额
|
|
|
+ $shareOrder = ExternalShareOrder::where(['work_id'=>$params['id']])->findOrEmpty();
|
|
|
+ if($shareOrder->isEmpty()){
|
|
|
+ $shareOrder = ExternalShareOrder::create(['order_status'=>1,'work_id'=>$params['id'],'paid_amount'=>$amount??0]);
|
|
|
+ }else{
|
|
|
+ if($shareOrder->order_status === 1 && empty($shareOrder->openid)){ // 可以改价
|
|
|
+ $shareOrder->paid_amount= $amount??0;
|
|
|
+ $shareOrder->save();
|
|
|
+ }else{ // 已结束 - 不用分享二维码
|
|
|
+ throw new \Exception('订单已结束无需支付');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return ['info'=>$shareOrder->isEmpty()?[]:$shareOrder->toArray(),'share_url'=>(env('project.share_fixed_host','').'?id='.$shareOrder->id)];
|
|
|
+ } catch (\Exception $e) {
|
|
|
+ self::setError($e->getMessage());
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|