get_additional_types_sm_ids($ids);
if(!empty($return_arr)){
if(!empty($return_arr["luckybag"])){
$arr_luckybag_sm_ids = $return_arr["luckybag"];
}
if(!empty($return_arr["pickone"])){
$arr_pickone_sm_ids = $return_arr["pickone"];
}
}
//普通、促销和赠品
$salesBasicMaterialLib = kernel::single('material_sales_material');
$salesBasicMaterialLists = $salesBasicMaterialLib->getBasicMBySalesMIds($ids);
$tmp_array= array();
foreach($salesBasicMaterialLists as $sm_id=>$basicMaterials){
foreach($basicMaterials as $k =>$basicMaterial){
if(isset($tmp_array[$sm_id])){
$tmp_array[$sm_id] .= " | ".$basicMaterial['material_name']."(".$basicMaterial['material_bn'].") x ".$basicMaterial['number'];
}else{
$tmp_array[$sm_id] = $basicMaterial['material_name']."(".$basicMaterial['material_bn'].") x ".$basicMaterial['number'];
}
}
}
//获取福袋类型数据
if(!empty($arr_luckybag_sm_ids)){
$mdl_ma_lu_ru = app::get('material')->model('luckybag_rules');
$rs_luckybag = $mdl_ma_lu_ru->getList("*",array("sm_id"=>$arr_luckybag_sm_ids));
$rl_sm_id_lbr = array();
$rl_sm_id_bm_id = array();
$rl_sm_id_lbr_info = array();
foreach($rs_luckybag as $var_lkb){
$rl_sm_id_lbr[$var_lkb["sm_id"]][] = $var_lkb["lbr_id"];
$rl_sm_id_bm_id[$var_lkb["sm_id"]][] = $var_lkb["bm_ids"];
$rl_sm_id_lbr_info[$var_lkb["sm_id"]][] = $var_lkb;
}
foreach($arr_luckybag_sm_ids as $var_lsi){
$lbr_count = count($rl_sm_id_lbr[$var_lsi]);
$bm_id_count = 0;
foreach($rl_sm_id_bm_id[$var_lsi] as $var_sibi){
$temp_sibi = explode(",", $var_sibi);
$bm_id_count = $bm_id_count + count($temp_sibi);
}
$luckybag_dec = $this->get_luckybag_dec($rl_sm_id_lbr_info[$var_lsi]);
$tmp_array[$var_lsi] = '
'.$lbr_count.'组/'.$bm_id_count.'个SKU随机送
';
}
}
//获取多选一类型数据
if(!empty($arr_pickone_sm_ids)){
$this->get_pickone_show($arr_pickone_sm_ids,$tmp_array);
}
return $tmp_array;
}
//获取福袋、多选一的sm_id数组
private function get_additional_types_sm_ids(&$ids){
//获取福袋类型4、多选一5的销售物料ids
$mdl_ma_sa_ma = app::get('material')->model('sales_material');
$rs_info = $mdl_ma_sa_ma->getList("*",array("sm_id"=>$ids,"sales_material_type"=>array("4","5")));
$return_arr = array();
if(!empty($rs_info)){
$used_sm_ids_arr = array();
foreach($rs_info as $var_info){
if($var_info["sales_material_type"] == "4"){ //福袋
$return_arr["luckybag"][] = $var_info["sm_id"];
}elseif($var_info["sales_material_type"] == "5"){ //多选一
$return_arr["pickone"][] = $var_info["sm_id"];
}
$used_sm_ids_arr[] = $var_info["sm_id"]; //福袋、多选一sm_id总数组
}
foreach($ids as $key_sm_id => $var_sm_id){
if(in_array($var_sm_id,$used_sm_ids_arr)){
unset($ids[$key_sm_id]);
}
}
}
return $return_arr;
}
private function get_luckybag_dec($lbr_info){
$mdl_ma_ba_ma = app::get('material')->model('basic_material');
$luckybag_dec = "";
$count_rule = count($lbr_info);
$count = 1;
foreach($lbr_info as $var_li){
$luckybag_dec .= "".$var_li["lbr_name"]."
";
$bm_ids = explode(",",$var_li["bm_ids"]);
$rs_bm_info = $mdl_ma_ba_ma->getList("material_name,material_bn",array("bm_id"=>$bm_ids));
$bm_infos = array();
foreach ($rs_bm_info as $var_bif){
$bm_infos[] = $var_bif["material_name"]."(".$var_bif["material_bn"].")";
}
$luckybag_dec .= implode("
",$bm_infos)."
随机选".$var_li["sku_num"]."个sku,分别发".$var_li["send_num"]."件";
if ($count < $count_rule){
$luckybag_dec .= "
";
}
$count++;
}
$luckybag_dec .= "
";
return $luckybag_dec;
}
//获取多选一
private function get_pickone_show($arr_pickone_sm_ids,&$tmp_array){
$mdl_ma_pickone_rules = app::get('material')->model('pickone_rules');
$mdl_ma_ba_ma = app::get('material')->model('basic_material');
$rs_pickone = $mdl_ma_pickone_rules->getList("*",array("sm_id"=>$arr_pickone_sm_ids));
$rl_arr_select_type = array("1"=>"随机","2"=>"排序");
$rl_sm_id_select_type = array();
$rl_sm_id_bm_ids = array();
$rl_sm_id_bm_id_sort = array();
$total_bm_ids = array();
foreach($rs_pickone as $var_pickone){
if(!isset($rl_sm_id_select_type[$var_pickone["sm_id"]])){ //一个sm_id 只有一个选择类型 做一次即可
$rl_sm_id_select_type[$var_pickone["sm_id"]] = $rl_arr_select_type[$var_pickone["select_type"]];
}
$rl_sm_id_bm_ids[$var_pickone["sm_id"]][] = $var_pickone["bm_id"];
$total_bm_ids[] = $var_pickone["bm_id"];
$rl_sm_id_bm_id_sort[$var_pickone["sm_id"]."_".$var_pickone["bm_id"]] = $var_pickone["sort"];
}
$rs_basic_material = $mdl_ma_ba_ma->getList("bm_id,material_name,material_bn",array("bm_id"=>$total_bm_ids));
$rl_bm_id_bm_info = array();
foreach($rs_basic_material as $var_bm){
$rl_bm_id_bm_info[$var_bm["bm_id"]] = $var_bm;
}
foreach($arr_pickone_sm_ids as $var_sm_id){
$bm_infos = array();
foreach ($rl_sm_id_bm_ids[$var_sm_id] as $var_bm_id){
$bm_infos[] = $rl_bm_id_bm_info[$var_bm_id]["material_name"]."(".$rl_bm_id_bm_info[$var_bm_id]["material_bn"].") 排序值:".$rl_sm_id_bm_id_sort[$var_sm_id."_".$var_bm_id];
}
$pickone_dec = "".implode("
",$bm_infos)."
";
$tmp_array[$var_sm_id] = ''.count($rl_sm_id_bm_ids[$var_sm_id]).'个SKU按'.$rl_sm_id_select_type[$var_sm_id].'选
';
}
}
}