IncomeObserver.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: king/QQ:995265288
  5. * Date: 2018/12/30
  6. * Time: 5:02 PM
  7. */
  8. namespace app\common\observers\income;
  9. use app\common\events\income\IncomeCreatedEvent;
  10. use app\common\models\Income;
  11. use app\common\models\income\IncomeLog;
  12. use app\common\observers\BaseObserver;
  13. use app\common\services\plugin\DeliveryDriverSet;
  14. use Illuminate\Database\Eloquent\Model;
  15. class IncomeObserver extends BaseObserver
  16. {
  17. public function created(Model $model)
  18. {
  19. event(new IncomeCreatedEvent($model));
  20. }
  21. public function saved(Model $model)
  22. {
  23. $income_log_data = [
  24. 'uniacid' => \YunShop::app()->uniacid,
  25. 'income_id' => $model->id,
  26. 'before' => collect($model->getDirty())->map(function($value,$key) use ($model){
  27. return $model->getOriginal($key);
  28. }),
  29. 'after' => json_encode($model->getDirty()),
  30. 'remark' => ''
  31. ];
  32. IncomeLog::create($income_log_data);
  33. }
  34. public function updated(Model $model)
  35. {
  36. $income_log_data = [
  37. 'uniacid' => \YunShop::app()->uniacid,
  38. 'income_id' => $model->id,
  39. 'before' => collect($model->getDirty())->map(function($value,$key) use ($model){
  40. return $model->getOriginal($key);
  41. }),
  42. 'after' => json_encode($model->getDirty()),
  43. 'remark' => ''
  44. ];
  45. IncomeLog::create($income_log_data);
  46. }
  47. }