123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340 |
- <?php
- /**
- * 此类就是为了针对erp的料品组合,以后都用这个类进行组合排序 将来后边需要转化erp的sku相关信息的时候 都调用这个类 到时间方便统一管理
- * 前边已有的代码都不动了 稳定压倒一切!!!
- * 目前erp有两种排序的方案 1 按照名称排序 2 按照规格的classid
- * 此类仅用于排序 后续的u9编写等 请到logic_u9tools中找对应的方法
- * 其实如果真要搞成erp的那种插入长度排序的话 就记住 长度跟在等级后边
- */
- class Model_logic_zhlp extends Lin_Model {
- function __construct(){
- parent::__construct();
- }
- public function sortByName($arr){
- return $this->doAction(1,$arr);
- }
- public function sortByClass($arr){
- return $this->doAction(2,$arr);
- }
- //根据已有的规格id 获取到对应主类id 转化为需要的规格序列
- public function transferSku($arr){
- $sku_list = $this->db->select('id,classid,classtitle,title')->from('typeclass')->where_in('id ',$arr)->get()->result_array();
- $ret_final_list = [];
- foreach ($sku_list as $k => $v){
- $ret_final_list[$v['classid']] = $v['id'];
- }
- return $ret_final_list;
- }
- //几种处理 排序的各种要求
- private function doAction($type,$arr){
- //1 除去真人发类型中的
- if($type == 1){
- if(isset($arr['hairtype']) && in_array($arr['hairtype'],[163,164,165,166])){
- $arr['hairtype'] = 0;
- }
- }else{
- if(isset($arr[22]) && in_array($arr[22],[163,164,165,166])){
- $arr[22] = 0;
- }
- }
- $ret_list = $this->chooseCate($type,$arr);
- if(empty($ret_list)){
- return [
- 'code'=>-1,
- "msg"=>'没有找到对应的料品分类,请通知技术设置',
- ];
- }
- $final_list = [];
- foreach ($ret_list as $k => $v){
- if(empty($v)){
- continue;
- }
- $final_list[$k] = $v;
- }
- return [
- 'code'=>1,
- "msg"=>'ok',
- 'data'=>$final_list
- ];
- }
- private function chooseCate($type,$arr){
- if($type == 1){
- $cate = $arr['category'];
- }else{
- $cate = $arr[16];
- }
- //发条
- if($cate == 126){
- return $this->fatiao($type,$arr);
- }
- //发块前头
- if($cate == 127){
- return $this->fakuai($type,$arr);
- }
- //头套
- if($cate == 128){
- return $this->toutao($type,$arr);
- }
- //Hair Extension - 接发
- if($cate == 130){
- return $this->jiefa($type,$arr);
- }
- //Gift - 礼物
- if($cate == 131){
- return $this->liwu($type,$arr);
- }
- //Accessories - 配件
- if($cate == 133){
- return $this->peijian($type,$arr);
- }
- //Synthetic Wig - 化纤头套
- if($cate == 1297){
- return $this->huaqiantoutao($type,$arr);
- }
- //Synthetic Hair - 化纤其它
- if($cate == 1702){
- return $this->huaqianqita($type,$arr);
- }
- return [];
- }
- /*******************$type 1 代表名称 2 代表classid**************************/
- //发条
- private function fatiao($type,$arr){
- if($type == 1){
- return [
- "category"=>empty($arr['category'])?0:$arr['category'],
- "hairtype"=>empty($arr['hairtype'])?0:$arr['hairtype'],
- "grade"=>empty($arr['grade'])?0:$arr['grade'],
- "color"=>empty($arr['color'])?0:$arr['color'],
- "lowe"=>empty($arr['lowe'])?0:$arr['lowe'],
- "size"=>empty($arr['size'])?0:$arr['size'],
- ];
- }else{
- return [
- 16=>empty($arr[16])?0:$arr[16],//类目
- 22=>empty($arr[22])?0:$arr[22],//真人发类型
- 13=>empty($arr[13])?0:$arr[13],//等 级
- 8=>empty($arr[8])?0:$arr[8],//头发颜色
- 15=>empty($arr[15])?0:$arr[15],//曲 度
- 14=>empty($arr[14])?0:$arr[14],//长 度
- ];
- }
- }
- //发块
- private function fakuai($type,$arr){
- //类型27 如果是195 Lace Closure - 发块 则类似尺寸 需要对应25 如果是197 Lace Frontal - 蕾丝前头 需要对应26
- //都对应25 26 到时间过滤空
- if($type == 1){
- return [
- "category"=>empty($arr['category'])?0:$arr['category'],
- "hairtype"=>empty($arr['hairtype'])?0:$arr['hairtype'],
- "grade"=>empty($arr['grade'])?0:$arr['grade'],
- "color"=>empty($arr['color'])?0:$arr['color'],
- "lowe"=>empty($arr['lowe'])?0:$arr['lowe'],
- "type"=>empty($arr['type'])?0:$arr['type'],
- "headroad"=>empty($arr['headroad'])?0:$arr['headroad'],
- "density"=>empty($arr['density'])?0:$arr['density'],
- 'lacesize'=>empty($arr['lacesize'])?0:$arr['lacesize'],
- 'lacecolor'=>empty($arr['lacecolor'])?0:$arr['lacecolor'],
- "lacetypes"=>empty($arr['lacetypes'])?0:$arr['lacetypes'],
- "size"=>empty($arr['size'])?0:$arr['size'],
- ];
- }else{
- return [
- 16=>empty($arr[16])?0:$arr[16],//类目
- 22=>empty($arr[22])?0:$arr[22],//真人发类型
- 13=>empty($arr[13])?0:$arr[13],//等 级
- 8=>empty($arr[8])?0:$arr[8],//头发颜色
- 15=>empty($arr[15])?0:$arr[15],//曲 度
- 27=>empty($arr[27])?0:$arr[27],//类 型
- 12=>empty($arr[12])?0:$arr[12],//头路设计
- 10=>empty($arr[10])?0:$arr[10],//密 度
- //到时间会去重处理
- 25=>empty($arr[25])?0:$arr[25],//蕾丝尺寸
- 26=>empty($arr[26])?0:$arr[26],//蕾丝尺寸
- 9=>empty($arr[9])?0:$arr[9],//蕾丝颜色
- 44=>empty($arr[44])?0:$arr[44],//蕾丝类型
- 14=>empty($arr[14])?0:$arr[14],//长 度
- ];
- }
- }
- //头套
- private function toutao($type,$arr){
- if($type == 1){
- return [
- "category"=>empty($arr['category'])?0:$arr['category'],
- "hairtype"=>empty($arr['hairtype'])?0:$arr['hairtype'],
- "grade"=>empty($arr['grade'])?0:$arr['grade'],
- "hairnumber"=>empty($arr['hairnumber'])?0:$arr['hairnumber'],
- "color"=>empty($arr['color'])?0:$arr['color'],
- "lowe"=>empty($arr['lowe'])?0:$arr['lowe'],
- "lacetype"=>empty($arr['lacetype'])?0:$arr['lacetype'],
- "haircap"=>empty($arr['haircap'])?0:$arr['haircap'],
- "density"=>empty($arr['density'])?0:$arr['density'],
- "lacecolor"=>empty($arr['lacecolor'])?0:$arr['lacecolor'],
- "lacetypes"=>empty($arr['lacetypes'])?0:$arr['lacetypes'],
- "wigother"=>empty($arr['wigother'])?0:$arr['wigother'],
- "wigother1"=>empty($arr['wigother1'])?0:$arr['wigother1'],
- "wigother2"=>empty($arr['wigother2'])?0:$arr['wigother2'],
- "size"=>empty($arr['size'])?0:$arr['size'],
- ];
- }else{
- return [
- 16=>empty($arr[16])?0:$arr[16],//类目
- 22=>empty($arr[22])?0:$arr[22],//真人发类型
- 13=>empty($arr[13])?0:$arr[13],//等 级
- 43=>empty($arr[43])?0:$arr[43],//人发头套编号
- 8=>empty($arr[8])?0:$arr[8],//头发颜色
- 15=>empty($arr[15])?0:$arr[15],//曲 度
- 18=>empty($arr[18])?0:$arr[18],//头套种类
- 6=>empty($arr[6])?0:$arr[6],//发帽大小
- 10=>empty($arr[10])?0:$arr[10],//密 度
- 9=>empty($arr[9])?0:$arr[9],//蕾丝颜色
- 44=>empty($arr[44])?0:$arr[44],//蕾丝类型
- 39=>empty($arr[39])?0:$arr[39],//分缝及刘海
- 50=>empty($arr[50])?0:$arr[50],//头套其它1
- 51=>empty($arr[51])?0:$arr[51],//头套其它2
- 14=>empty($arr[14])?0:$arr[14],//长 度
- ];
- }
- }
- //接发
- private function jiefa($type,$arr){
- if($type == 1){
- return [
- "category"=>empty($arr['category'])?0:$arr['category'],
- "hairtype"=>empty($arr['hairtype'])?0:$arr['hairtype'],
- "grade"=>empty($arr['grade'])?0:$arr['grade'],
- "extension"=>empty($arr['extension'])?0:$arr['extension'],
- "color"=>empty($arr['color'])?0:$arr['color'],
- "lowe"=>empty($arr['lowe'])?0:$arr['lowe'],
- "items"=>empty($arr['items'])?0:$arr['items'],
- "weight"=>empty($arr['weight'])?0:$arr['weight'],
- "size"=>empty($arr['size'])?0:$arr['size'],
- ];
- }else{
- return [
- 16=>empty($arr[16])?0:$arr[16],//类目
- 22=>empty($arr[22])?0:$arr[22],//真人发类型
- 13=>empty($arr[13])?0:$arr[13],//等 级
- 33=>empty($arr[33])?0:$arr[33],//Extension类型
- 8=>empty($arr[8])?0:$arr[8],//头发颜色
- 15=>empty($arr[15])?0:$arr[15],//曲 度
- 38=>empty($arr[38])?0:$arr[38],//单片片数
- 7=>empty($arr[7])?0:$arr[7],//重量
- 14=>empty($arr[14])?0:$arr[14],//长 度
- ];
- }
- }
- //礼物
- private function liwu($type,$arr){
- if($type == 1){
- return [
- "category"=>empty($arr['category'])?0:$arr['category'],
- "gifttype"=>empty($arr['gifttype'])?0:$arr['gifttype'],
- "giftother"=>empty($arr['giftother'])?0:$arr['giftother'],
- ];
- }else{
- return [
- 16=>empty($arr[16])?0:$arr[16],//类目
- 34=>empty($arr[34])?0:$arr[34],//礼物类型
- 49=>empty($arr[49])?0:$arr[49],//礼物其它
- ];
- }
- }
- //配件
- private function peijian($type,$arr){
- if($type == 1){
- return [
- "category"=>empty($arr['category'])?0:$arr['category'],
- "grade"=>empty($arr['grade'])?0:$arr['grade'],
- "fittype"=>empty($arr['fittype'])?0:$arr['fittype'],
- "acother"=>empty($arr['acother'])?0:$arr['acother'],
- "color"=>empty($arr['color'])?0:$arr['color'],
- "lowe"=>empty($arr['lowe'])?0:$arr['lowe'],
- "items"=>empty($arr['items'])?0:$arr['items'],
- "weight"=>empty($arr['weight'])?0:$arr['weight'],
- 'size'=>empty($arr['size'])?0:$arr['size'],
- ];
- }else{
- return [
- 16=>empty($arr[16])?0:$arr[16],//类目
- 13=>empty($arr[13])?0:$arr[13],//等 级
- 35=>empty($arr[35])?0:$arr[35],//配件类型
- 45=>empty($arr[45])?0:$arr[45],//配件其它
- 8=>empty($arr[8])?0:$arr[8],//头发颜色
- 15=>empty($arr[15])?0:$arr[15],//曲 度
- 38=>empty($arr[38])?0:$arr[38],//单片片数
- 7=>empty($arr[7])?0:$arr[7],//重量
- 14=>empty($arr[14])?0:$arr[14],//长 度
- ];
- }
- }
- //化纤头套
- private function huaqiantoutao($type,$arr){
- if($type == 1){
- return [
- "category"=>empty($arr['category'])?0:$arr['category'],
- "grade"=>empty($arr['grade'])?0:$arr['grade'],
- "sywignumber"=>empty($arr['sywignumber'])?0:$arr['sywignumber'],
- "color"=>empty($arr['color'])?0:$arr['color'],
- "lowe"=>empty($arr['lowe'])?0:$arr['lowe'],
- "synthetictype"=>empty($arr['synthetictype'])?0:$arr['synthetictype'],
- "sywigother"=>empty($arr['sywigother'])?0:$arr['sywigother'],
- "size"=>empty($arr['size'])?0:$arr['size'],
- ];
- }else{
- return [
- 16=>empty($arr[16])?0:$arr[16],//类目
- 13=>empty($arr[13])?0:$arr[13],//等 级
- 40=>empty($arr[40])?0:$arr[40],//化纤头套编号
- 8=>empty($arr[8])?0:$arr[8],//头发颜色
- 15=>empty($arr[15])?0:$arr[15],//曲 度
- 41=>empty($arr[41])?0:$arr[41],//化纤头套类型
- 42=>empty($arr[42])?0:$arr[42],//化纤头套其它
- 14=>empty($arr[14])?0:$arr[14],//长 度
- ];
- }
- }
- //化纤其它
- private function huaqianqita($type,$arr){
- if($type == 1){
- return [
- "category"=>empty($arr['category'])?0:$arr['category'],
- "grade"=>empty($arr['grade'])?0:$arr['grade'],
- "sywignumber"=>empty($arr['sywignumber'])?0:$arr['sywignumber'],
- "syother"=>empty($arr['syother'])?0:$arr['syother'],
- "color"=>empty($arr['color'])?0:$arr['color'],
- "lowe"=>empty($arr['lowe'])?0:$arr['lowe'],
- "items"=>empty($arr['items'])?0:$arr['items'],
- "syother"=>empty($arr['syother'])?0:$arr['syother'],
- "size"=>empty($arr['size'])?0:$arr['size'],
- ];
- }else{
- return [
- 16=>empty($arr[16])?0:$arr[16],//类目
- 13=>empty($arr[13])?0:$arr[13],//等 级
- 47=>empty($arr[47])?0:$arr[47],//化纤发编号
- 46=>empty($arr[46])?0:$arr[46],//化纤其它分类
- 8=>empty($arr[8])?0:$arr[8],//头发颜色
- 15=>empty($arr[15])?0:$arr[15],//曲 度
- 38=>empty($arr[38])?0:$arr[38],//单包片数
- 48=>empty($arr[48])?0:$arr[48],//化纤发其它
- 14=>empty($arr[14])?0:$arr[14],//长 度
- ];
- }
- }
- }
|