1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- <?php
- namespace app\store\model\card;
- use app\common\library\helper;
- use app\common\model\card\RiceCardGoods as RiceCardGoodsModel;
- use app\store\model\Goods;
- use app\store\model\GoodsSku;
- /**
- * 米卡商品模型
- * @package app\common\model
- */
- class RiceCardGoods extends RiceCardGoodsModel
- {
-
- public function add($cardId, $isExcept, $data)
- {
- // 先删除全部
- static::deleteAll(['card_id' => $cardId, 'is_except' => $isExcept]);
- 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[] = [
- 'card_id' => $cardId,
- 'goods_id' => $item['goods_id'],
- 'goods_sku_id' => $item['goods_sku_id'],
- 'goods_num' => $item['goods_num'] ?? 1,
- 'is_except' => $isExcept,
- 'goods_sku_no' => $goodsSku['goods_sku_no'],
- 'image_id' => $goodsInfo['image_id'],
- 'goods_name' => $goodsInfo['goods_name'],
- 'goods_props' => $goodsSku['goods_props'],
- 'goods_price' => $goodsSku['goods_price'] ?? '0.00',
- 'total_price' => helper::bcsub($goodsSku['goods_price'] * ($item['goods_num'] ?? 1), 0, 2),
- ];
- }
- (new static)->addAll($dataset);
- }
- }
-
- }
|