|
@@ -0,0 +1,161 @@
|
|
|
|
+<?php namespace App\Http\Controllers\Admin;
|
|
|
|
+
|
|
|
|
+use App\Http\Requests\Admin\Orders\Receipt as Request;
|
|
|
|
+use App\Models\Orders\Receipt as Model;
|
|
|
|
+use App\Models\City;
|
|
|
|
+use App\Models\CustomScore;
|
|
|
|
+use App\Models\Orders;
|
|
|
|
+use App\Models\OrdersProduct;
|
|
|
|
+use Illuminate\Support\Facades\DB;
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * Receipt管理
|
|
|
|
+ *
|
|
|
|
+ * @author 刘相欣
|
|
|
|
+ *
|
|
|
|
+ */
|
|
|
|
+class OrdersReceipt extends Auth{
|
|
|
|
+
|
|
|
|
+ protected function _initialize(){
|
|
|
|
+ parent::_initialize();
|
|
|
|
+ $this->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', '<tr><td colspan="20">~~暂无数据</td></tr>');
|
|
|
|
+ $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();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+}
|