|
@@ -11,6 +11,7 @@ namespace app\models\game;
|
|
|
use app\models\store\StoreOrder;
|
|
use app\models\store\StoreOrder;
|
|
|
use app\models\user\User;
|
|
use app\models\user\User;
|
|
|
use app\models\user\UserBill;
|
|
use app\models\user\UserBill;
|
|
|
|
|
+use app\models\user\UserLevel;
|
|
|
use crmeb\traits\ModelTrait;
|
|
use crmeb\traits\ModelTrait;
|
|
|
use crmeb\basic\BaseModel;
|
|
use crmeb\basic\BaseModel;
|
|
|
use think\Exception;
|
|
use think\Exception;
|
|
@@ -60,6 +61,7 @@ class Lottery extends BaseModel
|
|
|
else $res1 = true;
|
|
else $res1 = true;
|
|
|
$ratio = bcdiv(sys_config('game_award_lake', 5, true), 100, 4);
|
|
$ratio = bcdiv(sys_config('game_award_lake', 5, true), 100, 4);
|
|
|
$res1 = $res1 && StoreOrder::addAwardLake(bcmul($all_integral, $ratio, 2), $res2->id, 'game');
|
|
$res1 = $res1 && StoreOrder::addAwardLake(bcmul($all_integral, $ratio, 2), $res2->id, 'game');
|
|
|
|
|
+ $res1 = $res1 && self::groupIntegral($all_integral, $res2->id, $uid);
|
|
|
if ($res1 && $res2) {
|
|
if ($res1 && $res2) {
|
|
|
BaseModel::commitTrans();
|
|
BaseModel::commitTrans();
|
|
|
return true;
|
|
return true;
|
|
@@ -73,6 +75,29 @@ class Lottery extends BaseModel
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ public static function groupIntegral($integral, $order_id, $uid): bool
|
|
|
|
|
+ {
|
|
|
|
|
+
|
|
|
|
|
+ $userInfo = User::getUserInfo($uid);
|
|
|
|
|
+ $spread = User::getUserInfo($userInfo['spread_uid']);
|
|
|
|
|
+ $send = 0;
|
|
|
|
|
+ $res = true;
|
|
|
|
|
+
|
|
|
|
|
+ while ($spread) {
|
|
|
|
|
+ $level = UserLevel::getUserLevelInfo(UserLevel::getUserLevel($spread['uid']));
|
|
|
|
|
+ if ($level) {
|
|
|
|
|
+ $integral = bcmul($integral, bcdiv($level['group_game_award'], 100, 4), 2);
|
|
|
|
|
+ if ($integral > $send) {
|
|
|
|
|
+ $real_send = $integral - $send;
|
|
|
|
|
+ $res = false != UserBill::income('团队用户参加游戏赠送积分', $spread['uid'], 'integral', 'group_gain', $real_send, $order_id, $spread['integral'], '团队用户参加游戏赠送' . floatval($real_send) . '积分', 0);
|
|
|
|
|
+ $send = $integral;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ $spread = User::getUserInfo($spread['spread_uid']);
|
|
|
|
|
+ }
|
|
|
|
|
+ return $res;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
public static function openLottery()
|
|
public static function openLottery()
|
|
|
{
|
|
{
|
|
|
|
|
|