load->_model('Model_typeclass','typeclass'); $this->load->_model('Model_classid','classid'); $this->load->_model('Model_logic_weight','logic_weight'); $this->load->_model("Model_logic_u9tools","logic_u9tools"); } protected $pmList = [];//品名匹配的数据 protected $pm = []; protected $weightList = [];//重量匹配的数据 //转化数组中需要变动的参数 /** * $list 要转化的数组 * $condition 要处理的条件 $column 要转化的字段 $zhinfo 要转化字段的处理方法 */ public function dataTran($list,$condition){ foreach($condition as $v){ if($v == 'pm' ){ $this->pmData(); } } if(in_array('pm',$condition)){ $classid = $this->pm; $typeclass = $this->pmList; } foreach($list as $k=>$v){ if(in_array('pm',$condition)){ $r = $this->logic_u9tools->getOneU9bm($v['features'],$classid,$typeclass); $list[$k]['pm'] = $r['zh']; $list[$k]['jm'] = $r['jm']; $list[$k]['bm'] = $r['bm']; } if(in_array('weight',$condition)){ $list[$k]['weight'] = $this->getWeight($v['features']); } } return $list; } protected function pmData(){ $typeclass = $this->typeclass->find_all(); $t = []; foreach ($typeclass as $v) { $t[$v['id']] = $v; } $this->pmList = $t; $this->pm = $this->classid->sku(); } protected function getPm($features){ $t = $this->pmList; $pm = $this->pm; $features = explode('-',trim($features,'-')); foreach($features as $v) { $zh = explode('|',trim($t[$v]['zh'],'|')); $pm[$t[$v]['classid']] = $zh[0]; } $zh = implode(" ",$pm); $zh = str_replace('自然色 ','',rtrim($zh,' ')); $zh = str_replace(array(' ',' ',' ',' ',' ',' ',' '),' ',$zh); return $zh; } protected function getWeight($features){ $features = explode("-",trim($features,"-")); $type = 0; if(in_array(126,$features)){ $type = 126; } if(in_array(127,$features)){ $type = 127; } if(in_array(128,$features)){ $type = 128; } if(in_array(130,$features)){ $type = 130; } $tmp_features = []; $t = $this->pmList; foreach($features as $v){ if(isset($t[$v])){ $tmp_features[] = $t[$v]; } } return $this->logic_weight->getWeightByFeature($type,$tmp_features); } }