123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- <?php
- namespace app\api\controller;
- use app\common\controller\Api;
- use app\common\model\Sos;
- use app\common\model\SosBill;
- use app\common\model\UserRelation;
- use liuniu\UtilService;
- use liuniu\WechatTempleService;
- use think\Request;
- use \app\common\model\Rescue as RescueModel;
- class Rescue extends Api
- {
- protected $noNeedRight = ['*'];
- public function index(Request $request)
- {
- List($page,$limit,$latitude,$longitude) = UtilService::getMore(
- [
- ['page',1],
- ['limit',10],
- ['latitude',''],
- ['longitude',''],
- ],
- $request,true
- );
- if($latitude=='' || $longitude=='') $this->error('请先获取定位');
- return $this->success('获取成功',RescueModel::lst($this->cid,$latitude,$longitude,$page,$limit,$this->auth->getUserinfo()['id'],1,1));
- }
- public function create(Request $request)
- {
- $where = UtilService::postMore(
- [
- ['name',''],
- ['phone',''],
- ['institution_id',0],
- ['volunteer_id',0],
- ['address',''],
- ['latitude',''],
- ['longitude',''],
- ['certificateimage',''],
- ],$request
- );
- if($where['name']=='')$this->error('姓名不能为空');
- if($where['phone']=='')$this->error('电话不能为空');
- if($where['address']=='')$this->error('地址信息不能为空');
- if($where['certificateimage']=='')$this->error('证书不能为空');
- $where['cid'] = $this->cid;
- $where['user_id'] = $this->auth->getUserinfo()['id'];
- if(RescueModel::where('user_id',$where['user_id'])->where('status','>',-1)->find()) $this->error('已经存,不能重复申请');
- if(!RescueModel::create1($where))
- {
- $this->error(RescueModel::getErrorInfo());
- }
- $this->success('创建成功');
- }
- public function applylst(Request $request)
- {
- return $this->success('获取成功',RescueModel::lst($this->cid,'','',1,10,$this->auth->getUserinfo()['id'],-2));
- }
- public function sos_create(Request $request)
- {
- $where = UtilService::postMore(
- [
- ['mobile',''],
- ['address',''],
- ['latitude',''],
- ['longitude',''],
- ['rescuers_id',0],
- ['rescuers_user_id',0],
- ['from','weixin'],
- ['re_url',''],
- ],$request
- );
- if($where['rescuers_id']==0) $this->error('选择救授人员');
- if($where['latitude']=='' || $where['longitude']=='') $this->error('请先获取定位');
- $where['user_id'] = $this->auth->getUserinfo()['id'];
- $where['cid'] = $this->cid;
- if(Sos::sos_create($where)) $this->success('创建成功');
- $this->error(Sos::getErrorInfo());
- }
- public function lst(Request $request)
- {
- $where = UtilService::getMore(
- [
- ['page',1],
- ['limit',10],
- ['type',0],
- ['status',-3],
- ['latitude',''],
- ['longitude',''],
- ],
- $request
- );
- $where['user_id'] = 0;$where['rescue_id']=0;
- if($where['type']==0)
- {
- $where['user_id']= $this->auth->getUserinfo()['id'];
- }
- else
- {
- $where['rescuers_user_id']= $this->auth->getUserinfo()['id'];
- }
- return $this->success('获取成功',SosBill::lst($where));
- }
- public function setstatus(Request $request)
- {
- $where = UtilService::postMore(
- [
- ['status',1],
- ['process_remark',''],
- ['from','weixin'],
- ['re_url',''],
- ],$request
- );
- $where['processtime'] = time();
- $where1 = $where;
- unset($where1['from']);
- unset($where1['re_url']);
- SosBill::where('id',input('id',0))->update($where1);
- $info = SosBill::find(input('id',0));
- switch (intval($where['status']))
- {
- case 1:
- $temp = WechatTempleService::SUPPAORTER_REPLY;
- $res_user = Rescue::where('user_id',$this->auth->getUserinfo()['id'])->find();
- $data['first'] = "你发起求救已受理,救员者正在赶来";
- $data['keyword1'] = $res_user['phone'];
- $data['keyword2'] = $res_user['address'];
- $data['keyword3'] = date("Y-m-d H:i:s");
- $data['remark'] =$where['process_remark'];
- WechatTempleService::sendTemplate($this->cid,UserRelation::userIdToOpenId($info['user_id']),$temp,$data,$where['re_url']);
- break;
- case 2:
- $temp = WechatTempleService::REQUEXST_REFUSE;
- $data['first'] = "你发起求救已拒绝";
- $data['keyword1'] = $where['process_remark'];
- $data['keyword2'] = date("Y-m-d H:i:s");
- $data['keyword3'] = "求救";
- $data['remark'] ="";
- WechatTempleService::sendTemplate($this->cid,UserRelation::userIdToOpenId($info['user_id']),$temp,$data,$where['re_url']);
- break;
- }
- $this->success('处理完成');
- }
- public function sos_del(Request $request)
- {
- $id = input('id');
- if(SosBill::where('sos_id',$id)->where('status','<',1)->find())
- {
- SosBill::where('sos_id',$id)->where('status','<',1)->delete();
- $this->success('删除成功');
- }
- $this->error('已删除或已接受');
- }
- }
|