function actionLogin() { $jArr = array('status' => 0, 'message' => '非法请求'); $time_before = CTool::getUTime(); $postArr = $this->posts('loginname,password'); $loginname = $postArr['loginname']; if ($this->isPost()) { $MUser = $this->LoadApiModelMedical('user'); $exArr = array('join_pass' => true); if (CUtil::IsIdcard($loginname)) { $whArr = array('idcard' => $loginname); } else { $whArr = array('mobile' => $loginname); } $user = $MUser->getUser(null, $whArr, $exArr); // print_r($user); if ($user && isset($user['user_pass'])) { $pass =& $user['user_pass']; if ($postArr['password'] == $pass['password']) { // print_r(json_decode($user['privileges'],true)); $role = $user['role'] = intval($user['role']); $userid = $user['id']; //生成token------------------ $lastime = date("Y-m-d H:i:s"); $retArr = $MUser->updateUser($userid, array('lastime' => $lastime)); $token = $MUser->makeToken($userid, $lastime); // $MUser->verifyToken($token); //生成token---------------end $jArr['status'] = 1; $jArr['token'] = $token; $this->response(array('token' => $token, 'role' => $role, 'userid' => $userid)); } else { $jArr['message'] = '密码不正确'; } unset($pass['password']); } else { $jArr['message'] = '用户不存在'; } } $time_after = CTool::getUTime(); $elapsed = sprintf("%.4f", $time_after - $time_before); $jArr['elapsed'] = $elapsed; // print_r($jArr); // $this->output($jArr); $this->error($jArr['message']); }
function actionImport() { $userid = $this->userid; $MUser = $this->LoadApiModelMedical('user'); $user = $MUser->getUser($userid); if ($user && $this->post('filexls')) { $time_before = CTool::getUTime(); $filexls = $this->post('filexls'); $xls = new CExcel(); $uploadLoc = $this->getLoc('_data'); $filexls = $uploadLoc . $filexls; $sheetArr = $xls->getData($filexls); // print_r($sheetArr);exit; // exit; /* excel中的数据分为三段: 1, 基本信息 2, 规格信息 3, 详细信息 其中2,3统统存放到detail中 */ if ($sheetArr) { foreach ($sheetArr as $sheet => $dataArr) { // print_r($dataArr);exit; if ($dataArr) { //---------------------------------------------------- $fields = $dataArr[1]; //第1行为字段信息 // print_r($fields);exit; $pos = array_search('-', array_values($fields)); //第一个'-'的位置 // print_r($fields); $bases = $fields; //基本信息(arr) $specs = array_slice($fields, $pos + 1); //规格信息(arr) // $this->dump($fields); //---------------------------------------------------- //---------------------------------------------------- $xvalArr = array_slice($dataArr, 1); $valueArr = $partionArr = array(); $restype = $this->post('restype'); // print_r($dataArr);exit; foreach ($xvalArr as $k => $xrow) { if (empty($xrow['A']) && !isset($last_row)) { break; } //数据有问题 $row = array(); // if(empty($xrow['A']))continue; //第一栏为空 $attnameArr = $attvalArr = array(); //属性名和属性值 foreach ($bases as $c => $field) { //c为excel中的列名(A,B...) //field为excel中的第一行的值(业务上的字段) 产品品牌 $field = trim($field); $xval = trim($xrow[$c]); $row['hospitalid'] = $user['hospitalid']; if ('身份证号' == $field) { $row['idcard'] = trim($xval); } elseif (false !== strpos($field, '手机号')) { $row['mobile'] = floatval($xval); } elseif (false !== strpos($field, '姓名')) { $row['username'] = trim($xval); } elseif (false !== strpos($field, '年龄')) { //针对机械 $row['age'] = trim($xval); } elseif (false !== strpos($field, '角色id')) { $row['role'] = intval($xval); } elseif (false !== strpos($field, '所属医院')) { /*$title = trim($xval); $MHospital = $this->LoadApiModelMedical('hospital'); $hospital = $MHospital->getHospital(null,array('title'=>$title)); if($hospital){ $row['hospitalid'] = $hospital['id']; }*/ } elseif (false !== strpos($field, '科室')) { $row['deptname'] = trim($xval); } elseif (false !== strpos($field, '民族ID')) { $row['ethnic'] = trim($xval); } elseif (false !== strpos($field, '地址')) { $row['address'] = trim($xval); } elseif (false !== strpos($field, '电话')) { $row['home_phone'] = trim($xval); } elseif (false !== strpos($field, '住院号')) { $row['num_ill'] = trim($xval); } elseif (false !== strpos($field, '入院日期')) { $row['date_in'] = trim($xval); } elseif (false !== strpos($field, '出院日期')) { $row['date_out'] = trim($xval); } } $valueArr[] = $row; } // print_r($valueArr);exit; //---------------------------------------------------- // break; detail } break; //只读一页 } } //导入数据======================================== // print_r($valueArr); $dataArr = array(); $importinfos = array(); if ($valueArr) { $MUser = $this->LoadApiModelMedical('user'); foreach ($valueArr as $row) { if (empty($row['hospitalid']) || empty($row['idcard']) || empty($row['username'])) { $importinfos[] = array('code' => 1, 'message' => '数据不合法'); continue; } $retArr = $MUser->addUser($row); $importinfos[] = array('code' => 1 == $retArr['status'] ? 0 : 1, 'message' => $retArr['message']); } // print_r($retArr); // print_r($valueArr); // @unlink($filexls); } $time_after = CTool::getUTime(); $Elapse = sprintf("%.4f", $time_after - $time_before); $dataArr['elapsed'] = $Elapse; $dataArr['total'] = count($valueArr); $dataArr['importinfos'] = $importinfos; //end 导入数据==================================== // $jArr['data'] = $valueArr; $this->response($dataArr); } }
public function addHospital($postArr) { $retArr = array('status' => 0, 'message' => '', 'hospital' => null); // print_r($postArr);exit; //数据检查 if (empty($postArr)) { $retArr['message'] = '数据不合法'; return $retArr; } /*if(empty($postArr['hospitalname'])) { $retArr['message'] = '商户名称不能为空'; return $retArr; }*/ if (empty($postArr['mobile'])) { $retArr['message'] = '手机不能为空'; return $retArr; } $old = $this->getHospital(null, array('mobile' => $postArr['mobile']), array('aggregated' => true)); if ($old) { $retArr['status'] = 1; $retArr['message'] = '该商户已存在'; return $retArr; } //end 数据检查 $this->_trim_add_data($postArr); //整理数据 $_flag = 'build' == $postArr['type'] ? 1 : 9; do { $postArr['id'] = $_flag . CTool::uniqueId(6); // $id = $dbHospital->add($postArr); $id = $this->addAtom($this->tHospital, $postArr); } while (!$id && ($loop = isset($loop) ? ++$loop : 1) < 10); if ($id) { $retArr['id'] = $id; $retArr['hospital'] = $this->getHospital($id); $retArr['status'] = 1; $retArr['message'] = '添加商户成功'; } else { $retArr['message'] = '系统繁忙'; } return $retArr; }
function actionEntry() { error_reporting(1); $tradeid = $this->get('tradeid'); $orderid = $this->get('orderid'); if (!$tradeid && !$orderid) { $this->display('wxpay-error'); } //支付完成要返回的页面================================= if ($redirect_url = $this->get('redirect_url')) { $session = $this->getSession(); $session->set('redirect_url', $redirect_url); } //支付完成要返回的页面==============================end $MOrder = $this->LoadApiModel('order'); $retArr = $MOrder->getTradeOrderDetail($tradeid, $orderid); // echo "$tradeid ==="; // $this->dump($retArr); if (1 == intval($retArr['status'])) { $orderArr = $retArr['orders']; if (0 == intval($retArr['userid'])) { //匿名用户 $addressinfo = $orderArr[0]['addressinfo']; $address = json_decode($addressinfo, true); } else { //注册用户 $address = $retArr['address']; } // $payship = $retArr['payship']; // $invoice = $retArr['invoice']; $detailArr = $retArr['order_detail']; $body = ''; foreach ($detailArr as $item) { $body .= $item['title'] . ' '; } $subject = '购买:' . CMb::mbCut(CTool::RemoveSlashes($body), 30); $body = CMb::mbCut($body, 200); //写入数据库 $MPay = $this->LoadApiModel('pay'); $group_detailArr = $detailArr; CTool::table2tree($group_detailArr, 'orderid'); // $this->dump($group_detailArr); foreach ($orderArr as $order) { $_oid = $order['id']; $group_goodsArr = $group_detailArr[$_oid]; //此份订单的所有商品 $title = '购买:'; foreach ($group_goodsArr as $r) { $title .= $r['title'] . ','; } $title = trim($title, ','); $addArr = array('orderid' => $_oid, 'tradeid' => $order['tradeid'], 'userid' => $order['userid'], 'storeid' => $order['storeid'], 'title' => $title, 'bankid' => 30, 'bank' => 'wxpay', 'money' => $order['amount_pay'], 'name' => $address['consignee'], 'mobile' => $address['telphone'], 'email' => $address['email'], 'status' => 10); $old = $MPay->getPay($order['id']); CLog::WriteLog(array($old, $order['id']), 'pay-order'); if (!$old) { $rArr = $MPay->addPay($addArr); } // $this->dump($rArr); } //end 写入数据库 //wx支付相关================================== $wxpay = new WxPay(); $dataArr['title'] = $title; $dataArr['money'] = floatval($retArr['total_amount_pay']) * 100; $dataArr['out_trade_no'] = $tradeid ? $tradeid : $orderid; $dataArr['payUrl'] = $this->getconfig('HOME_WWW') . '/pay/wxpay/?tradeid=' . $tradeid; $dataArr['notify_url'] = $this->getconfig('HOME_WWW') . '/pay/wxpay/notify'; $code = $this->get('code'); try { $jsApiParameters = $wxpay->WxJsPayInterface($code, $dataArr); $warning = ob_get_clean(); if ($warning) { throw new Exception($warning, 1); } } catch (Exception $e) { print $e->getMessage(); // exit('canceled'); $this->display('wxpay-error'); } $this->assign('jsApiParameters', $jsApiParameters); //wx支付相关===============================end } $jsApiParametersArr = json_decode($jsApiParameters, true); if (isset($jsApiParametersArr['package']) && 'prepay_id=' == $jsApiParametersArr['package']) { // $this->dump($jsApiParametersArr);exit;//prepay_id is null $this->display('wxpay-error'); } $this->assign('tradeid', $tradeid); $this->assign('orderid', $orderid); $this->display('wxpay-pre'); }