|
|
@@ -1290,7 +1290,13 @@ class OrderMerchantRepository extends BaseRepository
|
|
1290
|
1290
|
$mer_fanyongbili = merchantConfig($order['mer_id'], 'base_commission');
|
|
1291
|
1291
|
//如果商户返佣比例设置的是0怎查系统设设置的分佣比例
|
|
1292
|
1292
|
if ($mer_fanyongbili == 0) {
|
|
1293
|
|
- $mer_fanyongbili = merchantConfig(0, 'extension_one_rate');
|
|
|
1293
|
+ Db::name('system_config_value')->insert([
|
|
|
1294
|
+ 'config_key' => 'base_commission',
|
|
|
1295
|
+ 'value' => (int)5,
|
|
|
1296
|
+ 'mer_id' => $order['mer_id'],
|
|
|
1297
|
+ ]);
|
|
|
1298
|
+ $mer_fanyongbili = 5;
|
|
|
1299
|
+ // $mer_fanyongbili = merchantConfig(0, 'extension_one_rate');
|
|
1294
|
1300
|
}
|
|
1295
|
1301
|
//如果系统设置的是0就不执行!
|
|
1296
|
1302
|
if ($mer_fanyongbili == 0) {
|
|
|
@@ -1455,6 +1461,105 @@ class OrderMerchantRepository extends BaseRepository
|
|
1455
|
1461
|
|
|
1456
|
1462
|
|
|
1457
|
1463
|
|
|
|
1464
|
+ //商户二维码收款返佣-补发推荐人
|
|
|
1465
|
+ public function feidacang_fenyong_bufa($user, $order, $pay_status)
|
|
|
1466
|
+ {
|
|
|
1467
|
+ $userRepository = app()->make(UserRepository::class);
|
|
|
1468
|
+ if ($pay_status == 1) {
|
|
|
1469
|
+ return '';
|
|
|
1470
|
+ }
|
|
|
1471
|
+ $top_data = Db::name('user')->where('uid', $order['uid'])->field('spread_uid,mer_id')->find();
|
|
|
1472
|
+ $mer_fanyongbili = merchantConfig($order['mer_id'], 'base_commission');
|
|
|
1473
|
+ //如果商户返佣比例设置的是0怎查系统设设置的分佣比例
|
|
|
1474
|
+ if ($mer_fanyongbili == 0) {
|
|
|
1475
|
+ $mer_fanyongbili = merchantConfig(0, 'extension_one_rate');
|
|
|
1476
|
+ }
|
|
|
1477
|
+ //如果系统设置的是0就不执行!
|
|
|
1478
|
+ if ($mer_fanyongbili == 0) {
|
|
|
1479
|
+ Db::name('log')->insert(['data' => '订单号:' . $order['order_sn'] . ' 订单因商家、平台没有设置返佣比例无任何奖励特此记录!']);
|
|
|
1480
|
+ return '';
|
|
|
1481
|
+ }
|
|
|
1482
|
+ $order_sn = $order['order_sn'] ?? '';
|
|
|
1483
|
+ $order_id = $order['order_id'] ?? '';
|
|
|
1484
|
+ //可分总佣金
|
|
|
1485
|
+ $divisible_commission = bcmul($order['pay_price'], bcdiv($mer_fanyongbili, '100', 2), 2);//让利部分
|
|
|
1486
|
+ $pv = bcmul($divisible_commission, '0.7', 2);//商家让利部分30%给消费者做养老金,70%做业绩PV
|
|
|
1487
|
+
|
|
|
1488
|
+ /**
|
|
|
1489
|
+ * 各自的比例开始
|
|
|
1490
|
+ */
|
|
|
1491
|
+ //用户养老金比例30%
|
|
|
1492
|
+ $yonghu_bili = '0.3';
|
|
|
1493
|
+ //用户红包比例
|
|
|
1494
|
+ $yonghu_hongbao = '0.45';
|
|
|
1495
|
+ //用户推荐人养老金比例
|
|
|
1496
|
+ $yonghu_bili_tuijian = '0.05';
|
|
|
1497
|
+ //用户推荐人,消费者的推荐人佣金
|
|
|
1498
|
+ $yonghu_tuijian = $this->getUserGroupRate($user['user_group']);
|
|
|
1499
|
+ //用户推荐人,消费者的推荐人复购金
|
|
|
1500
|
+ $yonghu_fugou = '0.1';
|
|
|
1501
|
+ /**
|
|
|
1502
|
+ * 各自的比例结束
|
|
|
1503
|
+ */
|
|
|
1504
|
+
|
|
|
1505
|
+ // 用户推荐人---------------------------------------------------------------------------------------------------------------
|
|
|
1506
|
+
|
|
|
1507
|
+ //用户推荐人可拿的养老金
|
|
|
1508
|
+ $user_yanglaojin = bcmul($pv, $yonghu_bili_tuijian, 2);
|
|
|
1509
|
+ if ($user_yanglaojin >= 0.01) {
|
|
|
1510
|
+ $mark = "推荐人扫码消费获得养老金" . $user_yanglaojin;
|
|
|
1511
|
+ $title = "养老金";
|
|
|
1512
|
+ $source = 1;
|
|
|
1513
|
+ $commission_type = 5;
|
|
|
1514
|
+ $this->add_bill($title, $user_yanglaojin, $top_data["spread_uid"], $mark, $commission_type, $order_sn, $order_id, $order["mer_id"], $source, 1);
|
|
|
1515
|
+ } else {
|
|
|
1516
|
+ Db::name('log')->insert(['data' => '订单号:' . $order['order_sn'] . '付款额度较低或 商家、平台设置的返佣比例较低,养老金低于0.01无法入库 特此记录!']);
|
|
|
1517
|
+ }
|
|
|
1518
|
+
|
|
|
1519
|
+ //用户推荐人佣金
|
|
|
1520
|
+ $tuijian_yongjin = bcmul($pv, $yonghu_tuijian, 2);
|
|
|
1521
|
+ $tuijian_yongjin_90 = bcmul($tuijian_yongjin, '0.9', 2);
|
|
|
1522
|
+ if ($tuijian_yongjin_90 >= 0.01) {
|
|
|
1523
|
+ $mark = "推荐人扫码消费获得" . $tuijian_yongjin_90 . '佣金';
|
|
|
1524
|
+ $title = "佣金";
|
|
|
1525
|
+ $source = 1;
|
|
|
1526
|
+ $commission_type = 3;
|
|
|
1527
|
+ $this->add_bill($title, $tuijian_yongjin_90, $top_data["spread_uid"], $mark, $commission_type, $order_sn, $order_id, $order["mer_id"], $source, 1);
|
|
|
1528
|
+ } else {
|
|
|
1529
|
+ Db::name('log')->insert(['data' => '订单号:' . $order['order_sn'] . '付款额度较低或 商家、平台设置的返佣比例较低,佣金低于0.01无法入库 特此记录!']);
|
|
|
1530
|
+ }
|
|
|
1531
|
+
|
|
|
1532
|
+ //用户推荐人获得复购金佣金百分之10
|
|
|
1533
|
+ $tuijian_fugou = bcmul($tuijian_yongjin, $yonghu_fugou, 2);
|
|
|
1534
|
+ if ($tuijian_fugou >= 0.01) {
|
|
|
1535
|
+ $bill = [
|
|
|
1536
|
+ 'uid'=>$top_data["spread_uid"],
|
|
|
1537
|
+ 'number'=>$tuijian_fugou,//数量
|
|
|
1538
|
+ 'status'=>1,//复购金状态1-有效 0-失效 -1待确认
|
|
|
1539
|
+ 'mark'=>"推荐人扫码消费赠送" . $tuijian_fugou . '复购金',//备注
|
|
|
1540
|
+ 'order_id'=>$order_id,//订单id
|
|
|
1541
|
+ 'surplus'=>0,//剩余
|
|
|
1542
|
+ 'order_type'=>0,//关联订单ID
|
|
|
1543
|
+ 'type'=>1,//复购金类型 :1赠送,2消耗
|
|
|
1544
|
+ 'settlement_time'=>date('Y-m-d H:i:s'),//添加时间,
|
|
|
1545
|
+ 'addtime'=>time(),
|
|
|
1546
|
+ ];
|
|
|
1547
|
+ Db::name('user_sign_fugou')->insert($bill);
|
|
|
1548
|
+ $user_fugou = Db::name('user')->where('uid', $top_data["spread_uid"])->value('fugou');
|
|
|
1549
|
+ $user_fugou = bcadd($user_fugou, (float)$tuijian_fugou,2);
|
|
|
1550
|
+ Db::name('user')->where('uid', $top_data["spread_uid"])->update(['fugou'=>$user_fugou]);
|
|
|
1551
|
+ } else {
|
|
|
1552
|
+ Db::name('log')->insert(['data' => '订单号:' . $order['order_sn'] . '付款额度较低或 商家、平台设置的复购金比例较低,复购金低于0.01无法入库 特此记录!']);
|
|
|
1553
|
+ }
|
|
|
1554
|
+ }
|
|
|
1555
|
+
|
|
|
1556
|
+
|
|
|
1557
|
+
|
|
|
1558
|
+
|
|
|
1559
|
+
|
|
|
1560
|
+
|
|
|
1561
|
+
|
|
|
1562
|
+
|
|
1458
|
1563
|
|
|
1459
|
1564
|
|
|
1460
|
1565
|
//商户二维码收款商家返佣
|