Просмотр исходного кода

Merge branch 'master' of https://git.bjtdba.com/shop/php

hefei 1 год назад
Родитель
Сommit
1abd273d41

+ 16 - 21
app/command/CommercialAreaOrderIndependentAccount.php

@@ -44,36 +44,31 @@ class CommercialAreaOrderIndependentAccount extends Command
44
         /** @var StoreOrderRepository $storeOrderRepository */
44
         /** @var StoreOrderRepository $storeOrderRepository */
45
         $storeOrderRepository = app()->make(StoreOrderRepository::class);
45
         $storeOrderRepository = app()->make(StoreOrderRepository::class);
46
 
46
 
47
-        $time = time();
48
         // 订单状态(0:待发货;1:待收货;2:待评价;3:已完成;4已申请退款;-1:已退款)5未支付 6已取消'
47
         // 订单状态(0:待发货;1:待收货;2:待评价;3:已完成;4已申请退款;-1:已退款)5未支付 6已取消'
49
         $status = [2, 3];
48
         $status = [2, 3];
50
         // 已支付、未结算
49
         // 已支付、未结算
51
-        $where = ['paid' => 1, 'is_independentaccount' => 0, 'is_del' => 0, 'is_system_del' => 0];
50
+        $where = ['paid' => 1, 'is_independentaccount' => 0, 'is_del' => 0, 'is_system_del' => 0, 'is_settlement' => 1];
52
         // 普通订单 @todo 排除 特殊商户{$excludeMerId}:精彩生活区、会员区、复购区
51
         // 普通订单 @todo 排除 特殊商户{$excludeMerId}:精彩生活区、会员区、复购区
53
         $cursor = Db::table('rrx_store_order')->where($where)->where('pay_type', 'in', '1,2,4')->whereIn('status', $status)
52
         $cursor = Db::table('rrx_store_order')->where($where)->where('pay_type', 'in', '1,2,4')->whereIn('status', $status)
54
             ->whereNotIn('mer_id', $excludeMerId)->cursor();
53
             ->whereNotIn('mer_id', $excludeMerId)->cursor();
55
         foreach ($cursor as $key => $value) {
54
         foreach ($cursor as $key => $value) {
56
-            $settlement_period_time = strtotime($value['create_time']) + $timeLimit * 24 * 3600;
57
-            // @todo 下单后第{$timeLimit}天后可分账
58
-            if ($settlement_period_time >= $time) {
59
-                if (!isset($merchants[$value['mer_id']])) {
60
-                    $merchants[$value['mer_id']] = Db::name('merchant')->where('mer_id', $value['mer_id'])->find();
61
-                }
62
-                $group_order = Db::name('store_group_order')->alias('sgo')->where('sgo.group_order_id', $value['group_order_id'])->find();
63
-                // @todo 分账账号 496:表示{会员专区}账户;商贸区分账如下:成本分账到商户,利润分账到{会员专区}账户
64
-                $independentAccount = $storeOrderRepository->getIndependentAccount($value, $group_order, $dst_mer_id, $merchants[$value['mer_id']]['hf_member_id']);
55
+            if (!isset($merchants[$value['mer_id']])) {
56
+                $merchants[$value['mer_id']] = Db::name('merchant')->where('mer_id', $value['mer_id'])->find();
57
+            }
58
+            $group_order = Db::name('store_group_order')->alias('sgo')->where('sgo.group_order_id', $value['group_order_id'])->find();
59
+            // @todo 分账账号 496:表示{会员专区}账户;商贸区分账如下:成本分账到商户,利润分账到{会员专区}账户
60
+            $independentAccount = $storeOrderRepository->getIndependentAccount($value, $group_order, $dst_mer_id, $merchants[$value['mer_id']]['hf_member_id']);
65
 
61
 
66
-                // @todo 预分账处理
67
-                $isSuccessed = $storeOrderRepository->prepareExecuteIndependentAccount(
68
-                    $value, $group_order, $independentAccount['api_key'], $independentAccount['hf_member_id'], $independentAccount['hf_platform_member_id'], $value['cost'], $value['con_pri']
69
-                );
70
-                if ($isSuccessed) {
71
-                    Db::name("log")->insert(array('data' => '商贸区-订单分账:' . json_encode($value, JSON_FORCE_OBJECT)));//日志记录
62
+            // @todo 预分账处理
63
+            $isSuccessed = $storeOrderRepository->prepareExecuteIndependentAccount(
64
+                $value, $group_order, $independentAccount['api_key'], $independentAccount['hf_member_id'], $independentAccount['hf_platform_member_id'], $value['cost'], $value['con_pri']
65
+            );
66
+            if ($isSuccessed) {
67
+                Db::name("log")->insert(array('data' => '商贸区-订单分账:' . json_encode($value, JSON_FORCE_OBJECT)));// 日志记录
72
 
68
 
73
-                    $order = StoreOrder::getInstance()->where('order_id', $value['order_id'])->find();
74
-                    $order->is_independentaccount = 1;
75
-                    $order->save();
76
-                }
69
+                $order = StoreOrder::getInstance()->where('order_id', $value['order_id'])->find();
70
+                $order->is_independentaccount = 1;
71
+                $order->save();
77
             }
72
             }
78
         }
73
         }
79
     }
74
     }

+ 17 - 29
app/command/GreatLifeOrderIndependentAccount.php

@@ -3,19 +3,11 @@
3
 namespace app\command;
3
 namespace app\command;
4
 
4
 
5
 use app\common\model\store\order\StoreOrder;
5
 use app\common\model\store\order\StoreOrder;
6
-use app\common\model\user\UserCertification;
7
-use app\common\repositories\merchant\order\OrderGzcRepository;
8
-use app\common\repositories\merchant\order\OrderMerchantRepository;
9
 use app\common\repositories\store\order\StoreOrderRepository;
6
 use app\common\repositories\store\order\StoreOrderRepository;
10
-use app\common\repositories\store\order\StoreOrderStatusRepository;
11
-use app\common\repositories\user\UserBillRepository;
12
-use app\common\repositories\user\UserRepository;
13
-use Carbon\Carbon;
14
 use think\console\Command;
7
 use think\console\Command;
15
 use think\console\Input;
8
 use think\console\Input;
16
 use think\console\Output;
9
 use think\console\Output;
17
 use think\facade\Db;
10
 use think\facade\Db;
18
-use think\facade\Log;
19
 
11
 
20
 class GreatLifeOrderIndependentAccount extends Command
12
 class GreatLifeOrderIndependentAccount extends Command
21
 {
13
 {
@@ -49,9 +41,8 @@ class GreatLifeOrderIndependentAccount extends Command
49
         // 商户信息
41
         // 商户信息
50
         $merchants = [];
42
         $merchants = [];
51
 
43
 
52
-        $time = time();
53
         // 已支付、未结算
44
         // 已支付、未结算
54
-        $where = ['paid' => 1, 'is_independentaccount' => 0, 'is_del' => 0, 'is_system_del' => 0];
45
+        $where = ['paid' => 1, 'is_independentaccount' => 0, 'is_del' => 0, 'is_system_del' => 0, 'is_settlement' => 1];
55
         // 订单状态(0:待发货;1:待收货;2:待评价;3:已完成;4已申请退款;-1:已退款)5未支付 6已取消'
46
         // 订单状态(0:待发货;1:待收货;2:待评价;3:已完成;4已申请退款;-1:已退款)5未支付 6已取消'
56
         $status = [2, 3];
47
         $status = [2, 3];
57
         // 普通订单
48
         // 普通订单
@@ -62,30 +53,27 @@ class GreatLifeOrderIndependentAccount extends Command
62
         $storeOrderRepository = app()->make(StoreOrderRepository::class);
53
         $storeOrderRepository = app()->make(StoreOrderRepository::class);
63
 
54
 
64
         foreach ($cursor as $key => $value) {
55
         foreach ($cursor as $key => $value) {
65
-            $settlement_period_time = strtotime($value['create_time']) + $timeLimit * 24 * 3600;
66
-            // @todo 下单后第{$timeLimit}天后可分账
67
-            if ($settlement_period_time >= $time) {
68
-                if (!isset($merchants[$value['mer_id']])) {
69
-                    $merchants[$value['mer_id']] = Db::name('merchant')->where('mer_id', $value['mer_id'])->find();
70
-                }
71
-                $group_order = Db::name('store_group_order')->alias('sgo')->where('sgo.group_order_id', $value['group_order_id'])->find();
56
+            if (!isset($merchants[$value['mer_id']])) {
57
+                $merchants[$value['mer_id']] = Db::name('merchant')->where('mer_id', $value['mer_id'])->find();
58
+            }
59
+            $group_order = Db::name('store_group_order')->alias('sgo')->where('sgo.group_order_id', $value['group_order_id'])->find();
72
 
60
 
73
-                // 分账账号 496:表示{会员专区}账户,精彩生活区分账到{会员专区}账户
74
-                $independentAccount = $storeOrderRepository->getIndependentAccount($value, $group_order, $dst_mer_id, $merchants[$value['mer_id']]['hf_member_id']);
61
+            // 分账账号 496:表示{会员专区}账户,精彩生活区分账到{会员专区}账户
62
+            $independentAccount = $storeOrderRepository->getIndependentAccount($value, $group_order, $dst_mer_id, $merchants[$value['mer_id']]['hf_member_id']);
75
 
63
 
76
-                // @todo 预分账处理 496:表示{会员专区}账户,精彩生活区分账到{会员专区}账户,故:hf_platform_member_id 为入账账户
77
-                $isSuccessed = $storeOrderRepository->prepareExecuteIndependentAccount(
78
-                    $value, $group_order, $independentAccount['api_key'], $independentAccount['hf_platform_member_id'], '', $value['pay_price'], 0
79
-                );
80
-                if ($isSuccessed) {
81
-                    Db::name("log")->insert(array('data' => '精彩生活区-订单分账:' . json_encode($value, JSON_FORCE_OBJECT)));//日志记录
64
+            // @todo 预分账处理 496:表示{会员专区}账户,精彩生活区分账到{会员专区}账户,故:hf_platform_member_id 为入账账户
65
+            $isSuccessed = $storeOrderRepository->prepareExecuteIndependentAccount(
66
+                $value, $group_order, $independentAccount['api_key'], $independentAccount['hf_platform_member_id'], '', $value['pay_price'], 0
67
+            );
68
+            if ($isSuccessed) {
69
+                Db::name("log")->insert(array('data' => '精彩生活区-订单分账:' . json_encode($value, JSON_FORCE_OBJECT)));// 日志记录
82
 
70
 
83
-                    $order = StoreOrder::getInstance()->where('order_id', $value['order_id'])->find();
84
-                    $order->is_independentaccount = 1;
85
-                    $order->save();
86
-                }
71
+                $order = StoreOrder::getInstance()->where('order_id', $value['order_id'])->find();
72
+                $order->is_independentaccount = 1;
73
+                $order->save();
87
             }
74
             }
88
         }
75
         }
76
+
89
     }
77
     }
90
 
78
 
91
 }
79
 }

+ 81 - 9
app/common/repositories/store/order/StoreOrderRepository.php

@@ -916,6 +916,30 @@ class StoreOrderRepository extends BaseRepository
916
 
916
 
917
                             }
917
                             }
918
 
918
 
919
+                            // 记录日志
920
+                            Db::name("user_sign_vr")->insert([
921
+                                'uid' => $uid,
922
+                                'number' => $array_fzone_paytype['price'],
923
+                                'mark' => "购买商品消费VR",
924
+                                'desc' => "VR",
925
+                                'order_type' => 0,
926
+                                'order_id' => $_order->order_id,
927
+                                'surplus' => $vrpri,
928
+                                'type' => 2,
929
+                                'addtime' => time()
930
+                            ]);
931
+                            Db::name('user_sign_score')->insert([
932
+                                'uid' => $uid,
933
+                                'reward_socre' => $array_fzone_paytype['other'],
934
+                                'addtime' => time(),
935
+                                'status' => 1,
936
+                                'order_type' => 0,
937
+                                'order_id' => $_order->order_id,
938
+                                'mark' => '购买商品消费积分',
939
+                                'desc' => '',
940
+                                'surplus' => $pricepri,
941
+                                'pm' => 2
942
+                            ]);
919
 
943
 
920
                         } else if (!empty($array_fzone_paytype['type'] == 'b2')) {
944
                         } else if (!empty($array_fzone_paytype['type'] == 'b2')) {
921
                             //精彩生活现金+积分
945
                             //精彩生活现金+积分
@@ -929,14 +953,26 @@ class StoreOrderRepository extends BaseRepository
929
                             //     // //修改订单状态
953
                             //     // //修改订单状态
930
                             //     $orderdatas = Db::name("store_order")->where("order_id", $_order->order_id)->update(['paid'=>1,'pay_time'=> date('Y-m-d H:i:s'),'status'=>0,'douhuomall'=>1,'douhuomall_status'=>9]);
954
                             //     $orderdatas = Db::name("store_order")->where("order_id", $_order->order_id)->update(['paid'=>1,'pay_time'=> date('Y-m-d H:i:s'),'status'=>0,'douhuomall'=>1,'douhuomall_status'=>9]);
931
                             //     Db::name("store_group_order")->where("group_order_id",  $groupOrder->group_order_id)->update(['pay_price'=> $array_fzone_paytype['price']]);
955
                             //     Db::name("store_group_order")->where("group_order_id",  $groupOrder->group_order_id)->update(['pay_price'=> $array_fzone_paytype['price']]);
932
-
933
                             //     $paystage_status = 1;
956
                             //     $paystage_status = 1;
934
-
935
                             // }else{
957
                             // }else{
936
                             //     $groupOrder['er'] = 1;
958
                             //     $groupOrder['er'] = 1;
937
                             //     $groupOrder['er1'] = "支付失败,积分不足";
959
                             //     $groupOrder['er1'] = "支付失败,积分不足";
938
                             // }
960
                             // }
939
 
961
 
962
+                            $pricepri = $userdatas['score'] - $array_fzone_paytype['other'];
963
+                            Db::name('user_sign_score')->insert([
964
+                                'uid' => $uid,
965
+                                'reward_socre' => $array_fzone_paytype['other'],
966
+                                'addtime' => time(),
967
+                                'status' => 1,
968
+                                'order_type' => 0,
969
+                                'order_id' => $_order->order_id,
970
+                                'mark' => '购买商品消费积分',
971
+                                'desc' => '',
972
+                                'surplus' => $pricepri,
973
+                                'pm' => 2
974
+                            ]);
975
+
940
 
976
 
941
                         } else if (!empty($array_fzone_paytype['type'] == 'b3')) {
977
                         } else if (!empty($array_fzone_paytype['type'] == 'b3')) {
942
                             //精彩生活区 || 商贸区 VR+京豆
978
                             //精彩生活区 || 商贸区 VR+京豆
@@ -960,9 +996,45 @@ class StoreOrderRepository extends BaseRepository
960
 
996
 
961
                             }
997
                             }
962
 
998
 
963
-                        } else if (!empty($array_fzone_paytype['type'] == 'b4')) {
964
-                            //精彩生活区 VR+京豆
999
+                            Db::name("user_sign_vr")->insert([
1000
+                                'uid' => $uid,
1001
+                                'number' => $array_fzone_paytype['price'],
1002
+                                'mark' => "购买商品消费VR",
1003
+                                'desc' => "VR",
1004
+                                'order_type' => 0,
1005
+                                'order_id' => $_order->order_id,
1006
+                                'surplus' => $vrpri,
1007
+                                'type' => 2,
1008
+                                'addtime' => time()
1009
+                            ]);
1010
+                            Db::name('user_sign_jingdou')->insert([
1011
+                                'uid' => $uid,
1012
+                                'number' => $array_fzone_paytype['other'],
1013
+                                'status' => 1,
1014
+                                'mark' => '购买商品消费京豆',
1015
+                                'addtime' => time(),
1016
+                                'surplus' => $pricepri,
1017
+                                'settlement_time' => date('Y-m-d H:i:s'),
1018
+                                'type' => 2,
1019
+                                'order_type' => 0,
1020
+                                'order_id' => $_order->order_id
1021
+                            ]);
965
 
1022
 
1023
+                        } else if (!empty($array_fzone_paytype['type'] == 'b4')) {
1024
+                            // 精彩生活区 现金+京豆
1025
+                            $pricepri = $userdatas['jingdou'] - $array_fzone_paytype['other'];
1026
+                            Db::name('user_sign_jingdou')->insert([
1027
+                                'uid' => $uid,
1028
+                                'number' => $array_fzone_paytype['other'],
1029
+                                'status' => 1,
1030
+                                'mark' => '购买商品消费京豆',
1031
+                                'addtime' => time(),
1032
+                                'surplus' => $pricepri,
1033
+                                'settlement_time' => date('Y-m-d H:i:s'),
1034
+                                'type' => 2,
1035
+                                'order_type' => 0,
1036
+                                'order_id' => $_order->order_id
1037
+                            ]);
966
 
1038
 
967
 //                            $groupOrder['er'] = 1;
1039
 //                            $groupOrder['er'] = 1;
968
 //                            $groupOrder['er1'] = "开发中升级中!";
1040
 //                            $groupOrder['er1'] = "开发中升级中!";
@@ -985,9 +1057,9 @@ class StoreOrderRepository extends BaseRepository
985
                                 $log_data = [
1057
                                 $log_data = [
986
                                     'uid' => $uid,
1058
                                     'uid' => $uid,
987
                                     'number' => $array_fzone_paytype['price'],
1059
                                     'number' => $array_fzone_paytype['price'],
988
-                                    'mark' => "购买精彩区商品消费VR:" . $array_fzone_paytype['price'],
1060
+                                    'mark' => "购买商品消费VR",
989
                                     'desc' => "VR",
1061
                                     'desc' => "VR",
990
-                                    'order_id' => 0,
1062
+                                    'order_id' => $_order->order_id,
991
                                     'surplus' => $vrpri,
1063
                                     'surplus' => $vrpri,
992
                                     'order_type' => 0,
1064
                                     'order_type' => 0,
993
                                     'type' => 2,
1065
                                     'type' => 2,
@@ -1061,7 +1133,7 @@ class StoreOrderRepository extends BaseRepository
1061
                                 'number' => $array_fzone_paytype['price'],
1133
                                 'number' => $array_fzone_paytype['price'],
1062
                                 'mark' => "购买会员专区商品消费VR:" . $array_fzone_paytype['price'],
1134
                                 'mark' => "购买会员专区商品消费VR:" . $array_fzone_paytype['price'],
1063
                                 'desc' => "VR",
1135
                                 'desc' => "VR",
1064
-                                'order_id' => 0,
1136
+                                'order_id' => $_order->order_id,
1065
                                 'surplus' => $vrpri,
1137
                                 'surplus' => $vrpri,
1066
                                 'order_type' => 0,
1138
                                 'order_type' => 0,
1067
                                 'type' => 2,
1139
                                 'type' => 2,
@@ -1088,9 +1160,9 @@ class StoreOrderRepository extends BaseRepository
1088
                                         $log_data = [
1160
                                         $log_data = [
1089
                                             'uid' => $uid,
1161
                                             'uid' => $uid,
1090
                                             'number' => $array_fzone_paytype['other'],
1162
                                             'number' => $array_fzone_paytype['other'],
1091
-                                            'mark' => "购买会员专区商品消费VR:" . $array_fzone_paytype['other'],
1163
+                                            'mark' => "购买商品消费VR",
1092
                                             'desc' => "VR",
1164
                                             'desc' => "VR",
1093
-                                            'order_id' => 0,
1165
+                                            'order_id' => $_order->order_id,
1094
                                             'surplus' => $total_vr,
1166
                                             'surplus' => $total_vr,
1095
                                             'order_type' => 0,
1167
                                             'order_type' => 0,
1096
                                             'type' => 2,
1168
                                             'type' => 2,