<?php namespace App\Http\Transformers; use App\Model\SupplierChannelModel; class SupplierAccountTransformer { public function transformList($list) { //获取供应商名称 $supplierIds = array_column($list, 'supplier_id'); $supplierModel = new SupplierChannelModel(); $suppliers = $supplierModel->whereIn('supplier_id', $supplierIds)->pluck('supplier_name', 'supplier_id'); foreach ($list as &$item) { $item['supplier_name'] = array_get($suppliers, $item['supplier_id']); $item = $this->transformInfo($item); $item['is_entity'] = array_get($item['supplier'], 'is_entity', -1); $item['is_entity_name'] = array_get(config('field.IsEntity'), $item['is_entity'], '暂无'); } unset($item); return $list; } public function transformInfo($item) { $item['type_name'] = array_get(config('field.SupplierAccountType'), $item['a_type']); $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']) : ''; 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; } } $replace = str_pad('*', strlen($item['password_raw']), '*'); $item['password_raw'] = str_replace($item['password_raw'], $replace , $item['password_raw']); return $item; } }