123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- <?php
- /**
- * @Name
- * @Description
- * @Author 刘学玺
- * @Date 2023/11/23 20:57
- */
- namespace App\Http\Services\Admin\User;
- use App\Http\Services\BaseService;
- use App\Models\Admin;
- use App\Models\Artificer;
- use App\Models\Menu;
- use App\Models\User;
- use Illuminate\Support\Facades\DB;
- class ArtificerService extends BaseService
- {
- public function index($data)
- {
- $model = User::query()->where('user_type', 3);
- if (!empty($data['phone'])) {
- $keyWhere = [
- // ['id', '=', $data['key'], 'or'],
- ['user_login', 'like', '%' . $data['phone'] . '%', 'or'],
- // ['user_nickname', 'like', '%' . $data['key'] . '%', 'or'],
- ['mobile', 'like', '%' . $data['phone'] . '%', 'or'],
- ];
- $model->where($keyWhere);
- }
- $model->with('artificer');
- if (isset($data['status']) && $data['status'] !== '' || !empty($data['key'])) {
- $model->whereHas('artificer', function ($query) use ($data) {
- if (isset($data['status']) && $data['status'] !== '') {
- $statusWhere = [];
- if ($data['status'] === '-1') {
- $statusWhere['apply_num'] = 0;
- $statusWhere['js_status'] = '0';
- } else {
- $statusWhere[] = ['apply_num', '>', 0];
- $statusWhere['js_status'] = $data['status'];
- }
- $query->where($statusWhere);
- }
- if (!empty($data['key'])) {
- $keyWhere = [
- ['id', '=', $data['key'], 'or'],
- ['name', 'like', '%' . $data['key'] . '%', 'or'],
- ['phone', 'like', '%' . $data['key'] . '%', 'or']
- ];
- $query->where($keyWhere);
- }
- });
- }
- $list = $model
- ->latest('id')
- ->paginate($data['pageSize'])
- ->toArray();
- return $this->apiSuccess('', [
- 'list' => $list['data'],
- 'total' => $list['total']
- ]);
- }
- public function store(array $data)
- {
- return $this->commonCreate(Menu::query(), $data);
- }
- public function detail($id)
- {
- $data = Menu::query()->find($id)->toArray();
- return $this->apiSuccess('', $data);
- }
- public function update(array $data)
- {
- return $this->commonUpdate(Menu::query(), $data['id'], $data);
- }
- public function all()
- {
- $list = Menu::query()->oldest('sort')
- ->select(['title', 'pid', 'id'])
- ->get()
- ->toArray();
- return $this->apiSuccess('', [
- 'list' => $list
- ]);
- }
- public function audit(array $data)
- {
- $update_data = [
- 'js_status' => $data['status']
- ];
- return $this->commonUpdate(Artificer::query(), $data['id'], $update_data);
- }
- }
|