Privilege.php 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. <?php
  2. /**
  3. * 商品权限关联表数据操作
  4. * Created by PhpStorm.
  5. * Author: 芸众商城 www.yunzshop.com
  6. * Date: 2017/2/28
  7. * Time: 上午11:01
  8. */
  9. namespace app\backend\modules\goods\models;
  10. use app\common\traits\MessageTrait;
  11. class Privilege extends \app\common\models\goods\Privilege
  12. {
  13. static protected $needLog = true;
  14. use MessageTrait;
  15. //public $timestamps = false;
  16. /**
  17. * 获取商品权限数据
  18. * @param int $goodsId
  19. * @return array
  20. */
  21. public static function getInfo($goodsId)
  22. {
  23. return self::getGoodsPrivilegeInfo($goodsId);
  24. }
  25. public static function relationSave($goodsId, $data, $operate)
  26. {
  27. // dd($data);
  28. if(!$goodsId){
  29. return false;
  30. }
  31. if (!$data) {
  32. return false;
  33. }
  34. $privilegeModel = self::getModel($goodsId, $operate);
  35. //判断deleted
  36. if ($operate == 'deleted') {
  37. return $privilegeModel->delete();
  38. }
  39. $data['goods_id'] = $goodsId;
  40. $privilegeModel->fill($data);
  41. $privilegeModel->option_buy_limit = isset($data['option_buy_limit']) ?$data['option_buy_limit']: '';
  42. $privilegeModel->show_levels = isset($data['show_levels']) ?$data['show_levels']: '';
  43. $privilegeModel->buy_levels = isset($data['buy_levels']) ?$data['buy_levels']: '';
  44. $privilegeModel->show_groups = isset($data['show_groups']) ?$data['show_groups']: '';
  45. $privilegeModel->buy_groups = isset($data['buy_groups']) ?$data['buy_groups']: '';
  46. $privilegeModel->once_buy_limit = !empty($data['once_buy_limit']) ? $data['once_buy_limit'] : '0';
  47. $privilegeModel->total_buy_limit = !empty($data['total_buy_limit']) ? $data['total_buy_limit']: '0';
  48. $privilegeModel->day_buy_limit = !empty($data['day_buy_limit']) ? $data['day_buy_limit']: '0';
  49. $privilegeModel->week_buy_limit = !empty($data['week_buy_limit']) ? $data['week_buy_limit']: '0';
  50. $privilegeModel->month_buy_limit = !empty($data['month_buy_limit']) ? $data['month_buy_limit']: '0';
  51. $privilegeModel->time_begin_limit = !empty($data['time_begin_limit']) ? strtotime($data['time_begin_limit']) : '0';
  52. $privilegeModel->time_end_limit = !empty($data['time_end_limit']) ? strtotime($data['time_end_limit']): '0';
  53. return $privilegeModel->save();
  54. }
  55. public static function relationValidator($goodsId, $data, $operate)
  56. {
  57. // if ($data) {
  58. // $data['show_levels'] = !empty($data['show_levels']) ? implode(',', $data['show_levels']) : '';
  59. // $data['buy_levels'] = !empty($data['buy_levels']) ? implode(',', $data['buy_levels']) : '';
  60. // $data['show_groups'] = !empty($data['show_groups']) ? implode(',', $data['show_groups']) : '';
  61. // $data['buy_groups'] = !empty($data['buy_groups']) ? implode(',', $data['buy_groups']) : '';
  62. // $data['once_buy_limit'] = !empty($data['once_buy_limit']) ? $data['once_buy_limit'] : '0';
  63. // $data['once_buy_limit'] = !empty($data['total_buy_limit']) ? $data['total_buy_limit']: '0';
  64. // $data['once_buy_limit'] = !empty($data['time_begin_limit']) ? strtotime($data['time_begin_limit']) : '0';
  65. // $data['once_buy_limit'] = !empty($data['time_end_limit']) ? strtotime($data['time_end_limit']): '0';
  66. // return (new static)->validator($data);
  67. // }
  68. //
  69. // $flag = false;
  70. // $model = new static;
  71. // $validator = $model->validator($data);
  72. // if($validator->fails()){
  73. // $model->error($validator->messages());
  74. // }else{
  75. // $flag = true;
  76. // }
  77. return true;
  78. }
  79. public static function getModel($goodsId,$operate)
  80. {
  81. $model = false;
  82. if($operate != 'created') {
  83. $model = static::where(['goods_id' => $goodsId])->first();
  84. }
  85. !$model && $model = new static;
  86. return $model;
  87. }
  88. /**
  89. * 商品分享权限数据添加
  90. * @param array $privilegeInfo
  91. * @return bool
  92. */
  93. public static function createdPrivilege($privilegeInfo)
  94. {
  95. return self::insert($privilegeInfo);
  96. }
  97. /**
  98. * 商品分享权限数据更新
  99. * @param array $privilegeInfo
  100. * @return mixed
  101. */
  102. public static function updatedPrivilege($goodsId, $privilegeInfo)
  103. {
  104. return self::where('goods_id', $goodsId)->update($privilegeInfo);
  105. }
  106. /**
  107. * 商品分享权限数据删除
  108. * @param int $goodsId
  109. * @return mixed
  110. */
  111. public static function deletedPrivilege($goodsId)
  112. {
  113. return self::where('goods_id', $goodsId)->delete();
  114. }
  115. }