|
@@ -183,15 +183,19 @@ class OrderService
|
|
* @return \Illuminate\Support\Collection
|
|
* @return \Illuminate\Support\Collection
|
|
* date 2023/05/23 18:13
|
|
* date 2023/05/23 18:13
|
|
*/
|
|
*/
|
|
- public static function promotionsOptions(mixed $uid, mixed $title, $limit = 10)
|
|
|
|
|
|
+ public static function promotionsOptions(mixed $uid, mixed $title,mixed $miniprogram_id,mixed $limit = 10)
|
|
{
|
|
{
|
|
$operateUser = User::find($uid);
|
|
$operateUser = User::find($uid);
|
|
$operateUserRoles = $operateUser->roles->pluck('identify');
|
|
$operateUserRoles = $operateUser->roles->pluck('identify');
|
|
$list = DB::table('promotions')->select('id as promotion_id', 'name');
|
|
$list = DB::table('promotions')->select('id as promotion_id', 'name');
|
|
if ($operateUserRoles->contains('optimizer')) {
|
|
if ($operateUserRoles->contains('optimizer')) {
|
|
|
|
+ if ($miniprogram_id){
|
|
|
|
+ $list->where('miniprogram_id',$miniprogram_id);
|
|
|
|
+ }
|
|
if ($title) {
|
|
if ($title) {
|
|
$list->where('name', 'like', "%" . $title . "%");
|
|
$list->where('name', 'like', "%" . $title . "%");
|
|
}
|
|
}
|
|
|
|
+
|
|
return $list->where('uid', $uid)->orderBy('id', 'desc')->limit($limit)->get();
|
|
return $list->where('uid', $uid)->orderBy('id', 'desc')->limit($limit)->get();
|
|
} else if ($operateUserRoles->contains('company')) {
|
|
} else if ($operateUserRoles->contains('company')) {
|
|
$list = DB::table('promotions')->join('users', 'users.id', "promotions.uid")
|
|
$list = DB::table('promotions')->join('users', 'users.id', "promotions.uid")
|
|
@@ -199,9 +203,15 @@ class OrderService
|
|
if ($title) {
|
|
if ($title) {
|
|
$list->where('promotions.name', 'like', "%" . $title . "%");
|
|
$list->where('promotions.name', 'like', "%" . $title . "%");
|
|
}
|
|
}
|
|
|
|
+ if ($miniprogram_id){
|
|
|
|
+ $list->where('promotions.miniprogram_id',$miniprogram_id);
|
|
|
|
+ }
|
|
return $list->orderBy('promotions.id','desc')->limit($limit)->get();
|
|
return $list->orderBy('promotions.id','desc')->limit($limit)->get();
|
|
|
|
|
|
} else {
|
|
} else {
|
|
|
|
+ if ($miniprogram_id){
|
|
|
|
+ $list->where('miniprogram_id',$miniprogram_id);
|
|
|
|
+ }
|
|
if ($title) {
|
|
if ($title) {
|
|
$list->where('name', 'like', "%" . $title . "%");
|
|
$list->where('name', 'like', "%" . $title . "%");
|
|
}
|
|
}
|
|
@@ -210,25 +220,40 @@ class OrderService
|
|
}
|
|
}
|
|
|
|
|
|
/***
|
|
/***
|
|
- * 订单列表优化是选择项
|
|
|
|
|
|
+ * 订单列表优化师选择项
|
|
* name: promotionsUsers
|
|
* name: promotionsUsers
|
|
* @param mixed $pid
|
|
* @param mixed $pid
|
|
* @param mixed $name
|
|
* @param mixed $name
|
|
* @param mixed $limit
|
|
* @param mixed $limit
|
|
* date 2023/05/26 09:22
|
|
* date 2023/05/26 09:22
|
|
*/
|
|
*/
|
|
- public static function promotionsUsers(mixed $pid, mixed $name, mixed $limit = 10)
|
|
|
|
|
|
+ public static function promotionsUsers(mixed $pid, mixed $name,mixed $miniprogram_id, mixed $limit = 10)
|
|
{
|
|
{
|
|
if ($pid > 0) {
|
|
if ($pid > 0) {
|
|
$list = DB::table('users')->where('pid', $pid)->select('id as user_id', 'username as name');
|
|
$list = DB::table('users')->where('pid', $pid)->select('id as user_id', 'username as name');
|
|
if ($name) {
|
|
if ($name) {
|
|
$list->where('username', 'like', "%" . $name . "%");
|
|
$list->where('username', 'like', "%" . $name . "%");
|
|
}
|
|
}
|
|
|
|
+ if ($miniprogram_id > 0){
|
|
|
|
+ $list->whereExists(function ($query)use($miniprogram_id){
|
|
|
|
+ $query->select(DB::raw(1))->form('user_has_miniprograms')
|
|
|
|
+ ->whereRaw('user_has_miniprograms.uid','users.id')
|
|
|
|
+ ->where('user_has_miniprograms.miniprogram_id',$miniprogram_id);
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+
|
|
return $list->orderBy('id', 'desc')->limit($limit)->get();
|
|
return $list->orderBy('id', 'desc')->limit($limit)->get();
|
|
}
|
|
}
|
|
|
|
|
|
$list = DB::table('users')->join('user_has_roles','users.id',"user_has_roles.user_id")->join('roles','roles.id','user_has_roles.role_id')
|
|
$list = DB::table('users')->join('user_has_roles','users.id',"user_has_roles.user_id")->join('roles','roles.id','user_has_roles.role_id')
|
|
->select('users.id as user_id', 'users.username as name')->where('roles.identify','optimizer');
|
|
->select('users.id as user_id', 'users.username as name')->where('roles.identify','optimizer');
|
|
|
|
+ if ($miniprogram_id > 0){
|
|
|
|
+ $list->whereExists(function ($query)use($miniprogram_id){
|
|
|
|
+ $query->select(DB::raw(1))->form('user_has_miniprograms')
|
|
|
|
+ ->whereRaw('user_has_miniprograms.uid','users.id')
|
|
|
|
+ ->where('user_has_miniprograms.miniprogram_id',$miniprogram_id);
|
|
|
|
+ });
|
|
|
|
+ }
|
|
if ($name){
|
|
if ($name){
|
|
$list->where('users.username', 'like', "%" . $name . "%");
|
|
$list->where('users.username', 'like', "%" . $name . "%");
|
|
}
|
|
}
|