one($uid); return $user['username'] . '
' . $user['mobile']; } public function getCash($id) { $info = Dever::db('shop/user_money')->find($id); $cdate = date('Y-m-d H:i',$info['cdate']); $odate = ''; if ($info['operdate']) { $odate = date('Y-m-d H:i',$info['operdate']); } return $info['cash'] . '
' . $info['yue']; } # 发起支付 public function pay($uid, $cash) { $openid = false; if ($uid > 0) { $wechat = Dever::db('passport/wechat')->one(array('uid' => $uid, 'type' => 1, 'system_id' => 1)); if (!$wechat) { Dever::alert('错误的用户信息'); } $openid = $wechat['openid']; } $param = array ( 'project_id' => 5, 'channel_id' => 1, 'system_source' => 5, 'account_id' => 5, 'uid' => $uid, 'name' => '用户充值', 'openid' => $openid, 'cash' => $cash, 'product_id' => $uid, 'refer' => '', ); $result = Dever::load('pay/api.pay', $param); return $result; } # 支付成功回调 安全加密 设置token public function success_secure_api_token() { $project_id = Dever::input('pay_project_id'); $info = Dever::db('pay/project')->one($project_id); if ($info) { return $info['key']; } return 'cash_buy_dever_2020'; } # 支付成功回调 安全加密 public function success_secure_api($param = array()) { $this->success($param); } # 支付成功回调 public function success($param = array()) { $send = $param ? $param : Dever::preInput('pay_'); $product_id = $send['pay_product_id']; $order_id = $send['pay_order_id']; $status = $send['pay_status']; $cash = $send['pay_cash']; $msg = $send['pay_msg']; if ($status == 2) { $this->up($product_id, 1, $cash, $send['pay_id'], '充值', 2,$order_id); } return 'ok'; } public function up($uid, $type, $cash, $type_id, $desc, $status,$order_id) { if ($cash == 0) { return false; } $user = Dever::db('passport/user')->find(array('id' => $uid, 'clear' => true)); if ($user) { $where['uid'] = $uid; if ($type > 10) { $cash = -1*$cash; } $where['type'] = $type; $where['type_id'] = $type_id; $where['clear'] = true; $info = Dever::db('shop/user_money')->find($where); if (!$info) { $data = $where; $data['order_num'] = $order_id; // $this->getOrderId(); $data['yue'] = $user['cash'] + $cash; $data['cash'] = $cash; $data['desc'] = $desc; $data['status'] = $status; if ($status == 2) { $data['operdate'] = time(); } $update['where_id'] = $uid; $update['set_cash'] = $cash; //$update['clear'] = true; Dever::db('passport/user')->upCash($update); return Dever::db('shop/user_money')->insert($data); } return $info['id']; } return false; } /** * 生成订单号 * * @return mixed */ public function getOrderId() { $where['order_num'] = Dever::order('UM'); $where['clear'] = true; $state = Dever::db('shop/user_money')->one($where); if (!$state) { return $where['order_num']; } else { return $this->getOrderId(); } } # 展示详情 public function show() { $id = Dever::input('id'); $config = Dever::db('shop/user_money')->config['set']; $info = Dever::db('shop/user_money')->one($id); $status = $config['status'][$info['status']]; $type = $config['type'][$info['type']]; $user = Dever::db('passport/user')->find($info['uid']); $cdate = date('Y-m-d H:i', $info['cdate']); if ($info['operdate']) { $opertime = date('Y-m-d H:i', $info['operdate']); } else { $opertime = ''; } $result = array(); $result['用户信息'] = array ( 'type' => 'info', 'content' => array ( array ( array('昵称', $user['username']), array('手机号', $user['mobile']), array('资金余额', '¥' . $user['cash'] . '元'), ), ), ); $result['交易信息'] = array ( 'type' => 'info', 'content' => array ( array ( array('流水号', $info['order_num']), array('交易时间', $cdate), array('交易类型', $type), ), array ( array('交易金额', '¥' . $info['cash'] . '元'), array('交易后账户余额', '¥' . $info['yue'] . '元'), array('交易说明', $info['desc']), ), ) ); $result['审核信息'] = array ( 'type' => 'info', 'content' => array ( array ( array('审核时间', $opertime), array('审核状态', $status), array('备注', $info['audit_desc']), ), ) ); # 提现信息 $button = array(); if (Dever::load('manage/auth')->checkFunc('bill.tixian', 'edit', '审核')) { if ($info['status'] == 1) { $button[] = array ( 'type' => 'edit', 'link' => Dever::url('project/database/update?project=bill&table=cash&where_id='.$info['id'].'&col=audit,audit_desc&oper_save_jump=cash&oper_table=cash&oper_parent=cash', 'manage'), 'name' => '审核', ); } } if ($info['type'] == 11) { $tixian = Dever::db('bill/tixian')->find($info['type_id']); if ($tixian) { $config = Dever::db('bill/tixian')->config['set']; $status = $config['status'][$tixian['status']]; if (Dever::load('manage/auth')->checkFunc('bill.tixian', 'edit1', '发放')) { if ($info['status'] == 2 && $tixian['status'] == 1) { $button[] = array ( 'type' => 'edit', 'link' => Dever::url('project/database/update?project=bill&table=tixian&where_id='.$tixian['id'].'&col=audit,audit_desc,pic&oper_save_jump=tixian&oper_table=tixian&oper_parent=tixian', 'manage'), 'name' => '发放', ); } } /* $bank = Dever::db('setting/bank')->find($tixian['bank']); $result['提现信息'] = array ( 'type' => 'info', 'content' => array ( array ( array('银行名称', $bank['name']), array('开户行', $tixian['bankname']), ), array ( array('姓名', $tixian['name']), array('卡号', $tixian['card']), ), ) ); */ if ($tixian['status']) { if ($tixian['operdate']) { $opertime = date('Y-m-d H:i', $tixian['operdate']); } else { $opertime = ''; } $pic = ''; if ($tixian['pic']) { $temp = explode(',', $tixian['pic']); foreach ($temp as $k => $v) { $pic .= ''; } } $result['发放信息'] = array ( 'type' => 'info', 'content' => array ( array ( array('发放时间', $opertime), array('发放状态', $status), array('备注', $tixian['audit_desc']), ), array ( array('凭证', $pic), ), ) ); } } } $button[] = array ( 'type' => 'link', 'link' => 'refer', 'name' => '返回上一页', ); $head = array ( 'name' => '基本信息', 'btn' => $button, ); $html = Dever::show($head, $result); return $html; } public function order_num($id){ $info = Dever::db('shop/user_money')->find($id); $cdate = date('Y-m-d H:i',$info['cdate']); $odate = ''; if ($info['operdate']) { $odate = date('Y-m-d H:i',$info['operdate']); } $html['num'] = $cdate . '
'.$odate; $html['cash'] = $info['cash'] . '
' . $info['yue']; return $html; } #钱包管理数据导出 public function out_cash_api($data){ $header = array('邀请码', '姓名', '手机号', '身份证号', '代理角色', '代理商区域', '代理费', '审核时间', '直推收入', '团队收入', '管理员备注'); $body = array(); foreach($data as $k =>$v){ $arr[] = Dever::db('agent/member')->find(array('id'=>$v['mid'])); foreach($arr as $k1=>$v1){ if($v['mid'] == $v1['id']){ $arr[$k1]['operdate'] = $v['operdate']; $arr[$k1]['audit_desc'] = $v['audit_desc']; } } } $member = array(); $arr=array_unique($arr, SORT_REGULAR); $rest=array(); foreach($arr as $k=>$v){ $rest[$v['id']]=$v; } $member=array_values($rest); foreach($member as $k => $v){ $code = Dever::load("invite/api.code", $v['id']); $role = Dever::db('setting/role')->find(array('id'=>$v['role'])); $area = Dever::load("area/api.string", $v['area']); $order = Dever::db('agent/order')->state(array('mid'=>$v['id'])); $zhitui = Dever::db('shop/user_money')->state(array('mid'=>$v['id'],'type'=>1)); $total = 0; foreach($zhitui as $key => $val){ $total += $val['cash']; } $tuandui = Dever::db('shop/user_money')->state(array('mid'=>$v['id'],'type'=>2)); $tuan = 0; foreach($tuandui as $t){ $tuan += $t['cash']; } $sum = 0; foreach($order as $k1 => $v1){ $sum += $v1['agent_cash']; } $operdate = ''; if($v['operdate']){ $operdate = date('Y-m-d',$v['operdate']); } $d = array ( $code, $v['name'], $v['mobile'], $v['idcard'], $role['name'], $area, $sum, $operdate, $total, $tuan, $v['audit_desc'], ); $body[] = $d; } $file = Dever::input('excel_name'); return Dever::excelExport($body, $header, $file); } }