|
@@ -81,6 +81,64 @@ class PromotionDayCharge extends Command
|
|
DB::table('tj_optimizer_day_charge')
|
|
DB::table('tj_optimizer_day_charge')
|
|
->insert($items->values()->toArray());
|
|
->insert($items->values()->toArray());
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ DB::table('promotions')
|
|
|
|
+ ->leftJoin('users', 'users.id', '=' , 'promotions.uid')
|
|
|
|
+ ->select('promotions.id', 'promotions.uid', 'promotions.miniprogram_id', 'users.pid as puid')
|
|
|
|
+ ->orderBy('promotions.id')
|
|
|
|
+ ->chunk(100, function ($items) use ($date){
|
|
|
|
+ $promotionIds = $items->pluck('id');
|
|
|
|
+ $now = date('Y-m-d H:i:s');
|
|
|
|
+ $alreadyExistsPromotionIds = DB::table('tj_promotion_day_charge')
|
|
|
|
+ ->where('day_at', $date)
|
|
|
|
+ ->whereIn('promotion_id', $promotionIds)
|
|
|
|
+ ->select('promotion_id')
|
|
|
|
+ ->get()->pluck('promotion_id');
|
|
|
|
+ foreach ($items as $item) {
|
|
|
|
+ if($alreadyExistsPromotionIds->contains($item->id)) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ DB::table('tj_promotion_day_charge')
|
|
|
|
+ ->insert([
|
|
|
|
+ 'promotion_id' => $item->id, 'day_at' => $date,
|
|
|
|
+ 'created_at' => $now, 'updated_at' => $now,
|
|
|
|
+ 'user_id' => $item->uid, 'puser_id' => $item->puid,
|
|
|
|
+ 'miniprogram_id' => $item->miniprogram_id
|
|
|
|
+ ]);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ DB::table('users')
|
|
|
|
+ ->join('user_has_roles', 'users.id', 'user_has_roles.user_id')
|
|
|
|
+ ->where(['user_has_roles.role_id' => 2, 'users.deleted_at' => 0])
|
|
|
|
+ ->distinct()
|
|
|
|
+ ->select('users.id', 'users.pid')
|
|
|
|
+ ->orderBy('users.id')
|
|
|
|
+ ->chunk(50, function ($items) use($date) {
|
|
|
|
+ $now = date('Y-m-d H:i:s');
|
|
|
|
+ foreach ($items as $item) {
|
|
|
|
+ $miniprogramIds = DB::table('user_has_miniprograms')
|
|
|
|
+ ->where('uid', $item->id)
|
|
|
|
+ ->where('is_enabled', 1)
|
|
|
|
+ ->select('miniprogram_id')
|
|
|
|
+ ->get()->pluck('miniprogram_id');
|
|
|
|
+ foreach ($miniprogramIds as $miniprogramId) {
|
|
|
|
+ if(DB::table('tj_optimizer_day_charge')
|
|
|
|
+ ->where([
|
|
|
|
+ 'day_at' => $date,
|
|
|
|
+ 'user_id' => $item->id, 'miniprogram_id' => $miniprogramId,
|
|
|
|
+ ])->exists()) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ DB::table('tj_optimizer_day_charge')
|
|
|
|
+ ->insert([
|
|
|
|
+ 'day_at' => $date, 'user_id' => $item->id, 'miniprogram_id' => $miniprogramId,
|
|
|
|
+ 'puser_id' => $item->pid, 'created_at' => $now, 'updated_at' => $now
|
|
|
|
+ ]);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ });
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|