lg_key),true); $orderNoHead = substr($data['outTradeNo'], 0, 3); if ($orderNoHead == OrderNo::ORDER_LOCAL_CASH){ $cash = LocalDeliveryCash::find()->where(['order_no'=>$data['outTradeNo'],'status'=>6])->one(); }else{ $cash = Cash::find()->where(['order_no'=>$data['outTradeNo'],'status'=>6])->one(); } if (!$cash){ } if ($data['status'] == 300){ //成功 $cash->status = 2; $cash->updated_at = time(); $cash->save(); } if ($data['status'] == 999){ //失败 $cash = Cash::find()->where(['order_no'=>$data['outTradeNo']])->one(); $cash->status = 3;//灵工提现失败 $cash->updated_at = time(); $cash->lg_refuse_desc = $data['msg']; if ($cash->save()){ if ($cash->status == 3) { return; } //如果是骑手 把提现的钱返还 if ($orderNoHead == OrderNo::ORDER_LOCAL_CASH){ $courier = LocalDeliveryCourier::findOne(['saas_user_id' => $cash->saas_user_id]); $courier->money += $cash->price; $courier->save(); } $user = User::findOne(['id' => $cash->user_id]); //把提现的钱返还 if ($cash->cash_type == 0) { $user->price += $cash->price; $user->save(); }elseif ($cash->cash_type == 17) {//全域提现 $user->global_money += $cash->price; $user->save(); } elseif ($cash->cash_type == Cash::IS_CASH_TYPE_BALANCE) { $saveLog = AccountLog::saveLog($cash->user_id, $cash->price, AccountLog::TYPE_BALANCE, AccountLog::LOG_TYPE_INCOME, 0, 0, "余额提现被驳回,单号:{$cash->order_no}"); if (!$saveLog) { debug_log('网络异常,账户保存失败'); } } elseif ($cash->cash_type == Cash::IS_CASH_TYPE_AREA_AGENT || $cash->cash_type == 3 ) { $user->price += $cash->price; $user->save(); }elseif ($cash->cash_type == 2) { $md_info = Md::find()->where(['user_id' => $cash->user_id])->one(); $md_info->cash_profit += $cash->price; $md_info->save(); }elseif ($cash->cash_type == Cash::IS_CASH_TYPE_MCH) { $saveLog = \app\models\MchAccountLog::saveLog($cash->mch_id, $cash->user_id, $cash->price, AccountLog::LOG_TYPE_INCOME, 0, '', "提现被驳回,单号:{$cash->order_no}", 0, 0); if ($saveLog['code']) { debug_log($saveLog); } } } } } public static function decrypt($encryptData,$key){ $privateKey = openssl_pkey_get_private(self::formatterPrivateKey($key)); $privateKey or die('密钥不可用'); $decryptData = ''; $crypto = ''; $ed = str_split(base64_decode($encryptData),256); foreach ($ed as $chunk) { if(openssl_private_decrypt($chunk, $decryptData, $privateKey)){ $crypto .= $decryptData; }else{ die('解密失败'); } } return $crypto; } /** * 格式化私钥 * @param $priKey string 私钥 * @return string */ public static function formatterPrivateKey($priKey) { $res = "-----BEGIN RSA PRIVATE KEY-----\n" . wordwrap($priKey, 64, "\n", true) . "\n-----END RSA PRIVATE KEY-----"; return $res; } }