ComplaintCommand.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. namespace App\Console\Commands\Info;
  3. use App\Repositories\Enums\Info\ComplaintDealStatusEnum;
  4. use App\Repositories\Enums\ModelStatusEnum;
  5. use App\Repositories\Models\Info\Complaint;
  6. use App\Repositories\Models\Manage\Message;
  7. use Carbon\Carbon;
  8. use Illuminate\Console\Command;
  9. use Illuminate\Support\Facades\Log;
  10. class ComplaintCommand extends Command
  11. {
  12. /**
  13. * The name and signature of the console command.
  14. *
  15. * @var string
  16. * 任务取一个名称
  17. */
  18. protected $signature = 'complaint';
  19. /**
  20. * The console command description.
  21. *
  22. * @var string
  23. */
  24. protected $description = '市民吹哨满意度评价';
  25. /**
  26. * Create a new command instance.
  27. *
  28. * @return void
  29. */
  30. public function __construct()
  31. {
  32. parent::__construct();
  33. }
  34. /**
  35. * Execute the console command.
  36. *
  37. * @return int
  38. * 逻辑编写
  39. */
  40. public function handle()
  41. {
  42. $day = Carbon::now()->addDays(-7)->toDateString();
  43. //更新投诉内容表
  44. Complaint::query()->where('deal_status', ComplaintDealStatusEnum::SATISFACTION)->where('status', ModelStatusEnum::OK)
  45. ->where('updated_at', '<', $day)->update([
  46. 'deal_evaluation' => 100,
  47. 'deal_status' => ComplaintDealStatusEnum::OK
  48. ]);
  49. //查询出来指挥交办id
  50. $manage_messages_ids = Complaint::query()->where('deal_status', ComplaintDealStatusEnum::SATISFACTION)
  51. ->where('status', ModelStatusEnum::OK)
  52. ->where('updated_at', '<', $day)->pluck('manage_messages_id');
  53. //更新指挥交办表的满意度
  54. Message::query()->where('status', ModelStatusEnum::OK)->whereIn('id', $manage_messages_ids)->update([
  55. 'deal_evaluation' => 100
  56. ]);
  57. }
  58. }