更新秒杀
This commit is contained in:
parent
6172f453b3
commit
bab6ea2b6f
|
|
@ -21,7 +21,7 @@ return [
|
|||
//支付方式,后台查询
|
||||
'PayType' => [
|
||||
'addon\alipay\event\PayType',
|
||||
'addon\alipay\event\ZMPayType'
|
||||
// 'addon\alipay\event\ZMPayType'
|
||||
],
|
||||
//支付,前台应用
|
||||
'Pay' => [
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ class TradePayType
|
|||
|
||||
$info = [
|
||||
'cash' => '现金支付',
|
||||
'back_transfer' => '银行转账',
|
||||
'own_wechatpay' => '个人微信',
|
||||
'own_alipay' => '个人支付宝',
|
||||
'own_pos' => '个人pos刷卡',
|
||||
|
|
|
|||
|
|
@ -186,7 +186,7 @@ class Poster extends BaseModel
|
|||
$upload = new Upload($site_id);
|
||||
$cloud_res = $upload->fileCloud($res[ 'data' ][ 'path' ]);
|
||||
if ($cloud_res[ 'code' ] >= 0) {
|
||||
return $this->success([ "path" => $cloud_res[ 'data' ] ]);
|
||||
return $this->success([ "path" => $cloud_res[ 'data' ].'?v='.time() ]);
|
||||
} else {
|
||||
return $this->error();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -428,11 +428,9 @@ class Fenxiao extends BaseShop
|
|||
{
|
||||
$model = new FenxiaoApply();
|
||||
if (request()->isAjax()) {
|
||||
|
||||
$condition[] = [ 'fa.site_id', '=', $this->site_id ];
|
||||
$condition[] = [ 'fa.status', '=', 1 ];
|
||||
$condition[] = [ 'm.is_delete', '=', 0 ];
|
||||
|
||||
$fenxiao_name = input('fenxiao_name', '');
|
||||
if ($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) ] ];
|
||||
} elseif (!$create_start_time && $create_end_time) {
|
||||
$condition[] = [ 'fa.create_time', '<=', strtotime($create_end_time) ];
|
||||
|
||||
} elseif ($create_start_time && !$create_end_time) {
|
||||
$condition[] = [ 'fa.create_time', '>=', strtotime($create_start_time) ];
|
||||
}
|
||||
|
||||
$rg_start_time = input('rg_start_time', '');
|
||||
$rg_end_time = input('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) {
|
||||
$condition[] = [ 'fa.reg_time', '>=', strtotime($rg_start_time) ];
|
||||
}
|
||||
|
||||
$join = [
|
||||
[ '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_size = input('page_size', PAGE_LIST_ROWS);
|
||||
$list = $model->getFenxiaoApplyPageList($condition, $page, $page_size, 'fa.create_time desc', $field, 'fa', $join);
|
||||
return $list;
|
||||
|
||||
} else {
|
||||
|
||||
$level_model = new FenxiaoLevelModel();
|
||||
$level_list = $level_model->getLevelList([ [ 'status', '=', 1 ] ], 'level_id,level_name');
|
||||
$this->assign('level_list', $level_list[ 'data' ]);
|
||||
|
||||
$this->forthMenu();
|
||||
return $this->fetch('fenxiao/apply');
|
||||
}
|
||||
|
|
@ -498,7 +489,6 @@ class Fenxiao extends BaseShop
|
|||
public function applyPass()
|
||||
{
|
||||
$apply_id = input('apply_id');
|
||||
|
||||
$model = new FenxiaoApply();
|
||||
$res = $model->pass($apply_id, $this->site_id);
|
||||
return $res;
|
||||
|
|
|
|||
|
|
@ -99,6 +99,22 @@
|
|||
</div>
|
||||
</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">
|
||||
{{# if(d.status == 1){ }}
|
||||
|
|
@ -190,7 +206,25 @@
|
|||
templet: function(data) {
|
||||
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',
|
||||
title: '申请时间',
|
||||
unresize: 'false',
|
||||
|
|
|
|||
|
|
@ -126,6 +126,7 @@ class Futures extends BaseApi{
|
|||
$condition[] = ['a.status', '=', $status];
|
||||
break;
|
||||
}
|
||||
|
||||
// 获取内容
|
||||
$field = [
|
||||
'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) {
|
||||
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([
|
||||
'status' => $futuresInfo['status'],
|
||||
'release_time' => time() + $basics['release_wait'] * 24 * 60 * 60,// 配置上线延迟时间
|
||||
'release_time' => $release_time,// 配置上线延迟时间
|
||||
'price' => $price,
|
||||
'total' => $futuresInfo['total'],
|
||||
'service_price' => $service_price,
|
||||
|
|
@ -184,6 +188,7 @@ class Futures extends BaseModel
|
|||
}
|
||||
model('futures')->update([
|
||||
'status' => 1,
|
||||
'release_time' => 0,
|
||||
], [['id', '=', $id]]);
|
||||
//扣除服务费
|
||||
$memberAccountModel = new MemberAccount();
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ class FuturesOrderCreate extends OrderCreate
|
|||
* 订单创建
|
||||
* @param array $data
|
||||
*/
|
||||
public function create($data)
|
||||
public function create($data,$is_special=false)
|
||||
{
|
||||
//查询出会员相关信息
|
||||
$calculate_data = $this->calculate($data);
|
||||
|
|
@ -206,7 +206,7 @@ class FuturesOrderCreate extends OrderCreate
|
|||
// 提前秒杀扣除钻石
|
||||
if($calculate_data['times']['is_early']){
|
||||
$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 ]);
|
||||
|
|
@ -218,9 +218,11 @@ class FuturesOrderCreate extends OrderCreate
|
|||
}
|
||||
}
|
||||
}
|
||||
//生成整体支付单据
|
||||
// $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 ($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'] ?? '';
|
||||
if ($execute_time) {
|
||||
$cron_model = new Cron();
|
||||
$execute_time +=strtotime(date('Ymd'));
|
||||
|
|
@ -271,7 +273,6 @@ class FuturesOrderCreate extends OrderCreate
|
|||
return $data['times'];
|
||||
}
|
||||
$data['times'] = $data['times']['data'];
|
||||
// $data['fenxiao_info'] = model('fenxiao')->getInfo([['member_id','=',$data['member_id']]]);
|
||||
|
||||
$basics = $futuresModel->getBasicsConfig($site_id)['data']['value'];
|
||||
$data['futures_user_info'] = model('futures_user')->getInfo([['member_id','=',$data['member_id']]]);
|
||||
|
|
@ -283,17 +284,25 @@ class FuturesOrderCreate extends OrderCreate
|
|||
return error(-1,'钻石不足,不可提前秒杀');
|
||||
}
|
||||
}
|
||||
|
||||
if($data['futures_user_info'] == NULL){
|
||||
if(empty($data['futures_user_info'] )){
|
||||
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){
|
||||
return error(-1,'下单次数达到限制,需提货恢复下单');
|
||||
}
|
||||
|
||||
|
||||
// 判断是否本人购买
|
||||
if($data['member_id'] == $futures_info['seller_uid'] && $data['futures_user_info']['is_special'] == 0){
|
||||
return error(-1,'本人订单不可本人购买');
|
||||
|
|
|
|||
|
|
@ -124,6 +124,19 @@
|
|||
<div class="word-aux ">达到订单数限制后,进行提货恢复限制数</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-form-item">
|
||||
<label class="layui-form-label">首单送积分:</label>
|
||||
|
|
@ -321,7 +334,7 @@
|
|||
<label class="layui-form-label">回购账号支付密码:</label>
|
||||
<div class="layui-input-block">
|
||||
<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>
|
||||
|
|
|
|||
|
|
@ -119,15 +119,15 @@
|
|||
layer.msg('请选择商品!');
|
||||
return false;
|
||||
}
|
||||
if(parseFloat(field['info[unit_price]']) < parseFloat(goods_info['price'])){
|
||||
layer.msg('商品价格不能低于售卖价格!');
|
||||
return false;
|
||||
}
|
||||
if(parseFloat(field['info[unit_price]']) >= parseFloat(goods_info['market_price'])){
|
||||
console.log(field['info[unit_price]'],goods_info['market_price']);
|
||||
layer.msg('商品价格必须低于原价(划线价)!');
|
||||
return false;
|
||||
}
|
||||
// if(parseFloat(field['info[unit_price]']) < parseFloat(goods_info['price'])){
|
||||
// layer.msg('商品价格不能低于售卖价格!');
|
||||
// return false;
|
||||
// }
|
||||
// if(parseFloat(field['info[unit_price]']) >= parseFloat(goods_info['market_price'])){
|
||||
// console.log(field['info[unit_price]'],goods_info['market_price']);
|
||||
// layer.msg('商品价格必须低于原价(划线价)!');
|
||||
// return false;
|
||||
// }
|
||||
// 数据提交
|
||||
let tips = '确认赠送当前用户[' + field['info[order_num]'] + ']个订单,每个订单拥有[' + field['info[goods_num]'] +']个商品';
|
||||
layer.confirm(tips, {icon: 3, title:'提示'}, function(index){
|
||||
|
|
|
|||
|
|
@ -55,7 +55,10 @@ class Memberrecharge extends BaseApi
|
|||
$member_recharge_model = new MemberRechargeModel();
|
||||
$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['config']=$config['value'];
|
||||
return $this->response($list);
|
||||
}
|
||||
}
|
||||
|
|
@ -29,10 +29,10 @@ class Order extends BaseApi
|
|||
if ($token['code'] < 0) return $this->response($token);
|
||||
$page = isset($this->params['page']) ? $this->params['page'] : 1;
|
||||
$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();
|
||||
$condition = array(
|
||||
['status', '=', 2],
|
||||
// ['status', '=', 2],
|
||||
['member_id', '=', $this->member_id],
|
||||
['site_id', '=', $this->site_id]
|
||||
);
|
||||
|
|
|
|||
|
|
@ -43,6 +43,7 @@ class Ordercreate extends BaseApi
|
|||
'site_id' => $this->site_id
|
||||
];
|
||||
|
||||
return $this->response($this->error('', 'err'));
|
||||
if ($data['recharge_id'] == 0 && $data['face_value'] == 0) {
|
||||
return $this->response($this->error('', '缺少必填参数数据'));
|
||||
}
|
||||
|
|
@ -50,4 +51,32 @@ class Ordercreate extends BaseApi
|
|||
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 成都云之牛科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.cdcloudshop.com
|
||||
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
|
|
@ -31,7 +30,7 @@ class Memberrecharge extends BaseModel
|
|||
public function addMemberRecharge($data)
|
||||
{
|
||||
$data['create_time'] = time();
|
||||
$data['status'] = 1;
|
||||
$data['status'] = 1;
|
||||
|
||||
$res = model('member_recharge')->add($data);
|
||||
Cache::tag("member_recharge")->clear();
|
||||
|
|
@ -48,7 +47,7 @@ class Memberrecharge extends BaseModel
|
|||
{
|
||||
$data['update_time'] = time();
|
||||
$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->deletePic($recharge_info['cover_img'], $recharge_info['site_id']);
|
||||
}
|
||||
|
|
@ -67,7 +66,7 @@ class Memberrecharge extends BaseModel
|
|||
public function deleteMemberRecharge($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->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';
|
||||
|
||||
$model = new CouponType();
|
||||
$coupon = $model->getCouponTypeList([['coupon_type_id', 'in', $recharge['coupon_id']]], $coupon_field);
|
||||
$model = new CouponType();
|
||||
$coupon = $model->getCouponTypeList([['coupon_type_id', 'in', $recharge['coupon_id']]], $coupon_field);
|
||||
$recharge['coupon_list'] = $coupon;
|
||||
}
|
||||
}
|
||||
|
|
@ -119,12 +118,13 @@ class Memberrecharge extends BaseModel
|
|||
|
||||
/**
|
||||
* 套餐列表
|
||||
* @param array $condition
|
||||
* @param string $order
|
||||
* @param string $field
|
||||
* @param array $condition
|
||||
* @param string $order
|
||||
* @param string $field
|
||||
* @return array
|
||||
*/
|
||||
public function getMemberRechargeList($condition = [], $order = '', $field = '*'){
|
||||
public function getMemberRechargeList($condition = [], $order = '', $field = '*')
|
||||
{
|
||||
$list = model('member_recharge')->getList($condition, $field, $order);
|
||||
return $this->success($list);
|
||||
}
|
||||
|
|
@ -138,7 +138,7 @@ class Memberrecharge extends BaseModel
|
|||
public function setConfig($data, $is_use, $site_id)
|
||||
{
|
||||
$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;
|
||||
}
|
||||
|
||||
|
|
@ -148,7 +148,12 @@ class Memberrecharge extends BaseModel
|
|||
public function getConfig($site_id)
|
||||
{
|
||||
$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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@
|
|||
* Copy right 2019-2029 成都云之牛科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.cdcloudshop.com
|
||||
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
|
|
@ -38,7 +37,6 @@ class MemberrechargeOrder extends BaseModel
|
|||
public function getPayType()
|
||||
{
|
||||
//获取订单基础的其他支付方式
|
||||
|
||||
$pay_type = $this->pay_type;
|
||||
//获取当前所有在线支付方式
|
||||
$onlinepay = event('PayType');
|
||||
|
|
@ -50,11 +48,12 @@ class MemberrechargeOrder extends BaseModel
|
|||
$trade_pay_type_list = event('TradePayType', []);
|
||||
if (!empty($trade_pay_type_list)) {
|
||||
foreach ($trade_pay_type_list as $k => $v) {
|
||||
if(!empty($v)){
|
||||
if (!empty($v)) {
|
||||
$pay_type = array_merge($pay_type, $v);
|
||||
}
|
||||
}
|
||||
}
|
||||
$pay_type['back_transfer'] = '银行转账';
|
||||
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';
|
||||
|
||||
$model = new CouponType();
|
||||
$coupon = $model->getCouponTypeList([['coupon_type_id', 'in', $order['coupon_id']]], $coupon_field);
|
||||
$model = new CouponType();
|
||||
$coupon = $model->getCouponTypeList([['coupon_type_id', 'in', $order['coupon_id']]], $coupon_field);
|
||||
$order['coupon_list'] = $coupon;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Cache::tag("member_recharge_order")->clear();
|
||||
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 = '*')
|
||||
{
|
||||
$list = model('member_recharge_order')->pageList($condition, $field, $order, $page, $page_size);
|
||||
if(!empty($list['list'])){
|
||||
foreach($list['list'] as $k=>$v){
|
||||
if (!empty($list['list'])) {
|
||||
foreach ($list['list'] as $k => $v) {
|
||||
$list['list'][$k]['coupon_name'] = '';
|
||||
$coupon_name = '';
|
||||
if(!empty($v['coupon_id'])){
|
||||
$coupon_array = explode(',',$v['coupon_id']);
|
||||
foreach($coupon_array as $value){
|
||||
$coupon_name_value = model('promotion_coupon_type')->getValue([['coupon_type_id','=',$value]],'coupon_name');
|
||||
$coupon_name .= ','.$coupon_name_value;
|
||||
if (!empty($v['coupon_id'])) {
|
||||
$coupon_array = explode(',', $v['coupon_id']);
|
||||
foreach ($coupon_array as $value) {
|
||||
$coupon_name_value = model('promotion_coupon_type')->getValue([['coupon_type_id', '=', $value]], 'coupon_name');
|
||||
$coupon_name .= ',' . $coupon_name_value;
|
||||
}
|
||||
$coupon_name = ltrim($coupon_name,',');
|
||||
$coupon_name = ltrim($coupon_name, ',');
|
||||
}
|
||||
$list['list'][$k]['coupon_name'] = $coupon_name;
|
||||
}
|
||||
|
|
@ -123,71 +121,66 @@ class MemberrechargeOrder extends BaseModel
|
|||
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 = $this->getMemberRechargeOrderInfo([['out_trade_no', '=', $data['out_trade_no']]], $order_field);
|
||||
$order_info = $order['data'];
|
||||
$order = $this->getMemberRechargeOrderInfo([['out_trade_no', '=', $data['out_trade_no']]], $order_field);
|
||||
$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) {
|
||||
model('member_recharge_order')->startTrans();
|
||||
try {
|
||||
|
||||
$pay_list = $this->getPayType();
|
||||
$pay_list = $this->getPayType();
|
||||
$pay_type_name = '';
|
||||
if (!empty($data['pay_type'])) {
|
||||
$pay_type_name = $pay_list[$data['pay_type']];
|
||||
}
|
||||
|
||||
//修改订单状态
|
||||
$order_data = [
|
||||
'pay_type' => $data['pay_type'],
|
||||
'pay_type' => $data['pay_type'],
|
||||
'pay_type_name' => $pay_type_name,
|
||||
'pay_time' => time(),
|
||||
'price' => $order_info['buy_price'],
|
||||
'status' => 2
|
||||
'pay_time' => time(),
|
||||
'price' => $order_info['buy_price'],
|
||||
'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_time'] = time();
|
||||
$order_info['use_time'] = time();
|
||||
$card_model->addMemberRechargeCard($order_info);
|
||||
|
||||
//发放礼包
|
||||
$card_model->addMemberAccount($order_info);
|
||||
|
||||
//获取套餐信息
|
||||
$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;
|
||||
$recharge_model->editMemberRecharge([['recharge_id', '=', $order_info['recharge_id']]], ['sale_num' => $sale_num]);
|
||||
}
|
||||
$is_stat = $data['is_stat'] ?? true;
|
||||
if($is_stat){
|
||||
if ($is_stat) {
|
||||
event('MemberRechargeOrderPay', ['order_id' => $order_info['order_id']]);
|
||||
$stat_model = new Stat();
|
||||
$stat_res = $stat_model->switchStat([
|
||||
'type' => 'recharge',
|
||||
'data' => [
|
||||
'order_id' => $order_info[ 'order_id' ],
|
||||
'site_id' => $order_info[ 'site_id' ]
|
||||
'order_id' => $order_info['order_id'],
|
||||
'site_id' => $order_info['site_id']
|
||||
]
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
model('member_recharge_order')->commit();
|
||||
return $this->success($res);
|
||||
} catch (\Exception $e) {
|
||||
|
||||
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());
|
||||
}
|
||||
} else {
|
||||
return $this->success(true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -198,7 +191,7 @@ class MemberrechargeOrder extends BaseModel
|
|||
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'];
|
||||
if (empty($order_info)) {
|
||||
$res = true;
|
||||
|
|
@ -216,11 +209,11 @@ class MemberrechargeOrder extends BaseModel
|
|||
|
||||
/**
|
||||
* 获取总数
|
||||
* @param array $where
|
||||
* @param string $field
|
||||
* @param string $alias
|
||||
* @param null $join
|
||||
* @param null $group
|
||||
* @param array $where
|
||||
* @param string $field
|
||||
* @param string $alias
|
||||
* @param null $join
|
||||
* @param null $group
|
||||
* @return array
|
||||
*/
|
||||
public function getOrderCount($where = [], $field = '*', $alias = 'a', $join = null, $group = null)
|
||||
|
|
@ -231,10 +224,10 @@ class MemberrechargeOrder extends BaseModel
|
|||
|
||||
/**
|
||||
* 获取总和
|
||||
* @param array $where
|
||||
* @param string $field
|
||||
* @param string $alias
|
||||
* @param null $join
|
||||
* @param array $where
|
||||
* @param string $field
|
||||
* @param string $alias
|
||||
* @param null $join
|
||||
* @return array
|
||||
*/
|
||||
public function getOrderSum($where = [], $field = '*', $alias = 'a', $join = null)
|
||||
|
|
|
|||
|
|
@ -57,6 +57,9 @@ class MemberrechargeOrderCreate extends OrderCreate
|
|||
"growth" => 0,
|
||||
"coupon_id" => 0,
|
||||
);
|
||||
if(isset($data['bank_account'])){
|
||||
$recharge_info['recharge_name']='银行卡转账';
|
||||
}
|
||||
}
|
||||
//创建或加入
|
||||
$pay = new Pay();
|
||||
|
|
@ -83,6 +86,7 @@ class MemberrechargeOrderCreate extends OrderCreate
|
|||
'order_from_name' => $data['order_from_name'],
|
||||
'site_id' => $data['site_id'],
|
||||
'store_id' => $data['store_id'] ?? 0,
|
||||
'back_transfer' => $data['back_transfer'] ?? '',
|
||||
'remark' => $data['remark'] ?? '',
|
||||
'relate_id' => $data['relate_id'] ?? 0,
|
||||
'relate_type' => $data['relate_type'] ?? '',
|
||||
|
|
@ -103,8 +107,10 @@ class MemberrechargeOrderCreate extends OrderCreate
|
|||
} else {
|
||||
$execute_time = $now_time + 3600;//尚未配置 默认一天
|
||||
}
|
||||
$cron_model = new Cron();
|
||||
$cron_model->addCron(1, 0, "订单自动关闭", "MemberrechargeOrderClose", $execute_time, $order_id);
|
||||
if(!isset($data['bank_account'])) {
|
||||
$cron_model = new Cron();
|
||||
$cron_model->addCron(1, 0, "订单自动关闭", "MemberrechargeOrderClose", $execute_time, $order_id);
|
||||
}
|
||||
event("MemberRechargeOrderCreate", ['order_id' => $order_id]);
|
||||
model("member_recharge_order")->commit();
|
||||
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 $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';
|
||||
|
||||
|
|
@ -262,7 +262,7 @@ class Memberrecharge extends BaseShop
|
|||
$end_time = input('end_time', '');
|
||||
$order_no = input('order_no', '');
|
||||
|
||||
$condition[] = [ 'status', '=', 2 ];
|
||||
// $condition[] = [ 'status', '=', 2 ];
|
||||
if ($nickname) {
|
||||
$condition[] = [ 'nickname', 'like', '%' . $nickname . '%' ];
|
||||
}
|
||||
|
|
@ -313,16 +313,60 @@ class Memberrecharge extends BaseShop
|
|||
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
|
||||
*/
|
||||
public function setConfig()
|
||||
{
|
||||
$model = new MemberRechargeModel();
|
||||
$is_use = input('is_use', 0);
|
||||
$data = [];
|
||||
return $model->setConfig($data, $is_use, $this->site_id);
|
||||
$config = $model->getConfig($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()
|
||||
|
|
|
|||
|
|
@ -4,6 +4,9 @@
|
|||
.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 .single-filter-box{padding: 0;}
|
||||
|
||||
.single-filter-box {justify-content: left;line-height: 34px}
|
||||
.single-filter-box a{cursor:pointer;margin-left: 10px}
|
||||
</style>
|
||||
{/block}
|
||||
{block name="main"}
|
||||
|
|
@ -20,6 +23,7 @@
|
|||
<!-- 搜索框 -->
|
||||
<div class="single-filter-box">
|
||||
<button class="layui-btn" onclick="add()">添加充值套餐</button>
|
||||
<a class="layui-btn layui-btn-primary" onclick="config()">充值设置</a>
|
||||
</div>
|
||||
|
||||
<div class="layui-tab table-tab" lay-filter="status">
|
||||
|
|
@ -280,5 +284,8 @@
|
|||
function add() {
|
||||
location.href = ns.url("memberrecharge://shop/memberrecharge/add");
|
||||
}
|
||||
function config(){
|
||||
location.href = ns.url("memberrecharge://shop/memberrecharge/setConfig");
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
|
|
@ -17,7 +17,15 @@
|
|||
</div>
|
||||
<div class="promotion-view-item">
|
||||
<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 class="promotion-view-item">
|
||||
|
|
@ -33,6 +41,15 @@
|
|||
<label>金额:</label>
|
||||
<span>{$info.buy_price}</span>
|
||||
</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">
|
||||
<label>赠送积分:</label>
|
||||
<span>{$info.point}</span>
|
||||
|
|
@ -67,7 +84,6 @@
|
|||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{if !empty($info.coupon_list)}
|
||||
<div class="layui-card card-common card-brief">
|
||||
<div class="layui-card-header">
|
||||
|
|
@ -82,12 +98,66 @@
|
|||
</div>
|
||||
</div>
|
||||
{/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 name="script"}
|
||||
<script>
|
||||
var promotion_list = {if !empty($info.coupon_list)} {:json_encode($info.coupon_list.data, JSON_UNESCAPED_UNICODE)}{else/}[] {/if};
|
||||
|
||||
layui.use('table', function() {
|
||||
layui.use(['table','form'], function() {
|
||||
new Table({
|
||||
elem: '#promotion_list',
|
||||
cols: [
|
||||
|
|
@ -108,6 +178,53 @@
|
|||
],
|
||||
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>
|
||||
{/block}
|
||||
|
|
@ -60,6 +60,9 @@ Order.prototype.cols = [
|
|||
h += '<div>';
|
||||
h += '<span>1件</span>';
|
||||
h += '</div>';
|
||||
h += '<div>';
|
||||
h += '<span>转账' + order.back_transfer + '</span>';
|
||||
h += '</div>';
|
||||
h += '</div>';
|
||||
return h;
|
||||
}
|
||||
|
|
@ -115,7 +118,14 @@ Order.prototype.cols = [
|
|||
className: "transaction-status",
|
||||
merge: true,
|
||||
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;
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -431,11 +431,4 @@ class Login extends BaseApi{
|
|||
return $this->response($this->error('',$e->getMessage()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -165,15 +165,16 @@ class Member extends BaseApi
|
|||
return $this->response($this->error("", "当前手机号已存在"));
|
||||
} else {
|
||||
$code = str_pad(random_int(1, 9999), 4, 0, STR_PAD_LEFT);// 生成4位随机数,左侧补0
|
||||
$code = 6666;// 生成4位随机数,左侧补0
|
||||
|
||||
$message_model = new Message();
|
||||
// $res = $message_model->sendMessage([
|
||||
// 'type' => 'code', "mobile" => $mobile,
|
||||
// "site_id" => $this->site_id, "code" => $code, "support_type" => [ "sms" ],
|
||||
// "keywords" => "MEMBER_BIND"
|
||||
// ]
|
||||
// );
|
||||
$res['code']=0;
|
||||
$res = $message_model->sendMessage([
|
||||
'type' => 'code', "mobile" => $mobile,
|
||||
"site_id" => $this->site_id, "code" => $code, "support_type" => [ "sms" ],
|
||||
"keywords" => "MEMBER_BIND"
|
||||
]
|
||||
);
|
||||
// $code = 6666;// 生成4位随机数,左侧补0
|
||||
// $res['code']=0;
|
||||
if ($res[ "code" ] >= 0) {
|
||||
//将验证码存入缓存
|
||||
$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' ][ 'mobile' ])) return $this->response($this->error([], '会员信息尚未绑定手机号!'));
|
||||
$mobile = $info[ 'data' ][ 'mobile' ];
|
||||
// $code = str_pad(random_int(1, 9999), 4, 0, STR_PAD_LEFT);// 生成4位随机数,左侧补0
|
||||
// $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['code']=0;
|
||||
$code=6666;
|
||||
$code = str_pad(random_int(1, 9999), 4, 0, STR_PAD_LEFT);// 生成4位随机数,左侧补0
|
||||
$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['code']=0;
|
||||
// $code=6666;
|
||||
if (isset($res[ "code" ]) && $res[ "code" ] >= 0) {
|
||||
//将验证码存入缓存
|
||||
$key = 'password_mobile_code_' . md5(uniqid(null, true));
|
||||
|
|
@ -295,12 +296,11 @@ class Member extends BaseApi
|
|||
{
|
||||
$token = $this->checkToken();
|
||||
if ($token[ 'code' ] < 0) return $this->response($token);
|
||||
|
||||
$code = str_pad(random_int(1, 9999), 4, 0, STR_PAD_LEFT);// 生成4位随机数,左侧补0
|
||||
$code=6666;
|
||||
// $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['code']=0;
|
||||
$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" ]);
|
||||
// $code=6666;
|
||||
// $res['code']=0;
|
||||
if ($res[ "code" ] >= 0) {
|
||||
//将验证码存入缓存
|
||||
$key = 'pay_password_code_' . md5(uniqid(null, true));
|
||||
|
|
@ -317,7 +317,6 @@ class Member extends BaseApi
|
|||
public function verifypaypwdcode()
|
||||
{
|
||||
$key = isset($this->params[ 'key' ]) ? trim($this->params[ 'key' ]) : '';
|
||||
|
||||
$verify_data = Cache::get($key);
|
||||
if ($verify_data[ "code" ] == $this->params[ "code" ]) {
|
||||
$res = $this->success([]);
|
||||
|
|
|
|||
|
|
@ -164,16 +164,16 @@ class Memberwithdraw extends BaseApi
|
|||
if($to_username){
|
||||
$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($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'] == ''){
|
||||
return $this->response(error(-801,'您未设置支付密码,需设置支付密码后进行转账,点击确定前往支付密码设置'));
|
||||
}
|
||||
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('未知错误'));
|
||||
|
||||
$withdraw_model = new WithdrawModel();
|
||||
|
|
|
|||
|
|
@ -43,9 +43,9 @@ class Task extends Controller
|
|||
Cache::set("cron_last_load_time", time());
|
||||
$cron_model = new \app\model\system\Cron();
|
||||
$cron_model->execute();
|
||||
// sleep(60);
|
||||
// $url = url('cron/task/execute');
|
||||
// http($url, 1);
|
||||
sleep(60);
|
||||
$url = url('cron/task/execute');
|
||||
http($url, 1);
|
||||
exit();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -18,12 +18,13 @@ return [
|
|||
'AppInit' => [
|
||||
'app\event\InitConfig',
|
||||
'app\event\InitAddon',
|
||||
// 'app\event\InitCron',
|
||||
],
|
||||
'HttpRun' => [
|
||||
'app\event\InitRoute',
|
||||
],
|
||||
'HttpEnd' => [],
|
||||
'HttpEnd' => [
|
||||
'app\event\InitCron',
|
||||
],
|
||||
'LogLevel' => [],
|
||||
'LogWrite' => [],
|
||||
|
||||
|
|
|
|||
|
|
@ -131,10 +131,13 @@ class MemberAccount extends BaseModel
|
|||
|
||||
$from_type[ 'point' ][ 'sell' ] = [ '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' ]['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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -211,9 +211,9 @@ class Withdraw extends BaseModel
|
|||
try {
|
||||
//减少可提现余额
|
||||
$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;
|
||||
return $this->success();
|
||||
} catch (\Exception $e) {
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ class SystemConfig extends BaseModel
|
|||
* @param $site_id
|
||||
*/
|
||||
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\futures\model\Forder;
|
||||
use app\Controller;
|
||||
use think\facade\Queue;
|
||||
use think\Validate;
|
||||
use think\facade\Db;
|
||||
use addon\futures\model\User;
|
||||
|
|
@ -24,9 +25,27 @@ class Test extends Controller
|
|||
|
||||
|
||||
public function order(){
|
||||
$order=model('order')->getInfo(['order_id'=>2]);
|
||||
$res=event('OrderPay',$order);
|
||||
var_dump($res);
|
||||
// $order=model('order')->getInfo(['order_id'=>2]);
|
||||
// $res=event('OrderPay',$order);
|
||||
// $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(){
|
||||
|
|
|
|||
|
|
@ -60,6 +60,7 @@ class Delivery extends BaseShop
|
|||
$condition = [
|
||||
[ 'order_type', '=', 1 ],
|
||||
[ 'site_id', '=', $this->site_id ],
|
||||
[ "promotion_type", "<>", 'futures'],
|
||||
[ 'is_delete', '=', 0 ]
|
||||
];
|
||||
//订单状态
|
||||
|
|
|
|||
|
|
@ -62,6 +62,7 @@ class Orderimportfile extends BaseShop
|
|||
[ 'order_status', 'in', array_keys($order_status_list) ],
|
||||
[ 'order_type', '=', 1 ],
|
||||
[ 'site_id', '=', $this->site_id ],
|
||||
[ "promotion_type", "<>", 'futures'],
|
||||
[ 'is_delete', '=', 0 ]
|
||||
];
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue