<?php


namespace App\Http\Transformers;


use App\Http\Services\AdminUserService;

class SupplierContactTransformer
{
    public function transformList($list)
    {
        $service = new AdminUserService();
        foreach ($list as &$item) {
            $user = $service->getAdminUserInfoByCodeId($item['can_check_uids']);
            $item['channel_name'] = array_get($user, 'name');
            $item['working_status'] = $service->checkIsResignedByCodeId($item['can_check_uids']) ? '离职' : '在职';
            if (!empty($item['supplier_email'])) {
                $emailTemp = explode('@', $item['supplier_email'])[0];
                $replace = str_pad('*', strlen($emailTemp), '*');
                $emailTemp = str_replace($emailTemp, $replace, $emailTemp);
                if (count(explode('@', $item['supplier_email'])) > 1) {
                    $item['supplier_email'] = $emailTemp . '@' . explode('@', $item['supplier_email'])[1];
                } else {
                    $item['supplier_email'] = $emailTemp;
                }
            }
            if (!empty($item['supplier_mobile']) && !preg_match("/[\x{4e00}-\x{9fa5}]/u", $item['supplier_mobile'])) {
                $temp = substr($item['supplier_mobile'], 3, 4);
                $item['supplier_mobile'] = str_replace($temp, '****', $item['supplier_mobile']);
            }
            if (!empty($item['supplier_qq'])) {
                $temp = substr($item['supplier_qq'], 2, strlen($item['supplier_qq']));
                $replace = str_pad('*', strlen($temp), '*');
                $item['supplier_qq'] = str_replace($temp, $replace, $item['supplier_qq']);
            }
            if (!empty($item['supplier_telephone'])) {
                if (count(explode('-', $item['supplier_telephone'])) > 1) {
                    $temp = explode('-', $item['supplier_telephone'])[1];
                    $replace = str_pad('*', strlen($temp), '*');
                    $item['supplier_telephone'] = str_replace($temp, $replace, $item['supplier_telephone']);
                } else {
                    $replace = str_pad('*', strlen($item['supplier_telephone']), '*');
                    $item['supplier_telephone'] = str_replace($item['supplier_telephone'], $replace,
                        $item['supplier_telephone']);
                }

            }
        }
        unset($item);

        return $list;
    }

}