/** * 保存日志信息 */ public function actionsavelog() { $access_key = ''; $secret_key = ''; $log_string = ''; $domain = ''; $rand = md5(date("Y-m-d H:i:s")); if (Yii::app()->request->getParam('access_key')) { $access_key = Yii::app()->request->getParam('access_key'); } if (Yii::app()->request->getParam('secret_key')) { $secret_key = Yii::app()->request->getParam('secret_key'); } if (empty($access_key) || empty($secret_key)) { echo "验证失败"; exit; } $brand_obj = Yii::app()->db->createCommand()->select('brandid,domain')->from('erp_qiniu_account')->where('access_key=:access_key and secret_key=:secret_key', array(':access_key' => $access_key, ':secret_key' => $secret_key))->queryRow(); if (empty($brand_obj)) { echo '没有对应的品牌数据'; exit; } $domain = $brand_obj['domain']; $logurl = $domain . "log/op.log?" . $rand; $log_string = file_get_contents($logurl); $brand_id = $brand_obj['brandid']; //品牌ID号 //获取品牌 SKU 规则 $brand_ret = Brand::brandSelectById($brand_id); if (count($brand_ret) == 0) { throw new Exception(''); } $code_start = $brand_ret[0]['code_start']; $code_end = $brand_ret[0]['code_end']; if (empty($log_string)) { echo "log data fail"; exit; } // $command = Yii::app()->db->createCommand(); // $array = array ("orderlog" =>$log_string, "addtime" => date('Y-m-d H:i:s'), "orderid" => $brand_id); // $command->insert('erp_orderlog', $array); // exit(); // $log_string='ok|orderlist/z004X001/115230C211261/model/UQ15002441_B_100.jpg|2015-11-06 12:12:12 //ok|orderlist/z004X001/115230C2112/115230C211261/model/UQ15002441_B_101.jpg|2015-11-06 12:12:12 //fail|orderlist/z004X001/115250C0327/115250C032734/model/UQ15002441_B_102.jpg|2015-11-06 12:12:12 //fail|orderlist/z004X002/115230E3211/115230E321115/product/UQ15002441_A0_101.jpg|2015-11-06 12:12:12 //ok|orderlist/z004X003/115220A6205/115220A620517/product/UQ15002441_A2_101.jpg|2015-11-06 12:12:12 //ok|poster/15ss/dscn001.jpg|2015-11-06 12:12:12 //ok|poster/14ss/dscn002.jpg|2015-11-06 12:12:12'; $log_array = explode("\n", $log_string); //按回车进行分隔,日志数组 $log_array = array_filter($log_array); $order_array = array(); //订单数组 $brandnumber_array = array(); //款号数组 $order_name_array = array(); //订单名数组 $poster_array = array(); //海报数组 foreach ($log_array as $value) { $string_array = explode(" | ", $value); //按"|"进行分隔,得到(状态|路径|时间) if (count($string_array) > 0) { $geshi_array = array(); //格式数组 $geshi_array['url'] = ''; //路径 if ($string_array[0] == 'ok' || $string_array[0] == 'fail') { $url_array = array(); //路径数组 $geshi_array['status'] = $string_array[0]; //状态 $geshi_array['date'] = $string_array[2]; //时间 if (!empty($string_array[1])) { $geshi_array['url'] = $string_array[1]; //路径 $url_array = explode("/", $string_array[1]); //将url路径分隔为数组 if (count($url_array) == 6) { $order_array[$url_array[1]][] = $geshi_array; $brandnumber_array[$url_array[3]][] = $geshi_array; if (!in_array($url_array[1], $order_name_array)) { $order_name_array[] = $url_array[1]; //订单名数组 } } if (count($url_array) == 3) { $poster_array[$url_array[1]][] = $geshi_array; //海报数据数组 } } } } } /***************海报****************开始**************/ $key_string = ''; $poster_image_obj = array(); $image_obj_count = 0; if (count($poster_array) > 0) { //查询一个款号下的所有的图片url $poster_image_obj = Yii::app()->db->createCommand()->select('url')->from('erp_poster')->where("brandid={$brand_id}")->queryAll(); $image_obj_count = count($image_obj); } foreach ($poster_array as $key => $value) { if ($key != $key_string) { foreach ($poster_array[$key] as $poster_array_value) { if ($poster_array_value['status'] == 'ok') { $ishave = false; //默认数据库中不存在 foreach ($poster_image_obj as $poster_image_obj_value) { if ($poster_image_obj_value['url'] == $poster_array_value['url']) { $ishave = true; } } if ($ishave == false) { $image_name = ''; //图片名字 $image_url = explode("/", $poster_array_value['url']); if (count($image_url) > 0) { $image_name = $image_url[count($image_url) - 1]; } $array = array("name" => $image_name, "url" => $poster_array_value['url'], "addtime" => $poster_array_value['date'], "brandid" => $brand_id, "status" => 0, "dirname" => $key); $erp_image = Yii::app()->db->createCommand(); $erp_image->insert('erp_poster', $array); } } } } } /***************海报****************结束**************/ $order_name_obj = array(); if (count($order_name_array) > 0) { //获取所有需要的订单的ID号 $order_name_obj = orderclass::select_order_id($brand_id, $order_name_array); } /***************订单日志表****************开始**************/ $key_string = ''; foreach ($order_array as $key => $value) { if ($key != $key_string) { $log_show_string = ''; $key_string = $key; $success_pnum = 0; //成功产品图数量 $success_mnum = 0; //成功模特图数量 $success_dnum = 0; //成功细节图数量 $fail_pnum = 0; //失败产品图数量 $fail_mnum = 0; //失败模特图数量 $fail_dnum = 0; //失败细节图数量 $success_url = ''; //成功的图片url $fail_url = ''; //失败的图片url $date = date("Y-m-d H:i:s"); foreach ($order_array[$key] as $order_value) { $date = $order_value['date']; if ($order_value['status'] == 'ok') { if (strpos($order_value['url'], 'product')) { $success_pnum++; } else { if (strpos($order_value['url'], 'model')) { $success_mnum++; } else { if (strpos($order_value['url'], 'details')) { $success_dnum++; } } } $success_url .= $order_value['url'] . "<br>"; } } $log_show_string .= "时间:" . $date . "<br>"; $log_show_string .= "产品图:成功" . $success_pnum . "张;模特图:成功" . $success_mnum . "张;细节图:成功" . $success_dnum . "张" . "<br>"; $log_show_string .= "详情:" . "<br>"; $log_show_string .= "成功图片列表:" . "<br>"; $log_show_string .= $success_url . "<br>"; $orderobj = Yii::app()->db->createCommand()->select('id')->from('erp_order')->where("ordername='" . $key . "'")->queryRow(); if (!empty($orderobj)) { $command = Yii::app()->db->createCommand(); $array = array("orderlog" => $log_show_string, "addtime" => $date, "orderid" => $orderobj['id']); $command->insert('erp_orderlog', $array); } } } /***************订单日志表****************结束**************/ /***************订单衣服表****************开始**************/ //通过款号录入衣服信息 $key_string = ''; $clothesorder = new clothesorderclass(); foreach ($brandnumber_array as $key => $value) { if ($key != $key_string) { $order_obj = array(); //款号所属的订单数 //查询是否录入过此款号 $brand_obj = Yii::app()->db->createCommand()->select('id')->from('erp_clothes_order')->where("brandnumber='" . $key . "' and brandid={$brand_id} and status=0")->queryRow(); if (empty($brand_obj)) { $orderid = 0; if (count($order_name_obj) > 0) { foreach ($brandnumber_array[$key] as $brandnumber_value) { $image_url = explode("/", $brandnumber_value['url']); $order_name = $image_url[1]; foreach ($order_name_obj as $order_name_obj_value) { if ($order_name == $order_name_obj_value['ordername']) { $orderid = $order_name_obj_value['id']; break; } } break; } } //将SKC转为SKU $brandnumber_SKU = $key; if ($code_start != 0 || $code_end != 0) { //设置了款号规则后 按规则提取款号 $brandnumber_SKU = $this->SKCToSKU($code_start, $code_end, $key); } $clothes_order_id = $clothesorder->create_erp_clothes($brandnumber_SKU, $key, $orderid, $brand_id); /*$array = array ("sku"=>$brandnumber_SKU,"brandnumber" =>$key, "pcount" => 0, "mcount" => 0,"dcount" => 0,"description" => '', "orderid" => $orderid,"brandcategoryid" => 0,"addtime" => date("Y-m-d H:i:s"), "brandid" => $brand_id,"status" => 0); $command = Yii::app()->db->createCommand(); $command->insert('erp_clothes_order', $array); $clothes_order_id= Yii::app()->db->getLastInsertID(); */ $clothes_image_array = array("clothes_order_id" => $clothes_order_id, "tablename" => "erp_image"); $erp_clothes_image = Yii::app()->db->createCommand(); $erp_clothes_image->insert('erp_clothes_image', $clothes_image_array); } else { $clothes_order_id = $brand_obj['id']; } //查询一个款号下的所有的图片url $image_obj = Yii::app()->db->createCommand()->select('url,type')->from('erp_image')->where("clothes_order_id={$clothes_order_id} and isshow=0")->queryAll(); $image_obj_count = count($image_obj); foreach ($brandnumber_array[$key] as $brandnumber_value) { if ($brandnumber_value['status'] == 'ok') { $ishave = false; //默认数据库中不存在 if ($image_obj_count > 0) { foreach ($image_obj as $image_obj_value) { //找到相同的url了 if ($image_obj_value['url'] == $brandnumber_value['url']) { $ishave = true; break; } } } if ($ishave == false) { $image_name = ''; //图片名字 $image_url = explode("/", $brandnumber_value['url']); if (count($image_url) > 0) { $image_name = $image_url[count($image_url) - 1]; // if(strpos($image_name,'.')) // { // $name=explode(".",$image_name); // $image_name=$name[0]; // } } //A图、B模特图、C细节图、D海报图 $type = 1; //默认为产品图 if (strpos($brandnumber_value['url'], 'model')) { $type = 3; } else { if (strpos($brandnumber_value['url'], 'details')) { $type = 4; } } $array = array("name" => $image_name, "status" => 0, "addtime" => $brandnumber_value['date'], "updatetime" => $brandnumber_value['date'], "istop" => 0, "type" => $type, "url" => $brandnumber_value['url'], "isshow" => 0, "isback" => 0, "clothes_order_id" => $clothes_order_id); $erp_image = Yii::app()->db->createCommand(); $erp_image->insert('erp_image', $array); } } } } } /***************订单衣服表****************结束**************/ echo "success"; exit; }
/** * 设置衣服的不同穿 不同色 **/ function setClothesDifferentAndRelated($brandid, $clothesid, $brandnumber) { try { $Different_data = self::beuDifferentSelectByClothesid2($clothesid); //根据衣服ID查找其不同穿法 if (count($Different_data) > 0) { $arr = array(); $id = 0; foreach ($Different_data as $key => $value) { if ($key == 'id') { $id = $value; } else { if (!empty($value) && $value != $clothesid) { $arr[] = $value; } } } if (count($arr) < 2) { //当其去除当前单品后,不同穿没有其他单品 就将其关联关系删除 self::beuDifferentDeleteByid($id); } else { $num = 1; $ret_data_new = array(); for ($num = 1; $num <= 30; $num++) { $ret_data_new['clothesid' . $num] = isset($arr[$num - 1]) ? $arr[$num - 1] : ''; } beu_clothesdifferent::model()->updateAll($ret_data_new, 'id=:textx', array(':textx' => $id)); } } /*$Related_data=self::beuRelatedSelectByClothesid2($clothesid);//根据衣服id查找不同颜色完整数据 if(count($Related_data)>0){ $arr = array (); $id=0; foreach ( $Related_data as $key => $value ) { if($key == 'id'){ $id=$value; }else if (! empty ( $value ) && $value!=$clothesid) { $arr [] = $value; } } if(count($arr)<2){//当其去除当前单品后,不同穿没有其他单品 就将其关联关系删除 self::beuRelatedDeleteByid($id); }else{ $num=1; $ret_data_new=array(); for($num=1;$num<=30;$num++){ $ret_data_new['clothesid'.$num]=isset($arr[$num-1])?$arr[$num-1]:''; } beu_clothesrelated::model ()->updateAll ( $ret_data_new, 'id=:textx', array (':textx' => $id ) ); } }*/ if (!empty($brandnumber)) { //款号不为空的时候才自动绑定 //查询品牌的款号规则 $brand_code = Brand::brandSelectById($brandid); if (empty($brand_code) || !isset($brand_code[0]['code_start']) || empty($brand_code[0]['code_start']) && empty($brand_code[0]['code_end'])) { throw new Exception('查询款号规则错误!'); } //根据品牌的款号规则截取款号字符段 $barcode_str = substr($brandnumber, $brand_code[0]['code_start'], $brand_code[0]['code_end'] - $brand_code[0]['code_start']); //查询此品牌下的衣服 $ret_clothes = self::getclothesBybrandandCode($brandid, $barcode_str, isset($brand_code[0]['code_start']) ? $brand_code[0]['code_start'] : 0, 2); if ($ret_clothes['status'] == 0) { throw new Exception($ret_clothes['msg']); } $Different_arr = array(); //不同穿数组 $Related_arr = array(); //不同色数组 foreach ($ret_clothes['data'] as $value) { if ($value['brandnumber'] == $brandnumber) { //添加不同穿数据 $Different_arr[] = $value['id']; } //$Related_arr[$value['brandnumber']]= } if (count($Different_arr) > 1) { self::clothesDifferentUpdataById($clothesid, implode(',', $Different_arr)); } } } catch (Exception $e) { } }