assign('breadcrumb1','积分管理'); $this->assign('breadcrumb2','积分订单'); } /** * 首页列表 * * */ public function index(Model $Model,Product $Product,Custom $Custom){ // 接受参数 $code = request('order_code',''); $productCode = request('product_code',''); $productName = request('product_name',''); $status = request('status'); $startTime = request('start_time',''); $endTime = request('end_time',''); // 编码转ID $id = $code ? $Model->codeToId($code) : 0; $productId = $productCode ? $Product->codeToId($productCode) : 0; // 查询条件 $map = []; // 编码ID if( $id ) $map[] = ['score_orders.order_id','=',$id]; if( $productId ) $map[] = ['score_product.id','=',$productId]; if( $productName ) $map[] = ['score_product.name','=',$productName]; if( $startTime ) $map[] = ['score_orders.insert_time','>=',strtotime($startTime)]; if( $endTime ) $map[] = ['score_orders.insert_time','<=',strtotime($endTime)]; if( !is_null($status) ) $map[] = ['score_orders.status','=',$status]; // 查询数据 $list = $Model->query()->join('score_product','score_orders.product_id','=','score_product.id') ->join('score_orders_addr','score_orders_addr.order_id','=','score_orders.id') ->where($map) ->orderByDesc('score_orders.id') ->select([ 'score_orders.*', 'score_product.name as product_name', 'score_orders_addr.contact_name','score_orders_addr.contact_shop','score_orders_addr.contact_phone','score_orders_addr.contact_province','score_orders_addr.contact_city','score_orders_addr.contact_area','score_orders_addr.contact_addr' ]) ->paginate(request('limit',config('page_num',10)))->appends(request()->all()); // 循环处理数据 foreach ($list as $key => $value) { // id转编号 $value['order_code'] = $Model->idToCode($value['id']); $value['state'] = $Model->getState($value['status'],'state'); $value['product_code'] = $Product->idToCode($value['product_id']); $value['custom_code'] = $Custom->idToCode($value['custom_uid']); // 重组 $list[$key] = $value; } // 分配数据 $this->assign('empty', '~~暂无数据'); $this->assign('list', $list); // 加载模板 return $this->fetch(); } /** * 状态 * * */ public function set_status( Request $request, Model $Model,Product $Product){ // 验证参数 $request->scene('set_status')->validate(); // 接收参数 $id = request('id',0); $status = request('status',0); // 获取产品和数量 $oldData = $Model->query()->find($id,['prouduct_id','buy_num']); // 如果用户不存在 if( !$oldData ) return json_send(['code'=>'error','msg'=>'用户不存在']); // 查询数据 $result = $Model->edit($id,['status'=>$status]); // 提示新增失败 if( !$result ) return json_send(['code'=>'error','msg'=>'设置失败']); // 如果是取消订单,库存更新 if( $status == 4 ) $Product->updateStock($oldData['product_id'],$oldData['buy_num']); // 记录行为 $this->addAdminHistory(admin('uid'),$Model->getTable(),$id,2,[],['status'=>$status]); // 告知结果 return json_send(['code'=>'success','msg'=>'设置成功','path'=>'']); } }