|
@@ -6,6 +6,7 @@
|
|
|
|
|
|
namespace app\models\many;
|
|
|
|
|
|
+use app\admin\model\system\SystemConfig;
|
|
|
use app\models\user\User;
|
|
|
use app\models\user\UserBill;
|
|
|
use crmeb\services\PHPExcelService;
|
|
@@ -72,7 +73,7 @@ class ManyOrder extends BaseModel
|
|
|
if ($order){
|
|
|
foreach ($order as $item)
|
|
|
{
|
|
|
- if (strtotime($item['create_time'])+600 < time()){
|
|
|
+ if (strtotime($item['create_time'])+(86400*7) < time()){
|
|
|
$user = User::where('uid', $item['uid'])->find();//用户
|
|
|
$user1 = [];
|
|
|
$user2 = [];
|
|
@@ -96,7 +97,7 @@ class ManyOrder extends BaseModel
|
|
|
$user2['purple_integral'] += round($sy2 * 0.7, 2);
|
|
|
$user2['business_integral'] += round($sy2 * 0.3, 2);
|
|
|
}
|
|
|
- self::where('id', $item['id'])->update(['status' => 1]);
|
|
|
+ self::where('id', $item['id'])->update(['status' => 1, 'return_time' => time()]);
|
|
|
$user->save();
|
|
|
UserBill::income('众筹成功奖励紫积分', $user['uid'], 'purple_integral', 'zccg', $purple_integral, $user['spread_uid'], $user['purple_integral'], '众筹成功返还紫积分');
|
|
|
UserBill::income('众筹成功奖励商家积分', $user['uid'], 'business_integral', 'zccg', $business_integral, $user['spread_uid'], $user['business_integral'], '众筹成功返还商家积分');
|
|
@@ -115,5 +116,166 @@ class ManyOrder extends BaseModel
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 团队奖励
|
|
|
+ * @return void
|
|
|
+ * @throws \think\db\exception\DataNotFoundException
|
|
|
+ * @throws \think\db\exception\DbException
|
|
|
+ * @throws \think\db\exception\ModelNotFoundException
|
|
|
+ */
|
|
|
+ public static function push()
|
|
|
+ {
|
|
|
+ if (!Push::where('add_time', strtotime('today'))->find()){
|
|
|
+ $user = User::select();
|
|
|
+ foreach ($user as $item)
|
|
|
+ {
|
|
|
+ $price = ManyOrder::whereBetweenTime('return_time', strtotime('yesterday'), strtotime('today'))->where('uid', $item['uid'])->sum('price');// 昨天众筹成功返还的金额流水
|
|
|
+ if ($item['spread_uid'] > 0 and $price > 0){
|
|
|
+ $spread = getParent($item['uid']);// 找到所有上级
|
|
|
+ $v1 = 0;
|
|
|
+ $v2 = 0;
|
|
|
+ $v3 = 0;
|
|
|
+ $one = SystemConfig::getConfigValue('v1')/100; // v1比例
|
|
|
+ $tow = SystemConfig::getConfigValue('v2')/100;// v2比例
|
|
|
+ $three = SystemConfig::getConfigValue('v3')/100;// v3比例
|
|
|
+ foreach ($spread as $value) {
|
|
|
+ $details = User::where('uid', $value)->find();
|
|
|
+ if ($details['level'] == 1){
|
|
|
+ if ($v2 == 0 and $v3 == 0){
|
|
|
+ // 没有发放v2和v3的奖励
|
|
|
+ if ($v1 == 0) { // 没有发放v1的奖励
|
|
|
+ $jl = $price * $one;
|
|
|
+ $details['purple_integral'] = $jl * 0.7; // 百分之70的紫积分
|
|
|
+ $details['business_integral'] = $jl * 0.3; // 百分之30的商家积分
|
|
|
+ $v1++;
|
|
|
+ }elseif ($v1 == 1){// 发放v1奖励1次
|
|
|
+ $jl = ($price*$one)*0.05;//平级的百分之五
|
|
|
+ $details['purple_integral'] = $jl * 0.7; // 百分之70的紫积分
|
|
|
+ $details['business_integral'] = $jl * 0.3; // 百分之30的商家积分
|
|
|
+ $v1++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }elseif ($details['level'] == 2){
|
|
|
+ if ($v3 == 0){
|
|
|
+ // 没有发放v3的奖励
|
|
|
+ if ($v1 == 0 and $v2 == 0) { // 没有发放v1和v2的奖励的奖励
|
|
|
+ $jl = $price * $tow; // 拿到流水的百分之八
|
|
|
+ $details['purple_integral'] = $jl * 0.7; // 百分之70的紫积分
|
|
|
+ $details['business_integral'] = $jl * 0.3; // 百分之30的商家积分
|
|
|
+ $v2++;
|
|
|
+ }elseif($v1 == 0 and $v2 == 1) { // 没有发放v1和v2的奖励的奖励
|
|
|
+ $jl = ($price * $tow)*0.05; // 拿到流水的百分之八
|
|
|
+ $details['purple_integral'] = $jl * 0.7; // 百分之70的紫积分
|
|
|
+ $details['business_integral'] = $jl * 0.3; // 百分之30的商家积分
|
|
|
+ $v2++;
|
|
|
+ }elseif ($v1 > 0 and $v2 == 0){// 发放v1奖励,没有发放v2的奖励
|
|
|
+ $jl = $price * ($tow - $one); // 拿到流水减掉v1的百分之五
|
|
|
+ $details['purple_integral'] = $jl * 0.7; // 百分之70的紫积分
|
|
|
+ $details['business_integral'] = $jl * 0.3; // 百分之30的商家积分
|
|
|
+ $v2++;
|
|
|
+ }elseif ($v1 > 0 and $v2 == 1){// 发放v1奖励,发放v2的奖励一次
|
|
|
+ $jl = ($price * ($tow - $one))*0.05; // 拿到平级的百分之五
|
|
|
+ $details['purple_integral'] = $jl * 0.7; // 百分之70的紫积分
|
|
|
+ $details['business_integral'] = $jl * 0.3; // 百分之30的商家积分
|
|
|
+ $v2++;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }elseif ($details['level'] == 3){
|
|
|
+ if ($v1 == 0 and $v2 == 0 and $v3 == 0) { // 没有发放v1和v2v3的奖励的奖励
|
|
|
+ $jl = $price * $three; // 拿到流水的百分之11
|
|
|
+ $details['purple_integral'] = $jl * 0.7; // 百分之70的紫积分
|
|
|
+ $details['business_integral'] = $jl * 0.3; // 百分之30的商家积分
|
|
|
+ $v3++;
|
|
|
+ }elseif ($v1 == 0 and $v2 == 0 and $v3 == 1) {// 没有发放v1和v2的奖励的奖励
|
|
|
+ $jl = ($price * $three) * 0.05; // 拿到平级的百分之五
|
|
|
+ $details['purple_integral'] = $jl * 0.7; // 百分之70的紫积分
|
|
|
+ $details['business_integral'] = $jl * 0.3; // 百分之30的商家积分
|
|
|
+ $v3++;
|
|
|
+ }elseif ($v1 > 0 and $v2 == 0 and $v3 == 0){// 发放v1奖励,没有发放v2v3的奖励
|
|
|
+ $jl = $price * ($three - $one); // 拿到流水减掉v1的百分之五
|
|
|
+ $details['purple_integral'] = $jl * 0.7; // 百分之70的紫积分
|
|
|
+ $details['business_integral'] = $jl * 0.3; // 百分之30的商家积分
|
|
|
+ $v3++;
|
|
|
+ }elseif ($v1 > 0 and $v2 == 0 and $v3 == 1){// 发放v1奖励,没有发放v2v3的奖励
|
|
|
+ $jl = ($price * ($three - $one)) * 0.05; // 拿到平级的百分之五
|
|
|
+ $details['purple_integral'] = $jl * 0.7; // 百分之70的紫积分
|
|
|
+ $details['business_integral'] = $jl * 0.3; // 百分之30的商家积分
|
|
|
+ $v3++;
|
|
|
+ }elseif ($v1 == 0 and $v2 > 0 and $v3 == 0){// 发放v1奖励,发放v2的奖励,没有发放v3的奖励
|
|
|
+ $jl = ($price * ($three - $tow)); // 拿到平级的百分之五
|
|
|
+ $details['purple_integral'] = $jl * 0.7; // 百分之70的紫积分
|
|
|
+ $details['business_integral'] = $jl * 0.3; // 百分之30的商家积分
|
|
|
+ $v3++;
|
|
|
+ }elseif ($v1 == 0 and $v2 > 0 and $v3 == 1){// 发放v1奖励,发放v2的奖励,发放v3的奖励
|
|
|
+ $jl = ($price * ($three - $tow)) * 0.05; // 拿到平级的百分之五
|
|
|
+ $details['purple_integral'] = $jl * 0.7; // 百分之70的紫积分
|
|
|
+ $details['business_integral'] = $jl * 0.3; // 百分之30的商家积分
|
|
|
+ $v3++;
|
|
|
+ }elseif ($v1 > 0 and $v2 > 0 and $v3 == 0){// 发放v1奖励,发放v2的奖励,发放v3的奖励
|
|
|
+ $jl = ($price * ($three - $tow)); // 拿到平级的百分之五
|
|
|
+ $details['purple_integral'] = $jl * 0.7; // 百分之70的紫积分
|
|
|
+ $details['business_integral'] = $jl * 0.3; // 百分之30的商家积分
|
|
|
+ $v3++;
|
|
|
+ }elseif ($v1 > 0 and $v2 > 0 and $v3 == 1){// 发放v1奖励,发放v2的奖励,发放v3的奖励
|
|
|
+ $jl = ($price * ($three - $tow)) * 0.05; // 拿到平级的百分之五
|
|
|
+ $details['purple_integral'] = $jl * 0.7; // 百分之70的紫积分
|
|
|
+ $details['business_integral'] = $jl * 0.3; // 百分之30的商家积分
|
|
|
+ $v3++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if ($jl > 0){
|
|
|
+ $details->save();
|
|
|
+ UserBill::income('团队奖励紫积分', $details['uid'], 'purple_integral', 'team', $jl * 0.7, 0,$details['purple_integral'], 'v'.$details['level'].'团队奖励紫积分');
|
|
|
+ UserBill::income('团队奖励商家积分', $details['uid'], 'business_integral', 'team', $jl * 0.3, 0,$details['business_integral'], 'v'.$details['level'].'团队奖励商家积分');
|
|
|
+ }
|
|
|
+ $jl = 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 流水分红
|
|
|
+ * @return void
|
|
|
+ * @throws \think\db\exception\DataNotFoundException
|
|
|
+ * @throws \think\db\exception\DbException
|
|
|
+ * @throws \think\db\exception\ModelNotFoundException
|
|
|
+ */
|
|
|
+ public static function flowing_water()
|
|
|
+ {
|
|
|
+ if (!Push::where('add_time', strtotime('today'))->find()) {
|
|
|
+ $user = User::where('flowing_water', '>', 0)->select();
|
|
|
+ if ($user) {
|
|
|
+ foreach ($user as $item) {
|
|
|
+ $price = ManyOrder::whereBetweenTime('return_time', strtotime('yesterday'), strtotime('today'))->sum('price');// 昨天众筹成功返还的流水
|
|
|
+ $details = User::where('uid', $item['uid'])->find();
|
|
|
+
|
|
|
+ $details['purple_integral'] = ($price * ($details['flowing_water'] / 100)) * 0.7; // 百分之70的紫积分
|
|
|
+ $details['business_integral'] = ($price * ($details['flowing_water'] / 100)) * 0.3; // 百分之30的商家积分
|
|
|
+ $details->save();
|
|
|
+ UserBill::income('分红流水奖励紫积分', $details['uid'], 'purple_integral', 'team', ($price * ($details['flowing_water'] / 100)) * 0.7, 0, $details['purple_integral'], '分红流水奖励紫积分');
|
|
|
+ UserBill::income('分红流水奖励商家积分', $details['uid'], 'business_integral', 'team', ($price * ($details['flowing_water'] / 100)) * 0.3, 0, $details['business_integral'], '分红流水奖励商家积分');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 更新推送时间
|
|
|
+ * @return void
|
|
|
+ * @throws \think\db\exception\DataNotFoundException
|
|
|
+ * @throws \think\db\exception\DbException
|
|
|
+ * @throws \think\db\exception\ModelNotFoundException
|
|
|
+ */
|
|
|
+ public static function time()
|
|
|
+ {
|
|
|
+ if (!Push::where('add_time', strtotime('today'))->find()) {
|
|
|
+ Push::create(['add_time' => strtotime('today')]); //存入数据库信息
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|