123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- <?php
- declare (strict_types=1);
- namespace app\common\model;
- use app\common\model\Goods;
- use app\common\model\GoodsSku;
- /**
- * 活动中心 ▸ N件X折
- * Class Ad
- * @package app\common\model
- */
- class ActivityDiscountGoods extends BaseModel
- {
-
- protected $name = 'activity_discount_goods';
- protected $append = ['residue_stock'];
- public function getResidueStockAttr($value,$data){
- if(isset($data['limit_stock']) && isset($data['purchase_stock'])){
- $residue_stock = $data['limit_stock']-$data['purchase_stock'];
- return $residue_stock>0?$residue_stock:0;
- }
- return 0;
- }
- /**
- * 一对多关联商品表
- */
- public function activity(){
- return $this->belongsTo('ActivityDiscount', 'id','activity_id');
- }
- public function add($activity_id, $data){
- // 先删除全部
- static::deleteAll(['activity_id' => $activity_id]);
- if (!empty($data)) {
- // 添加
- $dataset = [];
- foreach ($data as $item) {
- // 商品信息
- // $goodsInfo = Goods::detail($item['goods_id'], ['images' => ['file'], 'skuList' => ['image']]);
- // if (empty($goodsInfo)) {
- // $this->error = "商品信息错误";
- // return false;
- // }
- // $goodsInfo['goods_images'] = helper::getArrayColumn($goodsInfo['images'], 'file');
- // // 商品主图
- // $goodsInfo['goods_image'] = current($goodsInfo['goods_images'])['preview_url'];
- // $goodsInfo['image_id'] = current($goodsInfo['goods_images'])['file_id'];
- // $goodsSku = GoodsSku::detail($item['goods_id'], $item['goods_sku_id']);
- // if (empty($goodsSku)) {
- // $this->error = "商品信息错误";
- // return false;
- // }
- $dataset[] = [
- 'activity_id' => $activity_id,
- 'goods_id' => $item['goods_id'],
- 'limit_stock' => $item['limit_stock'],
- 'goods_sku_id' => $item['goods_sku_id']
- ];
- }
- (new static)->addAll($dataset);
- }
- }
- // /**
- // * 获取列表
- // * @param array $param
- // * @return \think\Paginator
- // * @throws \think\db\exception\DbException
- // */
- // public function getList($param = [])
- // {
- // // 检索查询调价你
- // $filter = $this->getFilter($param);
- // // 排序条件
- // $sort = $this->setQuerySort($param);
- // // 查询列表数据
- // return $this->where($filter)->with(['image'])->order($sort)->paginate(15);
- // }
- // public function setQuerySort($param = [])
- // {
- // $params = $this->setQueryDefaultValue($param, [
- // 'sortField' => 'create_time', // 排序字段 create_time-创建时间 start_time-开始时间 end_time-结束时间 sort-排序 click_user_nums-浏览人数 click_nums-点击次数
- // 'sortOrder' => 'descend' // 排序方式 descend-倒序 ascend-顺序
- // ]);
- // $sort = [];
- // if (in_array($params['sortOrder'], ['descend','ascend']) && in_array($params['sortField'], ['create_time','start_time','end_time','sort','click_user_nums','click_nums'])) {
- // $sort = [$params['sortField'] => str_replace(['descend','ascend'],['desc','asc'], $params['sortOrder'])];
- // }
- // return array_merge($sort, [$this->getPk() => 'desc']);
- // }
- // /**
- // * 检索查询条件
- // * @param array $param
- // * @return array
- // */
- // private function getFilter($param = [])
- // {
- // // 默认查询条件
- // $params = $this->setQueryDefaultValue($param, ['title' => '','ad_type' => 0]);
- // // 检索查询条件
- // $filter = [];
- // !empty($params['title']) && $filter[] = ['title', 'like', "%{$params['title']}%"];
- // !empty($params['ad_type']) && $filter[] = ['ad_type', '=', $params['ad_type']];
- // return $filter;
- // }
- // /**
- // * 详情
- // * @param int $id
- // * @return null|static
- // */
- // public static function detail(int $id)
- // {
- // return self::get($id,['image']);
- // }
- // /**
- // * 添加
- // * @param $data
- // * @return false|int
- // */
- // public function add($data)
- // {
- // isset($data['start_time']) && empty($data['start_time']) && $data['start_time'] = null;
- // isset($data['end_time']) && empty($data['end_time']) && $data['end_time'] = null;
- // return $this->save($data);
- // }
- // /**
- // * 编辑
- // * @param $data
- // * @return bool|int
- // */
- // public function edit($data)
- // {
- // isset($data['start_time']) && empty($data['start_time']) && $data['start_time'] = null;
- // isset($data['end_time']) && empty($data['end_time']) && $data['end_time'] = null;
- // // 是否删除图片
- // !isset($data['image_id']) && $data['image_id'] = 0;
- // return $this->save($data) !== false;
- // }
- // /**
- // * 删除
- // * @param $id
- // * @return bool|int
- // */
- // public function remove()
- // {
- // return $this->delete();
- // }
- }
|