Files
CompanyProject/芳林公司项目/www.zhiyuanhelp.com/application/api/controller/UserInfo.php
2024-09-27 01:32:49 +08:00

159 lines
4.6 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2020/4/16
* Time: 8:56
*/
namespace app\api\controller;
use app\api\model\User;
use app\api\model\Order as OrderModel;
use app\api\validate\MessageValidate;
use app\api\validate\UserAuthValidate;
use app\lib\exception\ParamException;
use think\Db;
class UserInfo extends BaseController
{
/*
* 查询用户是否具有权限
* */
public function checkUserAuth(){
(new UserAuthValidate())->goCheck();
$user_id = $this->verifyToken();
$type = input('type');
$province =input('province');
$score = input('score');
$subType = input('subType',0);
$mySub = input('mySub',0);
$result = User::checkUserAuthByUserID($user_id,$type,$province,$score,$subType,$mySub);
return api_return('ok',$result);
}
/*
* 个人中心 ->订单数据
* */
public function myOrderList(){
$user_id = $this->verifyToken();
//未支付分數
$resultNoPay = OrderModel::getOrders($user_id,0);
//已支付分數
$resultPay = OrderModel::getOrders($user_id,1);
$resultPay = $this->combinePayOrder($resultPay);
$result['NoPayOrder'] = $resultNoPay;
$result['payOrder'] = $resultPay;
return api_return('ok',$result);
}
/*
* 已支付订单同属性权限合并处理
* */
private function combinePayOrder($data){
$payArr = [];
foreach($data as $key =>$val){
if(array_key_exists($val['stu_yzy_province'].'_'.$val['wenli'].'_'.$val['mykemu'].'_'.$val['score'],$payArr)){
if($payArr[$val['stu_yzy_province'].'_'.$val['wenli'].'_'.$val['mykemu'].'_'.$val['score']]['vip'] != $val['vip']){
$payArr[$val['stu_yzy_province'].'_'.$val['wenli'].'_'.$val['mykemu'].'_'.$val['score']]['vip'] .= ','.$val['vip'];
}
}else{
$payArr[$val['stu_yzy_province'].'_'.$val['wenli'].'_'.$val['mykemu'].'_'.$val['score']] = $data[$key];
}
}
//键值序列化
$payArr = array_values($payArr);
return $payArr;
}
/*
* 返回联系客服类型
* */
public function getMessageType(){
$result = config('setmes.mesType');
return api_return('ok',$result);
}
/*
* 用户留言和提交工单
* @param type int type=0是用户留言其他是联系客服
* */
public function addUserMessage(){
(new MessageValidate())->goCheck();
$array = input('post.');
$array['user_id'] = $this->verifyToken();
//解密手机号和验证码验证
$array['telnum'] = $this->rsaDecipher($telnum = $array['telnum']);
//手机号正则验证
$check = '/^(1(([35789][0-9])|(47)))\d{8}$/';
if (!preg_match($check, $array['telnum'])){
throw new ParamException([
'code' => 400,
'msg' => '手机号格式不正确',
'errorCode' => 10000
]);
}
$array['add_time'] = time();
$result = Db::table('user_message')->insert($array);
if($result){
return api_return('留言成功,管理员会尽快给您回复!',$result);
}else{
return api_return('留言失败');
}
}
/*
* 工单查询
* */
public function getUserMessage(){
$user_id = $this->verifyToken();
$result = Db::table('user_message')->where([['user_id','=',$user_id],['type','in',('1,2,3,4')]])->select();
foreach($result as $key => $val){
$content = [];
$result[$key]['add_time'] = date('Y-m-d H:i:s',$val['add_time']);
$result[$key]['reply_time'] = 0 ? 0:date('Y-m-d H:i:s',$val['reply_time']);
$result[$key]['status'] = $val['status'] == 1 ? '待回复':'已回复';
$content[0]['title'] = '用户';
$content[0]['desc'] = $val['content'];
$content[0]['imgArr'][] = empty($val['img1'])? '':config('secure.mpic_url'). $val['img1'];
$content[0]['imgArr'][] = empty($val['img2'])? '':config('secure.mpic_url'). $val['img2'];
$content[1]['title'] = '管理员';
$content[1]['desc'] = empty($val['reply'])? '待回复':$val['reply'];
$content[1]['imgArr'] = '';
unset($val['content']);
unset($val['img1']);
unset($val['img2']);
$result[$key]['info'] = $content;
}
if ($result){
return api_return('ok',$result);
}else{
return api_error('暂无工单');
}
}
}