|
@@ -127,7 +127,7 @@ class ShopCart extends Api{
|
|
// 判断结果
|
|
// 判断结果
|
|
$skusList = $ProductSkus->getListByIds(array_column($list,'skuid'));
|
|
$skusList = $ProductSkus->getListByIds(array_column($list,'skuid'));
|
|
//查询产品活动
|
|
//查询产品活动
|
|
- $promoList = $PromoProduct->getListByIds(array_column($list,'product_id'));
|
|
|
|
|
|
+ $promoList = $PromoProduct->getListByIds_new(array_column($list,'product_id'));
|
|
// 查询用户标签
|
|
// 查询用户标签
|
|
$tags = empty($custom['weiban_extid']) ? [] : $WeiBanTags->getListByWeibanExtid($custom['weiban_extid']);
|
|
$tags = empty($custom['weiban_extid']) ? [] : $WeiBanTags->getListByWeibanExtid($custom['weiban_extid']);
|
|
// 用户所在城市
|
|
// 用户所在城市
|
|
@@ -156,43 +156,48 @@ class ShopCart extends Api{
|
|
// 满减活动
|
|
// 满减活动
|
|
if ($promoList && $cityId){
|
|
if ($promoList && $cityId){
|
|
if (isset($promoList[$value['product_id']])){
|
|
if (isset($promoList[$value['product_id']])){
|
|
- $promoInfo = $promoList[$value['product_id']];
|
|
|
|
- $promoTitle = "满". $promoInfo['std_pay']. "元";
|
|
|
|
- if ($promoInfo['rebate_type'] == 1){
|
|
|
|
- $promoTitle .= "减". $promoInfo['rebate']. "元";
|
|
|
|
- }elseif ($promoInfo['rebate_type'] == 2){
|
|
|
|
- $promoTitle .= "打". $promoInfo['rebate']. "折";
|
|
|
|
- }elseif ($promoInfo['rebate_type'] == 3){
|
|
|
|
- $rebate = (string) PromoRebate::query()->join('product','promo_rebate.product_id','=','product.id')->where([['promo_id','=',$promoInfo['id']]])->value('product.name');
|
|
|
|
|
|
+ $promoArr = $promoList[$value['product_id']];
|
|
|
|
+ $promoTitleList = [];
|
|
|
|
+ foreach ($promoArr as $promoInfo){
|
|
|
|
+ $promoInfo['price'] = $value['price'] * $value['buy_num'];
|
|
|
|
+ $promoTitle = "满". $promoInfo['std_pay']. "元";
|
|
|
|
+ if ($promoInfo['rebate_type'] == 1){
|
|
|
|
+ $promoTitle .= "减". $promoInfo['rebate']. "元";
|
|
|
|
+ }elseif ($promoInfo['rebate_type'] == 2){
|
|
|
|
+ $promoTitle .= "打". $promoInfo['rebate']. "折";
|
|
|
|
+ }elseif ($promoInfo['rebate_type'] == 3){
|
|
|
|
+ $rebate = (string) PromoRebate::query()->join('product','promo_rebate.product_id','=','product.id')->where([['promo_id','=',$promoInfo['id']]])->value('product.name');
|
|
|
|
|
|
- $promoTitle .= "赠送". $rebate;
|
|
|
|
- }
|
|
|
|
- $promoInfoCity = [];
|
|
|
|
- if ($promoInfo['city_ids']){
|
|
|
|
- $promoInfoCity = explode(',',$promoInfo['city_ids']);
|
|
|
|
- }
|
|
|
|
- // 判断是不是可以参与
|
|
|
|
- if (!$promoInfoCity || in_array($cityId,$promoInfoCity)){
|
|
|
|
- if( $promoInfo['tag_scope']) {
|
|
|
|
- // 解析数组
|
|
|
|
- $promoInfo['tag_scope'] = explode(',',$promoInfo['tag_scope']);
|
|
|
|
- // 标签范围限定时,默认不能参与
|
|
|
|
- $allowJoin = 0;
|
|
|
|
- // 判断标签是不是存在
|
|
|
|
- if ($tags){
|
|
|
|
- foreach ($tags as $v) {
|
|
|
|
- // 标签范围内,允许参加
|
|
|
|
- if( in_array($v['name'],$promoInfo['tag_scope']) ) $allowJoin = 1;
|
|
|
|
- }
|
|
|
|
- // 在范围
|
|
|
|
- if( $allowJoin ) {
|
|
|
|
- $value['promo_title'] = $promoTitle;
|
|
|
|
|
|
+ $promoTitle .= "赠送". $rebate;
|
|
|
|
+ }
|
|
|
|
+ $promoInfoCity = [];
|
|
|
|
+ if ($promoInfo['city_ids']){
|
|
|
|
+ $promoInfoCity = explode(',',$promoInfo['city_ids']);
|
|
|
|
+ }
|
|
|
|
+ // 判断是不是可以参与
|
|
|
|
+ if (!$promoInfoCity || in_array($cityId,$promoInfoCity)){
|
|
|
|
+ if( $promoInfo['tag_scope']) {
|
|
|
|
+ // 解析数组
|
|
|
|
+ $promoInfo['tag_scope'] = explode(',',$promoInfo['tag_scope']);
|
|
|
|
+ // 标签范围限定时,默认不能参与
|
|
|
|
+ $allowJoin = 0;
|
|
|
|
+ // 判断标签是不是存在
|
|
|
|
+ if ($tags){
|
|
|
|
+ foreach ($tags as $v) {
|
|
|
|
+ // 标签范围内,允许参加
|
|
|
|
+ if( in_array($v['name'],$promoInfo['tag_scope']) ) $allowJoin = 1;
|
|
|
|
+ }
|
|
|
|
+ // 在范围
|
|
|
|
+ if( $allowJoin ) {
|
|
|
|
+ $promoTitleList[] = $promoTitle;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+ }else{
|
|
|
|
+ $promoTitleList[] = $promoTitle;
|
|
}
|
|
}
|
|
- }else{
|
|
|
|
- $value['promo_title'] = $promoTitle;
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ $value['promo_title'] = implode(';',$promoTitleList);
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
@@ -260,7 +265,7 @@ class ShopCart extends Api{
|
|
// 判断结果
|
|
// 判断结果
|
|
$skusList = $ProductSkus->getListByIds(array_column($list,'skuid'));
|
|
$skusList = $ProductSkus->getListByIds(array_column($list,'skuid'));
|
|
//查询产品活动
|
|
//查询产品活动
|
|
- $promoList = $PromoProduct->getListByIds(array_column($list,'product_id'));
|
|
|
|
|
|
+ $promoList = $PromoProduct->getListByIds_new(array_column($list,'product_id'));
|
|
// 查询用户标签
|
|
// 查询用户标签
|
|
$tags = empty($custom['weiban_extid']) ? [] : $WeiBanTags->getListByWeibanExtid($custom['weiban_extid']);
|
|
$tags = empty($custom['weiban_extid']) ? [] : $WeiBanTags->getListByWeibanExtid($custom['weiban_extid']);
|
|
// 用户所在城市
|
|
// 用户所在城市
|
|
@@ -300,46 +305,48 @@ class ShopCart extends Api{
|
|
}
|
|
}
|
|
if ($promoList && $cityId){
|
|
if ($promoList && $cityId){
|
|
if (isset($promoList[$value['product_id']])){
|
|
if (isset($promoList[$value['product_id']])){
|
|
- $promoInfo = $promoList[$value['product_id']];
|
|
|
|
- $promoInfo['price'] = $value['price'] * $value['buy_num'];
|
|
|
|
- $promoTitle = "满". $promoInfo['std_pay']. "元";
|
|
|
|
- if ($promoInfo['rebate_type'] == 1){
|
|
|
|
- $promoTitle .= "减". $promoInfo['rebate']. "元";
|
|
|
|
- }elseif ($promoInfo['rebate_type'] == 2){
|
|
|
|
- $promoTitle .= "打". $promoInfo['rebate']. "折";
|
|
|
|
- }elseif ($promoInfo['rebate_type'] == 3){
|
|
|
|
- $rebate = (string) PromoRebate::query()->join('product','promo_rebate.product_id','=','product.id')->where([['promo_id','=',$promoInfo['id']]])->value('product.name');
|
|
|
|
|
|
+ $promoArr = $promoList[$value['product_id']];
|
|
|
|
+ $promoTitleList = [];
|
|
|
|
+ foreach ($promoArr as $promoInfo){
|
|
|
|
+ $promoInfo['price'] = $value['price'] * $value['buy_num'];
|
|
|
|
+ $promoTitle = "满". $promoInfo['std_pay']. "元";
|
|
|
|
+ if ($promoInfo['rebate_type'] == 1){
|
|
|
|
+ $promoTitle .= "减". $promoInfo['rebate']. "元";
|
|
|
|
+ }elseif ($promoInfo['rebate_type'] == 2){
|
|
|
|
+ $promoTitle .= "打". $promoInfo['rebate']. "折";
|
|
|
|
+ }elseif ($promoInfo['rebate_type'] == 3){
|
|
|
|
+ $rebate = (string) PromoRebate::query()->join('product','promo_rebate.product_id','=','product.id')->where([['promo_id','=',$promoInfo['id']]])->value('product.name');
|
|
|
|
|
|
- $promoTitle .= "赠送". $rebate;
|
|
|
|
- }
|
|
|
|
- $promoInfoCity = [];
|
|
|
|
- if ($promoInfo['city_ids']){
|
|
|
|
- $promoInfoCity = explode(',',$promoInfo['city_ids']);
|
|
|
|
- }
|
|
|
|
- // 判断是不是可以参与
|
|
|
|
- if (!$promoInfoCity || in_array($cityId,$promoInfoCity)){
|
|
|
|
- if( $promoInfo['tag_scope']) {
|
|
|
|
- // 解析数组
|
|
|
|
- $promoInfo['tag_scope'] = explode(',',$promoInfo['tag_scope']);
|
|
|
|
- // 标签范围限定时,默认不能参与
|
|
|
|
- $allowJoin = 0;
|
|
|
|
- // 判断标签是不是存在
|
|
|
|
- if ($tags){
|
|
|
|
- foreach ($tags as $v) {
|
|
|
|
- // 标签范围内,允许参加
|
|
|
|
- if( in_array($v['name'],$promoInfo['tag_scope']) ) $allowJoin = 1;
|
|
|
|
- }
|
|
|
|
- // 在范围
|
|
|
|
- if( $allowJoin ) {
|
|
|
|
- $value['promo_title'] = $promoTitle;
|
|
|
|
- $promoProductList[$promoInfo['id']][] = $promoInfo;
|
|
|
|
|
|
+ $promoTitle .= "赠送". $rebate;
|
|
|
|
+ }
|
|
|
|
+ $promoInfoCity = [];
|
|
|
|
+ if ($promoInfo['city_ids']){
|
|
|
|
+ $promoInfoCity = explode(',',$promoInfo['city_ids']);
|
|
|
|
+ }
|
|
|
|
+ // 判断是不是可以参与
|
|
|
|
+ if (!$promoInfoCity || in_array($cityId,$promoInfoCity)){
|
|
|
|
+ if( $promoInfo['tag_scope']) {
|
|
|
|
+ // 解析数组
|
|
|
|
+ $promoInfo['tag_scope'] = explode(',',$promoInfo['tag_scope']);
|
|
|
|
+ // 标签范围限定时,默认不能参与
|
|
|
|
+ $allowJoin = 0;
|
|
|
|
+ // 判断标签是不是存在
|
|
|
|
+ if ($tags){
|
|
|
|
+ foreach ($tags as $v) {
|
|
|
|
+ // 标签范围内,允许参加
|
|
|
|
+ if( in_array($v['name'],$promoInfo['tag_scope']) ) $allowJoin = 1;
|
|
|
|
+ }
|
|
|
|
+ // 在范围
|
|
|
|
+ if( $allowJoin ) {
|
|
|
|
+ $promoTitleList[] = $promoTitle;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+ }else{
|
|
|
|
+ $promoTitleList[] = $promoTitle;
|
|
}
|
|
}
|
|
- }else{
|
|
|
|
- $value['promo_title'] = $promoTitle;
|
|
|
|
- $promoProductList[$promoInfo['id']][] = $promoInfo;
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ $value['promo_title'] = implode(';',$promoTitleList);
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|