ActivityDiscountGoods.php 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. <?php
  2. declare (strict_types=1);
  3. namespace app\common\model;
  4. use app\common\model\Goods;
  5. use app\common\model\GoodsSku;
  6. /**
  7. * 活动中心 ▸ N件X折
  8. * Class Ad
  9. * @package app\common\model
  10. */
  11. class ActivityDiscountGoods extends BaseModel
  12. {
  13. protected $name = 'activity_discount_goods';
  14. protected $append = ['residue_stock'];
  15. public function getResidueStockAttr($value,$data){
  16. if(isset($data['limit_stock']) && isset($data['purchase_stock'])){
  17. $residue_stock = $data['limit_stock']-$data['purchase_stock'];
  18. return $residue_stock>0?$residue_stock:0;
  19. }
  20. return 0;
  21. }
  22. /**
  23. * 一对多关联商品表
  24. */
  25. public function activity(){
  26. return $this->belongsTo('ActivityDiscount', 'id','activity_id');
  27. }
  28. public function add($activity_id, $data){
  29. // 先删除全部
  30. static::deleteAll(['activity_id' => $activity_id]);
  31. if (!empty($data)) {
  32. // 添加
  33. $dataset = [];
  34. foreach ($data as $item) {
  35. // 商品信息
  36. // $goodsInfo = Goods::detail($item['goods_id'], ['images' => ['file'], 'skuList' => ['image']]);
  37. // if (empty($goodsInfo)) {
  38. // $this->error = "商品信息错误";
  39. // return false;
  40. // }
  41. // $goodsInfo['goods_images'] = helper::getArrayColumn($goodsInfo['images'], 'file');
  42. // // 商品主图
  43. // $goodsInfo['goods_image'] = current($goodsInfo['goods_images'])['preview_url'];
  44. // $goodsInfo['image_id'] = current($goodsInfo['goods_images'])['file_id'];
  45. // $goodsSku = GoodsSku::detail($item['goods_id'], $item['goods_sku_id']);
  46. // if (empty($goodsSku)) {
  47. // $this->error = "商品信息错误";
  48. // return false;
  49. // }
  50. $dataset[] = [
  51. 'activity_id' => $activity_id,
  52. 'goods_id' => $item['goods_id'],
  53. 'limit_stock' => $item['limit_stock'],
  54. 'goods_sku_id' => $item['goods_sku_id']
  55. ];
  56. }
  57. (new static)->addAll($dataset);
  58. }
  59. }
  60. // /**
  61. // * 获取列表
  62. // * @param array $param
  63. // * @return \think\Paginator
  64. // * @throws \think\db\exception\DbException
  65. // */
  66. // public function getList($param = [])
  67. // {
  68. // // 检索查询调价你
  69. // $filter = $this->getFilter($param);
  70. // // 排序条件
  71. // $sort = $this->setQuerySort($param);
  72. // // 查询列表数据
  73. // return $this->where($filter)->with(['image'])->order($sort)->paginate(15);
  74. // }
  75. // public function setQuerySort($param = [])
  76. // {
  77. // $params = $this->setQueryDefaultValue($param, [
  78. // 'sortField' => 'create_time', // 排序字段 create_time-创建时间 start_time-开始时间 end_time-结束时间 sort-排序 click_user_nums-浏览人数 click_nums-点击次数
  79. // 'sortOrder' => 'descend' // 排序方式 descend-倒序 ascend-顺序
  80. // ]);
  81. // $sort = [];
  82. // if (in_array($params['sortOrder'], ['descend','ascend']) && in_array($params['sortField'], ['create_time','start_time','end_time','sort','click_user_nums','click_nums'])) {
  83. // $sort = [$params['sortField'] => str_replace(['descend','ascend'],['desc','asc'], $params['sortOrder'])];
  84. // }
  85. // return array_merge($sort, [$this->getPk() => 'desc']);
  86. // }
  87. // /**
  88. // * 检索查询条件
  89. // * @param array $param
  90. // * @return array
  91. // */
  92. // private function getFilter($param = [])
  93. // {
  94. // // 默认查询条件
  95. // $params = $this->setQueryDefaultValue($param, ['title' => '','ad_type' => 0]);
  96. // // 检索查询条件
  97. // $filter = [];
  98. // !empty($params['title']) && $filter[] = ['title', 'like', "%{$params['title']}%"];
  99. // !empty($params['ad_type']) && $filter[] = ['ad_type', '=', $params['ad_type']];
  100. // return $filter;
  101. // }
  102. // /**
  103. // * 详情
  104. // * @param int $id
  105. // * @return null|static
  106. // */
  107. // public static function detail(int $id)
  108. // {
  109. // return self::get($id,['image']);
  110. // }
  111. // /**
  112. // * 添加
  113. // * @param $data
  114. // * @return false|int
  115. // */
  116. // public function add($data)
  117. // {
  118. // isset($data['start_time']) && empty($data['start_time']) && $data['start_time'] = null;
  119. // isset($data['end_time']) && empty($data['end_time']) && $data['end_time'] = null;
  120. // return $this->save($data);
  121. // }
  122. // /**
  123. // * 编辑
  124. // * @param $data
  125. // * @return bool|int
  126. // */
  127. // public function edit($data)
  128. // {
  129. // isset($data['start_time']) && empty($data['start_time']) && $data['start_time'] = null;
  130. // isset($data['end_time']) && empty($data['end_time']) && $data['end_time'] = null;
  131. // // 是否删除图片
  132. // !isset($data['image_id']) && $data['image_id'] = 0;
  133. // return $this->save($data) !== false;
  134. // }
  135. // /**
  136. // * 删除
  137. // * @param $id
  138. // * @return bool|int
  139. // */
  140. // public function remove()
  141. // {
  142. // return $this->delete();
  143. // }
  144. }