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);
}
}