<?php


namespace App\Http\Transformers;


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

class SupplierApplyTransformer
{
    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['update_time'] = $item['update_time'] ? date('Y-m-d H:i:s', $item['update_time']) : '';
            $item['audit_time'] = $item['audit_time'] ? date('Y-m-d H:i:s', $item['audit_time']) : '';
            if (!empty($item['mobile'])) {
                $item['mobile'] = substr($item['mobile'], 0, 3) . '****' . substr($item['mobile'], 7);
            }
            $item['password_raw'] = '******';
            if ($item['status'] == SupplierApplyModel::STATUS_PASS) {
                $item['password_raw'] = '*****';
            }
            $item['supplier_group_name'] = array_get(config('fixed.SupplierGroup'), $item['supplier']['supplier_group']);
            $item['is_yunxin'] = strpos($item['supplier']['stockup_type'], '5') !== false ? 1 : 0;
            $rule = $redis->hget('magic_cube_price_rule_v2', $item['supplier_code']);
            $item['has_ladder_ratio'] = $rule ? 1 : 0;
            $item['audit_condition'] = ($item['is_yunxin'] && $item['has_ladder_ratio']) ? 1 : 0;
            $item['audit_condition_name'] = ($item['is_yunxin'] && $item['has_ladder_ratio']) ? '符合' : '不符合';
            $item['source_name'] = array_get(config('field.SupplierApplySource'), $item['source'], '');
            $item['status_name'] = array_get(config('field.SupplierApplyStatus'), $item['status'], '');
            $item['supplier'] = (new SupplierTransformer())->getStockupType($item['supplier']);
        }
        unset($item);

        return $list;
    }

}