作者 Cool

提现、社区管理调整

... ... @@ -65,7 +65,7 @@ class House extends Backend
if($v['admin_user_id'] == 0){
$v['admin_user_id'] = '';
}else{
$v['admin_user_id'] = Db::name('house_admin')->where('id',$v['admin_user_id'])->value('name');
$v['admin_user_id'] = Db::name('house_admin')->where('id',$v['admin_user_id'])->value('nickname');
}
}
... ...
... ... @@ -2,6 +2,8 @@
namespace app\admin\controller\user;
use addons\third\library\Service;
use addons\wechat\library\Config as ConfigService;
use app\common\controller\Backend;
use EasyWeChat\Foundation\Application;
use think\Db;
... ... @@ -107,27 +109,17 @@ class UserWithdraw extends Backend
}
}
$row->status = $params['status'];
$withdraw_percent = config('site.withdraw_percent');
Db::startTrans();
try {
$user_model = new \app\admin\model\User();
$user = $user_model->where('id', $row->user_id)->find();
if ($params['status'] == 2) {
// 微信提现
$options = get_addon_config('epay');
$wechat_option = [
'app_id' => $options['wechat']['appid'],
'app_secret' => $options['wechat']['app_secret'],
'payment' => [
'merchant_id' => $options['wechat']['mch_id'],
'key' => $options['wechat']['key'],
'cert_path' => ROOT_PATH . 'addons' . $options['wechat']['cert_client'],
'key_path' => ROOT_PATH . 'addons' . $options['wechat']['cert_key'],
]
];
$app = new Application($wechat_option);
$app = new Application(ConfigService::load());
$merchantPay = $app->merchant_pay;
$order_sn = $row->order_sn;
$user_openid = Db::name('third')->where('user_id', $row->user_id)->where('third_party', 'wechat')->value('openid');
$user_openid = Db::name('third')->where('user_id', $row->user_id)->where('platform', 'wechat')->value('openid');
$merchantPayData = [
'partner_trade_no' => $order_sn, //随机字符串作为订单号,跟红包和支付一个概念。
'openid' => $user_openid, //收款人的openid
... ... @@ -138,17 +130,31 @@ class UserWithdraw extends Backend
];
$result_pay = $merchantPay->send($merchantPayData);
if ($result_pay['return_code'] == 'SUCCESS' && $result_pay['result_code'] == 'SUCCESS') {
if($row->type == 1) {
// 余额变动记录
$log = [
'user_id' => $row->user_id,
'score' => $row->money * $withdraw_percent,
'before' => $user['score'],
'after' => $user['score'] - $row->money * $withdraw_percent,
'createtime' => time(),
'status' => 2,
'memo' => '提现'
];
$result_log = Db::name('user_score_log')->insertGetId($log);
} else{
// 余额变动记录
$log = [
'user_id' => $row->user_id,
'score' => $row->money,
'money' => $row->money,
'before' => $user['money'],
'after' => $user['money'] - $row->money,
'createtime' => time(),
'status' => 2,
'memo' => '提现'
];
$result_log = Db::name('user_score_log')->insertGetId($log);
$result_log = Db::name('user_money_log')->insertGetId($log);
}
$row->success_time = time();
$row->more = json_encode($result_pay, JSON_UNESCAPED_UNICODE);
} else {
... ... @@ -156,19 +162,35 @@ class UserWithdraw extends Backend
$this->error($result_pay['err_code_des']);
}
} else {
if($row->type == 1) {
// 余额变动记录
$log = [
'user_id' => $row->user_id,
'score' => $row->money,
'score' => $row->money * $withdraw_percent,
'before' => $user['score'],
'after' => $user['score'] + $row->money,
'after' => $user['score'] + $row->money * $withdraw_percent,
'createtime' => time(),
'status' => 3,
'memo' => '提现审核失败'
];
$result_log = Db::name('user_score_log')->insertGetId($log);
// 返还用户余额
$result_user = $user_model->where('id', $user['id'])->setInc('score', $row->money);
$result_user = $user_model->where('id', $user['id'])->setInc('score', $row->money * $withdraw_percent);
} else {
// 余额变动记录
$log = [
'user_id' => $row->user_id,
'money' => $row->money,
'before' => $user['money'],
'after' => $user['money'] + $row->money,
'createtime' => time(),
'status' => 3,
'memo' => '提现审核失败'
];
$result_log = Db::name('user_money_log')->insertGetId($log);
// 返还用户余额
$result_user = $user_model->where('id', $user['id'])->setInc('money', $row->money);
}
if (!$result_log || !$result_user) {
Db::rollback();
$this->error('提现审核失败');
... ...
... ... @@ -1054,6 +1054,9 @@ class Store extends Api
$model = new Message();
$comment = $model->pageSelect($page,$where,'*',$order,config('option.num'));
$list = $comment->items();
foreach ($list as &$v) {
$v['title'] = '留言消息';
}
$return = [
'list' => $list,
'this_page' => $comment->currentPage(),
... ...
... ... @@ -6,10 +6,11 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
Table.api.init({
extend: {
index_url: 'user/user_withdraw/index' + location.search,
add_url: 'user/user_withdraw/add',
edit_url: 'user/user_withdraw/edit',
del_url: 'user/user_withdraw/del',
multi_url: 'user/user_withdraw/multi',
// add_url: 'user/user_withdraw/add',
// edit_url: 'user/user_withdraw/edit',
// del_url: 'user/user_withdraw/del',
// multi_url: 'user/user_withdraw/multi',
examine_url: 'user/user_withdraw/examine',
table: 'user_withdraw',
}
});
... ... @@ -25,7 +26,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
[
{checkbox: true},
{field: 'id', title: __('Id')},
{field: 'user_id', title: __('User_id')},
{field: 'user.nickname', title: __('User.nickname')},
{field: 'before_money', title: __('Before_money'), operate:'BETWEEN'},
{field: 'after_money', title: __('After_money'), operate:'BETWEEN'},
{field: 'order_sn', title: __('Order_sn')},
... ... @@ -35,10 +36,47 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
{field: 'success_time', title: __('Success_time'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
{field: 'transaction_id', title: __('Transaction_id')},
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
{field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
{field: 'percent', title: __('Percent'), operate:'BETWEEN'},
{field: 'user.nickname', title: __('User.nickname')},
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate,
buttons: [
{
name: 'examine',
text: '通过',
title: '通过',
classname: 'btn btn-xs btn-primary btn-ajax',
icon: '',
url: $.fn.bootstrapTable.defaults.extend.examine_url+'/status/2',
confirm: '是否确认通过审核?',
visible:function (row) {
if(row.status == 0){
return true;
}else{
return false;
}
},
success: function (data) {
table.bootstrapTable('refresh');
}
},
{
name: 'examine',
text: '驳回',
title: '驳回',
classname: 'btn btn-xs btn-danger btn-ajax',
icon: '',
url: $.fn.bootstrapTable.defaults.extend.examine_url+'/status/3',
confirm: '是否确认驳回审核?',
visible:function (row) {
if(row.status == 0){
return true;
}else{
return false;
}
},
success: function (data) {
table.bootstrapTable('refresh');
}
}
], formatter: Table.api.formatter.operate}
]
]
});
... ...