<?php use Illuminate\Support\Facades\Redis; function test_helper() { return 'OK'; } if (!function_exists('start_with')) { function start_with($str, $pattern) { return strpos($str, $pattern) === 0; } } if (!function_exists('generate_letters')) { function generate_letters($upper = true) { $letters = []; for ($i = 65; $i < 91; $i++) { $letters[] = $upper ? strtoupper(chr($i)) : strtolower(chr($i)); } return $letters; } } /* * 发送信息 * @param array $data 替换的内容数组,["name"=>"小红"] * @param string $key 在消息系统新建的模板编号,如: semour_inquire 深茂询价消息 semour_order 深茂订单消息 * @param array $ToUser 指定接收人 [13713025362,13713025363] */ function SendMsg($data=[], $key = '', $ToUser = 'INNER_PERSON',$is_ignore = 0){ if ($key == ""){ return false; } $touser_json = json_encode($ToUser); $check['touser'] = $touser_json; $check['data'] = urldecode(json_encode($data,JSON_UNESCAPED_UNICODE)); # $check['data'] ="{\"goods_name\":\"MPVZ5004GW7U\",\"brand_name\":\"恩智浦牌\\/NXP牌\",\"goods_title\":\"多元件集成电路\",\"material_sn\":\"WL2021060300070421\",\"tax_rate_low\":\"0.7000\",\"tax_rate_land\":\"0.0000\",\"tax_rate_added\":\"13.0000\",\"supervision_con\":\"\",\"number\":\"8542391000\"}"; $check['pf'] = 1; $check['keyword'] = $key; $check['is_ignore'] = $is_ignore; $check['k1']=time(); $check['k2']=MD5(MD5($check['k1'])."fh6y5t4rr351d2c3bryi"); $response = Http::asForm()->post("http://api.ichunt.com/msg/sendMessageByAuto", $check); # print_r($response->body()); # die(); $res = json_decode($response->body(),true); if(empty($res['err_code']) || $res['err_code']!=0) return false; return true; } /* * 反爬虫用html标签替换数字,不包括“.” * $number 数字串 */ function numberToHtml($number){ $arr = [ ['asfgdqwer','asfgdtyhg','asfgdpolk','asfgdpoqw'], ['asfgdrfdf','asfgderfd','asfgdwdsa','asfgdpoer'], ['asfgdasde','asfgdqwsz','asfgdrtgd','asfgdpovv'], ['asfgdwsxc','asfgdwsxz','asfgdrfvb','asfgdpoee'], ['asfgdqazs','asfgdqasd','asfgdqwag','asfgdpogh'], ['asfgdrtyh','asfgdyutr','asfgdeews','asfgdpotg'], ['asfgdpluj','asfgdikjf','asfgdesgj','asfgdpfff'], ['asfgdtrdb','asfgdiksf','asfgdsgkp','asfgdprty'], ['asfgdpehl','asfgdstgb','asfgderll','asfgdpokf'], ['asfgdpehg','asfgdstgf','asfgderlf','asfgdpogk'] ]; if(empty($arr)){ return $number; } $len = strlen($number); if($len>0){ $str = ''; for($i=0;$i<$len;$i++){ $num = substr($number, $i,1); if(preg_match('/\d/', $num)){ $index = rand(0, 3); $class = $arr[$num][$index]; $other_class = strRandom($class); $num = '<font class="'.$class.$other_class.'"></font>'; } $str .= $num; } return $str; }else{ return $number; } } /** * 生成纯小写字母的字符串 * */ function strRandom($class='',$len_num=3){ $randstr = 'asdwpkxmiqplmzacbmeruwulurjlauejrifkfghjklzxcvbnmqwwertyuiopkdsieurnvewjeilweiskvnx'; $len = strlen($randstr)-9; $res = ''; for($i=0;$i<$len_num;$i++){ $start = rand(0,$len); $str = substr($randstr, $start,9); $res .= ' '.$str; } return $res; } /* * 计算最大购买数量 */ function getMaxBuyStock($stock,$multiple,$ladder_price){ //todo 2022.9.27 计算最大购买数量 $max_buy_stock = 0; if ($stock > 0 && $multiple >0){ $max_buy_stock1 = intval($stock/$multiple)*$multiple; //库存最大购买数量 if ($ladder_price){ //梯度价库存最大购买数量 $max_pur_num = @$ladder_price[count($ladder_price)-1]["purchases"]; $max_buy_stock2 = intval($max_pur_num/$multiple)*$multiple; //库存最大购买数量 $max_buy_stock = $max_buy_stock1 > $max_buy_stock2 ? $max_buy_stock1:$max_buy_stock2; }else{ $max_buy_stock = $max_buy_stock1; } } return $max_buy_stock; } /* * 获取汇率,兑换人民币汇率 */ function getRate($k = "美元") { $redis = Redis::connection(); return $redis->hget('erp_rate', $k); } /* * 时间传换 */ function timeToDate($timestr){ return $timestr >0 ? date("Y-m-d H:i:s",$timestr) : ""; } /* * 工作日或者周转换英文 */ function changeDeliverToEn($delivery_time){ $day_filter = ["工作日","个工作日","日"]; $week_filter = ["周"]; //货区去掉工作日 $hk_delivery_time_origin = $delivery_time; $delivery_time = str_replace("工作日","",$delivery_time); $delivery_time = str_replace("个","",$delivery_time); #工作日转换 foreach ($day_filter as $d){ if (strpos($hk_delivery_time_origin,$d) !== false){ $delivery_time = $delivery_time." workdays"; break; } } #周转换 foreach ($week_filter as $d){ if (strpos($hk_delivery_time_origin,$d) !== false){ $delivery_time = $delivery_time." weeks"; break; } } return $delivery_time; }