<?php /** * Created by PhpStorm. * User: chouchou * Date: 2019-6-25 * Time: 23:28 */ namespace app\admin\controller; //流水管理控制器 use app\admin\model\OrderModel; use app\admin\model\ReviewModel; use app\admin\model\SettleModel; use think\Exception; use think\facade\Request; class Order extends Base { //生成订单号 public static function serial($id='',$per=''){ //前缀 $per = $per ?: config('admin.order_per'); if($id == '') { $order = OrderModel::order('id desc')->find(); if($order){ $id = $order->id + 1; } else { $id = 1; } } return $per.date('Ymd',time()).str_pad($id,5,'0',STR_PAD_LEFT); } //根据订单状态查询订单进度 public function state($id){ //根据订单ID查询订单状态 $order = OrderModel::get($id); //如果没有订单生成,则是状态1 $step1 = 1; if($order){ $step2 = isset($order->statement_id) ? 2 : 0; $step3 = isset($order->payment_id) ? 3 : 0; $step4 = isset($order->settle_id) ? 4 : 0; } return $step1 + $step2 + $step3 + $step4; // 1,3,6,7,10 } public function check(){ $type = Request::post('check'); $cp_id = Request::post('cp_id'); if($type == '' || $cp_id == ''){ return jsonErr('数据错误'); } $order = OrderModel::get(['cp_id'=>$cp_id]); switch ($type){ case 'payment': $pay_id = Request::post('payment_id'); if($order->payment_id == $pay_id){ $order->payment_status = 1; //更改状态 $order->payment_time = time(); //确认时间 $order->payment_uid = (new Staff())->getCurrentUser()->id; //确认人 //查看是否已经审核结算信息 if($order->settle_status == 1){ $order->status = 1; } else { $order->status = 2; } if($order->save()){ //记录审核信息 $reivew = new ReviewModel; $reivew->staff_id = (new Staff())->getCurrentUser()->id; $reivew->cp_id = $cp_id; $reivew->action = 1; $reivew->result = 1; $reivew->message = '员工: '.(new Staff())->getCurrentUser()->name . ' 在: '.$order->payment_time . '对流水单号是:'. $order->order_id .' 抄表单号是:' . $cp_id .' 进行了缴费确认!'; $reivew->save(); return jsonSuc('已审核缴费信息'); } } break; case 'settle': $settle_id = Request::post('settle_id'); if($order->settle_id == $settle_id){ $order->settle_status = 1; //更改状态 $order->settle_time = time(); //确认时间 $order->settle_uid = (new Staff())->getCurrentUser()->id; //确认人 //查看是否已经审核缴费信息 if($order->payment_status == 1){ $order->status = 1; } else { $order->status = 3; } if($order->save()){ //更新settle $settle = SettleModel::find($settle_id); $settle->status = 1; $settle->save(); $reivew = new ReviewModel; $reivew->staff_id = (new Staff())->getCurrentUser()->id; $reivew->cp_id = $cp_id; $reivew->action = 2; $reivew->result = 1; $reivew->message = '员工: '.(new Staff())->getCurrentUser()->name . ' 在: '.$order->settle_time. '对流水单号是:'. $order->order_id .' 抄表单号是:' . $cp_id .' 进行了结算确认!'; $reivew->save(); return jsonSuc('已审核结算信息'); } } else { return jsonErr('信息不匹配'); } break; } } public function applyConfirm(){ $id = Request::post('id'); //则查找order if($id > 0){ $order = OrderModel::find($id); if(!$order){ return jsonSuc('参数错误,找不到记录'); } $order->status = 4; $order->save(); return jsonSuc('已经提交确收等待财务确认'); } else return jsonSuc('非法的参数'); } public function confirm(){ $id = Request::post('id'); if($id > 0){ $order = OrderModel::find($id); if(!$order){ return jsonSuc('参数错误,找不到记录'); } $order->status = 5; $order->save(); return jsonSuc('已确收'); } else return jsonSuc('非法的参数'); } }