|
@@ -158,6 +158,7 @@ class Plantask extends Controller
|
|
|
}
|
|
|
|
|
|
$tendays_ago = $this->jiesuan_tendays_ago();
|
|
|
+// echo $tendays_ago;exit;
|
|
|
//
|
|
|
Db::startTrans();
|
|
|
$order_map = [
|
|
@@ -166,11 +167,17 @@ class Plantask extends Controller
|
|
|
'jiesuantime' => 0,
|
|
|
];
|
|
|
$order = Db::name('unishop_order')->where($order_map)->where('have_paid','gt',0)->order('id asc')->lock(true)->find();
|
|
|
+ if(empty($order)){
|
|
|
+ echo '没有数据';
|
|
|
+ Db::rollback();
|
|
|
+ exit;
|
|
|
+ }
|
|
|
+// dump($order);
|
|
|
|
|
|
//为上级做贡献,找到上级
|
|
|
$intro_uid = Db::name('user')->where('id',$order['user_id'])->value('intro_uid');
|
|
|
if(empty($intro_uid)){
|
|
|
- //没有上级,结束
|
|
|
+ echo '没有上级,结束';
|
|
|
Db::name('unishop_order')->where('id',$order['id'])->update(['jiesuantime'=>time()]);
|
|
|
Db::commit();
|
|
|
exit;
|
|
@@ -178,23 +185,26 @@ class Plantask extends Controller
|
|
|
|
|
|
//获取直推人数
|
|
|
$intro_number = Db::name('user')->where('intro_uid',$intro_uid)->count();
|
|
|
-
|
|
|
+// dump($intro_number);
|
|
|
//获取业绩
|
|
|
$yeji = $this->jiesuan_yeji($intro_uid);
|
|
|
+// dump($yeji);
|
|
|
|
|
|
//确定代理商等级,拿对应比例
|
|
|
$rule = $this->jiesuan_daili_level($intro_number,$yeji);
|
|
|
if($rule['bili'] == 0){
|
|
|
- //达不到第一级
|
|
|
+ echo '达不到第一级,结束';
|
|
|
Db::name('unishop_order')->where('id',$order['id'])->update(['jiesuantime'=>time()]);
|
|
|
Db::commit();
|
|
|
exit;
|
|
|
}
|
|
|
+// dump($rule);
|
|
|
|
|
|
//给直推
|
|
|
$score = bcdiv(bcmul($order['order_shouyi'],$rule['bili'],2),100,2);
|
|
|
+// dump($score);
|
|
|
if($score > 0){
|
|
|
- $rs_wallet = model('wallet')->lockChangeAccountRemain($intro_uid,'score',$score,6,$rule['level'].'级代理','unishop_order',$order['id']);
|
|
|
+ $rs_wallet = model('wallet')->lockChangeAccountRemain($intro_uid,'score',$score,6,$rule['level'].'级代理','unishop_order',$order['id'],$order['user_id']);
|
|
|
if($rs_wallet['status'] === false){
|
|
|
echo $rs_wallet['msg'];
|
|
|
Db::rollback();
|
|
@@ -211,7 +221,7 @@ class Plantask extends Controller
|
|
|
if($two_intro_count >= $rule['intronum']){//也要五个,且业绩不高于15万(极差)。这里很矛盾
|
|
|
$score_2 = $score;//目前是一样的,不再次计算了
|
|
|
if($score_2 > 0){
|
|
|
- $rs_wallet = model('wallet')->lockChangeAccountRemain($two_intro_uid,'score',$score_2,7,$rule['level'].'级代理(间推)','unishop_order',$order['id']);
|
|
|
+ $rs_wallet = model('wallet')->lockChangeAccountRemain($two_intro_uid,'score',$score_2,7,$rule['level'].'级代理(间推)','unishop_order',$order['id'],$order['user_id']);
|
|
|
if($rs_wallet['status'] === false){
|
|
|
echo $rs_wallet['msg'];
|
|
|
Db::rollback();
|
|
@@ -239,11 +249,13 @@ class Plantask extends Controller
|
|
|
}
|
|
|
|
|
|
Db::commit();
|
|
|
+ echo '完成'.$order['id'];
|
|
|
}
|
|
|
//获取业绩
|
|
|
private function jiesuan_yeji($user_id){
|
|
|
//找到所有下级
|
|
|
$user_ids = Db::name('user')->where('find_in_set(:intro_ids,intro_ids)', ['intro_ids' => $user_id])->column('id');
|
|
|
+// dump($user_ids);
|
|
|
|
|
|
if(empty($user_ids)){
|
|
|
return 0;
|
|
@@ -262,10 +274,11 @@ class Plantask extends Controller
|
|
|
private function jiesuan_daili_level($intronum,$yeji){
|
|
|
|
|
|
$data = Db::name('zongdai')->order('id asc')->select();
|
|
|
+// dump($data);
|
|
|
|
|
|
$return = $data[0]; //默认第0个
|
|
|
foreach($data as $key => $rule){
|
|
|
- if($intronum >= $rule['intronum'] && $yeji >= $rule['bili']){
|
|
|
+ if($intronum >= $rule['intronum'] && $yeji >= $rule['yeji']){
|
|
|
$return = $rule;
|
|
|
}
|
|
|
}
|