OrderMemberMonthJob.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: win 10
  5. * Date: 2019/1/12
  6. * Time: 15:05
  7. */
  8. namespace app\Jobs;
  9. use app\backend\modules\charts\modules\team\models\MemberMonthOrder;
  10. use Illuminate\Bus\Queueable;
  11. use Illuminate\Contracts\Queue\ShouldQueue;
  12. use Illuminate\Queue\InteractsWithQueue;
  13. use Illuminate\Queue\SerializesModels;
  14. class OrderMemberMonthJob implements ShouldQueue
  15. {
  16. use InteractsWithQueue, Queueable, SerializesModels;
  17. protected $order;
  18. public function __construct($order)
  19. {
  20. $this->order = $order;
  21. }
  22. public function handle()
  23. {
  24. $time = time();
  25. $nowyear = date('Y',$time);
  26. $nowmonth = date('n',$time);
  27. $finder = MemberMonthOrder::where(['member_id'=>$this->order->uid,'year'=>$nowyear,'month'=>$nowmonth])->first();
  28. if($finder){
  29. $finder->order_num += 1;
  30. $finder->order_price = bcadd($finder->order_price ,$this->order->price,2);
  31. $finder->save();
  32. }else{
  33. $data=[];
  34. $data['member_id'] = $this->order->uid;
  35. $data['year'] = $nowyear;
  36. $data['month'] = $nowmonth;
  37. $data['order_num'] = 1;
  38. $data['order_price'] = $this->order->price;
  39. MemberMonthOrder::create($data);
  40. }
  41. }
  42. }