二级返佣修复

This commit is contained in:
sugar1569 2018-12-30 21:41:35 +08:00
parent 09c33e3200
commit bdc219ec1c
2 changed files with 39 additions and 5 deletions

View File

@ -91,6 +91,10 @@ class User extends ModelBasic
return $uid;
}
/** //TODO 一级返佣
* @param $orderInfo
* @return bool
*/
public static function backOrderBrokerage($orderInfo)
{
$userInfo = User::getUserInfo($orderInfo['uid']);
@ -102,6 +106,7 @@ class User extends ModelBasic
$brokerageRatio = (SystemConfigService::get('store_brokerage_ratio') ?: 0)/100;
if($brokerageRatio <= 0) return true;
$cost = isset($orderInfo['cost']) ? $orderInfo['cost'] : 0;//成本价
if($cost > $orderInfo['pay_price']) return true;//成本价大于支付价格时直接返回
$brokeragePrice = bcmul(bcsub($orderInfo['pay_price'],$cost,2),$brokerageRatio,2);
if($brokeragePrice <= 0) return true;
$mark = $userInfo['nickname'].'成功消费'.floatval($orderInfo['pay_price']).'元,奖励推广佣金'.floatval($brokeragePrice);
@ -110,6 +115,35 @@ class User extends ModelBasic
$res2 = self::bcInc($userInfo['spread_uid'],'now_money',$brokeragePrice,'uid');
$res = $res1 && $res2;
self::checkTrans($res);
if($res) self::backOrderBrokerageTwo($orderInfo);
return $res;
}
/**
* //TODO 二级推广
* @param $orderInfo
* @return bool
*/
public static function backOrderBrokerageTwo($orderInfo){
$userInfo = User::getUserInfo($orderInfo['uid']);
$userInfoTwo = User::getUserInfo($userInfo['spread_uid']);
if(!$userInfoTwo || !$userInfoTwo['spread_uid']) return true;
$storeBrokerageStatu = SystemConfigService::get('store_brokerage_statu') ? : 1;//获取后台分销类型
if($storeBrokerageStatu == 1){
if(!User::be(['uid'=>$userInfoTwo['spread_uid'],'is_promoter'=>1])) return true;
}
$brokerageRatio = (SystemConfigService::get('store_brokerage_two') ?: 0)/100;
if($brokerageRatio <= 0) return true;
$cost = isset($orderInfo['cost']) ? $orderInfo['cost'] : 0;//成本价
if($cost > $orderInfo['pay_price']) return true;//成本价大于支付价格时直接返回
$brokeragePrice = bcmul(bcsub($orderInfo['pay_price'],$cost,2),$brokerageRatio,2);
if($brokeragePrice <= 0) return true;
$mark = '二级推广人'.$userInfo['nickname'].'成功消费'.floatval($orderInfo['pay_price']).'元,奖励推广佣金'.floatval($brokeragePrice);
self::beginTrans();
$res1 = UserBill::income('获得推广佣金',$userInfoTwo['spread_uid'],'now_money','brokerage',$brokeragePrice,$orderInfo['id'],0,$mark);
$res2 = self::bcInc($userInfoTwo['spread_uid'],'now_money',$brokeragePrice,'uid');
$res = $res1 && $res2;
self::checkTrans($res);
return $res;
}

10
composer.lock generated
View File

@ -871,16 +871,16 @@
},
{
"name": "topthink/framework",
"version": "v5.0.21",
"version": "v5.0.23",
"source": {
"type": "git",
"url": "https://github.com/top-think/framework.git",
"reference": "ab826da071a7a47116a7f1d01f72228d6bcf212a"
"reference": "4cbc0b5e93314446243ebc7d5f005f9c32864737"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/top-think/framework/zipball/ab826da071a7a47116a7f1d01f72228d6bcf212a",
"reference": "ab826da071a7a47116a7f1d01f72228d6bcf212a",
"url": "https://api.github.com/repos/top-think/framework/zipball/4cbc0b5e93314446243ebc7d5f005f9c32864737",
"reference": "4cbc0b5e93314446243ebc7d5f005f9c32864737",
"shasum": ""
},
"require": {
@ -918,7 +918,7 @@
"orm",
"thinkphp"
],
"time": "2018-09-04T09:18:48+00:00"
"time": "2018-12-09T12:40:40+00:00"
},
{
"name": "topthink/think-captcha",