123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- <?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 = RescueModel::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'];
- $rs = WechatTempleService::sendTemplate($this->cid, UserRelation::userIdToOpenId($info['user_id']), $temp, $data, $where['re_url']);
- break;
- case -1:
- $temp = WechatTempleService::REQUEXST_REFUSE;
- $data['first'] = "你发起求救已拒绝";
- $data['keyword1'] = $where['process_remark'];
- $data['keyword2'] = date("Y-m-d H:i:s");
- $data['keyword3'] = "求救";
- $data['remark'] = "";
- $rs = 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('已删除或已接受');
- }
- }
|