Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace App\Http\Controllers;
- //use App\Models\CategoryPost;
- //use App\Models\Contact;
- use App\Models\Cskh;
- use App\Models\CskhUser;
- use App\Models\District;
- //use App\Models\Post;
- //use App\Models\Product;
- use App\Models\InfoUser;
- use App\Models\LoanHistory;
- use App\Models\PeopleInvolved;
- use App\Models\Province;
- //use App\Models\Service;
- use App\Models\RechargeHistory;
- use App\Models\Settings;
- use App\Models\User;
- use App\Models\UserWeb;
- use App\Models\WithdrawalHistory;
- use Carbon\Carbon;
- use Illuminate\Http\Request;
- use Auth;
- class CskhController extends Controller
- {
- /**
- * @Access (permission = "content: access")
- */
- public function updateCskh(Request $request)
- {
- try {
- if (!empty($request->uid)) {
- $cskh = Cskh::findOrFail($request->uid);
- $cskh['name'] = $request->name;
- $cskh['linkIphone'] = $request->linkIphone;
- $cskh['linkAndroid'] = $request->linkAndroid;
- $cskh['created_at'] = $cskh['updated_at'] = Carbon::now();
- $cskh->save();
- } else {
- $item = [];
- $item['name'] = $request->name;
- $item['linkIphone'] = $request->linkIphone;
- $item['linkAndroid'] = $request->linkAndroid;
- $item['created_at'] = $item['updated_at'] = Carbon::now();
- Cskh::insert($item);
- }
- return [
- 'status' => 'success',
- 'message' => 'Cập nhật thành công'
- ];
- } catch (\Exception $ex) {
- return [
- 'status' => 500,
- 'message' => 'Cập nhật không thành công'
- ];
- }
- }
- public function getCskh(Request $request)
- {
- $per_page = $request->has('per_page') ? $request->get('per_page') : 10;
- $cskh = Cskh::orderBy('created_at', 'desc');
- $cskh->with(['cskhUser' => function ($query) use ($request) {
- if (!empty($request->date)) {
- $query->whereDate('created_at', '=', $request->date);
- } else {
- $query->whereDate('created_at', Carbon::today());
- }
- }]);
- return ['data' => $cskh->paginate($per_page)];
- }
- public function getCskhUser(Request $request)
- {
- $per_page = $request->has('per_page') ? $request->get('per_page') : 10;
- $cskh = CskhUser::orderBy('created_at', 'desc')->with('user')->with('cskh');
- if (!empty($request->get('phone'))) {
- $userSearch = UserWeb::where('phone', 'like', '%' . $request->get('phone') . '%')->pluck('id')->toArray();
- $cskh = $cskh->whereIn('user_id', $userSearch);
- }
- if (!empty($request->get('name'))) {
- $userSearch = Cskh::where('name', 'like', '%' . $request->get('name') . '%')->pluck('id')->toArray();
- $cskh = $cskh->whereIn('cskh_id', $userSearch);
- }
- return ['data' => $cskh->paginate($per_page)];
- }
- public function deleteCskh($id)
- {
- $cskh = Cskh::findOrFail($id);
- $setting = Settings::where('option_key', 'randomCskh')->value('option_value');
- $randomCskh = explode(',', $setting);
- $arr = [];
- foreach ($randomCskh as $val) {
- if ($val != $id) {
- $arr[] = $val;
- }
- }
- try {
- $cskh->delete();
- Settings::where('option_key', 'randomCskh')->update(['option_value' => implode(',', $arr)]);
- return [
- 'status' => 'success',
- 'message' => 'Xóa thành công'
- ];
- } catch (\Exception $ex) {
- return [
- 'status' => 500,
- 'message' => 'Xóa không thành công'
- ];
- }
- }
- public function randomCskh()
- {
- $checkHistory = LoanHistory::where('user_id', Auth::guard('userWeb')->user()->id)->first();
- if(!$checkHistory) {
- return [
- 'status' => 500,
- 'message' => 'Bạn chưa có khoản vay, vui lòng ký tên xác nhận khoản vay sau khi hoàn thành hồ sơ!'
- ];
- }
- $check = CskhUser::where('user_id', Auth::guard('userWeb')->user()->id)->first();
- if (!empty($check)) {
- $checkCSKH = Cskh::where('id', $check->cskh_id)->first();
- if (!empty($checkCSKH)) {
- return [
- 'status' => 'success',
- 'message' => '',
- 'link' => $checkCSKH
- ];
- }
- return self::createdCskhUser(1);
- }
- return self::createdCskhUser(2);
- }
- //$type (1:nhan vien CSKH bi xoa,2:khach hang moi chua co nv CSKH)
- public function createdCskhUser($type)
- {
- \DB::beginTransaction();
- try {
- $listCskh = Cskh::withCount(['cskhUser' => function ($query) {
- $query->whereDate('created_at', date('Y-m-d'));
- }])
- ->inRandomOrder()
- ->get()->toArray();
- $ACskh = collect($listCskh)->first();
- // $ACskh = collect($listCskh)->sortBy('cskh_user_count')->first();
- $cskh = Cskh::where('id', $ACskh['id'])->first();
- if ($type === 1) {
- CskhUser::where('user_id', Auth::guard('userWeb')->user()->id)->update([
- 'cskh_id' => $cskh->id,
- 'cskh_name' => $cskh->name,
- 'cskh_link' => $cskh->linkIphone . ' (' . $cskh->linkAndroid . ')',
- 'updated_at' => Carbon::now(),
- ]);
- } else {
- $item = [];
- $item['user_id'] = Auth::guard('userWeb')->user()->id;
- $item['cskh_id'] = $cskh->id;
- $item['cskh_name'] = $cskh->name;
- $item['cskh_link'] = $cskh->linkIphone . ' (' . $cskh->linkAndroid . ')';
- $item['created_at'] = $item['updated_at'] = Carbon::now();
- CskhUser::insert($item);
- }
- \DB::commit();
- } catch (\Throwable $th) {
- \DB::rollback();
- //throw $th;
- }
- // unset($arr[$idRandom]);
- //Settings::where('option_key', 'randomCskh')->update(['option_value' => implode(',', $arr)]);
- return [
- 'status' => 'success',
- 'message' => '',
- 'link' => $cskh ?? null,
- ];
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement