// +---------------------------------------------------------------------- declare (strict_types = 1); namespace app\store\model; use app\common\enum\order\DeliveryStatus as DeliveryStatusEnum; use app\common\model\OrderGoodsPackage as OrderGoodsPackageModel; /** * 订单商品拆分包裹模型 * Class OrderGoods * @package app\api\model */ class OrderGoodsPackage extends OrderGoodsPackageModel { /** * 隐藏字段 * @var array */ protected $hidden = [ 'store_id', ]; protected $append = []; /** * 新增订单商品拆分包裹记录 * @param $orderGoods * @param array $param * @param int $specType * @return array|bool|false */ public static function add($orderGoods,$param) { // 批量写入订单商品拆分包裹记录 return static::increasedFroMulti($orderGoods, $param); } /** * 批量写入订单商品拆分包裹记录 * @param $orderGoods * @param array $skuList * @return array|false */ public static function increasedFroMulti($orderGoods, $param) { $dataset = []; foreach ($param['express_list'] as $item) { $dataset[] = [ 'express_no' => $item['express_no'], 'express_id' => $item['express_id'], 'express_company' => $item['express_company'], 'total_num' => $item['total_num'], 'goods_id' => $orderGoods['goods_id'], 'order_id' => $orderGoods['order_id'], 'user_id' => $orderGoods['user_id'], 'order_goods_id' => $orderGoods['order_goods_id'], 'is_sign' => 0, 'delivery_status' => DeliveryStatusEnum::DELIVERED, 'delivery_time' => date('Y-m-d H:i:s'), ]; } return (new static)->addAll($dataset); } /** * 更新订单商品拆分包裹记录 * @param $orderGoods * @param array $param * @return array|bool|false */ public static function edit($orderGoods,$param) { // 删除所有的sku记录 static::deleteAll(['order_goods_id' => $orderGoods['order_goods_id']]); // 新增商品sku记录 return static::add($orderGoods,$param); } }