getTemplate($head); foreach ($data['body'] as $k => $v) { $parent_uid = $parent_name = $parent_mobile = ''; if ($v['parent_uid']) { $parent_uid = Dever::load(\Manage\Lib\Util::class)->getTip($v['parent_uid'], 0); $parent_name = Dever::load(\Manage\Lib\Util::class)->getTip($v['parent_uid'], 1); $parent_mobile = Dever::load(\Manage\Lib\Util::class)->getTip($v['parent_uid'], 2); } $result['body'][$k] = [$v['id'], $v['name'], $v['mobile'], $v['sales'], $parent_uid, $parent_name, $parent_mobile, $v['group']]; if ($role) { foreach ($role as $v1) { $result['body'][$k][] = $parent_uid = Dever::load(\Manage\Lib\Util::class)->getTip($v['role'], $v1['id']); } } if ($score) { foreach ($score as $v1) { $result['body'][$k][] = $parent_uid = Dever::load(\Manage\Lib\Util::class)->getTip($v['score'], $v1['id']); } } $result['body'][$k][] = $v['cdate']; } return $result; } # 导出一个模板出来 public function getTemplate($head, $out = false, $import = false) { $role = Dever::db('prole/info')->select(['status' => 1]); $score = Dever::db('pscore/info')->select(['status' => 1]); $result = []; if ($head) { $result['head'][0] = $head; } elseif ($import) { # 导入时的字段,一定要和下面的else里的对应 $result['head'][0] = ['username', 'mobile', 'sales_type', 'sales_name', 'parent_mobile']; } else { # 这是导入时的模板 $result['head'][0] = ['用户名', '手机号', '销售渠道类型', '销售渠道名称', '推荐人手机号']; } if ($role) { foreach ($role as $v) { $result['head'][0][] = $import ? ['role', $v['id']] : $v['name']; } } if ($score) { foreach ($score as $v) { $result['head'][0][] = $import ? ['score', $v['id']] : $v['name']; } } $result['head'][0][] = $import ? 'cdate' : '注册时间'; $result['body'] = []; if ($out) { $k = 0; $result['body'][$k] = ['用户123', '13800138000', '实体店(注:平台用户不用填)', '店铺名称(注:平台用户不用填)', '13800138001']; if ($role) { foreach ($role as $v) { $result['body'][$k][] = '填写' . $v['name'] . '名称'; } } if ($score) { foreach ($score as $v) { $result['body'][$k][] = '填写' . $v['name'] . '数量'; } } $result['body'][$k][] = Date('Y-m-d H:i:s'); return Dever::load(\Excel\Lib\Export::class)->act($result['body'], $result['head'], '用户导入模板'); } return [$role, $score, $result]; } # 导入 public function import_commit(){} public function import($file) { # 当前登录的管理员id $muid = Dever::getData('muser')['id']; $mname = Dever::getData('muser')['name']; $mdesc = $mname . '在' . date('Y-m-d H:i:s') . '导入'; $sales = Dever::load(\Psales\Lib\Info::class)->getType(); foreach ($sales as $k => $v) { $temp[$v['name']] = [$v['id'], $v['table']]; } $sales = $temp; list($role, $score, $result) = $this->getTemplate([], false, true); $file = Dever::load(\Upload\Lib\View::class)->local($file); $import = Dever::load(\Excel\Lib\Import::class); foreach ($import->act($file, 0, 1, $result['head'][0]) as $row) { if ($row['mobile'] != 13800138000) { $user = Dever::db('puser/info')->find(['mobile' => $row['mobile']]); if ($user) { continue; } # 销售渠道 $sales_type = $sales_id = 0; if ($row['sales_type'] && $row['sales_name']) { if ($row['sales_type'] = Dever::issets($sales, $row['sales_type'])) { $sales_type = $row['sales_type'][0] ?? 0; if ($sales_type) { $sales_id = Dever::db('psales/'. $row['sales_type'][1])->column(['name' => $row['sales_name']], 'id'); } } } # 推荐人 $parent_uid = 0; if ($row['parent_mobile'] && $row['parent_mobile'] != $row['mobile']) { $parent = Dever::db('puser/info')->find(['mobile' => $row['parent_mobile']]); if ($parent) { $parent_uid = $parent['id']; } } $uid = Dever::load(\Puser\Lib\Info::class)->createUser($row['mobile'], $sales_type, $sales_id, $parent_uid, $row['username'], 1, $row['cdate']); if ($uid) { # 角色 if (isset($row['role']) && $row['role']) { foreach ($row['role'] as $k => $v) { $level = Dever::db('prole/level')->find(['info_id' => $k, 'name' => $v]); if ($level) { Dever::load(\Prole\Lib\User::class)->up($uid, $k, $level, $sales_type, $sales_id, 4, $muid, $mdesc); } } } # 积分 if (isset($row['score']) && $row['score']) { foreach ($row['score'] as $k => $v) { Dever::load(\Pscore\Lib\Log::class)->action('导入', $k)->add($uid, $mdesc, $v); } } } } } } }