|
@@ -4,6 +4,7 @@
|
|
|
namespace app\models\user;
|
|
|
|
|
|
use app\models\store\StoreOrder;
|
|
|
+use app\models\store\StoreOrderRelease;
|
|
|
use app\models\store\StoreProduct;
|
|
|
use crmeb\services\SystemConfigService;
|
|
|
use think\db\exception\DataNotFoundException;
|
|
@@ -622,7 +623,8 @@ class User extends BaseModel
|
|
|
$res2 = WechatUser::create($data);
|
|
|
$data['uid'] = $res2->uid;
|
|
|
$res1 = self::create($data);
|
|
|
- $res = $res1 && $res2 && UserSpread::setSpread($data['uid'], $spread);
|
|
|
+ $res3 = UserBill::income('注册赠送消费券', $res1['uid'], 'consumption', 'register_consumption', 2000, $spread, 2000, '注册赠送2000消费券');
|
|
|
+ $res = $res1 && $res2 && UserSpread::setSpread($data['uid'], $spread) && $res3;
|
|
|
self::checkTrans($res);
|
|
|
return $res;
|
|
|
}
|
|
@@ -736,4 +738,76 @@ class User extends BaseModel
|
|
|
}
|
|
|
return $model->where('brokerage_price', '>', $brokerage_price)->count('uid');
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ * 直推释放
|
|
|
+ * @param $uid
|
|
|
+ * @param $number
|
|
|
+ * @return void
|
|
|
+ * @throws DataNotFoundException
|
|
|
+ * @throws DbException
|
|
|
+ * @throws ModelNotFoundException
|
|
|
+ */
|
|
|
+ public static function release_push($uid, $number)
|
|
|
+ {
|
|
|
+ $user = self::where('uid', $uid)->find();
|
|
|
+ $number = $number * 0.3;
|
|
|
+ $release = StoreOrderRelease::where('uid', $uid)->where('status', 0)->select();
|
|
|
+ $re_integral = sys_config('re_integral') / 100;
|
|
|
+ $contribution = sys_config('contribution') / 100;
|
|
|
+ if ($release) {
|
|
|
+ foreach ($release as $item) {
|
|
|
+ if ($number > 0) {
|
|
|
+ if ($item['already'] + $number > $item['to_release']) {
|
|
|
+ $n1 = $item['to_release'] - $item['already'];
|
|
|
+ $number -= $n1;
|
|
|
+ $integral = $n1 * $re_integral;
|
|
|
+ $user_contribution = $n1 * $contribution;
|
|
|
+ $item['already'] += $n1;
|
|
|
+ $item['status'] = 1;
|
|
|
+ } else {
|
|
|
+ $n1 = $number;
|
|
|
+ $integral = $n1 * $re_integral;
|
|
|
+ $user_contribution = $n1 * $contribution;
|
|
|
+ $number = 0;
|
|
|
+ $item['already'] += $n1;
|
|
|
+ }
|
|
|
+ User::where('uid', $user['uid'])->inc('integral', $integral)->update();
|
|
|
+ User::where('uid', $user['uid'])->inc('contribution', $user_contribution)->update();
|
|
|
+ UserBill::income('直推奖励释放积分', $user['uid'], 'integral', 'zt_integral', $integral, 0, $user['integral'] + $integral, '直推奖励释放订单' . $item['order_id'] . '积分');
|
|
|
+ UserBill::income('直推奖励贡献值', $user['uid'], 'contribution', 'zt_contribution', $user_contribution, 0, $user['contribution'] + $user_contribution, '直推奖励释放订单' . $item['order_id'] . '贡献值');
|
|
|
+ StoreOrderRelease::where('id', $item['id'])->update(['already' => $item['already'], 'status' => $item['status']]);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ * 释放积分
|
|
|
+ * @return void
|
|
|
+ * @throws DataNotFoundException
|
|
|
+ * @throws DbException
|
|
|
+ * @throws ModelNotFoundException
|
|
|
+ */
|
|
|
+ public static function release_today()
|
|
|
+ {
|
|
|
+ $order_release = StoreOrderRelease::where([['status', '=', 0], ['create_time', '<', strtotime('today')], ['release_time', '<', strtotime('yesterday')]])->select();
|
|
|
+ if ($order_release) {
|
|
|
+ foreach ($order_release as $item) {
|
|
|
+ if ($item['already'] + $item['release'] > $item['to_release']) {
|
|
|
+ $number = $item['to_release'] - $item['already'];
|
|
|
+ $item['already'] += $number;
|
|
|
+ $item['status'] = 1;
|
|
|
+ } else {
|
|
|
+ $number = $item['release'];
|
|
|
+ $item['already'] += $number;
|
|
|
+ }
|
|
|
+ StoreOrderRelease::where('id', $item['id'])->update(['already' => $item['already'], 'status' => $item['status'], 'release_time' => strtotime('yesterday')]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|