Advertisement
linhtd99

Untitled

Dec 13th, 2023
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.59 KB | None | 0 0
  1. <?php
  2.  
  3. namespace App\Http\Controllers;
  4.  
  5. //use App\Models\CategoryPost;
  6. //use App\Models\Contact;
  7. use App\Models\Cskh;
  8. use App\Models\CskhUser;
  9. use App\Models\District;
  10.  
  11. //use App\Models\Post;
  12. //use App\Models\Product;
  13. use App\Models\InfoUser;
  14. use App\Models\LoanHistory;
  15. use App\Models\PeopleInvolved;
  16. use App\Models\Province;
  17.  
  18. //use App\Models\Service;
  19. use App\Models\RechargeHistory;
  20. use App\Models\Settings;
  21. use App\Models\User;
  22. use App\Models\UserWeb;
  23. use App\Models\WithdrawalHistory;
  24. use Carbon\Carbon;
  25. use Illuminate\Http\Request;
  26. use Auth;
  27.  
  28. class CskhController extends Controller
  29. {
  30. /**
  31. * @Access (permission = "content: access")
  32. */
  33. public function updateCskh(Request $request)
  34. {
  35. try {
  36. if (!empty($request->uid)) {
  37. $cskh = Cskh::findOrFail($request->uid);
  38. $cskh['name'] = $request->name;
  39. $cskh['linkIphone'] = $request->linkIphone;
  40. $cskh['linkAndroid'] = $request->linkAndroid;
  41. $cskh['created_at'] = $cskh['updated_at'] = Carbon::now();
  42. $cskh->save();
  43. } else {
  44. $item = [];
  45. $item['name'] = $request->name;
  46. $item['linkIphone'] = $request->linkIphone;
  47. $item['linkAndroid'] = $request->linkAndroid;
  48. $item['created_at'] = $item['updated_at'] = Carbon::now();
  49. Cskh::insert($item);
  50. }
  51.  
  52. return [
  53. 'status' => 'success',
  54. 'message' => 'Cập nhật thành công'
  55. ];
  56. } catch (\Exception $ex) {
  57. return [
  58. 'status' => 500,
  59. 'message' => 'Cập nhật không thành công'
  60. ];
  61. }
  62. }
  63.  
  64. public function getCskh(Request $request)
  65. {
  66. $per_page = $request->has('per_page') ? $request->get('per_page') : 10;
  67. $cskh = Cskh::orderBy('created_at', 'desc');
  68.  
  69. $cskh->with(['cskhUser' => function ($query) use ($request) {
  70. if (!empty($request->date)) {
  71. $query->whereDate('created_at', '=', $request->date);
  72. } else {
  73. $query->whereDate('created_at', Carbon::today());
  74. }
  75. }]);
  76. return ['data' => $cskh->paginate($per_page)];
  77. }
  78.  
  79. public function getCskhUser(Request $request)
  80. {
  81. $per_page = $request->has('per_page') ? $request->get('per_page') : 10;
  82. $cskh = CskhUser::orderBy('created_at', 'desc')->with('user')->with('cskh');
  83.  
  84. if (!empty($request->get('phone'))) {
  85. $userSearch = UserWeb::where('phone', 'like', '%' . $request->get('phone') . '%')->pluck('id')->toArray();
  86. $cskh = $cskh->whereIn('user_id', $userSearch);
  87. }
  88. if (!empty($request->get('name'))) {
  89. $userSearch = Cskh::where('name', 'like', '%' . $request->get('name') . '%')->pluck('id')->toArray();
  90. $cskh = $cskh->whereIn('cskh_id', $userSearch);
  91. }
  92.  
  93. return ['data' => $cskh->paginate($per_page)];
  94. }
  95.  
  96. public function deleteCskh($id)
  97. {
  98. $cskh = Cskh::findOrFail($id);
  99. $setting = Settings::where('option_key', 'randomCskh')->value('option_value');
  100. $randomCskh = explode(',', $setting);
  101. $arr = [];
  102. foreach ($randomCskh as $val) {
  103. if ($val != $id) {
  104. $arr[] = $val;
  105. }
  106. }
  107. try {
  108. $cskh->delete();
  109. Settings::where('option_key', 'randomCskh')->update(['option_value' => implode(',', $arr)]);
  110.  
  111. return [
  112. 'status' => 'success',
  113. 'message' => 'Xóa thành công'
  114. ];
  115. } catch (\Exception $ex) {
  116. return [
  117. 'status' => 500,
  118. 'message' => 'Xóa không thành công'
  119. ];
  120. }
  121. }
  122.  
  123. public function randomCskh()
  124. {
  125. $checkHistory = LoanHistory::where('user_id', Auth::guard('userWeb')->user()->id)->first();
  126.  
  127. if(!$checkHistory) {
  128. return [
  129. 'status' => 500,
  130. '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ơ!'
  131. ];
  132. }
  133.  
  134. $check = CskhUser::where('user_id', Auth::guard('userWeb')->user()->id)->first();
  135.  
  136.  
  137. if (!empty($check)) {
  138. $checkCSKH = Cskh::where('id', $check->cskh_id)->first();
  139. if (!empty($checkCSKH)) {
  140. return [
  141. 'status' => 'success',
  142. 'message' => '',
  143. 'link' => $checkCSKH
  144. ];
  145. }
  146. return self::createdCskhUser(1);
  147. }
  148. return self::createdCskhUser(2);
  149. }
  150.  
  151. //$type (1:nhan vien CSKH bi xoa,2:khach hang moi chua co nv CSKH)
  152. public function createdCskhUser($type)
  153. {
  154.  
  155. \DB::beginTransaction();
  156. try {
  157. $listCskh = Cskh::withCount(['cskhUser' => function ($query) {
  158. $query->whereDate('created_at', date('Y-m-d'));
  159. }])
  160. ->inRandomOrder()
  161. ->get()->toArray();
  162.  
  163. $ACskh = collect($listCskh)->first();
  164. // $ACskh = collect($listCskh)->sortBy('cskh_user_count')->first();
  165.  
  166. $cskh = Cskh::where('id', $ACskh['id'])->first();
  167.  
  168. if ($type === 1) {
  169. CskhUser::where('user_id', Auth::guard('userWeb')->user()->id)->update([
  170. 'cskh_id' => $cskh->id,
  171. 'cskh_name' => $cskh->name,
  172. 'cskh_link' => $cskh->linkIphone . ' (' . $cskh->linkAndroid . ')',
  173. 'updated_at' => Carbon::now(),
  174. ]);
  175. } else {
  176. $item = [];
  177. $item['user_id'] = Auth::guard('userWeb')->user()->id;
  178. $item['cskh_id'] = $cskh->id;
  179. $item['cskh_name'] = $cskh->name;
  180. $item['cskh_link'] = $cskh->linkIphone . ' (' . $cskh->linkAndroid . ')';
  181. $item['created_at'] = $item['updated_at'] = Carbon::now();
  182. CskhUser::insert($item);
  183. }
  184.  
  185. \DB::commit();
  186. } catch (\Throwable $th) {
  187. \DB::rollback();
  188. //throw $th;
  189. }
  190.  
  191.  
  192. // unset($arr[$idRandom]);
  193. //Settings::where('option_key', 'randomCskh')->update(['option_value' => implode(',', $arr)]);
  194.  
  195.  
  196. return [
  197. 'status' => 'success',
  198. 'message' => '',
  199. 'link' => $cskh ?? null,
  200. ];
  201. }
  202. }
  203.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement