123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- <?php
- namespace App\Services\Content;
- use App\Repositories\FeedbackRepository;
- use App\Repositories\MsgRepository;
- use App\Repositories\MemberLogRepository;
- use App\Repositories\CompanyRepository;
- use Illuminate\Support\Facades\Cache;
- class FeedbackService
- {
- /**
- * @var FeedbackeRepository
- */
- protected $feedbackRepository;
- protected $msgRepository;
- protected $memberLogRepository;
- protected $companyRepository;
- /**
- * FeedbackService constructor.
- * @param $feedbackRepository
- * @param $msgRepository
- * @param $memberLogRepository
- * @param $companyRepository
- */
- public function __construct(FeedbackRepository $feedbackRepository, MsgRepository $msgRepository, MemberLogRepository $memberLogRepository, CompanyRepository $companyRepository)
- {
- $this->feedbackRepository = $feedbackRepository;
- $this->msgRepository = $msgRepository;
- $this->memberLogRepository = $memberLogRepository;
- $this->companyRepository = $companyRepository;
- }
- public function addFeedback($data)
- {
- return $this->feedbackRepository->create($data);
- }
- public function sendMsg($data, $type)
- {
- $from_uid = '';
- $utype = 1;
- if (auth('web-member')->user()) {
- $from_uid = auth('web-member')->user()->id;
- $utype = 2;
- } elseif (auth('web-company')->user()) {
- $from_uid = auth('web-company')->user()->id;
- $utype = 1;
- }
- //添加msg表数据
- $time = date('Y-m-d H:i:s', time());
- $msg_data = array(
- 'parent_id' => array_has($data, 'parent_id')?array_get($data, 'parent_id'):0,
- 'spid' => array_has($data, 'spid')?array_get($data, 'spid'):0,
- 'from_uid' => $from_uid,
- 'to_uid' => $data['touid'],
- 'message' => $data['message'],
- 'is_read' => array_has($data, 'is_read')?array_get($data, 'is_read'):0,
- 'created_at' => $time,
- 'updated_at' => $time,
- 'utype' => $utype
- );
- $insert_id = $this->msgRepository->addData($msg_data);
- $data['id'] = $insert_id;
- if (!$insert_id) {
- return false;
- }
- if (array_get($data, 'parent_id')) {
- $this->msgRepository->update(array('spid'=>1), $data['parent_id']);
- } else {
- $this->msgRepository->update(array('parent_id'=>$insert_id), $insert_id);
- }
- /*
- $where = array('utype'=>$utype,'uid'=>$data['touid'],'type'=>$type);
- if ($member_msg_tip = $this->msgRepository->getMemberMsgtipInfo($where)) {
- $this->msgRepository->updateMemberMsgtipInfo($where, array('updated_at'=>$time,'unread'=>(int)$member_msg_tip->unread+1));
- } else {
- $memberMsgtip_data = array(
- 'uid' => (int)$data['touid'],
- 'utype' => $utype,
- 'type' => $type,
- 'unread' => '1',
- 'num'=>0,
- 'created_at' =>$time,
- 'updated_at' => $time
- );
- $this->msgRepository->addMemberMsgtipInfo($memberMsgtip_data);
- }
- */
- $user_info = array();
- if (auth('web-member')->user()) {
- $company = $this->companyRepository->getCompanyInfo(array('id'=>$data['touid']));
- $data['to_url'] = route(url_rewrite('AIX_companyshow'), array('id'=>$company->id));
- $data['to_name'] = $company->companyname;
- $user_info = array(
- 'uid' => auth('web-member')->user()->id,
- 'utype' =>2,
- 'username' => auth('web-member')->user()->username,
- 'ip' => $data['ip'],
- 'log_address'=>$data['ip_address']
- );
- }
- //写入会员日志
- $this->addMembersLog($user_info, '', '发送站内信消息(消息id:'.$data['parent_id'].',接收人uid:'.$data['touid'].',消息内容:'.$data['message'].')');
- return array('state'=>1,'data'=>$data);
- }
- public function addMembersLog($user, $type = 0, $txt, $replace2='', $replace3='', $source = false, $params = array(), $operater_id = 0, $operater = '')
- {
- $types = $this->memberLogRepository->getTypes();
- $members_log = $params;
- $members_log['log_uid']=$user['uid'];
- $members_log['log_username']=$user['username'];
- if ($type) {
- $members_log['log_value'] = sprintf($types[$type]['content'], $txt, $replace2, $replace3);
- } else {
- $members_log['log_value'] = $txt;
- }
- $members_log['log_ip'] = $user['ip'];
- $members_log['log_address'] = $user['log_address'];
- $members_log['log_utype']=$user['utype'];
- if ($source) {
- $members_log['log_source']=$source;
- } elseif (Cache::get('log_source')) {
- $source = Cache::get('log_source');
- switch ($source) {
- case 2:
- $members_log['log_source'] = '触屏版';
- break;
- default:
- $members_log['log_source']='网页版';
- break;
- }
- } else {
- $members_log['log_source']='网页版';
- }
- $members_log['type']=$type?$type:0;
- $this->setLog($members_log);
- unset($members_log);
- }
- public function setLog($params)
- {
- if (Cache::get('subsite_id')) {
- $params['subsite_id'] = Cache::get('subsite_id');
- } else {
- $params['subsite_id'] = 0;
- }
- if (false !== $this->memberLogRepository->addNew($params)) {
- return array('state'=>true);
- } else {
- return array('state'=>false,'error'=>'日志记录失败!');
- }
- }
- }
|