更新秒杀
This commit is contained in:
parent
6172f453b3
commit
bab6ea2b6f
|
|
@ -21,7 +21,7 @@ return [
|
||||||
//支付方式,后台查询
|
//支付方式,后台查询
|
||||||
'PayType' => [
|
'PayType' => [
|
||||||
'addon\alipay\event\PayType',
|
'addon\alipay\event\PayType',
|
||||||
'addon\alipay\event\ZMPayType'
|
// 'addon\alipay\event\ZMPayType'
|
||||||
],
|
],
|
||||||
//支付,前台应用
|
//支付,前台应用
|
||||||
'Pay' => [
|
'Pay' => [
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@ class TradePayType
|
||||||
|
|
||||||
$info = [
|
$info = [
|
||||||
'cash' => '现金支付',
|
'cash' => '现金支付',
|
||||||
|
'back_transfer' => '银行转账',
|
||||||
'own_wechatpay' => '个人微信',
|
'own_wechatpay' => '个人微信',
|
||||||
'own_alipay' => '个人支付宝',
|
'own_alipay' => '个人支付宝',
|
||||||
'own_pos' => '个人pos刷卡',
|
'own_pos' => '个人pos刷卡',
|
||||||
|
|
|
||||||
|
|
@ -186,7 +186,7 @@ class Poster extends BaseModel
|
||||||
$upload = new Upload($site_id);
|
$upload = new Upload($site_id);
|
||||||
$cloud_res = $upload->fileCloud($res[ 'data' ][ 'path' ]);
|
$cloud_res = $upload->fileCloud($res[ 'data' ][ 'path' ]);
|
||||||
if ($cloud_res[ 'code' ] >= 0) {
|
if ($cloud_res[ 'code' ] >= 0) {
|
||||||
return $this->success([ "path" => $cloud_res[ 'data' ] ]);
|
return $this->success([ "path" => $cloud_res[ 'data' ].'?v='.time() ]);
|
||||||
} else {
|
} else {
|
||||||
return $this->error();
|
return $this->error();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -428,11 +428,9 @@ class Fenxiao extends BaseShop
|
||||||
{
|
{
|
||||||
$model = new FenxiaoApply();
|
$model = new FenxiaoApply();
|
||||||
if (request()->isAjax()) {
|
if (request()->isAjax()) {
|
||||||
|
|
||||||
$condition[] = [ 'fa.site_id', '=', $this->site_id ];
|
$condition[] = [ 'fa.site_id', '=', $this->site_id ];
|
||||||
$condition[] = [ 'fa.status', '=', 1 ];
|
$condition[] = [ 'fa.status', '=', 1 ];
|
||||||
$condition[] = [ 'm.is_delete', '=', 0 ];
|
$condition[] = [ 'm.is_delete', '=', 0 ];
|
||||||
|
|
||||||
$fenxiao_name = input('fenxiao_name', '');
|
$fenxiao_name = input('fenxiao_name', '');
|
||||||
if ($fenxiao_name) {
|
if ($fenxiao_name) {
|
||||||
$condition[] = [ 'fenxiao_name', 'like', '%' . $fenxiao_name . '%' ];
|
$condition[] = [ 'fenxiao_name', 'like', '%' . $fenxiao_name . '%' ];
|
||||||
|
|
@ -455,11 +453,9 @@ class Fenxiao extends BaseShop
|
||||||
$condition[] = [ 'fa.create_time', 'between', [ strtotime($create_start_time), strtotime($create_end_time) ] ];
|
$condition[] = [ 'fa.create_time', 'between', [ strtotime($create_start_time), strtotime($create_end_time) ] ];
|
||||||
} elseif (!$create_start_time && $create_end_time) {
|
} elseif (!$create_start_time && $create_end_time) {
|
||||||
$condition[] = [ 'fa.create_time', '<=', strtotime($create_end_time) ];
|
$condition[] = [ 'fa.create_time', '<=', strtotime($create_end_time) ];
|
||||||
|
|
||||||
} elseif ($create_start_time && !$create_end_time) {
|
} elseif ($create_start_time && !$create_end_time) {
|
||||||
$condition[] = [ 'fa.create_time', '>=', strtotime($create_start_time) ];
|
$condition[] = [ 'fa.create_time', '>=', strtotime($create_start_time) ];
|
||||||
}
|
}
|
||||||
|
|
||||||
$rg_start_time = input('rg_start_time', '');
|
$rg_start_time = input('rg_start_time', '');
|
||||||
$rg_end_time = input('rg_end_time', '');
|
$rg_end_time = input('rg_end_time', '');
|
||||||
if ($rg_start_time && $rg_end_time) {
|
if ($rg_start_time && $rg_end_time) {
|
||||||
|
|
@ -470,23 +466,18 @@ class Fenxiao extends BaseShop
|
||||||
} elseif ($rg_start_time && !$rg_end_time) {
|
} elseif ($rg_start_time && !$rg_end_time) {
|
||||||
$condition[] = [ 'fa.reg_time', '>=', strtotime($rg_start_time) ];
|
$condition[] = [ 'fa.reg_time', '>=', strtotime($rg_start_time) ];
|
||||||
}
|
}
|
||||||
|
|
||||||
$join = [
|
$join = [
|
||||||
[ 'member m', 'fa.member_id = m.member_id', 'inner' ]
|
[ 'member m', 'fa.member_id = m.member_id', 'inner' ]
|
||||||
];
|
];
|
||||||
$field = 'fa.apply_id,fa.fenxiao_name,fa.parent,fa.member_id,fa.level_id,fa.level_name,fa.order_complete_money,fa.order_complete_num,fa.reg_time,fa.create_time,fa.status,m.mobile,m.nickname,m.headimg';
|
$field = 'fa.apply_id,fa.fenxiao_name,fa.parent,fa.member_id,fa.level_id,fa.level_name,fa.order_complete_money,fa.order_complete_num,fa.reg_time,fa.create_time,fa.status,fa.id_card,fa.id_card_front,fa.id_card_reverse,m.mobile,m.nickname,m.headimg';
|
||||||
|
|
||||||
$page = input('page', 1);
|
$page = input('page', 1);
|
||||||
$page_size = input('page_size', PAGE_LIST_ROWS);
|
$page_size = input('page_size', PAGE_LIST_ROWS);
|
||||||
$list = $model->getFenxiaoApplyPageList($condition, $page, $page_size, 'fa.create_time desc', $field, 'fa', $join);
|
$list = $model->getFenxiaoApplyPageList($condition, $page, $page_size, 'fa.create_time desc', $field, 'fa', $join);
|
||||||
return $list;
|
return $list;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
$level_model = new FenxiaoLevelModel();
|
$level_model = new FenxiaoLevelModel();
|
||||||
$level_list = $level_model->getLevelList([ [ 'status', '=', 1 ] ], 'level_id,level_name');
|
$level_list = $level_model->getLevelList([ [ 'status', '=', 1 ] ], 'level_id,level_name');
|
||||||
$this->assign('level_list', $level_list[ 'data' ]);
|
$this->assign('level_list', $level_list[ 'data' ]);
|
||||||
|
|
||||||
$this->forthMenu();
|
$this->forthMenu();
|
||||||
return $this->fetch('fenxiao/apply');
|
return $this->fetch('fenxiao/apply');
|
||||||
}
|
}
|
||||||
|
|
@ -498,7 +489,6 @@ class Fenxiao extends BaseShop
|
||||||
public function applyPass()
|
public function applyPass()
|
||||||
{
|
{
|
||||||
$apply_id = input('apply_id');
|
$apply_id = input('apply_id');
|
||||||
|
|
||||||
$model = new FenxiaoApply();
|
$model = new FenxiaoApply();
|
||||||
$res = $model->pass($apply_id, $this->site_id);
|
$res = $model->pass($apply_id, $this->site_id);
|
||||||
return $res;
|
return $res;
|
||||||
|
|
|
||||||
|
|
@ -99,6 +99,22 @@
|
||||||
</div>
|
</div>
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<script type="text/html" id="id_card_front">
|
||||||
|
<div class='table-title'>
|
||||||
|
<div class='title-pic'>
|
||||||
|
<img layer-src src="{{ns.img(d.id_card_front)}}" onerror="this.src = '{:img('public/static/img/default_img/head.png')}' ">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script type="text/html" id="id_card_reverse">
|
||||||
|
<div class='table-title'>
|
||||||
|
<div class='title-pic'>
|
||||||
|
<img layer-src src="{{ns.img(d.id_card_reverse)}}" onerror="this.src = '{:img('public/static/img/default_img/head.png')}' ">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</script>
|
||||||
<!-- 状态 -->
|
<!-- 状态 -->
|
||||||
<script type="text/html" id="status">
|
<script type="text/html" id="status">
|
||||||
{{# if(d.status == 1){ }}
|
{{# if(d.status == 1){ }}
|
||||||
|
|
@ -190,7 +206,25 @@
|
||||||
templet: function(data) {
|
templet: function(data) {
|
||||||
return data.order_complete_num+' / '+data.order_complete_money;
|
return data.order_complete_num+' / '+data.order_complete_money;
|
||||||
}
|
}
|
||||||
}, {
|
},
|
||||||
|
{
|
||||||
|
field: 'id_card',
|
||||||
|
title: '省份证号码',
|
||||||
|
unresize: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'id_card_front',
|
||||||
|
title: '身份证正面',
|
||||||
|
unresize: 'false',
|
||||||
|
templet:'#id_card_front'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'id_card_reverse',
|
||||||
|
title: '身份证反面',
|
||||||
|
unresize: 'false',
|
||||||
|
templet:'#id_card_reverse'
|
||||||
|
},
|
||||||
|
{
|
||||||
field: 'create_time',
|
field: 'create_time',
|
||||||
title: '申请时间',
|
title: '申请时间',
|
||||||
unresize: 'false',
|
unresize: 'false',
|
||||||
|
|
|
||||||
|
|
@ -126,6 +126,7 @@ class Futures extends BaseApi{
|
||||||
$condition[] = ['a.status', '=', $status];
|
$condition[] = ['a.status', '=', $status];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取内容
|
// 获取内容
|
||||||
$field = [
|
$field = [
|
||||||
'old_seller.username as seller_username',
|
'old_seller.username as seller_username',
|
||||||
|
|
|
||||||
|
|
@ -151,9 +151,13 @@ class Futures extends BaseModel
|
||||||
if (model('member')->getValue(['member_id' => $date['seller_uid']], 'balance_money') < $service_price) {
|
if (model('member')->getValue(['member_id' => $date['seller_uid']], 'balance_money') < $service_price) {
|
||||||
return error(-800, '您余额不足!');
|
return error(-800, '您余额不足!');
|
||||||
}
|
}
|
||||||
|
$release_time= time() + $basics['release_wait'] * 24 * 60 * 60;// 配置上线延迟时间
|
||||||
|
if(Db::name('futures_user')->where('member_id', '=',$futuresInfo['seller_uid'])->cache($futuresInfo['seller_uid'].'is_special')->value('is_special')==1){
|
||||||
|
$release_time=time();
|
||||||
|
} //排除特殊用户时间限制
|
||||||
model('futures')->update([
|
model('futures')->update([
|
||||||
'status' => $futuresInfo['status'],
|
'status' => $futuresInfo['status'],
|
||||||
'release_time' => time() + $basics['release_wait'] * 24 * 60 * 60,// 配置上线延迟时间
|
'release_time' => $release_time,// 配置上线延迟时间
|
||||||
'price' => $price,
|
'price' => $price,
|
||||||
'total' => $futuresInfo['total'],
|
'total' => $futuresInfo['total'],
|
||||||
'service_price' => $service_price,
|
'service_price' => $service_price,
|
||||||
|
|
@ -184,6 +188,7 @@ class Futures extends BaseModel
|
||||||
}
|
}
|
||||||
model('futures')->update([
|
model('futures')->update([
|
||||||
'status' => 1,
|
'status' => 1,
|
||||||
|
'release_time' => 0,
|
||||||
], [['id', '=', $id]]);
|
], [['id', '=', $id]]);
|
||||||
//扣除服务费
|
//扣除服务费
|
||||||
$memberAccountModel = new MemberAccount();
|
$memberAccountModel = new MemberAccount();
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ class FuturesOrderCreate extends OrderCreate
|
||||||
* 订单创建
|
* 订单创建
|
||||||
* @param array $data
|
* @param array $data
|
||||||
*/
|
*/
|
||||||
public function create($data)
|
public function create($data,$is_special=false)
|
||||||
{
|
{
|
||||||
//查询出会员相关信息
|
//查询出会员相关信息
|
||||||
$calculate_data = $this->calculate($data);
|
$calculate_data = $this->calculate($data);
|
||||||
|
|
@ -206,7 +206,7 @@ class FuturesOrderCreate extends OrderCreate
|
||||||
// 提前秒杀扣除钻石
|
// 提前秒杀扣除钻石
|
||||||
if($calculate_data['times']['is_early']){
|
if($calculate_data['times']['is_early']){
|
||||||
$member_account = new MemberAccount();
|
$member_account = new MemberAccount();
|
||||||
$member_account->addMemberAccount($site_id, $data['member_id'], 'diamond', -1, 'diamond', '秒杀抵扣猕猴桃', '会员抢购抵猕猴桃',$order_id);
|
$member_account->addMemberAccount($site_id, $data['member_id'], 'diamond', -1, 'intdiamond', '秒杀抵扣猕猴桃', '会员抢购抵猕猴桃',$order_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
$result_list = event('OrderCreate', [ 'order_id' => $order_id, 'site_id' => $shop_goods_list[ 'site_id' ],'create_data' => $calculate_data ]);
|
$result_list = event('OrderCreate', [ 'order_id' => $order_id, 'site_id' => $shop_goods_list[ 'site_id' ],'create_data' => $calculate_data ]);
|
||||||
|
|
@ -218,9 +218,11 @@ class FuturesOrderCreate extends OrderCreate
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//生成整体支付单据
|
if ($is_special) {
|
||||||
// $pay->addPay($shop_goods_list[ 'site_id' ], $out_trade_no, $this->pay_type, $this->order_name, $this->order_name, $this->pay_money, '', 'OrderPayNotify', '/pages_rush/futures/order?status=stock');//'/pages_rush/order/detail?order_id=' . $order_id
|
//生成整体支付单据
|
||||||
$execute_time = $times['miaosha_end_time'] ?? '';
|
$pay->addPay($shop_goods_list['site_id'], $out_trade_no, $this->pay_type, $this->order_name, $this->order_name, $this->pay_money, '', 'OrderPayNotify', '/pages_rush/futures/order?status=stock');//'/pages_rush/order/detail?order_id=' . $order_id
|
||||||
|
}
|
||||||
|
$execute_time = $times['miaosha_end_time'] ?? '';
|
||||||
if ($execute_time) {
|
if ($execute_time) {
|
||||||
$cron_model = new Cron();
|
$cron_model = new Cron();
|
||||||
$execute_time +=strtotime(date('Ymd'));
|
$execute_time +=strtotime(date('Ymd'));
|
||||||
|
|
@ -271,7 +273,6 @@ class FuturesOrderCreate extends OrderCreate
|
||||||
return $data['times'];
|
return $data['times'];
|
||||||
}
|
}
|
||||||
$data['times'] = $data['times']['data'];
|
$data['times'] = $data['times']['data'];
|
||||||
// $data['fenxiao_info'] = model('fenxiao')->getInfo([['member_id','=',$data['member_id']]]);
|
|
||||||
|
|
||||||
$basics = $futuresModel->getBasicsConfig($site_id)['data']['value'];
|
$basics = $futuresModel->getBasicsConfig($site_id)['data']['value'];
|
||||||
$data['futures_user_info'] = model('futures_user')->getInfo([['member_id','=',$data['member_id']]]);
|
$data['futures_user_info'] = model('futures_user')->getInfo([['member_id','=',$data['member_id']]]);
|
||||||
|
|
@ -283,17 +284,25 @@ class FuturesOrderCreate extends OrderCreate
|
||||||
return error(-1,'钻石不足,不可提前秒杀');
|
return error(-1,'钻石不足,不可提前秒杀');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(empty($data['futures_user_info'] )){
|
||||||
if($data['futures_user_info'] == NULL){
|
|
||||||
return error(-1,'注册错误,请使用小程序注册');
|
return error(-1,'注册错误,请使用小程序注册');
|
||||||
}
|
}
|
||||||
|
$w=[
|
||||||
|
['seller_uid','=',$member_id],
|
||||||
|
['status','in',[1,2]],
|
||||||
|
['created_time','BETWEEN',[strtotime(date("Y-m-d", time())),time()]]
|
||||||
|
];
|
||||||
|
$jianlou_start_time=strtotime(date("Y-m-d", time()))+$data['times']['original']['jianlou_start_time'];
|
||||||
|
if(time()<=$jianlou_start_time&& $basics['buying_order_limit'] && $data['futures_user_info']['is_special'] == 0 && model('futures')->getCount($w,'id')>=$basics['buying_order_limit']){
|
||||||
|
return error(-1,"每天只允许抢购{$basics['buying_order_limit']}单");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// 判断用户是否有足够多的购买机会
|
// 判断用户是否有足够多的购买机会
|
||||||
if($data['futures_user_info']['business_num'] >= $basics['order_restrictions_num'] && $data['futures_user_info']['is_special'] == 0){
|
if($data['futures_user_info']['business_num'] >= $basics['order_restrictions_num'] && $data['futures_user_info']['is_special'] == 0){
|
||||||
return error(-1,'下单次数达到限制,需提货恢复下单');
|
return error(-1,'下单次数达到限制,需提货恢复下单');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// 判断是否本人购买
|
// 判断是否本人购买
|
||||||
if($data['member_id'] == $futures_info['seller_uid'] && $data['futures_user_info']['is_special'] == 0){
|
if($data['member_id'] == $futures_info['seller_uid'] && $data['futures_user_info']['is_special'] == 0){
|
||||||
return error(-1,'本人订单不可本人购买');
|
return error(-1,'本人订单不可本人购买');
|
||||||
|
|
|
||||||
|
|
@ -124,6 +124,19 @@
|
||||||
<div class="word-aux ">达到订单数限制后,进行提货恢复限制数</div>
|
<div class="word-aux ">达到订单数限制后,进行提货恢复限制数</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-card-body">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">抢购数量限制:</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="number" name="buying_order_limit" class="layui-input ns-len-mid" value="{$info.buying_order_limit ?? 0}" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="word-aux ">用户每天最大请购数量0无限制</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="layui-card-body">
|
<div class="layui-card-body">
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">首单送积分:</label>
|
<label class="layui-form-label">首单送积分:</label>
|
||||||
|
|
@ -321,7 +334,7 @@
|
||||||
<label class="layui-form-label">回购账号支付密码:</label>
|
<label class="layui-form-label">回购账号支付密码:</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<div class="layui-input-inline">
|
<div class="layui-input-inline">
|
||||||
<input type="password" name="pay_password" class="layui-input ns-len-mid" value="{$info.pay_password ?? ''}" />
|
<input type="text" name="pay_password" class="layui-input ns-len-mid" value="{$info.pay_password ?? ''}" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -119,15 +119,15 @@
|
||||||
layer.msg('请选择商品!');
|
layer.msg('请选择商品!');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if(parseFloat(field['info[unit_price]']) < parseFloat(goods_info['price'])){
|
// if(parseFloat(field['info[unit_price]']) < parseFloat(goods_info['price'])){
|
||||||
layer.msg('商品价格不能低于售卖价格!');
|
// layer.msg('商品价格不能低于售卖价格!');
|
||||||
return false;
|
// return false;
|
||||||
}
|
// }
|
||||||
if(parseFloat(field['info[unit_price]']) >= parseFloat(goods_info['market_price'])){
|
// if(parseFloat(field['info[unit_price]']) >= parseFloat(goods_info['market_price'])){
|
||||||
console.log(field['info[unit_price]'],goods_info['market_price']);
|
// console.log(field['info[unit_price]'],goods_info['market_price']);
|
||||||
layer.msg('商品价格必须低于原价(划线价)!');
|
// layer.msg('商品价格必须低于原价(划线价)!');
|
||||||
return false;
|
// return false;
|
||||||
}
|
// }
|
||||||
// 数据提交
|
// 数据提交
|
||||||
let tips = '确认赠送当前用户[' + field['info[order_num]'] + ']个订单,每个订单拥有[' + field['info[goods_num]'] +']个商品';
|
let tips = '确认赠送当前用户[' + field['info[order_num]'] + ']个订单,每个订单拥有[' + field['info[goods_num]'] +']个商品';
|
||||||
layer.confirm(tips, {icon: 3, title:'提示'}, function(index){
|
layer.confirm(tips, {icon: 3, title:'提示'}, function(index){
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,10 @@ class Memberrecharge extends BaseApi
|
||||||
$member_recharge_model = new MemberRechargeModel();
|
$member_recharge_model = new MemberRechargeModel();
|
||||||
$list = $member_recharge_model->getMemberRechargePageList([ [ 'status', '=', 1 ], [ 'site_id', '=', $this->site_id ] ], $page, $page_size, 'create_time desc', $field);
|
$list = $member_recharge_model->getMemberRechargePageList([ [ 'status', '=', 1 ], [ 'site_id', '=', $this->site_id ] ], $page, $page_size, 'create_time desc', $field);
|
||||||
|
|
||||||
|
$config = $member_recharge_model->getConfig($this->site_id);
|
||||||
|
$config = $config[ 'data' ];
|
||||||
$list['explain']='充值任意金额后,会存到您的账户余额中';
|
$list['explain']='充值任意金额后,会存到您的账户余额中';
|
||||||
|
$list['config']=$config['value'];
|
||||||
return $this->response($list);
|
return $this->response($list);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -29,10 +29,10 @@ class Order extends BaseApi
|
||||||
if ($token['code'] < 0) return $this->response($token);
|
if ($token['code'] < 0) return $this->response($token);
|
||||||
$page = isset($this->params['page']) ? $this->params['page'] : 1;
|
$page = isset($this->params['page']) ? $this->params['page'] : 1;
|
||||||
$page_size = isset($this->params['page_size']) ? $this->params['page_size'] : PAGE_LIST_ROWS;
|
$page_size = isset($this->params['page_size']) ? $this->params['page_size'] : PAGE_LIST_ROWS;
|
||||||
$field = 'order_id,recharge_id,recharge_name,order_no,cover_img,buy_price,create_time,out_trade_no,face_value,point,growth,coupon_id';
|
$field = 'order_id,recharge_id,recharge_name,order_no,cover_img,buy_price,create_time,out_trade_no,face_value,point,growth,coupon_id,relate_type,back_transfer,status,remark';
|
||||||
$member_recharge_order_model = new MemberRechargeOrderModel();
|
$member_recharge_order_model = new MemberRechargeOrderModel();
|
||||||
$condition = array(
|
$condition = array(
|
||||||
['status', '=', 2],
|
// ['status', '=', 2],
|
||||||
['member_id', '=', $this->member_id],
|
['member_id', '=', $this->member_id],
|
||||||
['site_id', '=', $this->site_id]
|
['site_id', '=', $this->site_id]
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,7 @@ class Ordercreate extends BaseApi
|
||||||
'site_id' => $this->site_id
|
'site_id' => $this->site_id
|
||||||
];
|
];
|
||||||
|
|
||||||
|
return $this->response($this->error('', 'err'));
|
||||||
if ($data['recharge_id'] == 0 && $data['face_value'] == 0) {
|
if ($data['recharge_id'] == 0 && $data['face_value'] == 0) {
|
||||||
return $this->response($this->error('', '缺少必填参数数据'));
|
return $this->response($this->error('', '缺少必填参数数据'));
|
||||||
}
|
}
|
||||||
|
|
@ -50,4 +51,32 @@ class Ordercreate extends BaseApi
|
||||||
return $this->response($res);
|
return $this->response($res);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***
|
||||||
|
* 银行卡打款
|
||||||
|
* @return false|string
|
||||||
|
*/
|
||||||
|
public function backCreate(){
|
||||||
|
$token = $this->checkToken();
|
||||||
|
if ($token['code'] < 0) return $this->response($token);
|
||||||
|
$order_create = new OrderCreateModel();
|
||||||
|
$data = [
|
||||||
|
'recharge_id' => isset($this->params['recharge_id']) ? $this->params['recharge_id'] : 0,//套餐id
|
||||||
|
'face_value' => isset($this->params['face_value']) ? $this->params['face_value'] : 0,//自定义充值面额
|
||||||
|
'member_id' => $this->member_id,
|
||||||
|
'order_from' => $this->params['app_type'],
|
||||||
|
'order_from_name' => $this->params['app_type_name'],
|
||||||
|
'mobile' => $this->params['mobile'],
|
||||||
|
'realname' => $this->params['realname'],
|
||||||
|
'bank_account' => $this->params['bank_account'],
|
||||||
|
'relate_type' => 'back_transfer',
|
||||||
|
'remark' => $this->params['remark'],
|
||||||
|
'back_transfer' => '姓名:'.$this->params['realname'].' 账号:'.$this->params['bank_account'],
|
||||||
|
'site_id' => $this->site_id
|
||||||
|
];
|
||||||
|
if ($data['recharge_id'] == 0 && $data['face_value'] == 0) {
|
||||||
|
return $this->response($this->error('', '缺少必填参数数据'));
|
||||||
|
}
|
||||||
|
$res = $order_create->create($data);
|
||||||
|
return $this->response($res);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -5,7 +5,6 @@
|
||||||
* Copy right 2019-2029 成都云之牛科技有限公司, 保留所有权利。
|
* Copy right 2019-2029 成都云之牛科技有限公司, 保留所有权利。
|
||||||
* ----------------------------------------------
|
* ----------------------------------------------
|
||||||
* 官方网址: https://www.cdcloudshop.com
|
* 官方网址: https://www.cdcloudshop.com
|
||||||
|
|
||||||
* =========================================================
|
* =========================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
@ -31,7 +30,7 @@ class Memberrecharge extends BaseModel
|
||||||
public function addMemberRecharge($data)
|
public function addMemberRecharge($data)
|
||||||
{
|
{
|
||||||
$data['create_time'] = time();
|
$data['create_time'] = time();
|
||||||
$data['status'] = 1;
|
$data['status'] = 1;
|
||||||
|
|
||||||
$res = model('member_recharge')->add($data);
|
$res = model('member_recharge')->add($data);
|
||||||
Cache::tag("member_recharge")->clear();
|
Cache::tag("member_recharge")->clear();
|
||||||
|
|
@ -48,7 +47,7 @@ class Memberrecharge extends BaseModel
|
||||||
{
|
{
|
||||||
$data['update_time'] = time();
|
$data['update_time'] = time();
|
||||||
$recharge_info = model('member_recharge')->getInfo($condition);
|
$recharge_info = model('member_recharge')->getInfo($condition);
|
||||||
if(!empty($recharge_info['cover_img']) && !empty($data['cover_img']) && $recharge_info['cover_img'] != $data['cover_img']){
|
if (!empty($recharge_info['cover_img']) && !empty($data['cover_img']) && $recharge_info['cover_img'] != $data['cover_img']) {
|
||||||
$upload_model = new Upload();
|
$upload_model = new Upload();
|
||||||
$upload_model->deletePic($recharge_info['cover_img'], $recharge_info['site_id']);
|
$upload_model->deletePic($recharge_info['cover_img'], $recharge_info['site_id']);
|
||||||
}
|
}
|
||||||
|
|
@ -67,7 +66,7 @@ class Memberrecharge extends BaseModel
|
||||||
public function deleteMemberRecharge($condition = [])
|
public function deleteMemberRecharge($condition = [])
|
||||||
{
|
{
|
||||||
$recharge_info = model('member_recharge')->getInfo($condition);
|
$recharge_info = model('member_recharge')->getInfo($condition);
|
||||||
if(!empty($recharge_info['cover_img'])){
|
if (!empty($recharge_info['cover_img'])) {
|
||||||
$upload_model = new Upload();
|
$upload_model = new Upload();
|
||||||
$upload_model->deletePic($recharge_info['cover_img'], $recharge_info['site_id']);
|
$upload_model->deletePic($recharge_info['cover_img'], $recharge_info['site_id']);
|
||||||
}
|
}
|
||||||
|
|
@ -91,8 +90,8 @@ class Memberrecharge extends BaseModel
|
||||||
//优惠券字段
|
//优惠券字段
|
||||||
$coupon_field = 'coupon_type_id,coupon_name,money,count,lead_count,max_fetch,at_least,end_time,image,validity_type,fixed_term,type,discount';
|
$coupon_field = 'coupon_type_id,coupon_name,money,count,lead_count,max_fetch,at_least,end_time,image,validity_type,fixed_term,type,discount';
|
||||||
|
|
||||||
$model = new CouponType();
|
$model = new CouponType();
|
||||||
$coupon = $model->getCouponTypeList([['coupon_type_id', 'in', $recharge['coupon_id']]], $coupon_field);
|
$coupon = $model->getCouponTypeList([['coupon_type_id', 'in', $recharge['coupon_id']]], $coupon_field);
|
||||||
$recharge['coupon_list'] = $coupon;
|
$recharge['coupon_list'] = $coupon;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -119,12 +118,13 @@ class Memberrecharge extends BaseModel
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 套餐列表
|
* 套餐列表
|
||||||
* @param array $condition
|
* @param array $condition
|
||||||
* @param string $order
|
* @param string $order
|
||||||
* @param string $field
|
* @param string $field
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function getMemberRechargeList($condition = [], $order = '', $field = '*'){
|
public function getMemberRechargeList($condition = [], $order = '', $field = '*')
|
||||||
|
{
|
||||||
$list = model('member_recharge')->getList($condition, $field, $order);
|
$list = model('member_recharge')->getList($condition, $field, $order);
|
||||||
return $this->success($list);
|
return $this->success($list);
|
||||||
}
|
}
|
||||||
|
|
@ -138,7 +138,7 @@ class Memberrecharge extends BaseModel
|
||||||
public function setConfig($data, $is_use, $site_id)
|
public function setConfig($data, $is_use, $site_id)
|
||||||
{
|
{
|
||||||
$config = new ConfigModel();
|
$config = new ConfigModel();
|
||||||
$res = $config->setConfig($data, '会员充值配置', $is_use, [['site_id', '=', $site_id], ['app_module', '=', 'shop'], ['config_key', '=', 'MEMBER_RECHARGE_CONFIG']]);
|
$res = $config->setConfig($data, '会员充值配置', $is_use, [['site_id', '=', $site_id], ['app_module', '=', 'shop'], ['config_key', '=', 'MEMBER_RECHARGE_CONFIG']]);
|
||||||
return $res;
|
return $res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -148,7 +148,12 @@ class Memberrecharge extends BaseModel
|
||||||
public function getConfig($site_id)
|
public function getConfig($site_id)
|
||||||
{
|
{
|
||||||
$config = new ConfigModel();
|
$config = new ConfigModel();
|
||||||
$res = $config->getConfig([['site_id', '=', $site_id], ['app_module', '=', 'shop'], ['config_key', '=', 'MEMBER_RECHARGE_CONFIG']]);
|
$res = $config->getConfig([['site_id', '=', $site_id], ['app_module', '=', 'shop'], ['config_key', '=', 'MEMBER_RECHARGE_CONFIG']]);
|
||||||
|
if (empty($res['data']['value'])) {
|
||||||
|
$res['data']['value'] = [
|
||||||
|
'is_bank' => 0,
|
||||||
|
];
|
||||||
|
}
|
||||||
return $res;
|
return $res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,6 @@
|
||||||
* Copy right 2019-2029 成都云之牛科技有限公司, 保留所有权利。
|
* Copy right 2019-2029 成都云之牛科技有限公司, 保留所有权利。
|
||||||
* ----------------------------------------------
|
* ----------------------------------------------
|
||||||
* 官方网址: https://www.cdcloudshop.com
|
* 官方网址: https://www.cdcloudshop.com
|
||||||
|
|
||||||
* =========================================================
|
* =========================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
@ -38,7 +37,6 @@ class MemberrechargeOrder extends BaseModel
|
||||||
public function getPayType()
|
public function getPayType()
|
||||||
{
|
{
|
||||||
//获取订单基础的其他支付方式
|
//获取订单基础的其他支付方式
|
||||||
|
|
||||||
$pay_type = $this->pay_type;
|
$pay_type = $this->pay_type;
|
||||||
//获取当前所有在线支付方式
|
//获取当前所有在线支付方式
|
||||||
$onlinepay = event('PayType');
|
$onlinepay = event('PayType');
|
||||||
|
|
@ -50,11 +48,12 @@ class MemberrechargeOrder extends BaseModel
|
||||||
$trade_pay_type_list = event('TradePayType', []);
|
$trade_pay_type_list = event('TradePayType', []);
|
||||||
if (!empty($trade_pay_type_list)) {
|
if (!empty($trade_pay_type_list)) {
|
||||||
foreach ($trade_pay_type_list as $k => $v) {
|
foreach ($trade_pay_type_list as $k => $v) {
|
||||||
if(!empty($v)){
|
if (!empty($v)) {
|
||||||
$pay_type = array_merge($pay_type, $v);
|
$pay_type = array_merge($pay_type, $v);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
$pay_type['back_transfer'] = '银行转账';
|
||||||
return $pay_type;
|
return $pay_type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -73,13 +72,12 @@ class MemberrechargeOrder extends BaseModel
|
||||||
//优惠券字段
|
//优惠券字段
|
||||||
$coupon_field = 'coupon_type_id,coupon_name,money,count,lead_count,max_fetch,at_least,end_time,image,validity_type,fixed_term,type';
|
$coupon_field = 'coupon_type_id,coupon_name,money,count,lead_count,max_fetch,at_least,end_time,image,validity_type,fixed_term,type';
|
||||||
|
|
||||||
$model = new CouponType();
|
$model = new CouponType();
|
||||||
$coupon = $model->getCouponTypeList([['coupon_type_id', 'in', $order['coupon_id']]], $coupon_field);
|
$coupon = $model->getCouponTypeList([['coupon_type_id', 'in', $order['coupon_id']]], $coupon_field);
|
||||||
$order['coupon_list'] = $coupon;
|
$order['coupon_list'] = $coupon;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Cache::tag("member_recharge_order")->clear();
|
Cache::tag("member_recharge_order")->clear();
|
||||||
return $this->success($order);
|
return $this->success($order);
|
||||||
}
|
}
|
||||||
|
|
@ -96,17 +94,17 @@ class MemberrechargeOrder extends BaseModel
|
||||||
public function getMemberRechargeOrderPageList($condition = [], $page = 1, $page_size = PAGE_LIST_ROWS, $order = '', $field = '*')
|
public function getMemberRechargeOrderPageList($condition = [], $page = 1, $page_size = PAGE_LIST_ROWS, $order = '', $field = '*')
|
||||||
{
|
{
|
||||||
$list = model('member_recharge_order')->pageList($condition, $field, $order, $page, $page_size);
|
$list = model('member_recharge_order')->pageList($condition, $field, $order, $page, $page_size);
|
||||||
if(!empty($list['list'])){
|
if (!empty($list['list'])) {
|
||||||
foreach($list['list'] as $k=>$v){
|
foreach ($list['list'] as $k => $v) {
|
||||||
$list['list'][$k]['coupon_name'] = '';
|
$list['list'][$k]['coupon_name'] = '';
|
||||||
$coupon_name = '';
|
$coupon_name = '';
|
||||||
if(!empty($v['coupon_id'])){
|
if (!empty($v['coupon_id'])) {
|
||||||
$coupon_array = explode(',',$v['coupon_id']);
|
$coupon_array = explode(',', $v['coupon_id']);
|
||||||
foreach($coupon_array as $value){
|
foreach ($coupon_array as $value) {
|
||||||
$coupon_name_value = model('promotion_coupon_type')->getValue([['coupon_type_id','=',$value]],'coupon_name');
|
$coupon_name_value = model('promotion_coupon_type')->getValue([['coupon_type_id', '=', $value]], 'coupon_name');
|
||||||
$coupon_name .= ','.$coupon_name_value;
|
$coupon_name .= ',' . $coupon_name_value;
|
||||||
}
|
}
|
||||||
$coupon_name = ltrim($coupon_name,',');
|
$coupon_name = ltrim($coupon_name, ',');
|
||||||
}
|
}
|
||||||
$list['list'][$k]['coupon_name'] = $coupon_name;
|
$list['list'][$k]['coupon_name'] = $coupon_name;
|
||||||
}
|
}
|
||||||
|
|
@ -123,71 +121,66 @@ class MemberrechargeOrder extends BaseModel
|
||||||
public function orderPay($data)
|
public function orderPay($data)
|
||||||
{
|
{
|
||||||
$order_field = 'order_id,recharge_id,recharge_name,order_no,cover_img,face_value,buy_price,point,growth,coupon_id,price,pay_type,status,create_time,pay_time,member_id,member_img,nickname,site_id';
|
$order_field = 'order_id,recharge_id,recharge_name,order_no,cover_img,face_value,buy_price,point,growth,coupon_id,price,pay_type,status,create_time,pay_time,member_id,member_img,nickname,site_id';
|
||||||
$order = $this->getMemberRechargeOrderInfo([['out_trade_no', '=', $data['out_trade_no']]], $order_field);
|
$order = $this->getMemberRechargeOrderInfo([['out_trade_no', '=', $data['out_trade_no']]], $order_field);
|
||||||
$order_info = $order['data'];
|
$order_info = $order['data'];
|
||||||
|
if (isset($data['face_value']) && $data['face_value'] != $order_info['face_value']) {
|
||||||
|
$order_info['face_value'] = $data['face_value'];
|
||||||
|
$order_info['buy_price'] = $data['buy_price'];
|
||||||
|
}
|
||||||
if ($order_info['status'] == 1) {
|
if ($order_info['status'] == 1) {
|
||||||
model('member_recharge_order')->startTrans();
|
model('member_recharge_order')->startTrans();
|
||||||
try {
|
try {
|
||||||
|
$pay_list = $this->getPayType();
|
||||||
$pay_list = $this->getPayType();
|
|
||||||
$pay_type_name = '';
|
$pay_type_name = '';
|
||||||
if (!empty($data['pay_type'])) {
|
if (!empty($data['pay_type'])) {
|
||||||
$pay_type_name = $pay_list[$data['pay_type']];
|
$pay_type_name = $pay_list[$data['pay_type']];
|
||||||
}
|
}
|
||||||
|
|
||||||
//修改订单状态
|
//修改订单状态
|
||||||
$order_data = [
|
$order_data = [
|
||||||
'pay_type' => $data['pay_type'],
|
'pay_type' => $data['pay_type'],
|
||||||
'pay_type_name' => $pay_type_name,
|
'pay_type_name' => $pay_type_name,
|
||||||
'pay_time' => time(),
|
'pay_time' => time(),
|
||||||
'price' => $order_info['buy_price'],
|
'price' => $order_info['buy_price'],
|
||||||
'status' => 2
|
'status' => 2
|
||||||
];
|
];
|
||||||
$res = model('member_recharge_order')->update($order_data, [['out_trade_no', '=', $data['out_trade_no']]]);
|
$res = model('member_recharge_order')->update($order_data, [['out_trade_no', '=', $data['out_trade_no']]]);
|
||||||
|
|
||||||
//添加开卡记录
|
//添加开卡记录
|
||||||
$card_model = new MemberRechargeCard();
|
$card_model = new MemberRechargeCard();
|
||||||
$order_info['use_status'] = 2;
|
$order_info['use_status'] = 2;
|
||||||
$order_info['use_time'] = time();
|
$order_info['use_time'] = time();
|
||||||
$card_model->addMemberRechargeCard($order_info);
|
$card_model->addMemberRechargeCard($order_info);
|
||||||
|
|
||||||
//发放礼包
|
//发放礼包
|
||||||
$card_model->addMemberAccount($order_info);
|
$card_model->addMemberAccount($order_info);
|
||||||
|
|
||||||
//获取套餐信息
|
//获取套餐信息
|
||||||
$recharge_model = new Memberrecharge();
|
$recharge_model = new Memberrecharge();
|
||||||
$recharge_info = $recharge_model->getMemberRechargeInfo([['recharge_id', '=', $order_info['recharge_id']]], 'sale_num,coupon_id');
|
$recharge_info = $recharge_model->getMemberRechargeInfo([['recharge_id', '=', $order_info['recharge_id']]], 'sale_num,coupon_id');
|
||||||
//增加发放数
|
//增加发放数
|
||||||
if(!empty($recharge_info['data'])){
|
if (!empty($recharge_info['data'])) {
|
||||||
$sale_num = $recharge_info['data']['sale_num'] + 1;
|
$sale_num = $recharge_info['data']['sale_num'] + 1;
|
||||||
$recharge_model->editMemberRecharge([['recharge_id', '=', $order_info['recharge_id']]], ['sale_num' => $sale_num]);
|
$recharge_model->editMemberRecharge([['recharge_id', '=', $order_info['recharge_id']]], ['sale_num' => $sale_num]);
|
||||||
}
|
}
|
||||||
$is_stat = $data['is_stat'] ?? true;
|
$is_stat = $data['is_stat'] ?? true;
|
||||||
if($is_stat){
|
if ($is_stat) {
|
||||||
event('MemberRechargeOrderPay', ['order_id' => $order_info['order_id']]);
|
event('MemberRechargeOrderPay', ['order_id' => $order_info['order_id']]);
|
||||||
$stat_model = new Stat();
|
$stat_model = new Stat();
|
||||||
$stat_res = $stat_model->switchStat([
|
$stat_res = $stat_model->switchStat([
|
||||||
'type' => 'recharge',
|
'type' => 'recharge',
|
||||||
'data' => [
|
'data' => [
|
||||||
'order_id' => $order_info[ 'order_id' ],
|
'order_id' => $order_info['order_id'],
|
||||||
'site_id' => $order_info[ 'site_id' ]
|
'site_id' => $order_info['site_id']
|
||||||
]
|
]
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
model('member_recharge_order')->commit();
|
model('member_recharge_order')->commit();
|
||||||
return $this->success($res);
|
return $this->success($res);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
|
|
||||||
model('member_recharge_order')->rollback();
|
model('member_recharge_order')->rollback();
|
||||||
Log::write('memberrechargeerr'.json_encode($e->getMessage().$e->getFile().$e->getLine()));
|
Log::write('memberrechargeerr' . json_encode($e->getMessage() . $e->getFile() . $e->getLine()));
|
||||||
return $this->error('', $e->getMessage());
|
return $this->error('', $e->getMessage());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return $this->success(true);
|
return $this->success(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -198,7 +191,7 @@ class MemberrechargeOrder extends BaseModel
|
||||||
public function cronMemberRechargeOrderClose($order_id)
|
public function cronMemberRechargeOrderClose($order_id)
|
||||||
{
|
{
|
||||||
//获取订单信息
|
//获取订单信息
|
||||||
$order = $this->getMemberRechargeOrderInfo([['order_id', '=', $order_id]], 'status');
|
$order = $this->getMemberRechargeOrderInfo([['order_id', '=', $order_id]], 'status');
|
||||||
$order_info = $order['data'];
|
$order_info = $order['data'];
|
||||||
if (empty($order_info)) {
|
if (empty($order_info)) {
|
||||||
$res = true;
|
$res = true;
|
||||||
|
|
@ -216,11 +209,11 @@ class MemberrechargeOrder extends BaseModel
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取总数
|
* 获取总数
|
||||||
* @param array $where
|
* @param array $where
|
||||||
* @param string $field
|
* @param string $field
|
||||||
* @param string $alias
|
* @param string $alias
|
||||||
* @param null $join
|
* @param null $join
|
||||||
* @param null $group
|
* @param null $group
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function getOrderCount($where = [], $field = '*', $alias = 'a', $join = null, $group = null)
|
public function getOrderCount($where = [], $field = '*', $alias = 'a', $join = null, $group = null)
|
||||||
|
|
@ -231,10 +224,10 @@ class MemberrechargeOrder extends BaseModel
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取总和
|
* 获取总和
|
||||||
* @param array $where
|
* @param array $where
|
||||||
* @param string $field
|
* @param string $field
|
||||||
* @param string $alias
|
* @param string $alias
|
||||||
* @param null $join
|
* @param null $join
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function getOrderSum($where = [], $field = '*', $alias = 'a', $join = null)
|
public function getOrderSum($where = [], $field = '*', $alias = 'a', $join = null)
|
||||||
|
|
|
||||||
|
|
@ -57,6 +57,9 @@ class MemberrechargeOrderCreate extends OrderCreate
|
||||||
"growth" => 0,
|
"growth" => 0,
|
||||||
"coupon_id" => 0,
|
"coupon_id" => 0,
|
||||||
);
|
);
|
||||||
|
if(isset($data['bank_account'])){
|
||||||
|
$recharge_info['recharge_name']='银行卡转账';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//创建或加入
|
//创建或加入
|
||||||
$pay = new Pay();
|
$pay = new Pay();
|
||||||
|
|
@ -83,6 +86,7 @@ class MemberrechargeOrderCreate extends OrderCreate
|
||||||
'order_from_name' => $data['order_from_name'],
|
'order_from_name' => $data['order_from_name'],
|
||||||
'site_id' => $data['site_id'],
|
'site_id' => $data['site_id'],
|
||||||
'store_id' => $data['store_id'] ?? 0,
|
'store_id' => $data['store_id'] ?? 0,
|
||||||
|
'back_transfer' => $data['back_transfer'] ?? '',
|
||||||
'remark' => $data['remark'] ?? '',
|
'remark' => $data['remark'] ?? '',
|
||||||
'relate_id' => $data['relate_id'] ?? 0,
|
'relate_id' => $data['relate_id'] ?? 0,
|
||||||
'relate_type' => $data['relate_type'] ?? '',
|
'relate_type' => $data['relate_type'] ?? '',
|
||||||
|
|
@ -103,8 +107,10 @@ class MemberrechargeOrderCreate extends OrderCreate
|
||||||
} else {
|
} else {
|
||||||
$execute_time = $now_time + 3600;//尚未配置 默认一天
|
$execute_time = $now_time + 3600;//尚未配置 默认一天
|
||||||
}
|
}
|
||||||
$cron_model = new Cron();
|
if(!isset($data['bank_account'])) {
|
||||||
$cron_model->addCron(1, 0, "订单自动关闭", "MemberrechargeOrderClose", $execute_time, $order_id);
|
$cron_model = new Cron();
|
||||||
|
$cron_model->addCron(1, 0, "订单自动关闭", "MemberrechargeOrderClose", $execute_time, $order_id);
|
||||||
|
}
|
||||||
event("MemberRechargeOrderCreate", ['order_id' => $order_id]);
|
event("MemberRechargeOrderCreate", ['order_id' => $order_id]);
|
||||||
model("member_recharge_order")->commit();
|
model("member_recharge_order")->commit();
|
||||||
return $this->success($out_trade_no);
|
return $this->success($out_trade_no);
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ class Memberrecharge extends BaseShop
|
||||||
//开卡字段
|
//开卡字段
|
||||||
protected $card_field = 'card_id,recharge_id,card_account,cover_img,face_value,point,growth,coupon_id,buy_price,member_img,nickname,order_id,order_no,from_type,use_status,create_time,use_time';
|
protected $card_field = 'card_id,recharge_id,card_account,cover_img,face_value,point,growth,coupon_id,buy_price,member_img,nickname,order_id,order_no,from_type,use_status,create_time,use_time';
|
||||||
//订单字段
|
//订单字段
|
||||||
protected $order_field = 'order_id,recharge_name,recharge_id,order_no,out_trade_no,member_id,cover_img,face_value,buy_price,point,growth,coupon_id,price,pay_type,pay_type_name,status,create_time,pay_time,member_img,nickname,order_from_name,order_from';
|
protected $order_field = 'order_id,recharge_name,recharge_id,order_no,out_trade_no,member_id,cover_img,face_value,buy_price,point,growth,coupon_id,price,pay_type,pay_type_name,status,create_time,pay_time,member_img,nickname,order_from_name,order_from,back_transfer,relate_type,remark';
|
||||||
//优惠券字段
|
//优惠券字段
|
||||||
protected $coupon_field = 'coupon_type_id,coupon_name,money,count,lead_count,max_fetch,at_least,end_time,image,validity_type,fixed_term';
|
protected $coupon_field = 'coupon_type_id,coupon_name,money,count,lead_count,max_fetch,at_least,end_time,image,validity_type,fixed_term';
|
||||||
|
|
||||||
|
|
@ -262,7 +262,7 @@ class Memberrecharge extends BaseShop
|
||||||
$end_time = input('end_time', '');
|
$end_time = input('end_time', '');
|
||||||
$order_no = input('order_no', '');
|
$order_no = input('order_no', '');
|
||||||
|
|
||||||
$condition[] = [ 'status', '=', 2 ];
|
// $condition[] = [ 'status', '=', 2 ];
|
||||||
if ($nickname) {
|
if ($nickname) {
|
||||||
$condition[] = [ 'nickname', 'like', '%' . $nickname . '%' ];
|
$condition[] = [ 'nickname', 'like', '%' . $nickname . '%' ];
|
||||||
}
|
}
|
||||||
|
|
@ -313,16 +313,60 @@ class Memberrecharge extends BaseShop
|
||||||
return $this->fetch('memberrecharge/order_detail');
|
return $this->fetch('memberrecharge/order_detail');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***
|
||||||
|
* 实际入账
|
||||||
|
*/
|
||||||
|
public function entry(){
|
||||||
|
if(request()->isAjax()){
|
||||||
|
$is_refuse=input('is_refuse',0);
|
||||||
|
$order_id=input('order_id',0);
|
||||||
|
if($is_refuse){
|
||||||
|
$condition=[
|
||||||
|
'order_id'=>$order_id,
|
||||||
|
'status'=>1,
|
||||||
|
];
|
||||||
|
$data=[
|
||||||
|
'status'=>3,
|
||||||
|
'refuse'=>input('refuse')
|
||||||
|
];
|
||||||
|
model('member_recharge_order')->update($data,$condition);
|
||||||
|
$res=success(0,'拒绝成功');
|
||||||
|
}else{
|
||||||
|
$order=new MemberRechargeOrderModel();
|
||||||
|
$out_trade_no=input('out_trade_no');
|
||||||
|
$data=[
|
||||||
|
'order_id'=>$order_id,
|
||||||
|
'out_trade_no'=>$out_trade_no,
|
||||||
|
'pay_type'=>'back_transfer',
|
||||||
|
'face_value'=>input('face_value'),
|
||||||
|
];
|
||||||
|
$res=$order->orderPay($data);
|
||||||
|
}
|
||||||
|
return $res;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否开启充值
|
* 设置充值参数
|
||||||
* @return mixed
|
* @return mixed
|
||||||
*/
|
*/
|
||||||
public function setConfig()
|
public function setConfig()
|
||||||
{
|
{
|
||||||
$model = new MemberRechargeModel();
|
$model = new MemberRechargeModel();
|
||||||
$is_use = input('is_use', 0);
|
$is_use = input('is_use', 0);
|
||||||
$data = [];
|
$config = $model->getConfig($this->site_id);
|
||||||
return $model->setConfig($data, $is_use, $this->site_id);
|
$config = $config[ 'data' ];
|
||||||
|
$value=$config['value'];
|
||||||
|
if(request()->isAjax()){
|
||||||
|
$data=request()->post();
|
||||||
|
|
||||||
|
$data=array_merge($value,$data);
|
||||||
|
$res=$model->setConfig($data, $is_use, $this->site_id);
|
||||||
|
return $res;
|
||||||
|
}
|
||||||
|
$this->assign("config", $config);
|
||||||
|
$this->assign("info", $value);
|
||||||
|
return $this->fetch('memberrecharge/config');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function exportRecharge()
|
public function exportRecharge()
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,9 @@
|
||||||
.multi-line-hiding .point-left{margin-right: 14px}
|
.multi-line-hiding .point-left{margin-right: 14px}
|
||||||
.layui-layout-admin.admin-style-2 .table-tab .layui-tab-title{margin-bottom: 15px;}
|
.layui-layout-admin.admin-style-2 .table-tab .layui-tab-title{margin-bottom: 15px;}
|
||||||
.layui-layout-admin.admin-style-2 .single-filter-box{padding: 0;}
|
.layui-layout-admin.admin-style-2 .single-filter-box{padding: 0;}
|
||||||
|
|
||||||
|
.single-filter-box {justify-content: left;line-height: 34px}
|
||||||
|
.single-filter-box a{cursor:pointer;margin-left: 10px}
|
||||||
</style>
|
</style>
|
||||||
{/block}
|
{/block}
|
||||||
{block name="main"}
|
{block name="main"}
|
||||||
|
|
@ -20,6 +23,7 @@
|
||||||
<!-- 搜索框 -->
|
<!-- 搜索框 -->
|
||||||
<div class="single-filter-box">
|
<div class="single-filter-box">
|
||||||
<button class="layui-btn" onclick="add()">添加充值套餐</button>
|
<button class="layui-btn" onclick="add()">添加充值套餐</button>
|
||||||
|
<a class="layui-btn layui-btn-primary" onclick="config()">充值设置</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="layui-tab table-tab" lay-filter="status">
|
<div class="layui-tab table-tab" lay-filter="status">
|
||||||
|
|
@ -280,5 +284,8 @@
|
||||||
function add() {
|
function add() {
|
||||||
location.href = ns.url("memberrecharge://shop/memberrecharge/add");
|
location.href = ns.url("memberrecharge://shop/memberrecharge/add");
|
||||||
}
|
}
|
||||||
|
function config(){
|
||||||
|
location.href = ns.url("memberrecharge://shop/memberrecharge/setConfig");
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
{/block}
|
{/block}
|
||||||
|
|
@ -17,7 +17,15 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="promotion-view-item">
|
<div class="promotion-view-item">
|
||||||
<label>状态:</label>
|
<label>状态:</label>
|
||||||
<span>{$info.status == 1 ? '待支付' : '已支付'}</span>
|
<span>
|
||||||
|
{if $info.status == 1 && $info.relate_type=='back_transfer' }
|
||||||
|
待审核
|
||||||
|
{elseif $info.status == 3 && $info.relate_type=='back_transfer'}
|
||||||
|
拒绝
|
||||||
|
{else/}
|
||||||
|
{$info.status == 1 ? '待支付' : '已支付'}
|
||||||
|
{/if}
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="promotion-view-item">
|
<div class="promotion-view-item">
|
||||||
|
|
@ -33,6 +41,15 @@
|
||||||
<label>金额:</label>
|
<label>金额:</label>
|
||||||
<span>{$info.buy_price}</span>
|
<span>{$info.buy_price}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="promotion-view-item">
|
||||||
|
<label>打款信息:</label>
|
||||||
|
<span>{$info.back_transfer}</span>
|
||||||
|
</div>
|
||||||
|
<div class="promotion-view-item">
|
||||||
|
<label>用户留言:</label>
|
||||||
|
<span>{$info.remark}</span>
|
||||||
|
</div>
|
||||||
<div class="promotion-view-item">
|
<div class="promotion-view-item">
|
||||||
<label>赠送积分:</label>
|
<label>赠送积分:</label>
|
||||||
<span>{$info.point}</span>
|
<span>{$info.point}</span>
|
||||||
|
|
@ -67,7 +84,6 @@
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{if !empty($info.coupon_list)}
|
{if !empty($info.coupon_list)}
|
||||||
<div class="layui-card card-common card-brief">
|
<div class="layui-card card-common card-brief">
|
||||||
<div class="layui-card-header">
|
<div class="layui-card-header">
|
||||||
|
|
@ -82,12 +98,66 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
|
{if $info.status == 1 && $info.relate_type=='back_transfer' }
|
||||||
|
<div class="layui-form form-wrap">
|
||||||
|
<div class="layui-card card-common card-brief">
|
||||||
|
<div class="layui-card-header">
|
||||||
|
<span class="card-title">打款信息</span>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">入账金额:</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="hidden" name="order_id" value="{$info.order_id}">
|
||||||
|
<input type="hidden" name="out_trade_no" value="{$info.out_trade_no}">
|
||||||
|
<input type="text" name="face_value" lay-verify="required" value="{$info.face_value??''}" autocomplete="off" class="layui-input len-long">
|
||||||
|
</div>
|
||||||
|
<div class="word-aux">用户入账金额金额,注入实际收到金额一致</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">打款信息</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<span>{$info.back_transfer}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">用户留言</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<span>{$info.remark}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item balance-boday">
|
||||||
|
<label class="layui-form-label">入账入账:</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="radio" name="is_refuse" lay-filter="type" value="0" title="同意入账" autocomplete="off" class="layui-input len-long" checked >
|
||||||
|
<input type="radio" name="is_refuse" lay-filter="type" value="1" title="拒绝入账" autocomplete="off" class="layui-input len-long">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item refuse" style="display:none;">
|
||||||
|
<label class="layui-form-label">拒绝理由:</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<textarea id="refuse" name="refuse" class="layui-textarea len-long">{$info.refuse??''}</textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="form-row">
|
||||||
|
<button class="layui-btn" lay-submit lay-filter="save">保存</button>
|
||||||
|
<button class="layui-btn layui-btn-primary" onclick="back()">返回</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
{/block}
|
{/block}
|
||||||
|
|
||||||
{block name="script"}
|
{block name="script"}
|
||||||
<script>
|
<script>
|
||||||
var promotion_list = {if !empty($info.coupon_list)} {:json_encode($info.coupon_list.data, JSON_UNESCAPED_UNICODE)}{else/}[] {/if};
|
var promotion_list = {if !empty($info.coupon_list)} {:json_encode($info.coupon_list.data, JSON_UNESCAPED_UNICODE)}{else/}[] {/if};
|
||||||
|
layui.use(['table','form'], function() {
|
||||||
layui.use('table', function() {
|
|
||||||
new Table({
|
new Table({
|
||||||
elem: '#promotion_list',
|
elem: '#promotion_list',
|
||||||
cols: [
|
cols: [
|
||||||
|
|
@ -108,6 +178,53 @@
|
||||||
],
|
],
|
||||||
data: promotion_list
|
data: promotion_list
|
||||||
});
|
});
|
||||||
|
var form = layui.form;
|
||||||
|
var repeat_flag = false; //防重复标识
|
||||||
|
form.render();
|
||||||
|
|
||||||
|
layui.form.on('radio(type)', function(data){
|
||||||
|
if(data.value == 0){
|
||||||
|
$(".refuse").hide();
|
||||||
|
$("#refuse").attr("lay-verify", '');
|
||||||
|
}else{
|
||||||
|
$("#refuse").attr("lay-verify", 'required');
|
||||||
|
$(".refuse").show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
/**
|
||||||
|
* 监听提交
|
||||||
|
*/
|
||||||
|
form.on('submit(save)', function(data) {
|
||||||
|
if (repeat_flag) return false;
|
||||||
|
// repeat_flag = true;
|
||||||
|
$.ajax({
|
||||||
|
url: ns.url("memberrecharge://shop/memberrecharge/entry"),
|
||||||
|
data: data.field,
|
||||||
|
dataType: 'JSON',
|
||||||
|
type: 'POST',
|
||||||
|
success: function(res){
|
||||||
|
repeat_flag = false;
|
||||||
|
if (res.code == 0) {
|
||||||
|
layer.confirm('编辑成功', {
|
||||||
|
title:'操作提示',
|
||||||
|
btn: ['返回列表', '继续操作'],
|
||||||
|
yes: function(){
|
||||||
|
location.href = ns.url("memberrecharge://shop/memberrecharge/orderlists")
|
||||||
|
},
|
||||||
|
btn2: function() {
|
||||||
|
location.reload();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}else{
|
||||||
|
layer.msg(res.message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function back(){
|
||||||
|
location.href = ns.url("memberrecharge://shop/memberrecharge/orderlists");
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
{/block}
|
{/block}
|
||||||
|
|
@ -60,6 +60,9 @@ Order.prototype.cols = [
|
||||||
h += '<div>';
|
h += '<div>';
|
||||||
h += '<span>1件</span>';
|
h += '<span>1件</span>';
|
||||||
h += '</div>';
|
h += '</div>';
|
||||||
|
h += '<div>';
|
||||||
|
h += '<span>转账' + order.back_transfer + '</span>';
|
||||||
|
h += '</div>';
|
||||||
h += '</div>';
|
h += '</div>';
|
||||||
return h;
|
return h;
|
||||||
}
|
}
|
||||||
|
|
@ -115,7 +118,14 @@ Order.prototype.cols = [
|
||||||
className: "transaction-status",
|
className: "transaction-status",
|
||||||
merge: true,
|
merge: true,
|
||||||
template: function (orderitem, order) {
|
template: function (orderitem, order) {
|
||||||
var html = '<div>' + (order.status == 2 ? '已支付' : '未支付') + '</div>';
|
|
||||||
|
if(order.relate_type=='back_transfer'&&order.status == 1){
|
||||||
|
var html = '<div>待审核</div>';
|
||||||
|
}else if(order.relate_type=='back_transfer'&&order.status == 3){
|
||||||
|
var html = '<div>拒绝</div>';
|
||||||
|
}else {
|
||||||
|
var html = '<div>' + (order.status == 2 ? '已支付' : '未支付') + '</div>';
|
||||||
|
}
|
||||||
return html;
|
return html;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -431,11 +431,4 @@ class Login extends BaseApi{
|
||||||
return $this->response($this->error('',$e->getMessage()));
|
return $this->response($this->error('',$e->getMessage()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -165,15 +165,16 @@ class Member extends BaseApi
|
||||||
return $this->response($this->error("", "当前手机号已存在"));
|
return $this->response($this->error("", "当前手机号已存在"));
|
||||||
} else {
|
} else {
|
||||||
$code = str_pad(random_int(1, 9999), 4, 0, STR_PAD_LEFT);// 生成4位随机数,左侧补0
|
$code = str_pad(random_int(1, 9999), 4, 0, STR_PAD_LEFT);// 生成4位随机数,左侧补0
|
||||||
$code = 6666;// 生成4位随机数,左侧补0
|
|
||||||
$message_model = new Message();
|
$message_model = new Message();
|
||||||
// $res = $message_model->sendMessage([
|
$res = $message_model->sendMessage([
|
||||||
// 'type' => 'code', "mobile" => $mobile,
|
'type' => 'code', "mobile" => $mobile,
|
||||||
// "site_id" => $this->site_id, "code" => $code, "support_type" => [ "sms" ],
|
"site_id" => $this->site_id, "code" => $code, "support_type" => [ "sms" ],
|
||||||
// "keywords" => "MEMBER_BIND"
|
"keywords" => "MEMBER_BIND"
|
||||||
// ]
|
]
|
||||||
// );
|
);
|
||||||
$res['code']=0;
|
// $code = 6666;// 生成4位随机数,左侧补0
|
||||||
|
// $res['code']=0;
|
||||||
if ($res[ "code" ] >= 0) {
|
if ($res[ "code" ] >= 0) {
|
||||||
//将验证码存入缓存
|
//将验证码存入缓存
|
||||||
$key = 'bind_mobile_code_' . md5(uniqid(null, true));
|
$key = 'bind_mobile_code_' . md5(uniqid(null, true));
|
||||||
|
|
@ -201,11 +202,11 @@ class Member extends BaseApi
|
||||||
if (empty($info[ 'data' ])) return $this->response($this->error([], '未获取到会员信息!'));
|
if (empty($info[ 'data' ])) return $this->response($this->error([], '未获取到会员信息!'));
|
||||||
if (empty($info[ 'data' ][ 'mobile' ])) return $this->response($this->error([], '会员信息尚未绑定手机号!'));
|
if (empty($info[ 'data' ][ 'mobile' ])) return $this->response($this->error([], '会员信息尚未绑定手机号!'));
|
||||||
$mobile = $info[ 'data' ][ 'mobile' ];
|
$mobile = $info[ 'data' ][ 'mobile' ];
|
||||||
// $code = str_pad(random_int(1, 9999), 4, 0, STR_PAD_LEFT);// 生成4位随机数,左侧补0
|
$code = str_pad(random_int(1, 9999), 4, 0, STR_PAD_LEFT);// 生成4位随机数,左侧补0
|
||||||
// $message_model = new Message();
|
$message_model = new Message();
|
||||||
// $res = $message_model->sendMessage([ 'type' => 'code', "mobile" => $mobile, "site_id" => $this->site_id, "code" => $code, "support_type" => [ "sms" ], "keywords" => "SET_PASSWORD" ]);
|
$res = $message_model->sendMessage([ 'type' => 'code', "mobile" => $mobile, "site_id" => $this->site_id, "code" => $code, "support_type" => [ "sms" ], "keywords" => "SET_PASSWORD" ]);
|
||||||
$res['code']=0;
|
// $res['code']=0;
|
||||||
$code=6666;
|
// $code=6666;
|
||||||
if (isset($res[ "code" ]) && $res[ "code" ] >= 0) {
|
if (isset($res[ "code" ]) && $res[ "code" ] >= 0) {
|
||||||
//将验证码存入缓存
|
//将验证码存入缓存
|
||||||
$key = 'password_mobile_code_' . md5(uniqid(null, true));
|
$key = 'password_mobile_code_' . md5(uniqid(null, true));
|
||||||
|
|
@ -295,12 +296,11 @@ class Member extends BaseApi
|
||||||
{
|
{
|
||||||
$token = $this->checkToken();
|
$token = $this->checkToken();
|
||||||
if ($token[ 'code' ] < 0) return $this->response($token);
|
if ($token[ 'code' ] < 0) return $this->response($token);
|
||||||
|
|
||||||
$code = str_pad(random_int(1, 9999), 4, 0, STR_PAD_LEFT);// 生成4位随机数,左侧补0
|
$code = str_pad(random_int(1, 9999), 4, 0, STR_PAD_LEFT);// 生成4位随机数,左侧补0
|
||||||
$code=6666;
|
$message_model = new Message();
|
||||||
// $message_model = new Message();
|
$res = $message_model->sendMessage([ 'type' => 'code', "member_id" => $this->member_id, "site_id" => $this->site_id, "code" => $code, "support_type" => [ "sms" ], "keywords" => "MEMBER_PAY_PASSWORD" ]);
|
||||||
// $res = $message_model->sendMessage([ 'type' => 'code', "member_id" => $this->member_id, "site_id" => $this->site_id, "code" => $code, "support_type" => [ "sms" ], "keywords" => "MEMBER_PAY_PASSWORD" ]);
|
// $code=6666;
|
||||||
$res['code']=0;
|
// $res['code']=0;
|
||||||
if ($res[ "code" ] >= 0) {
|
if ($res[ "code" ] >= 0) {
|
||||||
//将验证码存入缓存
|
//将验证码存入缓存
|
||||||
$key = 'pay_password_code_' . md5(uniqid(null, true));
|
$key = 'pay_password_code_' . md5(uniqid(null, true));
|
||||||
|
|
@ -317,7 +317,6 @@ class Member extends BaseApi
|
||||||
public function verifypaypwdcode()
|
public function verifypaypwdcode()
|
||||||
{
|
{
|
||||||
$key = isset($this->params[ 'key' ]) ? trim($this->params[ 'key' ]) : '';
|
$key = isset($this->params[ 'key' ]) ? trim($this->params[ 'key' ]) : '';
|
||||||
|
|
||||||
$verify_data = Cache::get($key);
|
$verify_data = Cache::get($key);
|
||||||
if ($verify_data[ "code" ] == $this->params[ "code" ]) {
|
if ($verify_data[ "code" ] == $this->params[ "code" ]) {
|
||||||
$res = $this->success([]);
|
$res = $this->success([]);
|
||||||
|
|
|
||||||
|
|
@ -164,16 +164,16 @@ class Memberwithdraw extends BaseApi
|
||||||
if($to_username){
|
if($to_username){
|
||||||
$member_model = new MemberModel();
|
$member_model = new MemberModel();
|
||||||
// 获取接收者信息
|
// 获取接收者信息
|
||||||
$to_member_info = $member_model->getMemberInfo($to_where, 'member_id,site_id,balance,balance_withdraw_apply,balance_withdraw,nickname,status,pay_password');
|
$to_member_info = $member_model->getMemberInfo($to_where, 'member_id,site_id,balance_money,balance_withdraw_apply,balance_withdraw,nickname,status,pay_password');
|
||||||
if(empty($to_member_info['data'])||$to_member_info['data']['status']!=1) return $this->response($this->error('会员账号不存在'));
|
if(empty($to_member_info['data'])||$to_member_info['data']['status']!=1) return $this->response($this->error('会员账号不存在'));
|
||||||
if($this->member_id==$to_member_info['data']['member_id']) return $this->response($this->error('不能转账给自己'));
|
if($this->member_id==$to_member_info['data']['member_id']) return $this->response($this->error('不能转账给自己'));
|
||||||
// 获取转让人信息
|
// 获取转让人信息
|
||||||
$member_info_result = $member_model->getMemberInfo([['member_id', '=', $token['data']['member_id']]], 'balance,username,nickname,status,pay_password');
|
$member_info_result = $member_model->getMemberInfo([['member_id', '=', $token['data']['member_id']]], 'balance_money,username,nickname,status,pay_password');
|
||||||
if($member_info_result['data']['pay_password'] == ''){
|
if($member_info_result['data']['pay_password'] == ''){
|
||||||
return $this->response(error(-801,'您未设置支付密码,需设置支付密码后进行转账,点击确定前往支付密码设置'));
|
return $this->response(error(-801,'您未设置支付密码,需设置支付密码后进行转账,点击确定前往支付密码设置'));
|
||||||
}
|
}
|
||||||
if(data_md5($password) != $member_info_result['data']['pay_password']) return $this->response($this->error('支付密码错误'));
|
if(data_md5($password) != $member_info_result['data']['pay_password']) return $this->response($this->error('支付密码错误'));
|
||||||
if($apply_money>$member_info_result['data']['balance']) return $this->response($this->error('账号余额不足'));
|
if($apply_money>$member_info_result['data']['balance_money']) return $this->response($this->error('账号余额不足'));
|
||||||
if($member_info_result['data']['status']!=1) return $this->response($this->error('未知错误'));
|
if($member_info_result['data']['status']!=1) return $this->response($this->error('未知错误'));
|
||||||
|
|
||||||
$withdraw_model = new WithdrawModel();
|
$withdraw_model = new WithdrawModel();
|
||||||
|
|
|
||||||
|
|
@ -43,9 +43,9 @@ class Task extends Controller
|
||||||
Cache::set("cron_last_load_time", time());
|
Cache::set("cron_last_load_time", time());
|
||||||
$cron_model = new \app\model\system\Cron();
|
$cron_model = new \app\model\system\Cron();
|
||||||
$cron_model->execute();
|
$cron_model->execute();
|
||||||
// sleep(60);
|
sleep(60);
|
||||||
// $url = url('cron/task/execute');
|
$url = url('cron/task/execute');
|
||||||
// http($url, 1);
|
http($url, 1);
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,12 +18,13 @@ return [
|
||||||
'AppInit' => [
|
'AppInit' => [
|
||||||
'app\event\InitConfig',
|
'app\event\InitConfig',
|
||||||
'app\event\InitAddon',
|
'app\event\InitAddon',
|
||||||
// 'app\event\InitCron',
|
|
||||||
],
|
],
|
||||||
'HttpRun' => [
|
'HttpRun' => [
|
||||||
'app\event\InitRoute',
|
'app\event\InitRoute',
|
||||||
],
|
],
|
||||||
'HttpEnd' => [],
|
'HttpEnd' => [
|
||||||
|
'app\event\InitCron',
|
||||||
|
],
|
||||||
'LogLevel' => [],
|
'LogLevel' => [],
|
||||||
'LogWrite' => [],
|
'LogWrite' => [],
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -131,10 +131,13 @@ class MemberAccount extends BaseModel
|
||||||
|
|
||||||
$from_type[ 'point' ][ 'sell' ] = [ 'type_name' => '秒杀赠送积分', 'type_url' => '' ];
|
$from_type[ 'point' ][ 'sell' ] = [ 'type_name' => '秒杀赠送积分', 'type_url' => '' ];
|
||||||
|
|
||||||
|
|
||||||
$from_type[ 'balance' ][ 'transfer' ] = [ 'type_name' => '转账', 'type_url' => '' ];
|
$from_type[ 'balance' ][ 'transfer' ] = [ 'type_name' => '转账', 'type_url' => '' ];
|
||||||
$from_type[ 'diamond' ]['diamond'] = [ 'type_name' => '赠送猕猴桃', 'type_url' => '' ];
|
|
||||||
$from_type[ 'balance' ]['diamond'] = [ 'type_name' => '赠送猕猴桃', 'type_url' => '' ];
|
$from_type[ 'balance' ]['diamond'] = [ 'type_name' => '赠送猕猴桃', 'type_url' => '' ];
|
||||||
|
$from_type[ 'balance' ]['intdiamond'] = [ 'type_name' => '提前秒杀猕猴桃', 'type_url' => '' ];
|
||||||
|
|
||||||
|
$from_type[ 'diamond' ]['diamond'] = [ 'type_name' => '赠送猕猴桃', 'type_url' => '' ];
|
||||||
|
$from_type[ 'diamond' ]['intdiamond'] = [ 'type_name' => '提前秒杀猕猴桃', 'type_url' => '' ];
|
||||||
|
|
||||||
$this->from_type = $from_type;
|
$this->from_type = $from_type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -211,9 +211,9 @@ class Withdraw extends BaseModel
|
||||||
try {
|
try {
|
||||||
//减少可提现余额
|
//减少可提现余额
|
||||||
$member_account = new MemberAccount();
|
$member_account = new MemberAccount();
|
||||||
$member_account->addMemberAccount($site_id, $member_id, 'balance', -$apply_money, 'transfer', "{$to_member_id}_会员转账", "给会员{$to_member_info['data']['nickname']}转账" . (-$apply_money));
|
$member_account->addMemberAccount($site_id, $member_id, 'balance_money', -$apply_money, 'transfer', "{$to_member_id}_会员转账", "给会员{$to_member_info['data']['nickname']}转账" . (-$apply_money));
|
||||||
//增加转账余额
|
//增加转账余额
|
||||||
$account_res = $member_account->addMemberAccount($site_id, $to_member_id, 'balance', $apply_money, 'transfer', "{$member_id}_会员转账", $memberInfo['data']['nickname'] . '转账' . (+$apply_money));
|
$account_res = $member_account->addMemberAccount($site_id, $to_member_id, 'balance_money', $apply_money, 'transfer', "{$member_id}_会员转账", $memberInfo['data']['nickname'] . '转账' . (+$apply_money));
|
||||||
if ($account_res['code'] != 0) return $account_res;
|
if ($account_res['code'] != 0) return $account_res;
|
||||||
return $this->success();
|
return $this->success();
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ class SystemConfig extends BaseModel
|
||||||
* @param $site_id
|
* @param $site_id
|
||||||
*/
|
*/
|
||||||
public function getSystemConfig($site_id = 0){
|
public function getSystemConfig($site_id = 0){
|
||||||
return $this->success(['is_open_queue' => 0]);
|
return $this->success(['is_open_queue' => 1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -16,6 +16,7 @@ use addon\aliapp\model\CloudPay;
|
||||||
use addon\aliapp\model\OpenPay;
|
use addon\aliapp\model\OpenPay;
|
||||||
use addon\futures\model\Forder;
|
use addon\futures\model\Forder;
|
||||||
use app\Controller;
|
use app\Controller;
|
||||||
|
use think\facade\Queue;
|
||||||
use think\Validate;
|
use think\Validate;
|
||||||
use think\facade\Db;
|
use think\facade\Db;
|
||||||
use addon\futures\model\User;
|
use addon\futures\model\User;
|
||||||
|
|
@ -24,9 +25,27 @@ class Test extends Controller
|
||||||
|
|
||||||
|
|
||||||
public function order(){
|
public function order(){
|
||||||
$order=model('order')->getInfo(['order_id'=>2]);
|
// $order=model('order')->getInfo(['order_id'=>2]);
|
||||||
$res=event('OrderPay',$order);
|
// $res=event('OrderPay',$order);
|
||||||
var_dump($res);
|
// $order['relate_id']=254;
|
||||||
|
// $res=event('CronOrderClose',$order);
|
||||||
|
// var_dump($res);
|
||||||
|
$params=[
|
||||||
|
[
|
||||||
|
'relate_id'=>'264',
|
||||||
|
'name'=>'264',
|
||||||
|
'event'=>'Cronexecute',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name'=>'265',
|
||||||
|
'event'=>'Cronexecute',
|
||||||
|
'relate_id'=>'265'
|
||||||
|
]
|
||||||
|
];
|
||||||
|
foreach ($params as $item){
|
||||||
|
var_dump($item);
|
||||||
|
Queue::push('Cronexecute', $item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function s(){
|
public function s(){
|
||||||
|
|
|
||||||
|
|
@ -60,6 +60,7 @@ class Delivery extends BaseShop
|
||||||
$condition = [
|
$condition = [
|
||||||
[ 'order_type', '=', 1 ],
|
[ 'order_type', '=', 1 ],
|
||||||
[ 'site_id', '=', $this->site_id ],
|
[ 'site_id', '=', $this->site_id ],
|
||||||
|
[ "promotion_type", "<>", 'futures'],
|
||||||
[ 'is_delete', '=', 0 ]
|
[ 'is_delete', '=', 0 ]
|
||||||
];
|
];
|
||||||
//订单状态
|
//订单状态
|
||||||
|
|
|
||||||
|
|
@ -62,6 +62,7 @@ class Orderimportfile extends BaseShop
|
||||||
[ 'order_status', 'in', array_keys($order_status_list) ],
|
[ 'order_status', 'in', array_keys($order_status_list) ],
|
||||||
[ 'order_type', '=', 1 ],
|
[ 'order_type', '=', 1 ],
|
||||||
[ 'site_id', '=', $this->site_id ],
|
[ 'site_id', '=', $this->site_id ],
|
||||||
|
[ "promotion_type", "<>", 'futures'],
|
||||||
[ 'is_delete', '=', 0 ]
|
[ 'is_delete', '=', 0 ]
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue