params[ 'page' ] ?? 1; $page_size = $this->params[ 'page_size' ] ?? PAGE_LIST_ROWS; $verify_type = $this->params[ 'verify_type' ] ?? '';//验证类型 $search_text = $this->params[ 'search_text' ] ?? ''; $start_time = $this->params[ 'start_time' ] ?? ''; $end_time = $this->params[ 'end_time' ] ?? ''; $condition = [ [ 'v.site_id', '=', $this->site_id ], [ 'mv.from_type', '=', 'service' ],//订单核销 ]; if (!empty($verify_type)) { $condition[] = [ 'sv.verify_type', '=', $verify_type ]; } if (!empty($verify_code)) { $condition[] = [ 'v.verify_code', 'like', '%' . $verify_code . '%' ]; } if (!empty($verifier_name)) { $condition[] = [ 'v.verifier_name', 'like', '%' . $verifier_name . '%' ]; } if (!empty($start_time) && empty($end_time)) { $condition[] = [ 'v.create_time', '>=', date_to_time($start_time) ]; } elseif (empty($start_time) && !empty($end_time)) { $condition[] = [ 'v.create_time', '<=', date_to_time($end_time) ]; } elseif (!empty($start_time) && !empty($end_time)) { $condition[] = [ 'v.create_time', 'between', [ date_to_time($start_time), date_to_time($end_time) ] ]; } $list = $verify_model->getVerifyRecordsList($condition, $page, $page_size); return $this->response($list); } /** * 通过核销码获取核销码信息 * @return false|string */ public function getVerifyInfoByCode() { $code = $this->params[ 'code' ] ?? ''; $verify_model = new VerifyModel(); $condition = [ [ 'mv.verify_code', '=', $code ], [ 'mv.site_id', '=', $this->site_id ], ]; $alias = 'mv'; $field = 'mv.*, mv.id as member_verify_id, mv.from_relation_id as order_id, m.headimg, m.nickname, m.username, v.verify_type_name,v.verify_type,v.is_limit_num'; $join = [ [ 'member m', 'mv.member_id = m.member_id', 'left' ], [ 'verify v', 'mv.verify_id = v.id', 'left' ], ]; $info = $verify_model->getMemberVerifyDetail($condition, $field, $alias, $join); if ($info[ 'data' ]) { return $this->response($info); } else { return $this->response($this->error([], '无效核销码!')); } } /** * 获取核销详情 * @return false|string */ public function getVerifyDetail() { $site_id = $this->site_id; $id = $this->params[ 'id' ] ?? 0; $verify_model = new VerifyModel(); $info = $verify_model->getVerifyDetail([ [ 'id', '=', $id ], [ 'site_id', '=', $site_id ] ]); return $this->response($info); } /** * 核销类型 */ public function verifyType() { $verify_model = new VerifyModel(); $verify_type = $verify_model->getVerifyType(); return $this->response($this->success($verify_type)); } /** * 核销信息 */ public function verifyInfo() { $site_id = $this->site_id; $id = $this->params[ 'id' ] ?? 0; $verify_model = new VerifyModel(); $info = $verify_model->getVerifyInfo([ [ 'id', '=', $id ], [ 'site_id', '=', $site_id ] ]); return $this->response($info); } /** * 核销 */ public function verify() { $verify_id = $this->params[ 'verify_id' ] ?? ''; $verify_model = new VerifyModel(); $res = $verify_model->verify($verify_id, $this->uid, $this->site_id, $this->user_info[ 'username' ] ?? '', 1, $this->store_id); return $this->response($res); } /** * 核销记录详情 * @return false|string */ public function getVerifyRecordsDetail() { $id = $this->params[ 'records_id' ] ?? 0; $verify_model = new VerifyModel(); $condition = [ [ 'vr.id', '=', $id ], ]; $field = 'vr.*,mv.member_id,v.verify_type_name,m.headimg,m.nickname,m.username,g.goods_name, g.goods_image, g.service_length'; $join = [ [ 'member_verify mv', 'vr.verify_code = mv.verify_code', 'left' ], [ 'member m', 'mv.member_id = m.member_id', 'left' ], [ 'verify v', 'mv.verify_id = v.id', 'left' ], [ 'goods g', 'mv.from_relation_id = g.sku_id', 'left' ], ]; $verify_detail = $verify_model->getVerifyRecordsInfo($condition, $field, 'vr', $join)[ 'data' ] ?? []; return $this->response($this->success($verify_detail)); } /** * 核销码 * @return mixed */ public function goodsVirtual() { $verify_model = new VerifyModel(); $site_id = $this->site_id; $page = $this->params[ 'page' ] ?? 1; $page_size = $this->params[ 'page_size' ] ?? PAGE_LIST_ROWS; $verify_type = $this->params[ 'verify_type' ] ?? ''; $verify_code = $this->params[ 'code' ] ?? ''; $start_time = $this->params[ 'start_time' ] ?? ''; $end_time = $this->params[ 'end_time' ] ?? ''; $goods_id = $this->params[ 'goods_id' ] ?? ''; $nick_name = $this->params[ 'nickname' ] ?? ''; $verify_status = $this->params[ 'verify_status' ] ?? ''; $condition = [ [ 'gv.site_id', '=', $site_id ], ]; if (!empty($verify_type)) { $condition[] = [ 'gv.verify_type', '=', $verify_type ]; } if (!empty($goods_id)) { $condition[] = [ 'gv.goods_id', '=', $goods_id ]; } if (!empty($verify_code)) { $condition[] = [ 'gv.code', 'like', '%' . $verify_code . '%' ]; } if (!empty($nick_name)) { $condition[] = [ 'm.nickname', 'like', '%' . $nick_name . '%' ]; } if ($verify_status !== '') { $condition[] = [ 'gv.verify_status', '=', $verify_status ]; } if (!empty($start_time) && empty($end_time)) { $condition[] = [ 'gv.create_time', '>=', date_to_time($start_time) ]; } elseif (empty($start_time) && !empty($end_time)) { $condition[] = [ 'gv.create_time', '<=', date_to_time($end_time) ]; } elseif (!empty($start_time) && !empty($end_time)) { $condition[] = [ 'gv.create_time', 'between', [ date_to_time($start_time), date_to_time($end_time) ] ]; } $field = 'gv.*, m.headimg, m.nickname, m.username'; $join = [ [ 'member m', 'gv.member_id = m.member_id', 'left' ] ]; $list = $verify_model->getGoodsVerifyPageList($condition, $page, $page_size, 'gv.create_time desc', $field, 'gv', $join); foreach ($list[ 'data' ][ 'list' ] as $k => $v) { $qr_res = event('Qrcode', [ 'site_id' => $v[ 'site_id' ], 'app_type' => 'h5', 'type' => 'get', 'data' => [ 'site_id' => $v[ 'site_id' ], 'verify_id' => $v[ 'id' ], 'scene' => 'verify' ], 'page' => '/pages/verification/detail', 'qrcode_path' => 'upload/qrcode/' . $v[ 'verify_type' ], 'qrcode_name' => $v[ 'code' ] ], true); $list[ 'data' ][ 'list' ][ $k ][ 'qrcode_branch' ] = ''; if ($qr_res[ 'code' ] == 0) $list[ 'data' ][ 'list' ][ $k ][ 'qrcode_branch' ] = $qr_res[ 'data' ][ 'path' ]; } return $this->response($list); } }