123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- <?php
- namespace app\client\controller;
- use app\model\Employee;
- use app\model\EmployeeCard;
- use app\model\Footprints;
- use app\model\User;
- class Card extends Base
- {
- public function info()
- {
- $employee = [];
- $token = $this->request->token;
- if (empty($token['share_employee'])) {
- $user_id = $this->request->param('user', '', 'intval');
- if (empty($user_id)) {
- return json(['code' => self::success, 'data' => [], 'log' => []]);
- } else {
- $employee = Employee::with(['company', 'companys', 'employeeCard'])->where(['uid' => $user_id])->find();
- }
- } else {
- $share_employee = $token['share_employee'];
- $employee = Employee::with(['company', 'companys', 'employeeCard'])->find($share_employee);
- }
- if (empty($employee)) {
- return json(['code' => self::success, 'data' => [], 'log' => [], 'logcount' => 0]);
- }
- $employee_card = EmployeeCard::where('employee_id', '=', $employee['id'])->find();
- if (empty($employee_card)) {
- EmployeeCard::create(['employee_id'=> $employee['id']]);
- }
- $data['employee_id'] = $employee['id'];
- $data['uid'] = $employee['uid'];
- $data['name'] = $employee['name'];
- $data['phone'] = $employee['phone'];
- $data['position'] = !empty($employee['position']) ? $employee['position'] : ($employee['company']['org_type'] == 2 ? '设计师' : '销售经理');
- $data['company_name'] = $employee['company_name'];
- $data['headimgurl'] = $employee['image_photo'] ? $employee['image_photo'] : '';
- $data['wx'] = $employee['wx'] ?? '';
- $data['qrcode'] = $employee['qrcode'];
- $data['likes'] = $employee['employeeCard']['likes'] ?? 0;
- $data['company_introduction'] = $employee['companys']['company_introduction'];
- $data['company_address'] = $employee['companys']['company_address'];
- $data['company_logo'] = $employee['companys']['logo'];
- $data['company_vr_address'] = $employee['companys']['vr_address'];
- $log_where[] = ['uid', '<>', $employee['uid']];
- $log_where[] = ['employee_id', '=', $employee['id']];
- $log_where[] = ['pipe_type', '=', 'card'];
- $logUid = Footprints::where($log_where)->order('id desc')->group('uid')->column('uid');
- //$logUid = array_values(array_filter(array_unique($logUid))); // 去重
- $logUid_new = array_slice($logUid, 0, 4);
- $log = [];
- foreach ($logUid_new as $v) {
- $log[] = User::where([['id', '=', $v]])->value('headimgurl');
- }
- /*if (count($log) < 4) {
- $left_count = 4 - count($log);
- $left_log = User::where('headimgurl', '<>', '')->limit($left_count)->order('id desc')->column('headimgurl');
- $log = array_merge($log, $left_log);
- }*/
- $logCount = User::where([['id', 'in', $logUid]])->count();
- /*if ($logCount < 4) {
- $logCount = 4;
- }*/
- // 添加足迹
- if (!empty($token['uid'])) {
- if (!empty($token['share_employee'])) {
- $e_uid = Employee::where('id', '=', $token['share_employee'])->value('uid');
- if ($e_uid != $token['uid']){
- event(new \app\event\FootPrints($token['uid'], $token['share_employee'] ?? 0, $token['share_org'] ?? 0, $data, 'card'));
- }
- }
- }
- return json(['code' => self::success, 'data' => $data, 'log' => $log, 'logcount' => $logCount]);
- }
- /**
- * 名片点赞
- */
- public function like(){
- $employee_id = input('employee_id', '', 'intval');
- $res = EmployeeCard::where('employee_id', '=', $employee_id)->inc('likes')->update();
- if (!$res) EmployeeCard::insert(['employee_id'=>$employee_id,'likes'=>1]);
- return json(['code'=> self::success, 'msg'=> 'success']);
- }
- }
|