public function safeguard() { $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; $postArray = kernel::single('site_utility_xml')->xml2array($postStr); $postData = $postArray['xml']; #$postData = array ( # 'OpenId' => 'ow1l7t6coRbI3aBBNztBc6qT8F4w', # 'AppId' => 'wxfdd2db839d9e8984', # 'TimeStamp' => '1403080919', # 'MsgType' => 'request', # 'FeedBackId' => '13221259825330037179', # 'TransId' => '1219419901201406183166617972', # 'Reason' => '商品质量有问题', # 'Solution' => '退款,并不退货', # 'ExtInfo' => '我是备注 1391000000', # 'AppSignature' => '5f0dba6a6ba427cf523f22c815f6600cfbe1c365', # 'SignMethod' => 'sha1', #); $signData = array('OpenId' => $postData['OpenId'], 'TimeStamp' => $postData['TimeStamp']); if (!weixin_util::verifySignatureShal($signData, $postData['AppSignature'])) { return false; } $saveData['openid'] = $postData['OpenId']; $saveData['appid'] = $postData['AppId']; $saveData['msgtype'] = $postData['MsgType']; $saveData['feedbackid'] = $postData['FeedBackId']; $saveData['transid'] = $postData['TransId']; $saveData['reason'] = $postData['Reason']; $saveData['solution'] = $postData['Solution']; $saveData['extinfo'] = $postData['ExtInfo']; $saveData['picurl'] = $postData['PicUrl']; $saveData['timestamp'] = $postData['TimeStamp']; $safeguardModel = app::get('weixin')->model('safeguard'); $row = $safeguardModel->getRow('id', array('feedbackid' => $saveData['feedbackid'])); if ($row) { if ($saveData['msgtype'] == 'confirm') { $status = '3'; $safeguardModel->update(array('msgtype' => $saveData['msgtype'], 'status' => $status), array('id' => $row['id'])); } else { $saveData['status'] = '1'; $safeguardModel->update($saveData, array('id' => $row['id'])); } } else { $bindData = app::get('weixin')->model('bind')->getRow('id', array('appid' => $saveData['appid'])); $res = kernel::single('weixin_wechat')->get_basic_userinfo($bindData['id'], $saveData['openid']); $saveData['weixin_nickname'] = $res['nickname']; if (!$safeguardModel->save($saveData)) { logger::info(var_export($saveData, 1), '维权信息记录失败'); } } }