作者 王晓刚

Merge branch 'master' of http://114.215.101.231:8099/anyv/xkeasy into wangxiaogang

... ... @@ -3,6 +3,7 @@ namespace app\admin\controller;
use app\admin\model\RouteModel;
use cmf\controller\AdminBaseController;
use EasyWeChat\Foundation\Application;
use function GuzzleHttp\Psr7\str;
use think\Db;
... ... @@ -13,6 +14,30 @@ class WithdrawalController extends AdminBaseController{
*/
public function withd_audit(){
if($this -> request -> isPost()){
$where['state'] = 0;
if(!empty($_POST['start_time']) && !empty($_POST['end_time'])){
$start_time = strtotime($_POST['start_time']);
$end_time = strtotime($_POST['end_time']);
$where['a.create_time'] = [['>=',$start_time],['<=',$end_time]];
}
if(!empty($_POST['keyword'])){
$where['b.phone'] = $_POST['keyword'];
}
$data = Db::name('money_expend') -> alias('a') -> field('a.*,b.phone') -> join('my_user b','a.uid=b.uid','LEFT') -> where($where) -> paginate(12);
$data_arr = $data -> toArray();
}else{
$data = Db::name('money_expend') -> alias('a') -> field('a.*,b.phone') -> join('my_user b','a.uid=b.uid','LEFT') -> where("state = 0") -> paginate(12);
$data_arr = $data -> toArray();
}
if(!empty($data_arr)){
foreach($data_arr['data'] as $key => $val){
$name = Db::name('user') -> where('id',$val['uid']) -> find();
$data_arr['data'][$key]['name'] = $name['user_nickname'];
}
}
$this -> assign('data_arr',$data_arr['data']);
$this -> assign('data',$data);
return $this -> fetch();
}
... ... @@ -32,15 +57,17 @@ class WithdrawalController extends AdminBaseController{
if(!empty($_POST['keyword'])){
$where['b.phone'] = $_POST['keyword'];
}
$data = Db::name('money_expend') -> alias('a') -> join('my_user b','a.uid=b.uid','LEFT') -> where($where) -> paginate(12);
$data = Db::name('money_expend') -> alias('a') -> field('a.*,b.phone') -> join('my_user b','a.uid=b.uid','LEFT') -> where($where) -> paginate(12);
$data_arr = $data -> toArray();
}else{
$data = Db::name('money_expend') -> alias('a') -> join('my_user b','a.uid=b.uid','LEFT') -> where("state = 1 or state = 2") -> paginate(12);
$data = Db::name('money_expend') -> alias('a') -> field('a.*,b.phone') -> join('my_user b','a.uid=b.uid','LEFT') -> where("state = 1 or state = 2") -> paginate(12);
$data_arr = $data -> toArray();
}
foreach($data_arr['data'] as $key => $val){
$name = Db::name('user') -> where('id',$val['uid']) -> find();
$data_arr['data'][$key]['name'] = $name['user_nickname'];
if(!empty($data_arr)){
foreach($data_arr['data'] as $key => $val){
$name = Db::name('user') -> where('id',$val['uid']) -> find();
$data_arr['data'][$key]['name'] = $name['user_nickname'];
}
}
$this -> assign('data_arr',$data_arr['data']);
$this -> assign('data',$data);
... ... @@ -63,8 +90,64 @@ class WithdrawalController extends AdminBaseController{
}
/**
* 提现审核拒绝
*/
public function withd_refuse(){
$id = $_POST['id'];
$create_time = time();
$data = Db::name('money_expend') -> where("id",$id) -> update(['state'=>2,'create_time'=>$create_time]);
if($data){
return true;
}else{
return false;
}
}
/**
* 提现审核通过
*/
public function withd_through(){
$money_expend = Db::name('money_expend') -> where('id',$_POST['id']) -> find();
$third_party = Db::name('third_party_user') -> where('user_id',$money_expend['uid']) -> find();
$result = $this -> merchantPay($third_party['openid'],'',$money_expend['money'],'企业付款');
if($result['result_code'] == 'SUCCESS'){
$create_time = time();
Db::name('money_expend') -> where('id',$_POST['id']) -> update(['state'=>1,'create_time'=>$create_time]);
Db::name('my_user') -> where('uid',$money_expend['uid']) -> setDec('balance',$money_expend['money']);
return true;
}else{
return false;
}
}
/**
* 提现
*/
public function merchantPay($openid,$user_name,$price,$desc){
$options = [
'app_id' => config('wechat_config.app_id'),
'secret' => config('wechat_config.secret'),
'payment' => config('wechat_config.payment'),
];
$app = new Application($options);
$merchantPay = $app->merchant_pay;
$merchantPayData = [
'partner_trade_no' => cmf_get_order_sn(), //随机字符串作为订单号,跟红包和支付一个概念。
'openid' => $openid, //收款人的openid
'check_name' => 'NO_CHECK', //文档中有三种校验实名的方法 NO_CHECK OPTION_CHECK FORCE_CHECK
're_user_name'=>$user_name, //OPTION_CHECK FORCE_CHECK 校验实名的时候必须提交
'amount' => $price*100, //单位为分
'desc' => $desc,
'spbill_create_ip' => $this->request->ip(0,true), //发起交易的IP地址
];
$result = $merchantPay->send($merchantPayData);
return $result;
}
... ...
... ... @@ -365,12 +365,59 @@ class PersonalcenterController extends WeChatBaseController{
$cumulative_money += $val['money'];
}
$cumulative_money = $cumulative_money-$cumulative_money*0.006;
$money_ratio = Db::name('money_ratio') -> where('id',1) -> find();
$this -> assign('money_ratio',$money_ratio);
$this -> assign('balance',$balance['balance']);
$this -> assign('cumulative_money',$cumulative_money);
$money_expend = Db::name('money_expend') -> where('uid='.$uid." and state=0") -> select();
$money = 0;
foreach ($money_expend as $key => $val){
$money += $val['money'];
}
$this -> assign('status',$balance['status']);
$this -> assign('money',$money);
return $this -> fetch();
}
/**
* 将提现金额存入支出明细表
*/
public function add_money_expend(){
$_POST['uid'] = cmf_get_current_user_id();
$_POST['create_time'] = time();
$_POST['state'] = 0;
$data = Db::name('money_expend') -> insert($_POST);
$money_expend = Db::name('money_expend') -> where('uid='.$_POST['uid']." and state=0") -> select();
$money = 0;
foreach ($money_expend as $key => $val){
$money += $val['money'];
}
if($data){
return $money;
}else{
return false;
}
}
/**
* 邀请名单
*/
public function invitation_list(){
return $this -> fetch();
}
... ...
... ... @@ -21,7 +21,7 @@
style="width: 140px;" autocomplete="off"> &nbsp;
关键字:
<input type="text" class="form-control" name="keyword" style="width: 200px;"
value="{$keyword|default=''}" placeholder="请输入微信昵称...">
value="{$keyword|default=''}" placeholder="请输入手机号...">
<input type="submit" class="btn btn-primary" value="搜索"/>
<a class="btn btn-danger" href="">清空</a>
</form>
... ... @@ -37,17 +37,59 @@
</tr>
</thead>
<tbody>
<tr>
<td>Tanmay</td>
<td>Bangalore</td>
<td>560001</td>
<td>560001</td>
<td>560001</td>
<td>560001</td>
</tr>
<volist name="data_arr" id="vo">
<tr class="tr{$vo.id}">
<td>{$vo.id}</td>
<td>{$vo.name}</td>
<td>{$vo.phone}</td>
<td>{$vo.money}</td>
<td>{$vo.create_time|date="Y-m-d H:i:s",###}</td>
<td>
<button type="button" class="btn btn-default" onclick="withd_through({$vo.id})">通过</button>
<button type="button" class="btn btn-default" onclick="withd_refuse({$vo.id})">拒绝</button>
</td>
</tr>
</volist>
</tbody>
</table>
</div>
<div class="pagination">
{$data->render()}
</div>
<script src="__STATIC__/js/admin.js"></script>
<script>
/**
* 点击拒绝时
*/
function withd_refuse(id){
ccc = window.confirm('确定拒绝吗?');
if(ccc){
$.post("{:url('Withdrawal/withd_refuse')}",{id:id},function(data){
if(data){
$('.tr'+id).remove();
}else{
alert('拒绝失败!');
}
});
}
}
/**
*点击通过时
*/
function withd_through(id){
ccc = window.confirm('确定通过吗?');
if(ccc){
$.post("{:url('Withdrawal/withd_through')}",{id:id},function(data){
if(data){
$('.tr'+id).remove();
}else{
alert('通过失败');
}
});
}
}
</script>
</body>
</html>
\ No newline at end of file
... ...
... ... @@ -13,7 +13,7 @@
width: 100%;
height: 1.3rem;
background-size: cover;
background-image: url("__TMPL__/public/assets/images/55.png");
background-image: url("__TMPL__/public/assets/images/54.png");
}
.order_address {
... ... @@ -52,6 +52,10 @@
</if>
</p>
</div>
<div class="pay_bannerRight">
<p class="timespan"></p>
<p>订单自动关闭</p>
</div>
</div>
<!-- 地址 -->
<div class="order_address">
... ... @@ -168,5 +172,20 @@
})
})
})
</script>
<script>
var starttime = new Date("2019/6/9");
setInterval(function() {
var nowtime = new Date();
var time = starttime - nowtime;
var hour = parseInt(time / 1000 / 60 / 60 % 24);
var minute = parseInt(time / 1000 / 60 % 60);
var seconds = parseInt(time / 1000 % 60);
$('.timespan').html(hour + "时" + minute + "分" + seconds + "秒后");
console.log(hour);
console.log(minute);
console.log(seconds)
}, 1000);
</script>
</html>
\ No newline at end of file
... ...
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" name="viewport" />
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>学考无忧-邀请名单</title>
<link rel="stylesheet" href="__TMPL__/public/assets/css/reset.css">
<link rel="stylesheet" href="__TMPL__/public/assets/css/base.css">
</head>
<body>
<!-- 顶部 -->
<div class="order_top">
<a href="javascript:history.back(-1)">
<img src="__TMPL__/public/assets/images/left.png" alt="">
</a>
<p>邀请名单</p>
</div>
<div class="invitation_Box">
<ul class="tationCon1">
<li>
<div class="tation_one">
<div class="tationCon1_left">
<div class="tationCon1_Img">
<img src="__TMPL__/public/assets/images/40.png" alt="">
</div>
<p class="tationCon1_Txt1 one-txt-cut">朱晓晓</p>
</div>
<div class="tationCon1_right">
<p class="tationCon1_Txt2">累计购买 ¥74</p>
<div class="tationCon1_Img2">
<img src="__TMPL__/public/assets/images/down.png" alt="">
</div>
</div>
</div>
<div class="tation_tow">
<!-- 列表 -->
<div class="tation_towLi">
<div class="tation_towTxt">
<p class="tation_towTxt1 one-txt-cut">购买了《中国上下五千年》</p>
<p class="recordNum">佣金+74</p>
</div>
<div class="tation_towTxt">
<p class="recordTxt2">平台订单</p>
<p class="recordTxt3">今天 12:47</p>
</div>
</div>
<div class="tation_towLi">
<div class="tation_towTxt">
<p class="tation_towTxt1 one-txt-cut">购买了《中国上下五千年》</p>
<p class="recordNum">佣金+74</p>
</div>
<div class="tation_towTxt">
<p class="recordTxt2">平台订单</p>
<p class="recordTxt3">今天 12:47</p>
</div>
</div>
</div>
</li>
<li>
<div class="tation_one">
<div class="tationCon1_left">
<div class="tationCon1_Img">
<img src="__TMPL__/public/assets/images/40.png" alt="">
</div>
<p class="tationCon1_Txt1 one-txt-cut">朱晓晓</p>
</div>
<div class="tationCon1_right">
<p class="tationCon1_Txt2">累计购买 ¥74</p>
<div class="tationCon1_Img2">
<img src="__TMPL__/public/assets/images/down.png" alt="">
</div>
</div>
</div>
<div class="tation_tow">
<!-- 列表 -->
<div class="tation_towLi">
<div class="tation_towTxt">
<p class="tation_towTxt1 one-txt-cut">购买了《中国上下五千年》</p>
<p class="recordNum">佣金+74</p>
</div>
<div class="tation_towTxt">
<p class="recordTxt2">平台订单</p>
<p class="recordTxt3">今天 12:47</p>
</div>
</div>
</div>
</li>
</ul>
</div>
<script src="__TMPL__/public/assets/js/base.js"></script>
<script src="__TMPL__/public/assets/js/jquery.js"></script>
<script>
$(function() {
$('.tationCon1 li').each(function() {
$(this).click(function() {
if (img = $(this).find('.tationCon1_Img2 img').attr('src') == "__TMPL__/public/assets/images/down.png") {
img = $(this).find('.tationCon1_Img2 img').attr('src', '__TMPL__/public/assets/images/up.png');
$(this).find('.tation_tow').slideDown();
} else {
img = $(this).find('.tationCon1_Img2 img').attr('src', '__TMPL__/public/assets/images/down.png');
$(this).find('.tation_tow').slideUp();
}
})
})
})
</script>
</body>
</html>
\ No newline at end of file
... ...
... ... @@ -19,9 +19,9 @@
</div>
<div class="tx_maskCon2">
<!-- 输入金额 -->
<input class="tx_maskInput" type="text" placeholder="输入提现金额" />
<input class="tx_maskInput" type="text" placeholder="输入提现金额" id="money" onblur="messagess()"/>
<!-- 确定 -->
<div class="tx_maskOk">确定</div>
<div class="tx_maskOk" onclick="sure_to()">确定</div>
<!-- 提现说明 -->
<div class="tx_maskTxt">
<div class="tx_maskTxt1">
... ... @@ -64,7 +64,7 @@
<img src="__TMPL__/public/assets/images/62.png" alt="" />
</div>
<div class="nine_money_explain_title">
正在提现额度:2174.21
正在提现额度:<span id="tixian_money">{$money}</span>
</div>
</div>
</div>
... ... @@ -75,7 +75,7 @@
</div>
<!-- 列表 -->
<div class="log_nine_list">
<a href="log_twelve.html">
<a href="{:url('Personalcenter/invitation_list')}">
<div class="log_nine_list_one">
<div class="log_nine_list_one_left">
<div class="log_nine_list_one_left_img">
... ... @@ -105,24 +105,45 @@
</div>
</div>
</a>
<a href="log_ten.html">
<div class="log_nine_list_one">
<div class="log_nine_list_one_left">
<div class="log_nine_list_one_left_img">
<img src="__TMPL__/public/assets/images/72.png" alt="" />
</div>
<div class="log_nine_list_one_left_title">
商场盈利
<if condition="$status eq 3">
<a href="w_mention.html">
<div class="log_nine_list_one">
<div class="log_nine_list_one_left">
<div class="log_nine_list_one_left_img">
<img src="__TMPL__/public/assets/images/65.png" alt="" />
</div>
<div class="log_nine_list_one_left_title">
收益记录
</div>
</div>
<div class="log_nine_list_one_left_title_add">
(服务费扣点10%)
<div class="log_nine_list_one_right">
<img src="__TMPL__/public/assets/images/29.png" alt="" />
</div>
</div>
<div class="log_nine_list_one_right">
<img src="__TMPL__/public/assets/images/29.png" alt="" />
</a>
</if>
<if condition="$status eq 2">
<a href="log_ten.html">
<div class="log_nine_list_one">
<div class="log_nine_list_one_left">
<div class="log_nine_list_one_left_img">
<img src="__TMPL__/public/assets/images/72.png" alt="" />
</div>
<div class="log_nine_list_one_left_title">
商场盈利
</div>
<div class="log_nine_list_one_left_title_add">
(服务费扣点{$money_ratio.platform_ratio})
</div>
</div>
<div class="log_nine_list_one_right">
<img src="__TMPL__/public/assets/images/29.png" alt="" />
</div>
</div>
</div>
</a>
</a>
</if>
</div>
<!-- 按钮 -->
<div class="log_seven_btn">
... ... @@ -134,6 +155,41 @@
<script src="__TMPL__/public/assets/js/jquery.js"></script>
<script src="__TMPL__/public/assets/js/base.js"></script>
<script>
/**
*当光标离开
*/
function messagess(){
money = $('#money').val();
if(money < 0){
alert('提现金额错误');
}else if(money>{$balance}){
alert('提现金额额超出余额');
}
}
/**
*点击确认时
*/
function sure_to(){
money = $('#money').val();
if(money == ''){
alert('提现不能为空');
}else if(money < 0){
alert('提现金额错误');
}else if(money>{$balance}){
alert('提现金额额超出余额');
}else{
$.post("{:url('Personalcenter/add_money_expend')}",{money:money},function(data){
if(data){
$('#tixian_money').text(data);
}else{
alert('提交提现失败!');
}
});
}
}
</script>
<script>
$(".log_seven_btn_contant").click(function() {
$(".tx_mask").css({
display: "block"
... ... @@ -144,6 +200,7 @@
display: "none"
});
});
</script>
</body>
... ...