Downdocument.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. declare (strict_types = 1);
  3. namespace app\index\controller;
  4. use app\model\CustomerVisitLog;
  5. use app\model\Employee;
  6. use app\model\Customer;
  7. use toolkits\Aec;
  8. class Downdocument
  9. {
  10. public function index()
  11. {
  12. $param = request()->only(['token']);
  13. if ($param['token']) {
  14. $aec = new Aec(config('app.aec_key'), config('app.aec_iv'));
  15. $value = $aec->decrypt($param['token']);
  16. }
  17. if (!$value) {
  18. json(['code' => 1, 'msg' => '参数错误'])->send();
  19. exit;
  20. }
  21. $value = explode('#', $value);
  22. $root_id = $value[0];
  23. $employee_id = $value[1];
  24. $visitlog_id = $value[2];
  25. $empdata = Employee::where([['root_id','=',$root_id],['id','=',$employee_id]])->field('id,uid,name,org_id')->find();
  26. $orgids = orgSubIds($root_id);
  27. $logdata = CustomerVisitLog::where([['id','=',$visitlog_id],['org_id','in',$orgids]])->field('id,customer_id,document_field,document_name')->find();
  28. $had = Customer::where([['id','=',$logdata['customer_id']],['org_id','in',$orgids]])->field('id,name,employee_id')->find();
  29. $time = date('Y-m-d H:i:s');
  30. $remark = $empdata['name'].'在'.$time.'下载了名称为'.$logdata['document_name'].'的文件';
  31. // 添加追踪记录
  32. $visitLog = [
  33. 'customer_id' => $logdata['customer_id'],
  34. 'type' => '',
  35. 'next_contact_date' => null,
  36. 'employee_id' => $employee_id,
  37. 'user_id' => $empdata['uid'],
  38. 'remark' => $remark,
  39. 'state' => 0,
  40. 'org_id' => $empdata['org_id'],
  41. 'customer_employee_id' => $had->employee_id,
  42. 'customer_org_id' => Employee::where('id', $had->employee_id)->value('org_id')
  43. ];
  44. $visitLog = CustomerVisitLog::create($visitLog);
  45. $url = 'https://'.config('app.ali_oss_bindurl').'/'.$logdata['document_field'];
  46. header("Location:".$url);
  47. exit;
  48. }
  49. }
  50. ?>