adminInfo; $where = Util::getMore([ ['status', ''], ['nickname', ''], ['extract_type', ''], ['nireid', ''], ['date', ''], ['is_examine', ''] ], $this->request); $limitTimeList = [ 'today' => implode(' - ', [date('Y/m/d'), date('Y/m/d', strtotime('+1 day'))]), 'week' => implode(' - ', [ date('Y/m/d', (time() - ((date('w') == 0 ? 7 : date('w')) - 1) * 24 * 3600)), date('Y-m-d', (time() + (7 - (date('w') == 0 ? 7 : date('w'))) * 24 * 3600)) ]), 'month' => implode(' - ', [date('Y/m') . '/01', date('Y/m') . '/' . date('t')]), 'quarter' => implode(' - ', [ date('Y') . '/' . (ceil((date('n')) / 3) * 3 - 3 + 1) . '/01', date('Y') . '/' . (ceil((date('n')) / 3) * 3) . '/' . date('t', mktime(0, 0, 0, (ceil((date('n')) / 3) * 3), 1, date('Y'))) ]), 'year' => implode(' - ', [ date('Y') . '/01/01', date('Y/m/d', strtotime(date('Y') . '/01/01 + 1year -1 day')) ]) ]; $this->assign('roles', $admin['roles']); $this->assign('where', $where); $this->assign('limitTimeList', $limitTimeList); $this->assign(UserExtractModel::extractStatistics()); $this->assign(UserExtractModel::systemPage($where)); return $this->fetch(); } public function shichang_index() { $admin = $this->adminInfo; $where = Util::getMore([ ['status', ''], ['nickname', ''], ['extract_type', ''], ['nireid', ''], ['date', ''], ['is_examine', ''] ], $this->request); $limitTimeList = [ 'today' => implode(' - ', [date('Y/m/d'), date('Y/m/d', strtotime('+1 day'))]), 'week' => implode(' - ', [ date('Y/m/d', (time() - ((date('w') == 0 ? 7 : date('w')) - 1) * 24 * 3600)), date('Y-m-d', (time() + (7 - (date('w') == 0 ? 7 : date('w'))) * 24 * 3600)) ]), 'month' => implode(' - ', [date('Y/m') . '/01', date('Y/m') . '/' . date('t')]), 'quarter' => implode(' - ', [ date('Y') . '/' . (ceil((date('n')) / 3) * 3 - 3 + 1) . '/01', date('Y') . '/' . (ceil((date('n')) / 3) * 3) . '/' . date('t', mktime(0, 0, 0, (ceil((date('n')) / 3) * 3), 1, date('Y'))) ]), 'year' => implode(' - ', [ date('Y') . '/01/01', date('Y/m/d', strtotime(date('Y') . '/01/01 + 1year -1 day')) ]) ]; $this->assign('roles', $admin['roles']); $this->assign('where', $where); $this->assign('limitTimeList', $limitTimeList); $this->assign(UserExtractModel::extractStatistics()); $this->assign(UserExtractModel::systemPage($where)); return $this->fetch(); } public function caiwu_index() { $admin = $this->adminInfo; $where = Util::getMore([ ['status', ''], ['nickname', ''], ['extract_type', ''], ['nireid', ''], ['date', ''], ['is_examine', ''] ], $this->request); $limitTimeList = [ 'today' => implode(' - ', [date('Y/m/d'), date('Y/m/d', strtotime('+1 day'))]), 'week' => implode(' - ', [ date('Y/m/d', (time() - ((date('w') == 0 ? 7 : date('w')) - 1) * 24 * 3600)), date('Y-m-d', (time() + (7 - (date('w') == 0 ? 7 : date('w'))) * 24 * 3600)) ]), 'month' => implode(' - ', [date('Y/m') . '/01', date('Y/m') . '/' . date('t')]), 'quarter' => implode(' - ', [ date('Y') . '/' . (ceil((date('n')) / 3) * 3 - 3 + 1) . '/01', date('Y') . '/' . (ceil((date('n')) / 3) * 3) . '/' . date('t', mktime(0, 0, 0, (ceil((date('n')) / 3) * 3), 1, date('Y'))) ]), 'year' => implode(' - ', [ date('Y') . '/01/01', date('Y/m/d', strtotime(date('Y') . '/01/01 + 1year -1 day')) ]) ]; $this->assign('roles', $admin['roles']); $this->assign('where', $where); $this->assign('limitTimeList', $limitTimeList); $this->assign(UserExtractModel::extractStatistics()); $this->assign(UserExtractModel::systemPage($where)); return $this->fetch(); } public function jishu_index() { $admin = $this->adminInfo; $where = Util::getMore([ ['status', ''], ['nickname', ''], ['extract_type', ''], ['nireid', ''], ['date', ''], ['is_examine', ''] ], $this->request); $limitTimeList = [ 'today' => implode(' - ', [date('Y/m/d'), date('Y/m/d', strtotime('+1 day'))]), 'week' => implode(' - ', [ date('Y/m/d', (time() - ((date('w') == 0 ? 7 : date('w')) - 1) * 24 * 3600)), date('Y-m-d', (time() + (7 - (date('w') == 0 ? 7 : date('w'))) * 24 * 3600)) ]), 'month' => implode(' - ', [date('Y/m') . '/01', date('Y/m') . '/' . date('t')]), 'quarter' => implode(' - ', [ date('Y') . '/' . (ceil((date('n')) / 3) * 3 - 3 + 1) . '/01', date('Y') . '/' . (ceil((date('n')) / 3) * 3) . '/' . date('t', mktime(0, 0, 0, (ceil((date('n')) / 3) * 3), 1, date('Y'))) ]), 'year' => implode(' - ', [ date('Y') . '/01/01', date('Y/m/d', strtotime(date('Y') . '/01/01 + 1year -1 day')) ]) ]; $this->assign('roles', $admin['roles']); $this->assign('where', $where); $this->assign('limitTimeList', $limitTimeList); $this->assign(UserExtractModel::extractStatistics()); $this->assign(UserExtractModel::systemPage($where)); return $this->fetch(); } public function excel() { $data = Util::getMore([ ['status', ''], ['nickname', ''], ['extract_type', ''], ['nireid', ''], ['date', ''], ], $this->request); $where = []; if ($data['status'] == 0) { $where[] = ['a.status', '=', 0]; }elseif ($data['status'] == 1){ $where[] = ['a.status', '=', 1]; }elseif ($data['status'] < 0){ $where[] = ['a.status', '=', -1]; } if ($data['nickname']) $where[] = ['a.nickname', '=', $data['nickname']]; if ($data['extract_type']) $where[] = ['a.extract_type', '=', $data['extract_type']]; if ($data['nireid']) $where[] = ['a.nireid', '=', $data['nireid']]; $model = UserExtractModel::where($where)->alias('a') ->field('a.*,b.uid,b.nickname,b.phone') ->leftJoin('user b', 'b.uid = a.uid'); if ($data['date']){ list($startTime, $endTime) = explode(' - ', $data['date']); $endTime = (int)bcadd(strtotime($endTime), 86400, 0); $model = $model->whereBetweenTime('a.add_time', $startTime, $endTime); } $list = $model->select(); if ($list) self::SaveExcel($list); return JsonService::fail('没有数据'); } /* * 保存并下载excel * $list array * return */ public static function SaveExcel($list) { $export = []; foreach ($list as $index => $item) { if ($item['extract_type'] == 'weixin'){ $type = '微信'; $account = $item['wechat']; }elseif ($item['extract_type'] == 'alipay'){ $type = '支付宝'; $account = $item['alipay_code']; }elseif ($item['extract_type'] == 'bank'){ $type = '银行卡'; $account = $item['bank_code']; } if ($item['status'] == 0) $status = '审核中'; if ($item['status'] == 1) $status = '已提现'; if ($item['status'] < 0) $status = '未通过'; $export[] = [ $item['uid'], $item['nickname'], $item['real_name'], $item['phone'], $item['extract_price'], $type, $account.' ', $item['bank_address'], $item['bank_belonging'], $status, $item['fail_msg'], date('Y-m-d H:i:s', $item['add_time']) ]; } PHPExcelService::setExcelHeader(['UID', '用户昵称', '姓名','手机号', '提现金额', '提现方式','微信|支付宝|银行卡', '银行卡地址','所属支行名称', '状态', '未通过原因', '提现时间']) ->setExcelTile('提现导出' . date('YmdHis', time()), '提现信息' . time(), ' 生成时间:' . date('Y-m-d H:i:s', time())) ->setExcelContent($export) ->ExcelSave(); } public function edit($id) { if (!$id) return $this->failed('数据不存在'); $UserExtract = UserExtractModel::get($id); if (!$UserExtract) return JsonService::fail('数据不存在!'); $f = array(); $f[] = Form::input('real_name', '姓名', $UserExtract['real_name']); $f[] = Form::number('extract_price', '提现金额', $UserExtract['extract_price'])->precision(2); if ($UserExtract['extract_type'] == 'alipay') { $f[] = Form::input('alipay_code', '支付宝账号', $UserExtract['alipay_code']); } else if ($UserExtract['extract_type'] == 'weixin') { $f[] = Form::input('wechat', '微信号', $UserExtract['wechat']); } else { $f[] = Form::input('bank_code', '银行卡号', $UserExtract['bank_code']); $f[] = Form::input('bank_address', '开户行', $UserExtract['bank_address']); } $f[] = Form::input('mark', '备注', $UserExtract['mark'])->type('textarea'); $form = Form::make_post_form('编辑', $f, Url::buildUrl('update', array('id' => $id))); $this->assign(compact('form')); return $this->fetch('public/form-builder'); } public function update($id) { $UserExtract = UserExtractModel::get($id); if (!$UserExtract) return JsonService::fail('数据不存在!'); if ($UserExtract['extract_type'] == 'alipay') { $data = Util::postMore([ 'real_name', 'mark', 'extract_price', 'alipay_code', ]); if (!$data['real_name']) return JsonService::fail('请输入姓名'); if ($data['extract_price'] <= -1) return JsonService::fail('请输入提现金额'); if (!$data['alipay_code']) return JsonService::fail('请输入支付宝账号'); } else if ($UserExtract['extract_type'] == 'weixin') { $data = Util::postMore([ 'real_name', 'mark', 'extract_price', 'wechat', ]); // if(!$data['real_name']) return JsonService::fail('请输入姓名'); if ($data['extract_price'] <= -1) return JsonService::fail('请输入提现金额'); if (!$data['wechat']) return JsonService::fail('请输入微信账号'); } else { $data = Util::postMore([ 'real_name', 'extract_price', 'mark', 'bank_code', 'bank_address', ]); if (!$data['real_name']) return JsonService::fail('请输入姓名'); if ($data['extract_price'] <= -1) return JsonService::fail('请输入提现金额'); if (!$data['bank_code']) return JsonService::fail('请输入银行卡号'); if (!$data['bank_address']) return JsonService::fail('请输入开户行'); } if (!UserExtractModel::edit($data, $id)) return JsonService::fail(UserExtractModel::getErrorInfo('修改失败')); else return JsonService::successful('修改成功!'); } public function fail($id) { if (!UserExtractModel::be(['id' => $id, 'status' => 0])) return JsonService::fail('操作记录不存在或状态错误!'); $fail_msg = request()->post(); $extract = UserExtractModel::get($id); if (!$extract) return JsonService::fail('操作记录不存在!'); if ($extract->status == 1) return JsonService::fail('已经提现,错误操作'); if ($extract->status == -1) return JsonService::fail('您的提现申请已被拒绝,请勿重复操作!'); $res = UserExtractModel::changeFail($id, $fail_msg['message']); if ($res) { return JsonService::successful('操作成功!'); } else { return JsonService::fail('操作失败!'); } } public function succ($id) { if (!UserExtractModel::be(['id' => $id, 'status' => 0])) return JsonService::fail('操作记录不存在或状态错误!'); UserExtractModel::beginTrans(); $extract = UserExtractModel::get($id); if (!$extract) return JsonService::fail('操作记录不存!'); if ($extract->status == 1) return JsonService::fail('您已提现,请勿重复提现!'); if ($extract->status == -1) return JsonService::fail('您的提现申请已被拒绝!'); $res = UserExtractModel::changeSuccess($id); if($extract['type'] == 2){ $res1 = json_decode(do_request('https://api.mall.hqgjsmc.com/service-php-api/member/comfireOrder', ['orderno' => $extract['order_id'], 'confireDate' => date('Y-m-d H:m:s')])); if ($res1->status != 200) return JsonService::fail($res1->msg); } if ($res) { UserExtractModel::commitTrans(); return JsonService::successful('操作成功!'); } else { UserExtractModel::rollbackTrans(); return JsonService::fail('操作失败!'); } } public function examine($id) { if (!UserExtractModel::be(['id' => $id, 'status' => 0])) return JsonService::fail('操作记录不存在或状态错误!'); UserExtractModel::beginTrans(); $extract = UserExtractModel::get($id); if (!$extract) return JsonService::fail('操作记录不存!'); $admin = $this->adminInfo; if ($admin['roles'] == 5){ if ($extract->is_examine > 0) return JsonService::fail('该记录已审核'); $extract['is_examine'] = 1; $extract['reviewed'] = $admin['real_name']; }elseif ($admin['roles'] == 6){ if ($extract->is_examine > 1) return JsonService::fail('该记录已审核'); $extract['is_examine'] = 2; $extract['reviewed'] = $extract['reviewed'].','.$admin['real_name']; }elseif ($admin['roles'] == 3){ if ($extract->examine_status > 0) return JsonService::fail('该记录已审核'); $extract['examine_status'] = 1; $extract['reviewed'] = $extract['reviewed'].','.$admin['real_name']; }else{ return JsonService::fail('身份不对!'); } $res = $extract->save(); if ($res) { UserExtractModel::commitTrans(); return JsonService::successful('操作成功!'); } else { UserExtractModel::rollbackTrans(); return JsonService::fail('操作失败!'); } } }