<?php


namespace App\Http\Transformers;


use App\Model\RedisModel;
use App\Model\SupplierApplyModel;
use App\Model\SupplierChannelModel;

class ChainTransformer
{
    public function transformList($list)
    {
        $redis = new RedisModel();
        foreach ($list as &$item) {
            $item['create_time'] = $item['create_time'] ? date('Y-m-d H:i:s', $item['create_time']) : '';
            $item['supplier_type_name'] = array_get(config('field.ChainSupplierType'), $item['supplier_type'], '无');
            $item['data_type_name'] = array_get(config('field.ChainDataType'), $item['data_type'], '无');
            $item['company_nature'] = array_get(config('field.ChainCompanyNature'), $item['company_nature'], '无');
            $item['region'] = array_get(config('field.ChainRegion'), $item['region'], '无');
            $item['check_status_name'] = array_get(config('field.ChainCheckStatus'),$item['check_status']);
            $item['is_entity_name'] = array_get(config('field.IsEntity'),$item['is_entity']);
            if (!empty($item['mobile'])) {
                $item['mobile'] =  substr($item['mobile'], 0, 3) . '****' . substr($item['mobile'], 7);
            }

            if (!empty($item['email'])) {
                $emailTemp = explode('@', $item['email'])[0];
                $replace = str_pad('*', strlen($emailTemp), '*');
                $emailTemp = str_replace($emailTemp, $replace, $emailTemp);
                if (count(explode('@', $item['email'])) > 1) {
                    $item['email'] = $emailTemp . '@' . explode('@', $item['email'])[1];
                } else {
                    $item['email'] = $emailTemp;
                }
            }

            if (!empty($item['chain_check'])) {
                foreach ($item['chain_check'] as &$value) {
                    $value['check_status_name'] = array_get(config('field.ChainCheckStatus'),$value['check_status']);
                }
                unset($value);
            }
            $item['sub'] = $item['chain_check'];
        }
        unset($item);

        return $list;
    }

}