159 lines
4.6 KiB
PHP
159 lines
4.6 KiB
PHP
<?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('暂无工单');
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
} |