Exemplo n.º 1
0
 public function income($uid = 0)
 {
     $moneyModel = new \Common\Model\UserMoneyModel();
     if (IS_POST) {
         $money = I('money', 0, 'float');
         $money > 0 or $this->error('请输入正确的金额!');
         $remark = I('remark');
         $ret = $moneyModel->in(I('uid'), $money, $remark);
         $ret ? $this->success('更新金额成功!') : $this->error($moneyModel->getError());
         return;
     }
     $money = $moneyModel->get($uid, true) or $this->error($moneyModel->getError());
     $this->assign('money', $money);
     $user = M('user')->find($uid) or $this->error('找不到此用户信息!');
     $this->assign('user', $user);
     $this->meta_title = '用户充值';
     $this->display();
 }
Exemplo n.º 2
0
 /**
  * 确认充值成功,对业务进行处理(注意高并发及重复请求)
  *
  * @param ing $pay_id 支付操作编号
  */
 protected function _paySuccess($pay_id)
 {
     // 验证是否重复操作
     $payRow = M('user_money_pay_alipay')->find($pay_id);
     if (!$payRow) {
         return '此交易记录不存在!';
     }
     if ($payRow['is_action'] > 0) {
         return true;
     }
     if (bccomp($_REQUEST['total_fee'], $payRow['money'], 2) != 0) {
         return '支付金额与记录不符!';
     }
     // 抢占处理
     if (!M('user_money_pay_alipay')->where(['id' => $pay_id, 'is_action' => $payRow['is_action']])->setField('is_action', 1)) {
         return true;
     }
     // 增加用户钱包金额
     $moneyModel = new \Common\Model\UserMoneyModel();
     $ret = $moneyModel->in($payRow['uid'], $payRow['money'], '支付宝充值', $_REQUEST['trade_no']);
     return $ret ?: $moneyModel->getError();
 }