ShopMemberLog.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Administrator
  5. * Date: 2018/11/2
  6. * Time: 9:55
  7. */
  8. namespace app\common\services\operation;
  9. use app\backend\modules\member\models\Member;
  10. use app\common\models\MemberLevel;
  11. class ShopMemberLog extends OperationBase
  12. {
  13. public $modules = 'member';
  14. public $type = 'update';
  15. protected function modifyDefault()
  16. {
  17. if (is_array($this->model)) {
  18. $this->setLog('mark', $this->model['uid']);
  19. } else {
  20. $this->setLog('mark', $this->model->getOriginal('member_id'));
  21. }
  22. }
  23. protected function special()
  24. {
  25. $nick_name = Member::getMemberByUid($this->model['uid'])->value('nickname');
  26. $this->setLog('field_name', '会员黑名单');
  27. $this->setLog('field', 'is_black');
  28. if ($this->model['is_black']) {
  29. $this->setLog('old_content',$nick_name.'取消黑名单');
  30. $this->setLog('new_content', $nick_name.'加入黑名单');
  31. } else {
  32. $this->setLog('old_content', $nick_name.'加入黑名单');
  33. $this->setLog('new_content',$nick_name.'取消黑名单');
  34. }
  35. }
  36. /**
  37. * 获取模型需要记录的字段
  38. * @return mixed
  39. */
  40. protected function recordField()
  41. {
  42. return [
  43. 'level_id' => '会员等级',
  44. 'group_id' => '会员分组ID',
  45. 'wechat' => '会员微信号',
  46. 'alipayname' => '会员支付宝姓名',
  47. 'alipay' => '会员支付宝账号',
  48. 'is_agent' => '会员推广员权限',
  49. 'is_black' => '会员黑名单',
  50. 'parent_id' => '会员上线ID',
  51. ];
  52. }
  53. /**
  54. * 获取模型修改了哪些字段
  55. * @param object array
  56. * @return array
  57. */
  58. protected function modifyField()
  59. {
  60. $model = $this->model;
  61. if (is_null($model->getOriginal())) {
  62. return [];
  63. }
  64. $nick_name = Member::getMemberByUid($model->member_id)->value('nickname');
  65. foreach ($this->recordField() as $key => $item) {
  66. if ($model->isDirty($key)) {
  67. if ($key == 'level_id') {
  68. $old_level_name = MemberLevel::where('id', $model->getOriginal('level_id'))->value('level_name');
  69. $new_level_name = MemberLevel::where('id', $model->level_id)->value('level_name');
  70. $old_level_name = is_null($old_level_name) ? '普通会员': $old_level_name;
  71. $new_level_name = is_null($new_level_name) ? '普通会员': $new_level_name;
  72. $this->modify_fields[$key]['old_content'] = $nick_name.'旧等级:'. $old_level_name;
  73. $this->modify_fields[$key]['new_content'] = $nick_name.'新等级:'. $new_level_name;
  74. } elseif ($key == 'is_agent') {
  75. $this->modify_fields[$key]['old_content'] = ['key'=> $model->getOriginal($key),0=>$nick_name.'推广员权限关闭',1=>$nick_name.'推广员权限开启'];
  76. $this->modify_fields[$key]['new_content'] = ['key'=> $model->{$key},0=>$nick_name.'推广员权限关闭',1=>$nick_name.'推广员权限开启'];
  77. } elseif ($key == 'is_black') {
  78. $this->modify_fields[$key]['old_content'] = ['key'=> $model->getOriginal($key),0=>$nick_name.'取消黑名单',1=>$nick_name.'加入黑名单'];
  79. $this->modify_fields[$key]['new_content'] = ['key'=> $model->{$key},0=>$nick_name.'取消黑名单',1=>$nick_name.'加入黑名单'];
  80. } else {
  81. $this->modify_fields[$key]['old_content'] = $nick_name.':'.$model->getOriginal($key);
  82. $this->modify_fields[$key]['new_content'] = $nick_name.':'.$model->{$key};
  83. }
  84. }
  85. }
  86. return $this->modify_fields;
  87. }
  88. }