🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### 累加补全订单SKU表小计字段 **位置:** Common\Lib\OrderLib.class.php **参数:** * @param $order_id 订单ID **调用:** * 组件文件外调用 // 累加补全订单SKU表小计字段 ~~~ $my_order = new OrdersLib(); $my_cal = $my_order->calculateSubtotal($order_id); if (!$my_cal) { M()->rollback(); $result = array('success' => false, 'code' => 5015, 'msg' => '累加补全订单SKU表小计字段失败!'); return $result; } ~~~ **返回:** 累加补全订单SKU表小计字段结果 true 成功 false 失败 **完整代码:** ~~~ /** * 累加订单唯一码实收金额补全订单SKU小计字段 * @param $order_id 订单ID * @return bool 补全结果 true成功 false失败 */ public function calculateSubtotal($order_id) { // 查询订单SKU信息 $map_sku['order_id'] = array('eq', $order_id); // 订单ID $map_sku['is_delete'] = 0; // 伪删除状态0未删除 $order_skus = M('order_sku')->where($map_sku)->select(); foreach ($order_skus as $key => $value) { // 查询订单唯一码信息 $map_item['order_sku_id'] = array('eq', $value['id']); // 商品SKUID $map_item['is_delete'] = 0; // 伪删除状态0未删除 $order_items = M('order_item')->where($map_item)->select(); // 将指定SKU的订单唯一码的实收金额累加得到订单SKU价格小计 $s_subtotal = 0; foreach ($order_items as $kk => $vv) { $s_subtotal = $s_subtotal + $vv['payin_amount']; } // 保存单条SKU的小计 $data['subtotal'] = $s_subtotal; $res = M('order_sku')->where('id='.$value['id'])->save($data); if ($res === false) { return false; } } return true; } ~~~