|
@@ -275,7 +275,7 @@ class StoreOrder extends BaseModel
|
|
|
* @throws \think\exception\DbException
|
|
* @throws \think\exception\DbException
|
|
|
*/
|
|
*/
|
|
|
|
|
|
|
|
- public static function cacheKeyCreateOrder($uid, $key, $addressId, $payType, $useIntegral = false, $couponId = 0, $mark = '', $combinationId = 0, $pinkId = 0, $seckill_id = 0, $bargain_id = 0, $test = false, $isChannel = 0, $shipping_type = 1, $real_name = '', $phone = '', $storeId = 0,$sale_uid = 0)
|
|
|
|
|
|
|
+ public static function cacheKeyCreateOrder($uid, $key, $addressId, $payType, $useIntegral = false, $couponId = 0, $mark = '', $combinationId = 0, $pinkId = 0, $seckill_id = 0, $bargain_id = 0, $test = false, $isChannel = 0, $shipping_type = 1, $real_name = '', $phone = '', $storeId = 0, $sale_uid = 0)
|
|
|
{
|
|
{
|
|
|
self::beginTrans();
|
|
self::beginTrans();
|
|
|
try {
|
|
try {
|
|
@@ -329,10 +329,10 @@ class StoreOrder extends BaseModel
|
|
|
if ($cart['productInfo']['is_explosive'] == 1) {
|
|
if ($cart['productInfo']['is_explosive'] == 1) {
|
|
|
$is_explosive = 1;
|
|
$is_explosive = 1;
|
|
|
}
|
|
}
|
|
|
- if ($explosive_type == -1){
|
|
|
|
|
- $explosive_type =$cart['productInfo']['is_explosive'];
|
|
|
|
|
- }else{
|
|
|
|
|
- if ($explosive_type!= $cart['productInfo']['is_explosive']){
|
|
|
|
|
|
|
+ if ($explosive_type == -1) {
|
|
|
|
|
+ $explosive_type = $cart['productInfo']['is_explosive'];
|
|
|
|
|
+ } else {
|
|
|
|
|
+ if ($explosive_type != $cart['productInfo']['is_explosive']) {
|
|
|
return self::setErrorInfo('报单商品和非报单商品不能混合购买!', true);
|
|
return self::setErrorInfo('报单商品和非报单商品不能混合购买!', true);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -838,26 +838,13 @@ class StoreOrder extends BaseModel
|
|
|
event('OrderPaySuccess', [$order, $formId]);
|
|
event('OrderPaySuccess', [$order, $formId]);
|
|
|
$sale_uid = User::where('uid', $order['uid'])->value('spread_uid');
|
|
$sale_uid = User::where('uid', $order['uid'])->value('spread_uid');
|
|
|
// 如果在分享下支付完成且没有推荐人就自动绑定
|
|
// 如果在分享下支付完成且没有推荐人就自动绑定
|
|
|
- if ($order['sale_uid']>0&&$sale_uid==0){
|
|
|
|
|
- $spread_order = User::where('uid', $order['sale_uid'])->value('spread_order');
|
|
|
|
|
- $spread_order = bcadd($spread_order,1,2); //推荐订单数加1
|
|
|
|
|
- User::where('uid', $order['uid'])->update(['spread_uid' => $order['sale_uid'],'spread_time'=>time(),'spread_order'=>$spread_order]);
|
|
|
|
|
- if ($spread_order % 2 == 0) {
|
|
|
|
|
-// echo "双数";
|
|
|
|
|
- $radio = sys_config('secondary_commission_ratio');
|
|
|
|
|
- } else {
|
|
|
|
|
-// echo "单数";
|
|
|
|
|
- $radio = sys_config('primary_commission_ratio');
|
|
|
|
|
- }
|
|
|
|
|
- $money = bcmul($order['total_price'], bcdiv($radio,100,2), 2);
|
|
|
|
|
- $blance = User::where('uid', $order['sale_uid'])->value('brokerage_price');
|
|
|
|
|
- $blance = bcadd($blance, $money, 2);
|
|
|
|
|
- UserBill::income('推荐佣金', $order['sale_uid'], 'brokerage_price', 'order_money', $money, $order['id'], $blance, '订单推荐佣金');
|
|
|
|
|
- User::where('uid', $order['sale_uid'])->update(['brokerage_price' =>$blance]);
|
|
|
|
|
-
|
|
|
|
|
|
|
+ if ($order['sale_uid'] > 0 && $sale_uid == 0) {
|
|
|
|
|
+ User::where('uid', $order['uid'])->update(['spread_uid' => $order['sale_uid'], 'spread_time' => time()]);
|
|
|
}
|
|
}
|
|
|
|
|
+// 上级返佣
|
|
|
|
|
+ self::spread_rewards($order);
|
|
|
// 如果是报单商品就增加业绩
|
|
// 如果是报单商品就增加业绩
|
|
|
- if ($order['is_explosive']==1){
|
|
|
|
|
|
|
+ if ($order['is_explosive'] == 1) {
|
|
|
$achievement = User::where('uid', $order['uid'])->value('achievement');
|
|
$achievement = User::where('uid', $order['uid'])->value('achievement');
|
|
|
$achievement = bcadd($achievement, $order['total_price'], 2);
|
|
$achievement = bcadd($achievement, $order['total_price'], 2);
|
|
|
User::where('uid', $order['uid'])->update(['achievement' => $achievement]);
|
|
User::where('uid', $order['uid'])->update(['achievement' => $achievement]);
|
|
@@ -866,6 +853,37 @@ class StoreOrder extends BaseModel
|
|
|
return false !== $res;
|
|
return false !== $res;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+// 推荐奖励
|
|
|
|
|
+ public static function spread_rewards($order)
|
|
|
|
|
+ {
|
|
|
|
|
+ try {
|
|
|
|
|
+
|
|
|
|
|
+ $spread_uid = User::where('uid', $order['sale_uid'])->value('spread_uid');
|
|
|
|
|
+ if ($spread_uid > 0) {
|
|
|
|
|
+ $spread_order = User::where('uid', $spread_uid)->value('spread_order');
|
|
|
|
|
+ $spread_order = bcadd($spread_order, 1, 2); //推荐订单数加1
|
|
|
|
|
+// User::where('uid', $spread_uid)->update(['spread_uid' => $order['sale_uid'],'spread_time'=>time(),'spread_order'=>$spread_order]);
|
|
|
|
|
+
|
|
|
|
|
+ if ($spread_order % 2 == 0) {
|
|
|
|
|
+// echo "双数";
|
|
|
|
|
+ $radio = sys_config('secondary_commission_ratio');
|
|
|
|
|
+ } else {
|
|
|
|
|
+// echo "单数";
|
|
|
|
|
+ $radio = sys_config('primary_commission_ratio');
|
|
|
|
|
+ }
|
|
|
|
|
+ $money = bcmul($order['total_price'], bcdiv($radio, 100, 2), 2);
|
|
|
|
|
+ $blance = User::where('uid', $spread_uid)->value('brokerage_price');
|
|
|
|
|
+ $blance = bcadd($blance, $money, 2);
|
|
|
|
|
+ UserBill::income('推荐佣金', $spread_uid, 'brokerage_price', 'order_money', $money, $order['id'], $blance, '订单推荐佣金');
|
|
|
|
|
+ User::where('uid', $spread_uid)->update(['brokerage_price' => $blance, 'spread_order' => $spread_order]);
|
|
|
|
|
+ }
|
|
|
|
|
+ return true;
|
|
|
|
|
+ } catch (\Exception $e) {
|
|
|
|
|
+ @file_put_contents('quanju.txt', json_encode(['line' => $e->getLine(), 'message' => $e->getMessage(), 'file' => $e->getFile()]) . "-报错内容\r\n", 8);
|
|
|
|
|
+ return app('json')->fail('报错', ['line' => $e->getLine(), 'message' => $e->getMessage(), 'file' => $e->getFile()]);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
/*
|
|
/*
|
|
|
* 线下支付消息通知
|
|
* 线下支付消息通知
|
|
|
* 待完善
|
|
* 待完善
|