瀏覽代碼

线下支付返佣调整

xialei 1 年之前
父節點
當前提交
caa56a1c75
共有 1 個文件被更改,包括 93 次插入26 次删除
  1. 93 26
      app/common/repositories/merchant/order/OrderMerchantRepository.php

+ 93 - 26
app/common/repositories/merchant/order/OrderMerchantRepository.php

@@ -1254,6 +1254,21 @@ class OrderMerchantRepository extends BaseRepository
1254 1254
         }
1255 1255
     }
1256 1256
 
1257
+    //按商家让利比例匹配商家获得贡献值和京豆比例
1258
+    public function getMerchantContribution($mer_fanyongbili)
1259
+    {
1260
+        $jd = 0;
1261
+        $gonxian = 0;
1262
+        $cursor = Db::table('rrx_merchant_contribution')->cursor();
1263
+        foreach ($cursor as $online) {
1264
+            if($online['start'] <= $mer_fanyongbili && $online['end'] >= $mer_fanyongbili){
1265
+                $jd = $online['jd'] ?? 0;
1266
+                $gonxian = $online['gonxian'] ?? 0;
1267
+            }
1268
+        }
1269
+        return ['jd'=>$jd,'gonxian'=>$gonxian];
1270
+    }
1271
+
1257 1272
     //商户二维码收款返佣
1258 1273
     public function feidacang_fenyong($user, $order, $pay_status)
1259 1274
     {
@@ -1281,7 +1296,7 @@ class OrderMerchantRepository extends BaseRepository
1281 1296
         /**
1282 1297
          * 各自的比例开始
1283 1298
          */
1284
-        //用户养老金比例
1299
+        //用户养老金比例30%
1285 1300
         $yonghu_bili = '0.3';
1286 1301
         //用户红包比例
1287 1302
         $yonghu_hongbao = '0.45';
@@ -1290,9 +1305,13 @@ class OrderMerchantRepository extends BaseRepository
1290 1305
         //用户推荐人,消费者的推荐人佣金
1291 1306
         $yonghu_tuijian = '0.03';
1292 1307
 
1293
-
1308
+        $getMerchantContribution = $this->getMerchantContribution($mer_fanyongbili);
1309
+        //商家贡献值比例
1310
+        $mer_gonxian = $getMerchantContribution['gonxian'];
1311
+        //  商家京豆比例
1312
+        $mer_jd = $getMerchantContribution['jd'];
1294 1313
         //商家流水分佣
1295
-//        $mer_luishui_fenyong = '0.25';
1314
+    //    $mer_luishui_fenyong = '0.25';
1296 1315
         //跨店分佣
1297 1316
         $kd = 0.1;
1298 1317
         /**
@@ -1311,36 +1330,47 @@ class OrderMerchantRepository extends BaseRepository
1311 1330
             Db::name('log')->insert(['data' => '订单号:' . $order['order_sn'] . '付款额度较低或 商家、平台设置的返佣比例较低,养老金低于0.01无法入库 特此记录!']);
1312 1331
         }
1313 1332
 
1314
-        //用户可以拿到的红包 红包:如果是1.0的老用户 pv的45%放到红包里面。14*45%=6.3元。直至金额满足1.0平台当前用户身份为止就不在反红包了
1315
-        // if($user["is_old"]==1){
1316
-        //     //添加红包
1317
-        //     $hongbao=round($inc_score*0.45,2);
1318
-        //     $hongbao_data = [
1319
-        //         "uid"           =>$user_id,
1320
-        //         "number"  =>    $hongbao,
1321
-        //         "addtime"       =>time(),
1322
-        //         "status"        =>-1,
1323
-        //         "order_type"    =>$type_shop,
1324
-        //         "order_id"      =>$order_sn,
1325
-        //         "mark"          =>"购买{$make}商品赠送红包",
1326
-        //         "desc"          =>'',
1327
-        //         "surplus"       =>$hongbao,
1328
-        //         "type"          =>1
1329
-        //     ];
1330
-        //     Db::name("user_sign_hongbao")->insert($hongbao_data);//添加记录
1331
-        // }
1332
-
1333
-
1333
+        // 用户可以拿到的红包 红包:如果是1.0的老用户 pv的45%放到红包里面。14*45%=6.3元。直至金额满足1.0平台当前用户身份为止就不在反红包了
1334
+        if($user["is_old"]==1){
1335
+            //添加红包
1336
+            $hongbao=bcmul($pv, $yonghu_hongbao, 2);
1337
+            $hongbao_data = [
1338
+                "uid"           =>$order["uid"],
1339
+                "number"  =>    $hongbao,
1340
+                "addtime"       =>time(),
1341
+                "status"        =>-1,
1342
+                "order_type"    =>$order_id,
1343
+                "order_id"      =>$order_sn,
1344
+                "mark"          =>"消费获得赠送红包",
1345
+                "desc"          =>'',
1346
+                "surplus"       =>$hongbao,
1347
+                "type"          =>1
1348
+            ];
1349
+            Db::name("user_sign_hongbao")->insert($hongbao_data);//添加记录
1350
+        }
1334 1351
 
1335 1352
         ///用户可以拿到PV等值的积分和贡献值
1336 1353
         if ($pv >= 0.01) {
1337 1354
             $userRepository->sign_add($order["uid"], $pv, 1, '消费获得赠送积分', '', '', $order['id'], 1, 'order_merchant');
1355
+            $gongxian_data = [
1356
+                "uid"           =>$order["uid"],
1357
+                "number"  =>    $pv,
1358
+                "addtime"       =>time(),
1359
+                "status"        =>-1,
1360
+                "order_type"    =>$order_id,
1361
+                "order_id"      =>$order_sn,
1362
+                "mark"          =>"消费获得赠送贡献值",
1363
+                "desc"          =>'',
1364
+                "surplus"       =>$pv,
1365
+                "type"          =>1
1366
+            ];
1367
+            Db::name("user_sign_gongxian")->insert($gongxian_data);//添加记录
1338 1368
         } else {
1339 1369
             Db::name('log')->insert(['data' => '订单号:' . $order['order_sn'] . '付款额度较低或 商家、平台设置的返佣比例较低,积分和贡献值低于0.01无法入库 特此记录!']);
1340 1370
         }
1341 1371
 
1342 1372
         //用户推荐人可拿的养老金
1343
-        $user_yanglaojin = bcmul($divisible_commission, $yonghu_bili, 2);
1373
+        $user_yanglaojin = bcmul($pv, $yonghu_bili_tuijian, 2);
1344 1374
         if ($user_yanglaojin >= 0.01) {
1345 1375
             $mark = "消费获得养老金" . $user_yanglaojin;
1346 1376
             $title = "养老金";
@@ -1352,7 +1382,7 @@ class OrderMerchantRepository extends BaseRepository
1352 1382
         }
1353 1383
 
1354 1384
         //用户推荐人佣金
1355
-        $tuijian_yongjin = bcmul($divisible_commission, $yonghu_tuijian, 2);
1385
+        $tuijian_yongjin = bcmul($pv, $yonghu_tuijian, 2);
1356 1386
         if ($tuijian_yongjin >= 0.01) {
1357 1387
             $mark = "用户在大仓消费获得" . $tuijian_yongjin . '佣金';
1358 1388
             $title = "佣金";
@@ -1365,7 +1395,44 @@ class OrderMerchantRepository extends BaseRepository
1365 1395
 
1366 1396
 
1367 1397
         //商户得到的(京豆和贡献值奖励的倍,后台设置)
1368
-
1398
+        $gongxian = bcmul($pv, $mer_gonxian, 2);
1399
+        if ($gongxian >= 0.01) {
1400
+            $gongxian_data = [
1401
+                "uid"           =>$order["mer_id"],
1402
+                "mer_id"        =>$order["mer_id"],
1403
+                "number"  =>    $gongxian,
1404
+                "addtime"       =>time(),
1405
+                "status"        =>-1,
1406
+                "order_type"    =>$order_id,
1407
+                "order_id"      =>$order_sn,
1408
+                "mark"          =>"用户消费商家获得赠送贡献值",
1409
+                "desc"          =>'',
1410
+                "surplus"       =>$gongxian,
1411
+                "type"          =>1
1412
+            ];
1413
+            Db::name("user_sign_gongxian")->insert($gongxian_data);//添加记录
1414
+        } else {
1415
+            Db::name('log')->insert(['data' => '订单号:' . $order['order_sn'] . '付款额度较低或 商家、平台设置的返佣比例较低,贡献值低于0.01无法入库 特此记录!']);
1416
+        }
1417
+        //商户得到的(京豆和贡献值奖励的倍,后台设置)
1418
+        $jd = bcmul($pv, $mer_jd, 2);
1419
+        if ($jd >= 0.01) {
1420
+            $jd_data = [
1421
+                "uid"           =>$order["mer_id"],
1422
+                "number"  =>    $jd,
1423
+                "addtime"       =>time(),
1424
+                "status"        =>-1,
1425
+                "order_type"    =>$order_id,
1426
+                "order_id"      =>$order_sn,
1427
+                "mark"          =>"用户消费商家获得赠送京豆",
1428
+                "desc"          =>'',
1429
+                "surplus"       =>$jd,
1430
+                "type"          =>1
1431
+            ];
1432
+            Db::name("user_sign_jingdou")->insert($jd_data);//添加记录
1433
+        } else {
1434
+            Db::name('log')->insert(['data' => '订单号:' . $order['order_sn'] . '付款额度较低或 商家、平台设置的返佣比例较低,贡献值低于0.01无法入库 特此记录!']);
1435
+        }
1369 1436
 
1370 1437
         //推荐商家流水返佣
1371 1438
 //        $mer_tuijian_yongjin = bcmul($divisible_commission, $mer_luishui_fenyong, 2);