|
|
@@ -2,8 +2,10 @@
|
|
2
|
2
|
namespace app\controller\api;
|
|
3
|
3
|
|
|
4
|
4
|
use AdaPaySdk\AdapayTools;
|
|
|
5
|
+use app\common\repositories\merchant\order\OrderMerchantRepository;
|
|
5
|
6
|
use app\common\repositories\movie\MovieRepository;
|
|
6
|
7
|
use app\common\repositories\store\order\StoreRefundOrderRepository;
|
|
|
8
|
+use app\common\repositories\system\merchant\MerchantRepository;
|
|
7
|
9
|
use app\common\repositories\user\UserRepository;
|
|
8
|
10
|
use app\controller\api\merchant\sxy\Access;
|
|
9
|
11
|
use app\controller\api\store\service\Huafei;
|
|
|
@@ -181,7 +183,7 @@ class Notify
|
|
181
|
183
|
//Db::name('user')->where('uid',$user_data['uid'])->update(['annuity'=>$ylj_amount_mine,"contribute"=>$con,"score"=>$score]);
|
|
182
|
184
|
|
|
183
|
185
|
$this->bill_user_log($user_data['uid'],$ylj_pri,$store_order_data['order_id'],5,$store_order_data['order_sn'],'消费获得养老金'.$ylj_pri,$store_order_data['mer_id'],0);
|
|
184
|
|
- $this->con_log_pv($user_data['uid'],$pv,$store_order_data['order_id'],11,"购买精彩生活商品赠送贡献值");
|
|
|
186
|
+ $this->con_log_pv($user_data['uid'],$pv,$store_order_data['order_id'],11,"购买精彩生活商品赠送pv");
|
|
185
|
187
|
$this->con_log($user_data['uid'],$pv,$store_order_data['order_id'],11,"购买精彩生活商品赠送贡献值");
|
|
186
|
188
|
$this->score_log($user_data['uid'],$pv,$store_order_data['order_id'],11,"购买精彩生活商品赠送积分");
|
|
187
|
189
|
|
|
|
@@ -417,7 +419,7 @@ class Notify
|
|
417
|
419
|
|
|
418
|
420
|
$this->bill_user_log($user_data['uid'],round($pv * 0.035,2),$store_order_data['order_id'],5,$store_order_data['order_sn'],'消费获得养老金'.round($pv * 0.035,2),$store_order_data['mer_id']);
|
|
419
|
421
|
|
|
420
|
|
- $this->con_log_pv($user_data['uid'],$gx_jf,$store_order_data['order_id'],11,"购买会员专区商品赠送贡献值",1);
|
|
|
422
|
+ $this->con_log_pv($user_data['uid'],$gx_jf,$store_order_data['order_id'],11,"购买会员专区商品赠送pv",1);
|
|
421
|
423
|
// $this->con_log($user_data['uid'],$gx_jf,$store_order_data['order_id'],11,"购买会员专区商品赠送贡献值",1);
|
|
422
|
424
|
$this->con_log($user_data['uid'],$gx_jf,$store_order_data['order_id'],11,"购买会员专区商品赠送贡献值",1, $gx_jf);
|
|
423
|
425
|
$this->score_log($user_data['uid'],$gx_jf,$store_order_data['order_id'],11,"购买会员专区商品赠送积分",1);
|
|
|
@@ -715,6 +717,125 @@ class Notify
|
|
715
|
717
|
}
|
|
716
|
718
|
|
|
717
|
719
|
|
|
|
720
|
+ } else {
|
|
|
721
|
+ // 商贸区
|
|
|
722
|
+ /** @var \app\common\repositories\merchant\MerchantRepository $merchant */
|
|
|
723
|
+ $merchant = app()->make(MerchantRepository::class);
|
|
|
724
|
+ $merchantInfo = $merchant->get($store_order_data['mer_id']);
|
|
|
725
|
+ // 1企业2个体3个人
|
|
|
726
|
+ if ($merchantInfo && !empty($store_order_data) && in_array($merchantInfo['type'], [2, 3])) {
|
|
|
727
|
+ //商家让利部分的拆分
|
|
|
728
|
+ $ylj_pri = bcmul($concession_pri, 0.3, 2); // 让利部分30%给消费者做养老金
|
|
|
729
|
+ $pv = bcmul($concession_pri, 0.35, 2); // 35%做业绩PV分配
|
|
|
730
|
+
|
|
|
731
|
+ // 让利部分30%给消费者做养老金{$ylj_pri}
|
|
|
732
|
+ $this->bill_user_log($user_data['uid'], $ylj_pri, $store_order_data['order_id'], 5, $group_order['group_order_sn'], '购买商贸区商品获得养老金' . $ylj_pri, $store_order_data['mer_id'], 0);
|
|
|
733
|
+ // 购买商贸区赠送贡献值
|
|
|
734
|
+ $this->con_log($user_data['uid'], $pv, $store_order_data['order_id'], 12, "购买商贸区商品赠送贡献值");
|
|
|
735
|
+ // 购买商贸区赠送PV值
|
|
|
736
|
+ $this->con_log_pv($user_data['uid'], $pv, $store_order_data['order_id'], 12, "购买商贸区赠送PV值");
|
|
|
737
|
+ // 积分
|
|
|
738
|
+ $this->score_log($user_data['uid'], $pv, $store_order_data['order_id'], 12, "购买商贸区商品赠送积分");
|
|
|
739
|
+
|
|
|
740
|
+ if ($user_data['spread_uid'] != 0) {
|
|
|
741
|
+ //查询下单用户上级
|
|
|
742
|
+ $spread_data = Db::name('user')->where('uid', $user_data['spread_uid'])->find();
|
|
|
743
|
+ /** @var \app\common\repositories\store\order\StoreOrderRepository $StoreOrderRepository */
|
|
|
744
|
+ $rate = $StoreOrderRepository->getUserGroupRate($spread_data['user_group']);
|
|
|
745
|
+ if ($spread_data['user_group'] > 1) {
|
|
|
746
|
+ $ssf = bcmul($pv, $rate, 2);
|
|
|
747
|
+ $yj_amount_90 = bcmul($pv, $rate, 2) * 0.9;
|
|
|
748
|
+ $fgj_amount_10 = bcmul($pv, $rate, 2) * 0.1;//推广者的佣金抽10%到个人复购金
|
|
|
749
|
+ $this->fugou_user_log($spread_data['uid'], $fgj_amount_10, $store_order_data['order_id'], 1);
|
|
|
750
|
+
|
|
|
751
|
+ //贡献值
|
|
|
752
|
+ $this->con_log($spread_data['uid'], $pv, $store_order_data['order_id'], 12, "推广商贸区商品赠送贡献值");
|
|
|
753
|
+ //积分
|
|
|
754
|
+ $this->score_log($spread_data['uid'], $ssf, $store_order_data['order_id'], 12, "推广商贸区商品赠送积分");
|
|
|
755
|
+ //推广佣金
|
|
|
756
|
+ $this->bill_user_log($spread_data['uid'], $yj_amount_90, $store_order_data['order_id'], 3, $group_order['group_order_sn'], '推广获得佣金' . $yj_amount_90, $store_order_data['mer_id'], 0);
|
|
|
757
|
+ //养老金
|
|
|
758
|
+ $this->bill_user_log($spread_data['uid'], bcmul($pv, 0.05, 2), $store_order_data['order_id'], 5, $group_order['group_order_sn'], '推广获得养老金' . round($pv * 0.05, 2), $store_order_data['mer_id'], 0);
|
|
|
759
|
+ }
|
|
|
760
|
+
|
|
|
761
|
+ //普通用户推广人
|
|
|
762
|
+ if ($spread_data['user_group'] == 1) {
|
|
|
763
|
+ //给推广者分配佣金
|
|
|
764
|
+
|
|
|
765
|
+ $yj_amount_90 = bcmul($pv, $rate, 2) * 0.9;
|
|
|
766
|
+ $fgj_amount_10 = bcmul($pv, $rate, 2) * 0.1;//推广者的佣金抽10%到个人复购金
|
|
|
767
|
+
|
|
|
768
|
+ $this->fugou_user_log($spread_data['uid'], $fgj_amount_10, $store_order_data['order_id'], 1);
|
|
|
769
|
+
|
|
|
770
|
+ //推广佣金
|
|
|
771
|
+ $this->bill_user_log($spread_data['uid'], $yj_amount_90, $store_order_data['order_id'], 3, $group_order['group_order_sn'], '推广获得佣金' . $yj_amount_90, $store_order_data['mer_id'], 0);
|
|
|
772
|
+ // 贡献值
|
|
|
773
|
+ $this->con_log($spread_data['uid'], $pv, $store_order_data['order_id'], 12, "推广商贸区商品赠送贡献值");
|
|
|
774
|
+ // 积分
|
|
|
775
|
+ $this->score_log($spread_data['uid'], bcmul($pv, $rate, 2), $store_order_data['order_id'], 12, "推广商贸区商品赠送积分");
|
|
|
776
|
+ }
|
|
|
777
|
+ }
|
|
|
778
|
+
|
|
|
779
|
+ //锁客收益
|
|
|
780
|
+ if ($user_data['mer_id'] != 0) {
|
|
|
781
|
+ $merchant_data = Db::name('merchant')->where('mer_id', $user_data['mer_id'])->find();
|
|
|
782
|
+ $merchant_user_data = Db::name('user')->where('uid', $merchant_data['uid'])->find();
|
|
|
783
|
+ if (!empty($merchant_user_data)) {
|
|
|
784
|
+ //给推广者分配佣金
|
|
|
785
|
+ $yj_amount_90 = bcmul($pv, 0.05, 2) * 0.9;
|
|
|
786
|
+ $fgj_amount_10 = bcmul($pv, 0.05, 2) * 0.1;//推广者的佣金抽10%到个人复购金
|
|
|
787
|
+ $this->fugou_user_log($merchant_data['uid'], $fgj_amount_10, $store_order_data['order_id'], 1);
|
|
|
788
|
+ //推广佣金
|
|
|
789
|
+ $this->bill_user_log($merchant_data['uid'], $yj_amount_90, $store_order_data['order_id'], 3, $group_order['group_order_sn'], '推广获得佣金' . $yj_amount_90, $store_order_data['mer_id'], 0);
|
|
|
790
|
+ }
|
|
|
791
|
+ /** @var OrderMerchantRepository $orderMerchantRepository */
|
|
|
792
|
+ $orderMerchantRepository = app()->make(OrderMerchantRepository::class);
|
|
|
793
|
+ $jdAndGonxianConfig = $orderMerchantRepository->getMerchantContribution($store_order_data['extension_two']);
|
|
|
794
|
+
|
|
|
795
|
+ //商户获得贡献值 ---- 3月29日 商户不再获得贡献值 改为获得分润值
|
|
|
796
|
+ // if ($concession_pri >= 0.01) {
|
|
|
797
|
+ // $gonxian = bcmul($concession_pri, $jdAndGonxianConfig['gonxian'], 2);
|
|
|
798
|
+ // $gongxian_data = [
|
|
|
799
|
+ // "uid" => $merchant_data["uid"],
|
|
|
800
|
+ // "mer_id" => $user_data['mer_id'],
|
|
|
801
|
+ // "pv" => $pv,
|
|
|
802
|
+ // "number" => $gonxian,
|
|
|
803
|
+ // "addtime" => time(),
|
|
|
804
|
+ // "status" => -1,
|
|
|
805
|
+ // "order_type" => 2,
|
|
|
806
|
+ // "order_id" => $store_order_data['order_id'],
|
|
|
807
|
+ // "mark" => "锁客商家获得贡献值",
|
|
|
808
|
+ // "desc" => '',
|
|
|
809
|
+ // "surplus" => $gonxian,
|
|
|
810
|
+ // "type" => 1
|
|
|
811
|
+ // ];
|
|
|
812
|
+ // Db::name("user_sign_gongxian")->insert($gongxian_data);//添加记录
|
|
|
813
|
+ // } else {
|
|
|
814
|
+ // Db::name('log')->insert(['data' => '订单号:' . $store_order_data['order_id'] . '付款额度较低或 商家、平台设置的返佣比例较低,贡献值低于0.01无法入库 特此记录!']);
|
|
|
815
|
+ // }
|
|
|
816
|
+
|
|
|
817
|
+ //商户获得京豆
|
|
|
818
|
+ if ($concession_pri >= 0.01) {
|
|
|
819
|
+ $jd = bcmul($concession_pri, $jdAndGonxianConfig['jd'], 2);
|
|
|
820
|
+ $jd_data = [
|
|
|
821
|
+ "uid" => $merchant_data["uid"],
|
|
|
822
|
+ "mer_id" => $user_data['mer_id'],
|
|
|
823
|
+ "number" => $jd,
|
|
|
824
|
+ "addtime" => time(),
|
|
|
825
|
+ "status" => -1,
|
|
|
826
|
+ "order_type" => 2,
|
|
|
827
|
+ "order_id" => $store_order_data['order_id'],
|
|
|
828
|
+ "mark" => "锁客商家获得京豆",
|
|
|
829
|
+ "desc" => '',
|
|
|
830
|
+ "surplus" => $jd,
|
|
|
831
|
+ "type" => 1
|
|
|
832
|
+ ];
|
|
|
833
|
+ Db::name("user_sign_jingdou")->insert($jd_data);//添加记录
|
|
|
834
|
+ } else {
|
|
|
835
|
+ Db::name('log')->insert(['data' => '订单号:' . $store_order_data['order_id'] . '付款额度较低或 商家、平台设置的返佣比例较低,京豆低于0.01无法入库 特此记录!']);
|
|
|
836
|
+ }
|
|
|
837
|
+ }
|
|
|
838
|
+ }
|
|
718
|
839
|
}
|
|
719
|
840
|
|
|
720
|
841
|
|
|
|
@@ -1404,18 +1525,23 @@ class Notify
|
|
1404
|
1525
|
return $newList;
|
|
1405
|
1526
|
}
|
|
1406
|
1527
|
|
|
1407
|
|
- public function con_log_pv($uid, $num, $order_id, $order_type, $mark, $status = -1)
|
|
|
1528
|
+ public function con_log_pv($uid, $pv, $order_id, $order_type, $mark, $status = -1)
|
|
1408
|
1529
|
{
|
|
1409
|
1530
|
// 添加pv记录
|
|
1410
|
1531
|
$pv_data = [
|
|
1411
|
1532
|
"uid" => $uid,
|
|
1412
|
|
- "pv" => $num,
|
|
|
1533
|
+ "pv" => $pv,
|
|
1413
|
1534
|
"addtime" => time(),
|
|
1414
|
1535
|
"status" => $status,
|
|
1415
|
1536
|
"order_type" => $order_type,
|
|
1416
|
1537
|
"order_id" => $order_id,
|
|
1417
|
|
- "mark" => str_replace('贡献值', 'PV', $mark),
|
|
|
1538
|
+ "mark" => $mark,
|
|
1418
|
1539
|
];
|
|
|
1540
|
+ // 当状态为1时是实时结算
|
|
|
1541
|
+ if($status == 1) {
|
|
|
1542
|
+ Db::name('user')->where('uid', $uid)->inc('pv', (float)$pv)->update();
|
|
|
1543
|
+ $pv_data['settlement_time'] = date('Y-m-d H:i:s');
|
|
|
1544
|
+ }
|
|
1419
|
1545
|
Db::name("user_pv_log")->insert($pv_data);//添加pv记录
|
|
1420
|
1546
|
}
|
|
1421
|
1547
|
|
|
|
@@ -1443,10 +1569,6 @@ class Notify
|
|
1443
|
1569
|
Db::name('user')->where("uid",$uid)->update(['per_contribute'=>$con_data['per_contribute'] + $num]);
|
|
1444
|
1570
|
}
|
|
1445
|
1571
|
|
|
1446
|
|
- if($pv > 0){
|
|
1447
|
|
- Db::name('user')->where("uid", $uid)->update(['pv' => $con_data['pv'] + $pv]);
|
|
1448
|
|
- }
|
|
1449
|
|
-
|
|
1450
|
1572
|
//if(count($spread_data) > 0){
|
|
1451
|
1573
|
// $all_ids = [];
|
|
1452
|
1574
|
// foreach($spread_data as $k=>$v){
|