public function indexAction() { $p = $_REQUEST; if (!count($p)) { Tool_Fnc::ajaxMsg('参数错误'); } $pPhone = empty($p['phone']) ? '' : trim($p['phone']); if (!Tool_Validate::mo($pPhone)) { Tool_Fnc::ajaxMsg('手机号不正确'); } //判断手机号是否是白求恩 $tBUserInfo = Oci_User::isPhone($pPhone); if (empty($tBUserInfo)) { Tool_Fnc::ajaxMsg('非白求恩用户,下一步完善必须资料', 1, array('user_type' => 0)); } $pPassword = empty($p['ptxt']) ? '' : trim($p['ptxt']); #客户端发送的必须是md5的 密码 $pCode = empty($p['code']) ? '0' : trim($p['code']); $pDid = empty($p['did']) ? '' : trim($p['did']); $tTime = time(); if (empty($pPassword)) { Tool_Fnc::ajaxMsg('密码不能为空'); } if (empty($pCode)) { Tool_Fnc::ajaxMsg('验证码不能为空'); } if (!Tool_Validate::integer($pCode)) { Tool_Fnc::ajaxMsg('验证码格式错误'); } if (strlen($pPassword) != 32) { Tool_Fnc::ajaxMsg('接口发送的必须是密文密码'); } if (empty($pDid) || !Tool_Validate::az09($pDid)) { Tool_Fnc::ajaxMsg('did error'); } $tUMO = new UserModel(); $tUMO->begin(); $tRow = $tUMO->field('count(0) c')->where('phone = \'' . $pPhone . '\'')->fRow(); if (!empty($tRow['c'])) { Tool_Fnc::ajaxMsg('该手机已被他人使用,请重新输入'); } $tKey = Tool_Fnc::newrand(4); $tMd5str = Tool_Fnc::markmd5($pPassword, $tKey); $tCodeMO = new PhonecodeModel(); $tCodeCRow = $tCodeMO->check($pPhone, 1, $pCode); if ($tCodeCRow['status'] == 0) { Tool_Fnc::ajaxMsg($tCodeCRow['msg']); } $tData = array('phone' => $pPhone, 'reg_ip' => Tool_Fnc::realip(), "passwd" => $tMd5str, "reg_time" => $tTime, 'private_key' => $tKey, 'reg_did' => $pDid, 'user_type' => 1); if (!($tID = $tUMO->insert($tData))) { $tUMO->back(); Tool_Fnc::ajaxMsg('错误异常 001'); } //did入库 $tUDMO = new UserdidModel(); $tUDRow = $tUDMO->field('count(0) c')->where('uid = ' . $tID . ' and did = \'' . $pDid . '\'')->fRow(); if (empty($tUDRow['c'])) { $tData = array('uid' => $tID, 'did' => $pDid, 'created' => $tTime, 'ip' => Tool_Fnc::realip()); if (!$tUDMO->insert($tData)) { $tUMO->back(); Tool_Fnc::ajaxMsg('错误异常 002'); } } $tTokenarr = $this->creattoken($tID); //获取数据 $tSex = $tBUserInfo['SEX'] == '男' ? 1 : 0; $tPatientId = $tBUserInfo['PATIENT_ID']; //提取干体重 $tDryWeight = Oci_User::getDryWeight($tPatientId); $tDatas = array('id' => $tID, 'nickname' => $tBUserInfo['NAME'], 'sex' => $tSex, 'dry_weight' => $tDryWeight['BODY_WEIGHT'], 'date_of_birth' => $tBUserInfo['DATE_OF_BIRTH'], 'headimg' => $tBUserInfo['PHOTO']); if (!$tUMO->update($tDatas)) { $tUMO->back(); Tool_Fnc::ajaxMsg('错误异常 003'); } //新建健康档案 $tUserAssessment = Oci_User::getAssessment($tPatientId); $tUserAssessment['uid'] = $tID; $tUserAssessment['name'] = $tBUserInfo['NAME']; //his系统数据更新 $tCMO = new CenterModel(); $tCRow = $tCMO->field('id,name')->where(' center_id = \'' . $tBUserInfo['CENTER_ID'] . '\'')->fRow(); if (!empty($tCRow['id'])) { $tUserAssessment['medical_id'] = $tCRow['id']; //用户透析中心字段更新 $tUMedicalData = array('id' => $tID, 'center_id' => $tCRow['id'], 'medical_addr' => $tCRow['name']); if (!$tUMO->update($tUMedicalData)) { $tUMO->back(); Tool_Fnc::ajaxMsg('错误异常 003'); } } else { $tCenterdict = Oci_User::getCenterdict($tBUserInfo['CENTER_ID']); $tCData = array('center_id' => $tCenterdict['CENTER_ID'], 'center_code' => $tCenterdict['CENTER_CODE'], 'name' => $tCenterdict['CENTER_NAME'], 'position' => $tCenterdict['POSITION'], 'created' => $tTime); if (!($tUserAssessment['medical_id'] = $tCMO->insert($tCData))) { $tUMO->back(); Tool_Fnc::ajaxMsg('错误异常 008'); } //用户透析中心字段更新 $tUMedicalData = array('id' => $tID, 'center_id' => $tUserAssessment['medical_id'], 'medical_addr' => $tCenterdict['CENTER_NAME']); if (!$tUMO->update($tUMedicalData)) { $tUMO->back(); Tool_Fnc::ajaxMsg('错误异常 003'); } } //健康档案 $tUA = new UserassessmentModel(); foreach ($tUserAssessment as $k => $v) { $tUserAssessmentData[strtolower($k)] = $v; } $tUserAssessmentData['created'] = $tTime; //添加透析方式默认值 $tUserAssessmentData['method'] = 1; if (!$tUA->insert($tUserAssessmentData)) { $tUMO->back(); Tool_Fnc::ajaxMsg('错误异常 004'); } //干重记录表数据更新 $tDWMO = new DryweightlogModel(); /*$tDryWeightLog = array( 'uid' => $tID, 'weight' => $tDryWeight['BODY_WEIGHT'], 'date' => $tDryWeight['TREATE_DATE'], 'month' => date('Y-m',strtotime($tDryWeight['TREATE_DATE'])), 'year' => date('Y',strtotime($tDryWeight['TREATE_DATE'])), 'patient_id' => $tPatientId, 'created' => time(), );*/ $tSql = 'update ' . $tDWMO->table . ' set uid=' . $tID . ' where patient_id = \'' . $tPatientId . '\''; if (!$tDWMO->exec($tSql)) { $tUMO->back(); Tool_Fnc::ajaxMsg('错误异常 005'); } #更新白求恩排班表 $tSDMO = new BqeschedulingdetailModel(); $tSql = 'update ' . $tSDMO->table . ' set uid = ' . $tID . ' where patient_id = \'' . $tPatientId . '\''; if (!$tSDMO->exec($tSql)) { $tUMO->back(); Tool_Fnc::ajaxMsg('错误异常 006'); } #透析 - 治疗单主记录 $tTRMO = new BqetreatmentrecordModel(); $tSql = 'update ' . $tTRMO->table . ' set uid = ' . $tID . ' where patient_id = \'' . $tPatientId . '\''; if (!$tTRMO->exec($tSql)) { $tUMO->back(); Tool_Fnc::ajaxMsg('错误异常 007'); } $tUMO->commit(); //匿名转实名 $tUMO->incognito_real($pDid, $tID); $tTokenarr = array_merge($tTokenarr, array('user_type' => 1)); Tool_Fnc::ajaxMsg("注册成功,白求恩用户", 1, $tTokenarr); //注册成功返回token }