assign('breadcrumb1','订单管理');
$this->assign('breadcrumb2','订单回执');
}
/**
* 首页列表
*
* */
public function index(Model $Model){
// 接受参数
$orderCode = request('order_code','');
$orderId = 0;
// 查询条件
$map = [];
// 编码ID
if( $orderId ) $map[] = ['order_id','=',$orderId];
// 查询数据
$list = $Model->query()->where($map)->orderByDesc('id')->paginate(request('limit',config('page_num',10)))->appends(request()->all());
// 循环处理数据
foreach ($list as $key => $value) {
// id转编号
$value['image'] = $value['image'] ? path_compat($value['image']) : '';
// 重组
$list[$key] = $value;
}
// 分配数据
$this->assign('empty', '
~~暂无数据 |
');
$this->assign('list', $list);
// 加载模板
return $this->fetch();
}
/**
* 通过
*
* */
public function allow( Request $request, Model $Model,Orders $Orders,OrdersProduct $OrdersProduct,CustomScore $CustomScore ){
// 接收参数
$id = request('id',0);
// 查询数据
$oldData = $Model->where(['id'=>$id])->first();
// 参数
if( request()->isMethod('post') ){
// 验证参数
$request->scene('allow')->validate();
$status = request('status',1);
$giveScore = request('give_score',0);
$remark = request('remark','');
$remark = $giveScore ? '已发放'.$giveScore.'积分' : '';
// 组合数据,写入订单表,子表
DB::beginTransaction();
// 判断结果
try {
// 查询数据
$result = $Model->edit($id,['status'=>$status,'give_score'=>$giveScore,'remark'=>$remark]);
// 提示新增失败
if( !$result ) return json_send(['code'=>'error','msg'=>'操作失败']);
// 发放积分
if( $giveScore > 0 ) $CustomScore->trade($oldData['custom_uid'],$oldData['order_id'],$giveScore,8,1);
// 完成订单
$result = $Orders->setOrderStatus($oldData['order_id'],8,$OrdersProduct);
// 提示新增失败
if( isset($result['error']) ){
// 回退数据
DB::rollBack();
// 提示信息
return json_send(['code'=>'error','msg'=>'订单状态变更失败,请重试','data'=>['error'=>$result['error']]]);
}
// 记录行为
$this->addAdminHistory(admin('uid'),$Model->getTable(),$id,2,[],['status'=>$status,'remark'=>$remark]);
// 提交事务
DB::commit();
// 告知结果
return json_send(['code'=>'success','msg'=>'操作成功','path'=>'']);
} catch (\Throwable $th){
// 回滚
DB::rollBack();
// 添加失败
return json_send(['code'=>'error','msg'=>'操作失败','data'=>['error'=>$th->getMessage()]]);
}
}
// 分配数据
$this->assign('oldData',$oldData);
// 加载模板
return $this->fetch();
}
/**
* 状态
*
* */
public function refuse( Request $request, Model $Model,Orders $Orders,OrdersProduct $OrdersProduct ){
// 接收参数
$id = request('id',0);
// 查询数据
$oldData = $Model->where(['id'=>$id])->first();
// 参数
if( request()->isMethod('post') ){
// 验证参数
$request->scene('refuse')->validate();
$status = request('status',2);
$remark = request('remark','');
// 组合数据,写入订单表,子表
DB::beginTransaction();
// 判断结果
try {
// 查询数据
$result = $Model->edit($id,['status'=>$status,'remark'=>$remark]);
// 提示新增失败
if( !$result ) return json_send(['code'=>'error','msg'=>'操作失败']);
// 恢复订单进行中
$result = $Orders->setOrderStatus($oldData['order_id'],1,$OrdersProduct);
// 提示新增失败
if( isset($result['error']) ){
// 回退数据
DB::rollBack();
// 提示信息
return json_send(['code'=>'error','msg'=>'订单状态变更失败,请重试','data'=>['error'=>$result['error']]]);
}
// 记录行为
$this->addAdminHistory(admin('uid'),$Model->getTable(),$id,2,[],['status'=>$status,'remark'=>$remark]);
// 提交事务
DB::commit();
// 告知结果
return json_send(['code'=>'success','msg'=>'操作成功','path'=>'']);
} catch (\Throwable $th){
// 回滚
DB::rollBack();
// 添加失败
return json_send(['code'=>'error','msg'=>'操作失败','data'=>['error'=>$th->getMessage()]]);
}
}
// 分配数据
$this->assign('oldData',$oldData);
// 加载模板
return $this->fetch();
}
}