<?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;
}