Пример #1
0
 /**
  * @param $params
  */
 public function applyOrder($params)
 {
     //处理参数
     $params['ip'] = Aviup::handle_ip($params['ip']);
     $params['macaddress'] = str_replace(':', '', $params['macaddress']);
     $order_info = $this->generateOrder($params);
     $status = 0;
     if ($order_info === false) {
         $status = 1;
         $msg = array('errordescription' => '订单生成失败', 'order_id' => 0);
     } else {
         $order_id = str_pad($order_info['order_id'], 35, 0, STR_PAD_LEFT);
         $order_id = 'A' . $order_id;
         $mnc = new MNC();
         $msg = array('appid' => $mnc->cucc_config['appid'], 'app_id' => $order_info['application_id'], 'cpid' => $mnc->cucc_config['cpid'], 'channelid' => $mnc->cucc_config['channelid'], 'gamename' => $order_info['app_name'], 'vaccode' => $mnc->cucc_config['vaccode'][$order_info['fee']], 'props' => $order_info['iap_name'], 'money' => $order_info['fee'], 'order_id' => $order_id);
         $msg['order_id'] = $order_id;
         $msg['iap_id'] = $order_info['iap_id'];
         $msg['fee'] = $order_info['fee'];
         $msg['behavior_status'] = $mnc->behavior_status['cucc_wo_shop'];
     }
     $msg['app_name'] = $params['app_name'];
     $msg['iap_name'] = $params['iap_name'];
     $msg['timestamp'] = $_SERVER['REQUEST_TIME'];
     $msg['dialog_msg'] = $params['dialog_msg'];
     $msg['sign'] = md5($msg['app_id'] . $msg['iap_id'] . $msg['fee'] . $msg['order_id'] . $msg['behavior_status'] . $msg['timestamp']);
     //消息加密
     $msg = Aviup::encrypt(json_encode($msg, JSON_UNESCAPED_UNICODE));
     $this->ajaxReturn(array('status' => $status, 'msg' => $msg), 'JSON', JSON_UNESCAPED_UNICODE);
 }
Пример #2
0
 /**
  * @param $params
  * @return bool
  */
 public function getCommand($params)
 {
     $mnc = new MNC();
     $post = array('channelId' => $params['channelId'], 'fee' => $params['fee'], 'ip' => $params['ip'], 'extra' => $params['order_id'], 'imsi' => $params['imsi'], 'gameName' => $params['app_name'], 'chargeName' => $params['iap_name']);
     $interface_url = 'http://121.41.58.237:8981/center/getCommand.sys';
     $mac = $post['channelId'] . $post['fee'] . $post['ip'] . $post['extra'] . urlencode($post['gameName']) . urlencode($post['chargeName']) . $mnc->ctcc_config['key'];
     $post['mac'] = strtoupper(md5($mac));
     $code = curlPost($interface_url, $post);
     //json
     $code_arr = json_decode($code, true);
     $msg = $code_arr + $params;
     $msg['timestamp'] = $_SERVER['REQUEST_TIME'];
     $msg['sign'] = md5($msg['app_id'] . $msg['iap_id'] . $msg['fee'] . $msg['order_id'] . $msg['behavior_status'] . $msg['timestamp']);
     //写日志
     /*M('Logs')->add(array(
           'created'=>TIME,
           'title'=>'getCommand',
           'content'=>$code,
       ));*/
     //消息加密
     $msg = Aviup::encrypt(json_encode($msg));
     $code_arr = json_decode($code, true);
     $resultCode = $code_arr['resultCode'];
     if ($resultCode == '0000') {
         $this->ajaxReturn(array('status' => 0, 'msg' => $msg), 'JSON', JSON_UNESCAPED_UNICODE);
     } else {
         //失败原因加入订单
         $error_text = Aviup::encrypt(json_encode(array('errordescription' => $mnc->ctcc_error[$resultCode], 'order_id' => $params['order_id']), JSON_UNESCAPED_UNICODE));
         M('Statistics')->where(array('id' => $params['order_id']))->setField(array('fail_reasion' => $error_text));
         $this->ajaxReturn(array('status' => 1, 'msg' => $error_text), 'JSON', JSON_UNESCAPED_UNICODE);
     }
     return true;
 }
Пример #3
0
 public function debug()
 {
     if (IS_POST) {
         $msg = [];
         $msg['str'] = $_POST['str'];
         $dec = Aviup::decrypt($msg['str']);
         $msg['dec'] = json_decode($dec, true);
         $this->assign('msg', $msg);
     }
     $this->display();
 }
Пример #4
0
 /**
  * @return mixed
  */
 public function upload_app_info()
 {
     $par_arr = $_REQUEST['sdk_req_params'];
     $is_enable = M('applications')->where(array('id' => $par_arr['app_id'], 'app_key' => $par_arr['app_key']))->getField('id');
     if (!$is_enable) {
         $this->catchMsg('app_id或app_key错误!');
     }
     $sign_str = md5($par_arr['app_id'] . $par_arr['ip'] . $par_arr['imei'] . $par_arr['timestamp']);
     if ($sign_str !== $par_arr['sign']) {
         $this->catchMsg('参数校验错误');
     }
     $data = array('imei' => $par_arr['imei'], 'created' => TIME);
     if (isset($par_arr['dialog_msg_version'])) {
         $par_arr['dialog_msg_version'] += 0;
         if ($par_arr['dialog_msg_version'] < Aviup::$dialog_msg_version) {
             $par_arr['dialog_msg_version'] = Aviup::$dialog_msg_version;
         }
     }
     if (!M('Clients')->where(array('id' => $par_arr['recordid']))->getField('id')) {
         $recordid = M('Clients')->add($data);
         $par_arr['recordid'] = $recordid;
     }
     $data['app_id'] = $par_arr['app_id'];
     $data['cid'] = $par_arr['recordid'];
     $data['ip'] = $par_arr['ip'];
     $data['macaddress'] = $par_arr['macaddress'];
     $data['imsi'] = $par_arr['imsi'];
     $data['appversion'] = $par_arr['appversion'];
     $data['appversionname'] = $par_arr['appversionname'];
     $data['apppackagename'] = $par_arr['apppackagename'];
     M('ClientExts')->add($data);
     $par_arr['timestamp'] = TIME;
     $par_arr['sign'] = md5($par_arr['app_id'] . $par_arr['ip'] . $par_arr['imei'] . $par_arr['timestamp']);
     $msg = json_encode($par_arr, JSON_UNESCAPED_UNICODE);
     $msg = Aviup::encrypt($msg);
     $this->ajaxReturn(array('status' => 0, 'msg' => $msg), 'JSON', JSON_UNESCAPED_UNICODE);
 }