|
@@ -30,14 +30,13 @@ class AdvertiserController extends CatchController
|
|
|
'username' => 'required',
|
|
|
'password' => 'required',
|
|
|
'repassword' => 'required|same:password',
|
|
|
- 'status' => 'required',
|
|
|
+ 'status' => 'required|in:1,2',
|
|
|
'remark' => 'string|max:140',
|
|
|
'miniProgramIds' => 'required|array|min:1',
|
|
|
'miniProgramIds.*' => 'required|integer'
|
|
|
]);
|
|
|
$this->user->emailUnique($request->input('email'));
|
|
|
- // todo : 这里需要修改成投手角色的id
|
|
|
- $request['roles'] = [3];
|
|
|
+ $request['roles'] = [(DB::table('roles')->where('identify', 'Investmenter')->value('id') ?? 0)];
|
|
|
$this->user->storeBy($request->all());
|
|
|
$this->user->pid = $this->getLoginUserId();
|
|
|
$this->user->save();
|
|
@@ -71,7 +70,7 @@ class AdvertiserController extends CatchController
|
|
|
$miniProgramId = $request->input('miniProgramId');
|
|
|
$email = $request->input('email');
|
|
|
$username = $request->input('username');
|
|
|
- return DB::table('users')
|
|
|
+ $res = DB::table('users')
|
|
|
->join('user_has_miniprograms', 'users.id', 'user_has_miniprograms.uid')
|
|
|
->where([
|
|
|
'user_has_miniprograms.is_enabled' => 1,
|
|
@@ -87,10 +86,27 @@ class AdvertiserController extends CatchController
|
|
|
->select(
|
|
|
'users.id', 'users.username', 'users.email', 'users.status',
|
|
|
DB::raw("from_unixtime(users.created_at) as created_at"),
|
|
|
- DB::raw("group_concat(distinct user_has_miniprograms.miniprogram_id separator ',') as miniProgramIds")
|
|
|
+ DB::raw("group_concat(distinct user_has_miniprograms.miniprogram_id separator ',') as miniProgramIds"),
|
|
|
+ DB::raw("NULL as miniPrograms")
|
|
|
)->groupBy('users.id')
|
|
|
->orderBy('users.id','desc')
|
|
|
->paginate($request->input('per_page', 15));
|
|
|
+ $miniProgramIds = collect();
|
|
|
+ collect($res->items())->pluck('miniProgramIds')->each(function ($item) use (&$miniProgramIds) {
|
|
|
+ $miniProgramIds = $miniProgramIds->merge(explode(',', $item));
|
|
|
+ });
|
|
|
+ if($miniProgramIds->count()) {
|
|
|
+ $miniPrograms = DB::table('miniprogram')->whereIn('id', $miniProgramIds->unique())
|
|
|
+ ->select('id', 'name', 'type')
|
|
|
+ ->get()->keyBy('id');
|
|
|
+ foreach ($res as $item) {
|
|
|
+ $item->miniPrograms = [];
|
|
|
+ foreach (explode(',', $item->miniProgramIds) as $miniProgramId) {
|
|
|
+ $item->miniPrograms[] = $miniPrograms->get($miniProgramId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return $res;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -105,7 +121,7 @@ class AdvertiserController extends CatchController
|
|
|
'username' => 'required',
|
|
|
'miniProgramIds' => 'required|array|min:1',
|
|
|
'miniProgramIds.*' => 'required|integer',
|
|
|
- 'status' => 'required',
|
|
|
+ 'status' => 'required|in:1,2',
|
|
|
'remark' => 'string|max:140',
|
|
|
]);
|
|
|
$uid = $request->input('id');
|
|
@@ -171,6 +187,8 @@ class AdvertiserController extends CatchController
|
|
|
->get()->pluck('miniprogram_id')->toArray();
|
|
|
|
|
|
$user->miniProgramIds = $miniProgramIds;
|
|
|
+ $user->miniPrograms = DB::table('miniprogram')->whereIn('id', array_unique($miniProgramIds))
|
|
|
+ ->select('id', 'name', 'type')->get();
|
|
|
return $user;
|
|
|
}
|
|
|
}
|