alias('a') ->join("ls_retail_goods as g on a.goods_id=g.id") ->field($parameter['field']) ->where($parameter['where']) ->order("a.id desc") ->page($parameter['page'], $parameter['limit']) ->select(); } else { $list = $this->alias('a') ->join("ls_retail_goods as g on a.goods_id=g.id") ->field($parameter['field']) ->where($parameter['where']) ->order("a.id desc") ->select(); } $res = array( 'status' => 1, 'msg' => '查询成功', 'data' => array( 'list' => $list ) ); return $res; } /** * 获取预售列表总条数 * @param $parameter * @return mixed */ public function getListCount($parameter) { $count = $this->alias('a') ->join("ls_retail_goods as g on a.goods_id=g.id") ->where($parameter['where']) ->count(); return $count; } /** * 获取活动的预售价 * @param $parameter * @return mixed */ public function getAdvancePrice($parameter) { $info = $this->getFind(array('id' => $parameter['id']), "attribute_state,advance_price,advance_state"); if (!$info || $info['advance_state'] != 1) { $res = array('status' => 0, 'msg' => '活动下架'); return $res; } switch ($info['attribute_state']) { case 1: $res = array('status' => 1, 'advance_price' => $info['advance_price']); break; case 2: $sku_info = D("AdvanceSkuGoods")->getOrderFind(array("advance_id" => $parameter['id'], "advance_state" => 1), "advance_price", "advance_price asc"); if (!$sku_info) { $res = array('status' => 0, 'msg' => '活动下架'); return $res; } $res = array('status' => 1, 'advance_price' => $sku_info['advance_price']); break; } return $res; } /** * 判断是否存在预售商品id * @param $parameter * @return array */ public function existence_id($parameter) { if (is_array($parameter)) { if (empty($parameter['id'])) { $res = array('status' => 0, 'msg' => '验证失败,缺少ID参数'); } else { $res = array('status' => 1, 'msg' => '验证成功'); } } else { $res = array('status' => 0, 'msg' => '参数类型有误'); } return $res; } /** * 单个预售商品详情 * @param $where * @param $fields * @return mixed */ public function advanceGoodsInfo($where, $fields) { $fields = $fields ? $fields : "*"; $info = $this->alias('a') ->join('ls_retail_goods as g on a.goods_id=g.id') ->where($where) ->field($fields) ->order('a.id desc') ->find(); return $info; } /** * 添加预售商品的活动参数验证 * @param $parameter [advance_type=>[ 1全额 2定金],delivery_type=>[1自提加配送 2自提 3配送] *attribute_state=>[ 1不开启 2开启],ruleList=>单品信息] * @return mixed */ public function add_param_verify($parameter) { if (is_array($parameter)) { $merchant_id = $parameter['merchant_id']; $store_id = $parameter['store_id']; $data = $parameter['data']; if (!$merchant_id || !$store_id || !$data['goods_id'] || !$data['advance_type'] || !$data['delivery_type'] || !$data['attribute_state'] || empty($data['ruleList'])) { $res = array('status' => 0, 'msg' => '登录超时请重试'); return $res; } if (!$data['delivery_type']) { $res = array('status' => 0, 'msg' => '请选择配送方式'); return $res; } if (in_array(3, $data['delivery_type']) && !$data['delivery_template_id']) { $res = array('status' => 0, 'msg' => '请选择配送模板'); return $res; } $reg1 = "/^[0-9]*[1-9][0-9]*$/"; $reg2 = "/^[0-9]+(.[0-9]{1,2})?$/"; $reg3 = "/^[0-9]+(.[0-9]{1,3})?$/"; if ($data['attribute_state'] == 2 || ($data['attribute_state'] == 1 && $data['pricing_method'] == 1)) { if (!empty($data['restrict_num']) && !preg_match($reg1, $data['restrict_num'])) { $res = array('status' => 0, 'msg' => '限购数量有误'); return $res; } if (!empty($data['rise_num']) && !preg_match($reg1, $data['rise_num'])) { $res = array('status' => 0, 'msg' => '起购数量有误'); return $res; } } else if ($data['attribute_state'] == 1 && $data['pricing_method'] == 2) { if (!empty($data['restrict_num']) && !preg_match($reg3, $data['restrict_num'])) { $res = array('status' => 0, 'msg' => '限购数量有误'); return $res; } if (!empty($data['rise_num']) && !preg_match($reg3, $data['rise_num'])) { $res = array('status' => 0, 'msg' => '起购数量有误'); return $res; } } if (!empty($data['rise_num']) && !empty($data['restrict_num']) && $data['rise_num'] > $data['restrict_num']) { $res = array('status' => 0, 'msg' => '起购数量不能大于限购数量'); return $res; } if (strtotime($data['advance_time'][1]) <= strtotime($data['advance_time'][0])) { $res = array('status' => 0, 'msg' => '预定结束时间必须大于开始时间'); return $res; } if (strtotime($data['deliver_time'][1]) < strtotime($data['deliver_time'][0])) { $res = array('status' => 0, 'msg' => '发货结束时间必须大于开始时间'); return $res; } if (strtotime($data['deliver_time'][0]) < strtotime($data['advance_time'][0])) { $res = array('status' => 0, 'msg' => '发货开始时间不能小于预定开始时间'); return $res; } if ($data['advance_type'] == 2) { //定金 if (strtotime($data['tail_time'][1]) <= strtotime($data['tail_time'][0])) { $res = array('status' => 0, 'msg' => '尾款结束时间必须大于开始时间'); return $res; } if (strtotime($data['tail_time'][0]) < strtotime($data['advance_time'][1])) { $res = array('status' => 0, 'msg' => '尾款开始时间不能小于预定结束时间'); return $res; } if (strtotime($data['deliver_time'][0]) < strtotime($data['tail_time'][1])) { $res = array('status' => 0, 'msg' => '发货开始时间不能小于尾款结束时间'); return $res; } } $res = array('status' => 1, 'msg' => '验证成功'); } else { $res = array('status' => 0, 'msg' => '参数类型错误'); } return $res; } /** * 添加编辑预售商品的商品信息验证 * @param $parameter [rule_list=>商品信息,data=>预售设置] * @return array */ public function goods_verify($parameter) { if (is_array($parameter)) { $ruleList = $parameter['rule_list']; $data = $parameter['data']; $advance_id = $parameter['advance_id']; $store_id = $parameter['store_id']; if (empty($ruleList) || empty($data)) { $res = array('status' => 0, 'msg' => '参数缺失'); return $res; } $GoodsModel = new RetailGoodsModel(); $goods_actice = $GoodsModel->advance_open_verify(array("store_id" => $store_id, "goods_id" => $data['goods_id'])); if ($goods_actice['status'] == 0) { return $goods_actice; } $advance_sale_status = $GoodsModel->getFindField([ 'store_id' => $store_id, 'id' => $data['goods_id'] ], 'advance_sale_status'); if ($advance_sale_status == 0) { $res = array('status' => 0, 'msg' => '该商品已关闭预售,无法开启该活动'); return $res; } $reg1 = "/^[0-9]*[1-9][0-9]*$/"; $reg2 = "/^[0-9]+(.[0-9]{1,2})?$/"; $reg3 = "/^[0-9]+(.[0-9]{1,3})?$/"; $name = ""; foreach ($ruleList as $val) { if ($data['attribute_state'] == 2) { $name = $val['sku_name']; } else { $name = $data['goods_name']; } if (!empty($advance_id)) { if ($val['advance_num'] < $val['sold_num']) { $res = array('status' => 0, 'msg' => '预售库存不能小于已售库存'); return $res; } if ($val['advance_num'] > ($val['surplus_num'] + $val['goods_num'])) { $res = array('status' => 0, 'msg' => '预售库存不能大于总库存'); return $res; } } else { if ($val['goods_num'] <= 0) { $res = array('status' => 0, 'msg' => '库存不足'); return $res; } } if (!$val['advance_price'] || !preg_match($reg2, $val['advance_price'])) { $res = array('status' => 0, 'msg' => '预售价格有误'); return $res; } if ($val['advance_price'] > $val['online_price']) { $res = array('status' => 0, 'msg' => '预售价不能大于商城价'); return $res; } if ($data['attribute_state'] == 2) { if (!$val['advance_num'] || !preg_match($reg1, $val['advance_num'])) { $res = array('status' => 0, 'msg' => '预售库存有误'); return $res; } } else if ($data['attribute_state'] == 1) { if ($val['pricing_method'] == 2) { //称重 if (!$val['advance_num'] || !preg_match($reg3, $val['advance_num'])) { $res = array('status' => 0, 'msg' => '预售库存有误'); return $res; } } else { if (!$val['advance_num'] || !preg_match($reg1, $val['advance_num'])) { $res = array('status' => 0, 'msg' => '预售库存有误'); return $res; } } } if ($data['advance_type'] == 2) { //定金 if (!$val['earnest_price'] || !preg_match($reg2, $val['earnest_price'])) { $res = array('status' => 0, 'msg' => '定金价有误'); return $res; } if ($val['earnest_price'] >= $val['advance_price']) { $res = array('status' => 0, 'msg' => '定金价必须小于预售价'); return $res; } if ($val['arrive_price'] && !preg_match($reg2, $val['arrive_price'])) { $res = array('status' => 0, 'msg' => '定金抵现有误'); return $res; } if ($val['arrive_price'] && ($val['arrive_price'] >= $val['online_price'] || $val['arrive_price'] < $val['earnest_price'])) { $res = array('status' => 0, 'msg' => '抵现价必须小于商城价且不能小于定金价'); return $res; } } } $res = array('status' => 1, 'msg' => '验证成功'); } else { $res = array('status' => 0, 'msg' => '参数类型错误'); } return $res; } /** * 添加或编辑操作预售商品 * @param $parameter * @return mixed */ public function advance_add($parameter) { if (is_array($parameter)) { $data = $parameter['data']; $ruleList = $parameter['rule_list']; $advance_id = $parameter['advance_id']; $content = $parameter['content']; if (empty($data) || empty($ruleList) || empty($content)) { $res = array('status' => 0, 'msg' => '参数缺失'); return $res; } switch ($data['attribute_state']) { case 1: foreach ($ruleList as $val) { $content['advance_num'] = $val['advance_num']; if (!empty($advance_id)) { $old_info = $this->getFind(array('id' => $advance_id), "advance_num,surplus_num,goods_id"); $num = round($old_info['advance_num'] - $val['advance_num'], 3); if ($num != 0) { $content['surplus_num'] = round($old_info['surplus_num'] - $num, 3); } $save = $this->updateOrder(array('id' => $advance_id), $content); if ($save) { if ($num > 0) { A("Api/Inventory")->Inventory(1, $num, $old_info['goods_id']); } else if ($num < 0) { A("Api/Inventory")->Inventory(2, abs($num), $old_info['goods_id']); } } } else { $content['surplus_num'] = $val['advance_num']; $content['advance_price'] = $val['advance_price']; if ($data['advance_type'] == 2) { $content['arrive_price'] = $val['arrive_price'] ? $val['arrive_price'] : null; $content['earnest_price'] = $val['earnest_price']; } $save = $this->addOrder($content); if ($save) { A("Api/Inventory")->Inventory(2, $val['advance_num'], $content['goods_id']); } } } break; case 2: if (empty($advance_id)) { $add = $this->addOrder($content); } else { $add = $advance_id; } if ($add) { if (!empty($advance_id)) { $old_sku_info = D("AdvanceSkuGoods")->getSelect(array('advance_id' => $advance_id, 'goods_id' => $data['goods_id']), "advance_num,surplus_num,sku_id"); $old_sku_ids = array_column($old_sku_info, "sku_id"); //规格ids } $sku_arr = array( 'merchant_id' => $content['merchant_id'], 'store_id' => $content['store_id'], 'advance_id' => $add, 'goods_id' => $data['goods_id'], 'add_time' => time(), 'advance_state' => 1 ); $advance_num = 0; $surplus_num = 0; foreach ($ruleList as $val) { $advance_num += $val['advance_num']; $sku_arr['advance_num'] = $val['advance_num']; $sku_arr['surplus_num'] = $val['advance_num']; $sku_arr['sku_id'] = $val['sku_id']; $sku_arr['advance_price'] = $val['advance_price']; if ($data['advance_type'] == 2) { $sku_arr['arrive_price'] = $val['arrive_price'] ? $val['arrive_price'] : null; $sku_arr['earnest_price'] = $val['earnest_price']; } if (!empty($advance_id)) { if (in_array($val['sku_id'], $old_sku_ids)) { unset($sku_arr['surplus_num']); unset($sku_arr['sku_id']); unset($sku_arr['advance_price']); unset($sku_arr['arrive_price']); unset($sku_arr['earnest_price']); $sku_id_key = array_search($val['sku_id'], $old_sku_ids); $num = round($old_sku_info[$sku_id_key]['advance_num'] - $val['advance_num'], 3); if ($num != 0) { $sku_arr['surplus_num'] = round($old_sku_info[$sku_id_key]['surplus_num'] - $num, 3); } else { $sku_arr['surplus_num'] = $old_sku_info[$sku_id_key]['surplus_num']; } } } $surplus_num += $sku_arr['surplus_num']; if (!empty($advance_id)) { if (in_array($val['sku_id'], $old_sku_ids)) { unset($sku_arr['merchant_id']); unset($sku_arr['store_id']); $save = D("AdvanceSkuGoods")->updateOrder(array('advance_id' => $advance_id, 'sku_id' => $val['sku_id']), $sku_arr); if ($save) { if ($num > 0) { A("Api/Inventory")->Inventory(1, $num, $content['goods_id'], $val['sku_id']); } else if ($num < 0) { A("Api/Inventory")->Inventory(2, abs($num), $content['goods_id'], $val['sku_id']); } } } else { $save = D("AdvanceSkuGoods")->addOrder($sku_arr); if ($save) { A("Api/Inventory")->Inventory(2, $val['advance_num'], $content['goods_id'], $val['sku_id']); } } } else { $save = D("AdvanceSkuGoods")->addOrder($sku_arr); if ($save) { A("Api/Inventory")->Inventory(2, $val['advance_num'], $content['goods_id'], $val['sku_id']); } } } if (!empty($advance_id)) { $content['advance_num'] = $advance_num; $content['surplus_num'] = round($surplus_num, 3); $this->updateOrder(array('id' => $advance_id), $content); } else { $arr_save['advance_num'] = $advance_num; $arr_save['surplus_num'] = $advance_num; $this->updateOrder(array('id' => $add), $arr_save); } } break; } $res = array('status' => 1, 'msg' => '操作成功'); } else { $res = array('status' => 0, 'msg' => '参数类型有误'); } return $res; } /** * 判断预售活动总开关是否开启状态 * @param $store_id * @return mixed */ public function advance_master_verify($store_id) { $advance_sale_status = D('RetailStoreXcxConfig')->getFindField(array('storeid' => $store_id), "advance_sale_status"); if ($advance_sale_status == 1) { $res = array('status' => 1, 'msg' => '验证成功'); } else { $res = array('status' => 0, 'msg' => '预售活动已下架'); } return $res; } /**预售活动的冻结库存 * @param $parameter * @return int */ public function frozen_num($parameter) { $advance_id = $parameter['id']; $goods_id = $parameter['goods_id']; $sku_id = $parameter['sku_id']; $attribute_state = $parameter['attribute_state']; if ($attribute_state == 2) { if (!empty($sku_id)) { $redis_key = 'retail_advance_frozen_goods_' . $advance_id . '_goods_id_' . $goods_id . '_sku_id_' . $sku_id; } else { $redis_key = 'retail_advance_frozen_goods_' . $advance_id . '_goods_id_' . $goods_id . '_*'; } } else if ($attribute_state == 1) { $redis_key = 'retail_advance_frozen_goods_' . $advance_id . '_goods_id_' . $goods_id; } $frozen_num = 0; if (C('IS_SET_REDIS')) { //冻结的库存 $ApiRedis = new \Addons\Api\RedisController(); $advance_frozen_goods = $ApiRedis::$redis->mget($ApiRedis::$redis->keys($redis_key)); if ($advance_frozen_goods) { foreach ($advance_frozen_goods as $key => &$val) { $frozen_num += json_decode($val, true)['num']; } } } return $frozen_num; } /** * 判断某预售活动是否可以下单 * @param $parameter * @return mixed */ public function advance_activity_state($parameter) { if (is_array($parameter)) { $time = time(); $merchant_id = $parameter['merchant_id']; $store_id = $parameter['store_id']; $advance_id = $parameter['advance_id']; $pickup_type = $parameter['pickup_type']; $where = array( "a.merchant_id" => $merchant_id, "a.store_id" => $store_id, "a.id" => $advance_id, "a.advance_state" => 1, ); $advance = $this->alias('a') ->join('ls_retail_goods as g on a.goods_id=g.id') ->field("a.*,g.goods_name,g.goods_class_id,g.pricing_method,g.purchase_price,g.online_price,g.goods_img_id,g.integral,g.integral_mem_status,g.company,g.weight_value,g.serial_number_state,g.third_goods_code") ->where($where) ->find(); if ($advance) { if (!in_array($advance['advance_type'], array(1, 2))) { $res = array('status' => 0, 'msg' => '店家预售方式有误,请联系店家'); return $res; } if ($advance['advance_start_time'] > $time) { $res = array('status' => 0, 'msg' => '未到预定时间'); return $res; } if ($advance['advance_end_time'] < $time) { $res = array('status' => 0, 'msg' => '已超出预定时间范围'); return $res; } if (empty($advance['advance_start_time']) || empty($advance['advance_end_time'])) { $res = array('status' => 0, 'msg' => '该活动预定时间设置有误'); return $res; } $frozen_param = array( 'id' => $advance['id'], 'goods_id' => $advance['goods_id'], 'attribute_state' => $advance['attribute_state'], 'sku_id' => '' ); $frozen_num = $this->frozen_num($frozen_param); //冻结库存 $advance['surplus_num'] = round($advance['surplus_num'] - $frozen_num, 3); if ($advance['surplus_num'] <= 0 || empty($advance['surplus_num'])) { $res = array('status' => 0, 'msg' => '该预售商品库存不足'); return $res; } if (empty($advance['delivery_type'])) { $res = array('status' => 0, 'msg' => '该预售商品配送方式未设置,请联系商家'); return $res; } if (!in_array($pickup_type, explode(',', $advance['delivery_type']))) { $res = array('status' => 0, 'msg' => '该预售活动配送方式已更新,请重新下单'); return $res; } $res = array('status' => 1, 'msg' => '验证成功', 'advance' => $advance); } else { $res = array('status' => 0, 'msg' => '该预售商品已下架'); } } else { $res = array('status' => 0, 'msg' => '参数类型错误'); } return $res; } /** * 判断购买的预售商品是否可以下单 * @param $parameter [ * merchant_id * $goods=>购买预售商品详情,$advance=>预售活动详情,$pickup_type=>配送方式 * platform_type 商户平台类型 1默认系统 2微礼平台 * third_code 第三方平台门店编码 * ] * @return array */ public function advance_goods_state($parameter) { if (is_array($parameter)) { $merchant_id = $parameter['merchant_id']; $third_code = $parameter['third_code']; $goods = $parameter['goods']; $advance_info = $parameter['advance_info']; $uid = $parameter['uid']; $platform_type = $parameter['platform_type']; //商户平台类型 1默认系统 2微礼平台 if (empty($goods['goods_id']) || empty($goods)) { $res = array('status' => 0, 'msg' => '请求超时'); return $res; } if (!empty($advance_info['restrict_num']) && $goods['num'] > $advance_info['restrict_num']) { $res = array('status' => 0, 'msg' => '超出预售活动限购数量'); return $res; } if (!empty($advance_info['rise_num']) && $goods['num'] < $advance_info['rise_num']) { $res = array('status' => 0, 'msg' => '未达到商品起购数量'); return $res; } if (!empty($advance_info['restrict_num'])) { $buy_map = array( 'uid' => $uid, 'goods_id' => $goods['goods_id'], 'state' => array('neq', 0), 'advance_id' => $advance_info['id'] ); if ($advance_info['attribute_state'] == 2) { $buy_map['sku_id'] = $goods['sku_id']; } $buy_number = D("RetailBillAdvance")->getSum($buy_map, "buy_number"); $buy_number = round($buy_number + $goods['num'], 3); if ($buy_number > $advance_info['restrict_num']) { $res = array('status' => 0, 'msg' => '超出预售活动限购数量'); return $res; } } if ($goods['num'] > $advance_info['surplus_num'] || $advance_info['surplus_num'] <= 0) { $res = array('status' => 0, 'msg' => '该预售商品库存不足购买数量'); return $res; } if ($advance_info['attribute_state'] == 2) { //规格信息 $sku_info = D("AdvanceSkuGoods")->getSkuInfo(array('advance_id' => $advance_info['id'], 'goods_id' => $goods['goods_id'], 'sku_id' => $goods['sku_id'])); if (!$sku_info) { $res = array('status' => 0, 'msg' => '该规格已下架'); return $res; } $frozen_param = array( 'id' => $advance_info['id'], 'goods_id' => $sku_info['goods_id'], 'sku_id' => $sku_info['sku_id'], 'attribute_state' => 2 ); $frozen_num = $this->frozen_num($frozen_param); $sku_info['surplus_num'] = round($sku_info['surplus_num'] - $frozen_num, 3); if ($goods['num'] > $sku_info['surplus_num'] || $sku_info['surplus_num'] <= 0) { $res = array('status' => 0, 'msg' => '该规格库存不足购买数量'); return $res; } if($platform_type == 2){ $third_goods_code = $sku_info['third_goods_code']; } $res['sku_info'] = $sku_info; $advance_price = $sku_info['advance_price']; //预售价 $earnest_price = $sku_info['earnest_price']; //定金 $arrive_price = $sku_info['arrive_price']; //定金抵现 } else if ($advance_info['attribute_state'] == 1) { if($platform_type == 2){ $third_goods_code = $advance_info['third_goods_code']; } $advance_price = $advance_info['advance_price']; $earnest_price = $advance_info['earnest_price']; $arrive_price = $advance_info['arrive_price']; //定金抵现 } if ($platform_type == 2) { //第三方平台 $ThirdGoodsResult = new Goods(); $thirdResult = $ThirdGoodsResult->goodsNumQuery([ 'merchant_id' => $merchant_id, 'type' => 2, 'code_arr' => [$third_goods_code], 'Customer_Codes' => $third_code ]); if ($thirdResult['status'] == 1 && !empty($thirdResult['data'])) { $goods_stock = $thirdResult['data']; if($goods_stock < $goods['num']){ $res = array('status' => 0, 'msg' => '该预售商品库存不足购买数量'); return $res; } } else { $res = array('status' => 0, 'msg' => '该预售商品库存不足购买数量'); return $res; } } $earnest_price = $earnest_price ? $earnest_price : 0; if (empty($advance_price) || $advance_price < 0.01) { $res = array('status' => 0, 'msg' => '规格预售价已更改'); return $res; } //定金 if ($advance_info['advance_type'] == 2 && (empty($earnest_price) || $earnest_price < 0.01 || $earnest_price > $advance_price)) { $res = array('status' => 0, 'msg' => '该活动价格已更新,请刷新重新下单'); return $res; } if ($advance_info['advance_type'] == 2 && !empty($arrive_price)) { //抵现优惠的金额 $arrive_price_coupon = round($arrive_price - $earnest_price, 2); } $arrive_price_coupon = $arrive_price_coupon ? $arrive_price_coupon : 0; $res['status'] = 1; $res['msg'] = '验证成功'; $res['advance_price'] = $advance_price; $res['earnest_price'] = $earnest_price; $res['arrive_price_coupon'] = $arrive_price_coupon; } else { $res = array('status' => 0, 'msg' => '参数类型有误'); } return $res; } /** * 预售活动尾款支付验证 * @param $parameter * @return array */ public function tail_pay_verify($parameter) { if (is_array($parameter)) { $id = $parameter['id']; $advance_info = $this->getFind(array('id' => $id), "*"); if (empty($advance_info) || $advance_info['advance_state'] != 1) { $res = array('status' => 0, 'msg' => '该活动已下架'); return $res; } $time = time(); if ($advance_info['tail_start_time'] > $time || empty($advance_info['tail_start_time'])) { $res = array('status' => 0, 'msg' => '未到尾款结算时间,请查看订单详情'); return $res; } if ($advance_info['tail_end_time'] < $time || empty($advance_info['tail_end_time'])) { $res = array('status' => 0, 'msg' => '已超出尾款结算时间,请查看订单详情'); return $res; } $res = array('status' => 1, 'msg' => '验证成功'); } else { $res = array('status' => 0, 'msg' => '参数类型错误'); } return $res; } /** * 售后增加活动库存 * @param $parameter [advance_id=>活动id,goods_id=>商品id] * @return mixed */ public function StockSetInc($parameter) { if (is_array($parameter)) { $where = array('id' => $parameter['advance_id'], 'goods_id' => $parameter['goods_id']); $res = $this->toSetInc($where, "surplus_num", $parameter['num']); } else { $res = array('status' => 0, 'msg' => '参数错误'); } return $res; } /** * 售后减少活动库存 * @param $parameter * @return mixed */ public function StockSetDec($parameter) { if (is_array($parameter)) { $where = array( 'id' => $parameter['advance_id'], 'goods_id' => $parameter['goods_id'] ); $res = $this->toSetDec($where, "surplus_num", $parameter['num']); } else { $res['status'] = 0; $res['msg'] = '参数错误'; } return $res; } }