关联产品
This commit is contained in:
parent
e59b5e1446
commit
a900a6b19a
|
|
@ -145,6 +145,7 @@ class Ordercreate extends BaseApi
|
||||||
$data = [
|
$data = [
|
||||||
'cart_ids' => isset($this->params[ 'cart_ids' ]) ? $this->params[ 'cart_ids' ] : '',
|
'cart_ids' => isset($this->params[ 'cart_ids' ]) ? $this->params[ 'cart_ids' ] : '',
|
||||||
'sku_id' => isset($this->params[ 'sku_id' ]) ? $this->params[ 'sku_id' ] : '',
|
'sku_id' => isset($this->params[ 'sku_id' ]) ? $this->params[ 'sku_id' ] : '',
|
||||||
|
'sku_array' => isset($this->params[ 'sku_array' ]) ? $this->params[ 'sku_array' ] : [],
|
||||||
'num' => isset($this->params[ 'num' ]) ? $this->params[ 'num' ] : '',
|
'num' => isset($this->params[ 'num' ]) ? $this->params[ 'num' ] : '',
|
||||||
'site_id' => $this->site_id,//站点id
|
'site_id' => $this->site_id,//站点id
|
||||||
'member_id' => $this->member_id,
|
'member_id' => $this->member_id,
|
||||||
|
|
@ -201,6 +202,7 @@ class Ordercreate extends BaseApi
|
||||||
$data = [
|
$data = [
|
||||||
'cart_ids' => isset($this->params[ 'cart_ids' ]) ? $this->params[ 'cart_ids' ] : '',
|
'cart_ids' => isset($this->params[ 'cart_ids' ]) ? $this->params[ 'cart_ids' ] : '',
|
||||||
'sku_id' => isset($this->params[ 'sku_id' ]) ? $this->params[ 'sku_id' ] : '',
|
'sku_id' => isset($this->params[ 'sku_id' ]) ? $this->params[ 'sku_id' ] : '',
|
||||||
|
'sku_array' => isset($this->params[ 'sku_array' ]) ? $this->params[ 'sku_array' ] : [],
|
||||||
'site_id' => $this->site_id,//站点id
|
'site_id' => $this->site_id,//站点id
|
||||||
'num' => isset($this->params[ 'num' ]) ? $this->params[ 'num' ] : '',
|
'num' => isset($this->params[ 'num' ]) ? $this->params[ 'num' ] : '',
|
||||||
'member_id' => $this->member_id,
|
'member_id' => $this->member_id,
|
||||||
|
|
|
||||||
|
|
@ -1072,7 +1072,7 @@ class Goods extends BaseModel
|
||||||
* @param string $order
|
* @param string $order
|
||||||
* @param string $limit
|
* @param string $limit
|
||||||
*/
|
*/
|
||||||
public function getGoodsList($condition = [], $field = 'goods_id,goods_class,goods_class_name,goods_attr_name,goods_name,site_id,sort,goods_image,goods_content,goods_state,price,market_price,cost_price,goods_stock,goods_stock_alarm,is_virtual,is_free_shipping,shipping_template,goods_spec_format,goods_attr_format,create_time', $order = 'create_time desc', $limit = null, $alias = '', $join = [])
|
public function getGoodsList($condition = [], $field = 'goods_id,goods_class,goods_class_name,goods_attr_name,goods_name,site_id,sort,goods_image,goods_content,goods_state,price,market_price,cost_price,goods_stock,goods_stock_alarm,is_virtual,is_free_shipping,shipping_template,goods_spec_format,goods_attr_format,create_time,sale_num', $order = 'create_time desc', $limit = null, $alias = '', $join = [])
|
||||||
{
|
{
|
||||||
$list = model('goods')->getList($condition, $field, $order, $alias, $join, '', $limit);
|
$list = model('goods')->getList($condition, $field, $order, $alias, $join, '', $limit);
|
||||||
if (!empty($list)) {
|
if (!empty($list)) {
|
||||||
|
|
@ -1089,6 +1089,7 @@ class Goods extends BaseModel
|
||||||
if (isset($v['real_stock'])) {
|
if (isset($v['real_stock'])) {
|
||||||
$list[$k]['real_stock'] = numberFormat($list[$k]['real_stock']);
|
$list[$k]['real_stock'] = numberFormat($list[$k]['real_stock']);
|
||||||
}
|
}
|
||||||
|
$list[$k]['select'] = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $this->success($list);
|
return $this->success($list);
|
||||||
|
|
|
||||||
|
|
@ -748,6 +748,8 @@ class OrderCreate extends BaseModel
|
||||||
{
|
{
|
||||||
$site_id = $data['site_id'];
|
$site_id = $data['site_id'];
|
||||||
$cart_ids = $data['cart_ids'] ?? [];
|
$cart_ids = $data['cart_ids'] ?? [];
|
||||||
|
$sku_array = $data['sku_array'] ?? [];
|
||||||
|
$sku_id = $data['sku_id'] ?? [];
|
||||||
$member_id = $data['member_id'];
|
$member_id = $data['member_id'];
|
||||||
$condition = array(
|
$condition = array(
|
||||||
['ngs.site_id', '=', $site_id],
|
['ngs.site_id', '=', $site_id],
|
||||||
|
|
@ -788,8 +790,13 @@ class OrderCreate extends BaseModel
|
||||||
}
|
}
|
||||||
$condition[] = ['ngc.cart_id', 'in', $cart_ids];
|
$condition[] = ['ngc.cart_id', 'in', $cart_ids];
|
||||||
$condition[] = ['ngc.member_id', '=', $member_id];
|
$condition[] = ['ngc.member_id', '=', $member_id];
|
||||||
} else {
|
} else if(!empty($sku_array)) {
|
||||||
$sku_id = $data['sku_id'];
|
$sku_array = json_decode($sku_array,true);
|
||||||
|
$sku_ids = array_column($sku_array,'sku_id');
|
||||||
|
$condition[] = [
|
||||||
|
['ngs.sku_id' ,'in' ,$sku_ids]
|
||||||
|
];
|
||||||
|
}else{
|
||||||
$num = $data['num'];
|
$num = $data['num'];
|
||||||
$field .= ',' . $num . ' as num';
|
$field .= ',' . $num . ' as num';
|
||||||
$condition[] = [
|
$condition[] = [
|
||||||
|
|
@ -804,9 +811,15 @@ class OrderCreate extends BaseModel
|
||||||
if (!empty($goods_list)) {
|
if (!empty($goods_list)) {
|
||||||
$express_type_list = (new \app\model\express\Config())->getExpressTypeList($data['site_id']);
|
$express_type_list = (new \app\model\express\Config())->getExpressTypeList($data['site_id']);
|
||||||
foreach ($goods_list as $k => $v) {
|
foreach ($goods_list as $k => $v) {
|
||||||
if ($v['num'] < 1) {
|
if ((!empty($cart_ids) || !empty($sku_id) && empty($sku_array)) && $v['num'] < 1) {
|
||||||
$this->setError(1, '商品项的购买数量不能小于1');
|
$this->setError(1, '商品项的购买数量不能小于1');
|
||||||
}
|
}
|
||||||
|
if(!empty($sku_array)){
|
||||||
|
$key = array_search($v['sku_id'],$sku_ids);
|
||||||
|
if($k !== false){
|
||||||
|
$v['num'] = $sku_array[$key]['num'];
|
||||||
|
}
|
||||||
|
}
|
||||||
$goods_item = $v;
|
$goods_item = $v;
|
||||||
$goods_item['delivery'] = $delivery_array;
|
$goods_item['delivery'] = $delivery_array;
|
||||||
$goods_item['store_id'] = $store_id;
|
$goods_item['store_id'] = $store_id;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue