Selaa lähdekoodia

Merge branch 'master' into huangfamily

family 1 vuosi sitten
vanhempi
commit
361cf1edeb

+ 134 - 0
app/command/GzcAddByBillCommand.php

@@ -0,0 +1,134 @@
1
+<?php
2
+
3
+namespace app\command;
4
+
5
+use app\common\model\user\UserCertification;
6
+use app\common\repositories\merchant\order\OrderGzcRepository;
7
+use think\console\Command;
8
+use think\console\Input;
9
+use think\console\Output;
10
+use think\facade\Db;
11
+use think\facade\Log;
12
+
13
+class GzcAddByBillCommand extends Command
14
+{
15
+    protected function configure()
16
+    {
17
+        // 配置命令名称及描述
18
+        $this->setName('gzcAddByBill')
19
+            ->setDescription('从bill表中查询未提交到公证处的养老金记录,并提交公证处');
20
+    }
21
+
22
+    protected function execute(Input $input, Output $output)
23
+    {
24
+        // 在这里执行任务的具体内容
25
+        $output->writeln('定时任务执行中...');
26
+
27
+        $nowTime = time();
28
+        $this->billGzcAdd($nowTime);
29
+
30
+        $output->writeln('定时任务执行完成');
31
+    }
32
+
33
+    /**
34
+     * 线下支付订单公证处IN10入账
35
+     * @param $nowTime
36
+     * author: php迷途小书童
37
+     * created: 2021/3/20 9:26
38
+     */
39
+    public function billGzcAdd($nowTime)
40
+    {
41
+        /** @var OrderGzcRepository $OrderGzcRepository */
42
+        $OrderGzcRepository = app()->make(OrderGzcRepository::class);
43
+        $cursor = Db::name('user_bill')
44
+            ->where('status', 1)
45
+            ->where('is_gzc', 0)
46
+            ->where('commission_type', 5)
47
+            ->select()
48
+            ->toArray();
49
+        if ($cursor) {
50
+            foreach ($cursor as $bill) {
51
+                $type_shop = $bill['type_shop'] ?? 0;
52
+                switch ($type_shop) {
53
+                    case "0":
54
+                        $online = $cursor = Db::table('rrx_store_order')->where('uid', $bill['uid'])->where('order_sn', $bill['order_sn'])->where('paid', 1)->find();
55
+                        break;
56
+                    case "1":
57
+                        $online = Db::table('rrx_order_pdd')->where('uid', $bill['uid'])->where('order_sn', $bill['order_sn'])->find();
58
+                        break;
59
+                    case "2":
60
+                        $online = Db::table('rrx_order_vip')->where('uid', $bill['uid'])->where('order_sn', $bill['order_sn'])->find();
61
+                        break;
62
+                    case "3":
63
+                        $online = Db::table('rrx_order_su')->where('uid', $bill['uid'])->where('order_sn', $bill['order_sn'])->find();
64
+                        break;
65
+                    case "4":
66
+                        $online = '';
67
+                        break;
68
+                    case "5":
69
+                        $online = Db::table('rrx_order_tb')->where('uid', $bill['uid'])->where('order_sn', $bill['order_sn'])->find();
70
+                        break;
71
+                    case "6":
72
+                        $online = Db::table('rrx_order_jd')->where('uid', $bill['uid'])->where('order_sn', $bill['order_sn'])->find();
73
+                        break;
74
+                    case "7":
75
+                        $online = '';
76
+                        break;
77
+                    case "8":
78
+                        $online = '';
79
+                        break;
80
+                    case "9":
81
+                        $online = Db::table('rrx_order_huafei')->where('uid', $bill['uid'])->where('order_sn', $bill['order_sn'])->find();
82
+                        break;
83
+                    default:
84
+                        $online = Db::table('rrx_store_order')->where('uid', $bill['uid'])->where('order_sn', $bill['order_sn'])->where('paid', 1)->find();
85
+                }
86
+                if (!$online) {
87
+                    Log::info($bill['uid'] . '查询不到订单');
88
+                    continue;
89
+                }
90
+
91
+                $certification = UserCertification::getInstance()->where('uid', $bill['uid'])->find();
92
+                if (!$certification) {
93
+                    Log::info($online['uid'] . '没有实名认证');
94
+                    continue;
95
+                }
96
+
97
+                $pension = $bill['number'] ?? 0;
98
+                if ($pension <= 0) {
99
+                    Log::info($online['order_sn'] . 'pension' . $pension);
100
+                    continue;
101
+                }
102
+
103
+                //新增入账明细记录
104
+                list($msec, $sec) = explode(' ', microtime());
105
+                $msectime = number_format((floatval($msec) + floatval($sec)) * 1000, 0, '', '');
106
+                $orderId = 'IN10' . $msectime . mt_rand(10000, max(intval($msec * 10000) + 10000, 98369));
107
+                $create = [
108
+                    'uid' => $online['uid'],
109
+                    'platform_no' => $orderId,
110
+                    'account_type' => 1,
111
+                    'user_name' => $certification['user_name'],
112
+                    'mobile' => $certification['mobile'],
113
+                    'user_card' => $certification['user_card'],
114
+                    'pension' => $pension,
115
+                    'order_type' => $type_shop,
116
+                    'out_trade_no' => $online['order_sn'],
117
+                    'link_id' => $bill['bill_id']
118
+                ];
119
+                $test_user = Db::name('user')->where('uid', $online['uid'])->value('test_user');
120
+                $check = Db::name("gzc_logs")->where("link_id", $bill['bill_id'])->where("order_type", $type_shop)->count();
121
+                if ($test_user == 0 && $check <= 0) {
122
+                    $OrderGzcRepository->create($create);
123
+                    Db::name('user_bill')
124
+                        ->where('bill_id', $bill['bill_id'])
125
+                        ->where('commission_type', 5)
126
+                        ->update([
127
+                            'is_gzc' => 1,
128
+                            'gzc' => 1
129
+                        ]);
130
+                }
131
+            }
132
+        }
133
+    }
134
+}

+ 1 - 1
app/command/PensionTasks.php

@@ -64,7 +64,7 @@ class PensionTasks extends Command
64 64
 //            $this->doThridVipOrderGzc($nowTime, $timeLimit = 30);
65 65
 //            $this->doThridDyOrderGzc($nowTime, $timeLimit = 30);
66 66
 //            $this->doThridHfOrderGzc($nowTime, $timeLimit = 30);
67
-            $this->billGzcAdd($nowTime);
67
+//            $this->billGzcAdd($nowTime);
68 68
             //升级
69 69
 //            $this -> doUpgrade();
70 70
         } catch (\Throwable $e) {

+ 1 - 1
app/common/repositories/store/order/StoreOrderRepository.php

@@ -9823,7 +9823,7 @@ class StoreOrderRepository extends BaseRepository
9823 9823
             $merchant = app()->make(MerchantRepository::class);
9824 9824
             $merchantInfo = $merchant->get($store_order_data['mer_id']);
9825 9825
             // 1企业2个体3个人
9826
-            if ($merchantInfo && !empty($store_order_data) && in_array($merchantInfo['type'], [2, 3])) {
9826
+            if ($merchantInfo && !empty($store_order_data) && in_array($merchantInfo['type'], [1, 2, 3])) {
9827 9827
                 //商家让利部分的拆分
9828 9828
                 $ylj_pri = bcmul($concession_pri, 0.3, 2); // 让利部分30%给消费者做养老金
9829 9829
                 $pv = bcmul($concession_pri, 0.35, 2); // 35%做业绩PV分配

+ 22 - 3
app/common/repositories/store/product/ProductRepository.php

@@ -162,6 +162,16 @@ class ProductRepository extends BaseRepository
162 162
     public function create(array $data)
163 163
     {
164 164
         return Db::transaction(function () use ($data) {
165
+            if ($data['extension_type'] != 1) {
166
+                $base_commission = Db::name('system_config_value')->where('config_key', 'base_commission')->where('mer_id', $data['mer_id'])->value('value');
167
+                if ($base_commission < 5) {
168
+                    $base_commission = 5;
169
+                }
170
+                foreach ($data['attrValue'] as &$value) {
171
+                    $value['extension_one'] = $base_commission;
172
+                }
173
+            }
174
+
165 175
             $pension = bcsub($data['attrValue'][0]['price'], bcmul($data['attrValue'][0]['price'], $data['commission'], 2), 2);
166 176
             if ($data['pension'] > $pension) {
167 177
                 return ['code' => 201, 'msg' => '养老金金额和佣金金额总和不能超过商品单价'];
@@ -243,6 +253,15 @@ class ProductRepository extends BaseRepository
243 253
     public function update(int $id, array $data, $merId)
244 254
     {
245 255
         Db::transaction(function () use ($id, $data, $merId) {
256
+            if ($data['extension_type'] != 1) {
257
+                $base_commission = Db::name('system_config_value')->where('config_key', 'base_commission')->where('mer_id', $merId)->value('value');
258
+                if ($base_commission < 5) {
259
+                    $base_commission = 5;
260
+                }
261
+                foreach ($data['attrValue'] as &$value) {
262
+                    $value['extension_one'] = $base_commission;
263
+                }
264
+            }
246 265
             $param['attr'] = $data['attr'] ?? '';
247 266
             $param['attrValue'] = $data['attrValue'] ?? '';
248 267
             $param['cate'] = $data['mer_cate_id'] ?? '';
@@ -1004,8 +1023,8 @@ class ProductRepository extends BaseRepository
1004 1023
         $res['yanglao']=($k['yanglao']);
1005 1024
         if($res['mer_id'] != 496){
1006 1025
             if($res['mer_id'] != 491){
1007
-                $res['jfduihuan']=($k['jfduihuan']);
1008
-                $res['jdduihuan']=($k['jdduihuan']);
1026
+                $res['jfduihuan']=($k['jfduihuan']??0);
1027
+                $res['jdduihuan']=($k['jdduihuan']??0);
1009 1028
             }
1010 1029
         }
1011 1030
 
@@ -1781,7 +1800,7 @@ class ProductRepository extends BaseRepository
1781 1800
                 $merchant = app()->make(MerchantRepository::class);
1782 1801
                 $merchantInfo = $merchant->get($product['mer_id']);
1783 1802
                 // 1企业2个体3个人
1784
-                if ($merchantInfo && in_array($merchantInfo['type'],[2,3])) {
1803
+                if ($merchantInfo && in_array($merchantInfo['type'],[1,2,3])) {
1785 1804
                     //商贸区
1786 1805
                     $jf = $product['price'] - bcmul($product['concession_pri'],0.3, 2) . ' + ' . bcmul($product['concession_pri'],0.3, 2);
1787 1806
                     $jd = $product['price'] - bcmul($product['concession_pri'],0.35, 2) . ' + ' . bcmul($product['concession_pri'],0.35, 2);

+ 44 - 113
app/common/repositories/user/UserAwardRepository.php

@@ -58,55 +58,30 @@ class UserAwardRepository extends BaseRepository
58 58
      */
59 59
     public function getList(array $where, $page, $limit)
60 60
     {
61
-        $count = 0;
62
-        $list = [];
63
-
64
-
65
-        $brokerage_fugou_rate = Db::name("system_config_value")->where(["config_key"=>"brokerage_fugou_rate"])->value("value");
66
-        $brokerage_fugou_rate = json_decode($brokerage_fugou_rate, true);
67
-
68
-        $user_group_rate = Db::name("system_config_value")->where(["config_key"=>"user_group_rate"])->value("value");
69
-        $user_group_rate = json_decode($user_group_rate, true);
70
-
71
-        $user_group_fugou_rate = Db::name("system_config_value")->where(["config_key"=>"user_group_fugou_rate"])->value("value");
72
-        $user_group_fugou_rate = json_decode($user_group_fugou_rate, true);
73
-
74
-        $brokerage_guquan_rate = Db::name("system_config_value")->where(["config_key"=>"brokerage_guquan_rate"])->value("value");
75
-        $fugou_guquan_rate = Db::name("system_config_value")->where(["config_key"=>"fugou_guquan_rate"])->value("value");
76
-
77
-        $brokerage_lianchuang_rate = Db::name("system_config_value")->where(["config_key"=>"brokerage_lianchuang_rate"])->value("value");
78
-        $fugou_lianchuang_rate = Db::name("system_config_value")->where(["config_key"=>"fugou_lianchuang_rate"])->value("value");
79
-
80
-        $list[] = [
81
-            'name' => '佣金',
82
-            'key' => 'brokerage',
83
-            'number_rate' => $brokerage_fugou_rate['brokerage_rate']??0,
84
-            'guquan_rate' => $brokerage_guquan_rate??0,
85
-            'lianchuang_rate' => $brokerage_lianchuang_rate??0,
86
-            'user_groub_1' => $user_group_rate[0]['rate']??0,
87
-            'user_groub_2' => $user_group_rate[1]['rate']??0,
88
-            'user_groub_3' => $user_group_rate[2]['rate']??0,
89
-            'user_groub_4' => $user_group_rate[3]['rate']??0,
90
-            'user_groub_5' => $user_group_rate[4]['rate']??0,
91
-            'user_groub_6' => $user_group_rate[5]['rate']??0,
92
-            'user_groub_7' => $user_group_rate[6]['rate']??0,
61
+        $key = [
62
+            ['name' => '直推收益', 'key' => 'user_group_rate'],
63
+            ['name' => '锁客收益', 'key' => 'user_group_lock_rate'],
64
+            ['name' => '推广店铺收益', 'key' => 'user_group_store_rate'],
65
+            ['name' => '分红', 'key' => 'user_group_red_rate'],
93 66
         ];
94
-
95
-        $list[] = [
96
-            'name' => '复购金',
97
-            'key' => 'fugou',
98
-            'number_rate' => $brokerage_fugou_rate['fugou_rate']??0,
99
-            'lianchuang_rate' => $fugou_lianchuang_rate??0,
100
-            'guquan_rate' => $fugou_guquan_rate??0,
101
-            'user_groub_1' => $user_group_fugou_rate[0]['rate']??0,
102
-            'user_groub_2' => $user_group_fugou_rate[1]['rate']??0,
103
-            'user_groub_3' => $user_group_fugou_rate[2]['rate']??0,
104
-            'user_groub_4' => $user_group_fugou_rate[3]['rate']??0,
105
-            'user_groub_5' => $user_group_fugou_rate[4]['rate']??0,
106
-            'user_groub_6' => $user_group_fugou_rate[5]['rate']??0,
107
-            'user_groub_7' => $user_group_fugou_rate[6]['rate']??0,
108
-        ];
109
-
67
+        $list = [];
68
+        foreach ($key as $item) {
69
+            $user_group_rate = Db::name("system_config_value")->where(["config_key"=>$item['key']])->value("value");
70
+            $user_group_rate = json_decode($user_group_rate, true);
71
+            $list[] = [
72
+                'name' => $item['name'],
73
+                'key' => $item['key'],
74
+                'user_groub_1' => $user_group_rate[0]['rate']??0,
75
+                'user_groub_2' => $user_group_rate[1]['rate']??0,
76
+                'user_groub_3' => $user_group_rate[2]['rate']??0,
77
+                'user_groub_4' => $user_group_rate[3]['rate']??0,
78
+                'user_groub_5' => $user_group_rate[4]['rate']??0,
79
+                'user_groub_6' => $user_group_rate[5]['rate']??0,
80
+                'user_groub_7' => $user_group_rate[6]['rate']??0,
81
+                'user_groub_8' => $user_group_rate[7]['rate']??0,
82
+                'user_groub_9' => $user_group_rate[8]['rate']??0,
83
+            ];
84
+        }
110 85
         $count = count($list);
111 86
         return compact('count', 'list');
112 87
     }
@@ -122,16 +97,15 @@ class UserAwardRepository extends BaseRepository
122 97
     {
123 98
         $action = Route::buildUrl('configAwardUpdate' , $formData)->build();
124 99
         return Elm::createForm($action, [
125
-            Elm::number('number_rate', $formData['name'].'占比(%)')->min(0)->size('large'),
126
-            Elm::number('lianchuang_rate', '联创占比(%)')->min(0)->size('large'),
127
-            Elm::number('guquan_rate', '股权占比(%)')->min(0)->size('large'),
128
-            Elm::number('user_groub_1', '消费者占比(%)')->min(0)->size('large'),
129
-            Elm::number('user_groub_2', '业务员占比(%)')->min(0)->size('large'),
130
-            Elm::number('user_groub_3', '业务经理占比(%)')->min(0)->size('large'),
131
-            Elm::number('user_groub_4', '初级合伙人占比(%)')->min(0)->size('large'),
132
-            Elm::number('user_groub_5', '中级合伙人占比(%)')->min(0)->size('large'),
133
-            Elm::number('user_groub_6', '高级合伙人占比(%)')->min(0)->size('large'),
134
-            Elm::number('user_groub_7', '董事占比(%)')->min(0)->size('large'),
100
+            Elm::number('user_groub_1', '普通用户(%)')->min(0)->size('large'),
101
+            Elm::number('user_groub_2', '业务员(%)')->min(0)->size('large'),
102
+            Elm::number('user_groub_3', '业务经理(%)')->min(0)->size('large'),
103
+            Elm::number('user_groub_4', '初级合伙人(%)')->min(0)->size('large'),
104
+            Elm::number('user_groub_5', '中级合伙人(%)')->min(0)->size('large'),
105
+            Elm::number('user_groub_6', '高级合伙人(%)')->min(0)->size('large'),
106
+            Elm::number('user_groub_7', '董事(%)')->min(0)->size('large'),
107
+            Elm::number('user_groub_8', '联创(%)')->min(0)->size('large'),
108
+            Elm::number('user_groub_9', '股权(%)')->min(0)->size('large'),
135 109
         ])->setTitle($formData['name'].'设置')->formData($formData);
136 110
     }
137 111
 
@@ -158,61 +132,18 @@ class UserAwardRepository extends BaseRepository
158 132
      */
159 133
     public function updateAward($key, $data)
160 134
     {
161
-        if ($key == 'brokerage') {
162
-            //修改佣金比例
163
-            $brokerage_fugou_rate = Db::name("system_config_value")->where(["config_key"=>"brokerage_fugou_rate"])->value("value");
164
-            $brokerage_fugou_rate = json_decode($brokerage_fugou_rate, true);
165
-            $brokerage_fugou_rate['brokerage_rate'] = $data['number_rate'];
166
-            Db::name("system_config_value")->where(["config_key"=>"brokerage_fugou_rate"])->where('mer_id', 0)->update([
167
-                'value' => json_encode($brokerage_fugou_rate)
168
-            ]);
169
-
170
-            //修改佣金等级分成比例
171
-            $user_group_rate = Db::name("system_config_value")->where(["config_key"=>"user_group_rate"])->value("value");
172
-            $user_group_rate = json_decode($user_group_rate, true);
173
-            $user_group_rate[0]['rate'] = $data['user_groub_1'];
174
-            $user_group_rate[1]['rate'] = $data['user_groub_2'];
175
-            $user_group_rate[2]['rate'] = $data['user_groub_3'];
176
-            $user_group_rate[3]['rate'] = $data['user_groub_4'];
177
-            $user_group_rate[4]['rate'] = $data['user_groub_5'];
178
-            $user_group_rate[5]['rate'] = $data['user_groub_6'];
179
-            $user_group_rate[6]['rate'] = $data['user_groub_7'];
180
-            Db::name("system_config_value")->where(["config_key"=>"user_group_rate"])->where('mer_id', 0)->update(['value' =>json_encode($user_group_rate)]);
181
-
182
-            //修改佣金股权比例
183
-            Db::name("system_config_value")->where(["config_key"=>"brokerage_guquan_rate"])->where('mer_id', 0)->update(['value' =>$data['guquan_rate']]);
184
-            //修改佣金联创比例
185
-            Db::name("system_config_value")->where(["config_key"=>"brokerage_lianchuang_rate"])->where('mer_id', 0)->update(['value' =>$data['lianchuang_rate']]);
186
-        }
187
-
188
-        if ($key == 'fugou') {
189
-            //修改复购金比例
190
-            $brokerage_fugou_rate = Db::name("system_config_value")->where(["config_key"=>"brokerage_fugou_rate"])->value("value");
191
-            $brokerage_fugou_rate = json_decode($brokerage_fugou_rate, true);
192
-            $brokerage_fugou_rate['fugou_rate'] = $data['number_rate'];
193
-            Db::name("system_config_value")->where(["config_key"=>"brokerage_fugou_rate"])->where('mer_id', 0)->update([
194
-                'value' => json_encode($brokerage_fugou_rate)
195
-            ]);
196
-            //修改复购金等级分成比例
197
-            $user_group_fugou_rate = Db::name("system_config_value")->where(["config_key"=>"user_group_fugou_rate"])->value("value");
198
-            $user_group_fugou_rate = json_decode($user_group_fugou_rate, true);
199
-            $user_group_fugou_rate[0]['rate'] = $data['user_groub_1'];
200
-            $user_group_fugou_rate[1]['rate'] = $data['user_groub_2'];
201
-            $user_group_fugou_rate[2]['rate'] = $data['user_groub_3'];
202
-            $user_group_fugou_rate[3]['rate'] = $data['user_groub_4'];
203
-            $user_group_fugou_rate[4]['rate'] = $data['user_groub_5'];
204
-            $user_group_fugou_rate[5]['rate'] = $data['user_groub_6'];
205
-            $user_group_fugou_rate[6]['rate'] = $data['user_groub_7'];
206
-            Db::name("system_config_value")->where(["config_key"=>"user_group_fugou_rate"])->where('mer_id', 0)->update([
207
-                'value' => json_encode($user_group_fugou_rate)
208
-            ]);
209
-            //修改复购金股权比例
210
-            Db::name("system_config_value")->where(["config_key"=>"fugou_guquan_rate"])->where('mer_id', 0)->update(['value' => $data['guquan_rate']]);
211
-            //修改复购金联创比例
212
-            Db::name("system_config_value")->where(["config_key"=>"fugou_lianchuang_rate"])->where('mer_id', 0)->update(['value' => $data['lianchuang_rate']]);
213
-        }
214
-
215
-        return true;
135
+        $user_group_rate = Db::name("system_config_value")->where(["config_key"=>$key])->value("value");
136
+        $user_group_rate = json_decode($user_group_rate, true);
137
+        $user_group_rate[0]['rate'] = $data['user_groub_1'];
138
+        $user_group_rate[1]['rate'] = $data['user_groub_2'];
139
+        $user_group_rate[2]['rate'] = $data['user_groub_3'];
140
+        $user_group_rate[3]['rate'] = $data['user_groub_4'];
141
+        $user_group_rate[4]['rate'] = $data['user_groub_5'];
142
+        $user_group_rate[5]['rate'] = $data['user_groub_6'];
143
+        $user_group_rate[6]['rate'] = $data['user_groub_7'];
144
+        $user_group_rate[7]['rate'] = $data['user_groub_8'];
145
+        $user_group_rate[8]['rate'] = $data['user_groub_9'];
146
+        Db::name("system_config_value")->where(["config_key"=>$key])->where('mer_id', 0)->update(['value' =>json_encode($user_group_rate)]);
216 147
     }
217 148
 
218 149
     /**

+ 25 - 0
app/common/repositories/user/UserRepository.php

@@ -869,6 +869,7 @@ class UserRepository extends BaseRepository
869 869
                             'uid' => $user['uid'],
870 870
                             'pv' => $num,
871 871
                             'status' => 1,
872
+                            'addtime' => time(),
872 873
                             'mark' => empty($mark) ?'管理员调整pv值' :  $mark,
873 874
                             'settlement_time' => date('Y-m-d H:i:s'),
874 875
                         ];
@@ -4105,4 +4106,28 @@ class UserRepository extends BaseRepository
4105 4106
         ];
4106 4107
 
4107 4108
     }
4109
+
4110
+    public function stockCreateForm()
4111
+    {
4112
+        $data = Db::name('user')->where(['status' => 1,'is_del' => 0])->field('uid,nickname')->select()->toArray();
4113
+        return Elm::createForm(Route::buildUrl('systemUserStockCreate')->build(), [
4114
+            Elm::select('user_id', '用户')->options(function () use ($data) {
4115
+                foreach ($data as $label) {
4116
+                    $options[] = ['label' => $label['nickname'],'value' => $label['uid']];
4117
+                }
4118
+                return $options;
4119
+            })->filterable(true),
4120
+            Elm::number('pack','份数')->required()
4121
+        ])->setTitle('添加股权分红');
4122
+    }
4123
+
4124
+    public function stockUpdateForm($id)
4125
+    {
4126
+        $stock = Db::name('old_user_stock')->where('id',$id)->field('user_id,pack')->find();
4127
+        $user = Db::name('user')->where('uid',$stock['user_id'])->field('uid,nickname')->find();
4128
+        return Elm::createForm(Route::buildUrl('systemUserStockUpdate',compact('id'))->build(), [
4129
+            Elm::input('user_id','用户',$user['nickname'])->disabled(true),
4130
+            Elm::number('pack','份数',$stock['pack'])->required()
4131
+        ])->setTitle('编辑');
4132
+    }
4108 4133
 }

+ 189 - 0
app/controller/admin/user/User.php

@@ -1406,4 +1406,193 @@ class User extends BaseController
1406 1406
         $data['count']=Db::name('user_sign_score')->where($where)->count();
1407 1407
         return app('json')->success($data);
1408 1408
     }
1409
+
1410
+    /**
1411
+     * 获取合伙人分红记录
1412
+     * @return mixed
1413
+     * @throws DataNotFoundException
1414
+     * @throws DbException
1415
+     * @throws ModelNotFoundException
1416
+     */
1417
+    public function getWeekAwardList()
1418
+    {
1419
+        [$page, $limit] = $this->getPage();
1420
+        $nickname = request()->param('nickname','');
1421
+        $account = request()->param('account','');
1422
+        $where = [];
1423
+        if($nickname) $where[] = ['u.nickname','like','%'.$nickname.'%'];
1424
+        if($account) $where[] = ['u.account','=',$account];
1425
+
1426
+        $query = Db::name('old_user_weekaward')->alias('w')
1427
+            ->leftJoin('user u','w.user_id=u.uid')
1428
+            ->leftJoin('old_user_starlevel star','star.id=w.user_star_id')
1429
+            ->field('w.*,u.uid,u.real_name,u.nickname,star.title')
1430
+            ->where($where);
1431
+
1432
+        $data = $query->page($page)
1433
+            ->limit($limit)
1434
+            ->order('w.id desc')
1435
+            ->select();
1436
+        $count = $query->count();
1437
+        if($data) {
1438
+            $data = $data->toArray();
1439
+            foreach ($data as $k => $v){
1440
+                $data[$k]['award_num'] = bcadd($v['award_num'],$v['award_num_sm'],2);
1441
+                $data[$k]['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
1442
+                $data[$k]['radio'] = $v['radio'] == 2 ? '已发放' : '未发放';
1443
+            }
1444
+        }
1445
+        $return_data['list'] = $data;
1446
+        $return_data['count'] = $count;
1447
+        return app('json')->success($return_data);
1448
+    }
1449
+
1450
+    /**
1451
+     * 获取联创奖励记录
1452
+     * @return mixed
1453
+     * @throws DataNotFoundException
1454
+     * @throws DbException
1455
+     * @throws ModelNotFoundException
1456
+     */
1457
+    public function getOriginatorList()
1458
+    {
1459
+        [$page, $limit] = $this->getPage();
1460
+        $nickname = request()->param('nickname','');
1461
+        $account = request()->param('account','');
1462
+        $where = [];
1463
+        if($nickname) $where[] = ['u.nickname','like','%'.$nickname.'%'];
1464
+        if($account) $where[] = ['u.account','=',$account];
1465
+        $query = Db::name('old_user_originator')->alias('o')
1466
+            ->leftJoin('user u','o.user_id=u.uid')
1467
+            ->leftJoin('old_user_lianc lianc','lianc.id=o.user_lianc_id')
1468
+            ->field('o.*,u.uid,u.real_name,u.nickname,lianc.title')
1469
+            ->where($where);
1470
+
1471
+        $data = $query->page($page)
1472
+            ->limit($limit)
1473
+            ->order('o.id desc')
1474
+            ->select();
1475
+        $count = $query->count();
1476
+        if($data) {
1477
+            $data = $data->toArray();
1478
+            foreach ($data as $k=>$v){
1479
+                $data[$k]['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
1480
+            }
1481
+        }
1482
+        $return_data['list'] = $data;
1483
+        $return_data['count'] = $count;
1484
+        return app('json')->success($return_data);
1485
+    }
1486
+
1487
+    /**
1488
+     * 获取股权分红记录
1489
+     * @return mixed
1490
+     * @throws DataNotFoundException
1491
+     * @throws DbException
1492
+     * @throws ModelNotFoundException
1493
+     */
1494
+    public function getStockList()
1495
+    {
1496
+        [$page, $limit] = $this->getPage();
1497
+        $nickname = request()->param('nickname','');
1498
+        $account = request()->param('account','');
1499
+        $where = [];
1500
+        if($nickname) $where[] = ['u.nickname','like','%'.$nickname.'%'];
1501
+        if($account) $where[] = ['u.account','=',$account];
1502
+        $query = Db::name('old_user_stock')->alias('o')
1503
+            ->leftJoin('user u','o.user_id=u.uid')
1504
+            ->field('o.*,u.uid,u.real_name,u.nickname')
1505
+            ->where($where);
1506
+
1507
+        $data = $query->page($page)
1508
+            ->limit($limit)
1509
+            ->order('o.id desc')
1510
+            ->select();
1511
+        $count = $query->count();
1512
+        if($data) {
1513
+            $data = $data->toArray();
1514
+            foreach ($data as $k=>$v){
1515
+                $data[$k]['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
1516
+                $data[$k]['update_time'] = date('Y-m-d H:i:s',$v['update_time']);
1517
+            }
1518
+        }
1519
+        $return_data['list'] = $data;
1520
+        $return_data['count'] = $count;
1521
+        return app('json')->success($return_data);
1522
+    }
1523
+
1524
+    /**
1525
+     * 股权分红创建表单
1526
+     * @return mixed
1527
+     */
1528
+    public function stockCreateForm()
1529
+    {
1530
+        return app('json')->success(formToData($this->repository->stockCreateForm()));
1531
+    }
1532
+
1533
+    /**
1534
+     * @Author:Qinii
1535
+     * @Date: 2020/5/11
1536
+     * @param $id
1537
+     * @return mixed
1538
+     */
1539
+    public function stockUpdateForm($id)
1540
+    {
1541
+        if (!$id) return app('json')->fail('数据不存在');
1542
+        return app('json')->success(formToData($this->repository->stockUpdateForm($id)));
1543
+    }
1544
+
1545
+    /**
1546
+     * 添加
1547
+     * @return mixed
1548
+     * @throws DataNotFoundException
1549
+     * @throws DbException
1550
+     * @throws ModelNotFoundException
1551
+     */
1552
+    public function stockCreate()
1553
+    {
1554
+        $user_id = request()->param('user_id',0);
1555
+        $pack = request()->param('pack',0);
1556
+        if(!$user_id) return app('json')->fail('请选择用户');
1557
+        if(!$pack) return app('json')->fail('请输入份数');
1558
+        $user_data = Db::name('old_user_stock')->where('user_id',$user_id)->find();
1559
+        if($user_data) return app('json')->fail('用户已存在');
1560
+        $insert_data = [
1561
+            'user_id' => $user_id,
1562
+            'pack' => $pack,
1563
+            'getcomm' => 0,
1564
+            'allgetcomm' => 0,
1565
+            'create_time' => time(),
1566
+        ];
1567
+        Db::name('old_user_stock')->save($insert_data);
1568
+        return app('json')->success('添加成功');
1569
+    }
1570
+
1571
+    /**
1572
+     * @Author:Qinii
1573
+     * @Date: 2020/5/11
1574
+     * @param $id
1575
+     * @param validate $validate
1576
+     * @return mixed
1577
+     */
1578
+    public function stockUpdate($id)
1579
+    {
1580
+        $pack = request()->param('pack',0);
1581
+        if(!$pack) return app('json')->fail('请输入份数');
1582
+        Db::name('old_user_stock')->where('id',$id)->update(['pack' => $pack,'update_time'=>time()]);
1583
+        return app('json')->success('编辑成功');
1584
+    }
1585
+
1586
+    /**
1587
+     * @Author:Qinii
1588
+     * @Date: 2020/5/11
1589
+     * @param $id
1590
+     * @return mixed
1591
+     */
1592
+    public function stockDelete($id)
1593
+    {
1594
+        if (!$id) return app('json')->fail('数据不存在');
1595
+        Db::name('old_user_stock')->where('id',$id)->delete();
1596
+        return app('json')->success('删除成功');
1597
+    }
1409 1598
 }

+ 2 - 2
app/controller/api/Notify.php

@@ -620,7 +620,7 @@ class Notify
620 620
                                 $merchant = app()->make(MerchantRepository::class);
621 621
                                 $merchantInfo = $merchant->get($store_order_data['mer_id']);
622 622
                                 // 1企业2个体3个人
623
-                                if ($merchantInfo && !empty($store_order_data) && in_array($merchantInfo['type'], [2, 3])) {
623
+                                if ($merchantInfo && !empty($store_order_data) && in_array($merchantInfo['type'], [1, 2, 3])) {
624 624
                                     //商家让利部分的拆分
625 625
                                     $ylj_pri = bcmul($concession_pri, 0.3, 2); // 让利部分30%给消费者做养老金
626 626
                                     $pv = bcmul($concession_pri, 0.35, 2); // 35%做业绩PV分配
@@ -749,7 +749,7 @@ class Notify
749 749
                             
750 750
                              //判断是否是自营商品,如果是自营商品需要更改这个值
751 751
                              
752
-                            if($store_order_data['mer_id'] == 496){
752
+                            if($store_order_data['mer_id'] == 496 || $store_order_data['mer_id'] != 439){
753 753
                                 //自营商品
754 754
                                 Db::name('store_order')->where('group_order_id', $group_order_id)->update(['distribution_mode'=>1]);
755 755
                             }

+ 32 - 10
app/controller/api/store/product/Jt.php

@@ -447,6 +447,27 @@ class Jt extends BaseController
447 447
         return app("json")->success("获取详情成功-aabb,用户{$userId}", $return);
448 448
     }
449 449
 
450
+    /**
451
+     * 商品详情转链
452
+     * @return mixed
453
+     */
454
+    public function changLinkApi()
455
+    {
456
+        $discount_link = $this->request->param('discount_link');
457
+        $skuId = $this->request->param('skuId');
458
+        $userId = $this->request->uid();
459
+        $url = '';
460
+        if($userId != ''){
461
+            $clparams = [
462
+                'positionid' => pow(10, 5) + $userId,
463
+                'gid' => $skuId,
464
+                'coupon_url' => $discount_link ?? '',
465
+            ];
466
+            $url = $this->changLink($clparams);
467
+        }
468
+        return app("json")->success(['url' => $url]);
469
+    }
470
+
450 471
 
451 472
     //实际执行活动经推推商品详情方法
452 473
     public function doGetJtDetail($goodsId, $userId)
@@ -578,6 +599,7 @@ class Jt extends BaseController
578 599
                 'yanglaojin' => $yanglaojin,
579 600
                 'gongxian' => $gongxian,
580 601
                 'jifen' => $jifen,
602
+                'discount_link' => $detail['couponInfo']['couponList'][0]['discount_link']
581 603
 
582 604
                 // 'yanglao' => $yanglao,
583 605
                 // 'yanglao_' => $commissionMoney,
@@ -587,16 +609,16 @@ class Jt extends BaseController
587 609
             $formatData['gongxian']=round($gongxian,2);
588 610
             $formatData['jifen']=round($jifen,2);
589 611
 
590
-            $formatData['materialUrl'] = '';
591
-            if($userId!=''){
592
-                //加入转链地址 此步骤可优化 分两个步骤
593
-                $clparams = [
594
-                    'positionid' => pow(10, 5) + $userId,
595
-                    'gid' => $goodsId,
596
-                    'coupon_url' => $detail['couponInfo']['couponList'][0]['discount_link'] ?? '',
597
-                ];
598
-                $formatData['materialUrl'] = $this->changLink($clparams);
599
-            }
612
+//            $formatData['materialUrl'] = '';
613
+//            if($userId!=''){
614
+//                //加入转链地址 此步骤可优化 分两个步骤
615
+//                $clparams = [
616
+//                    'positionid' => pow(10, 5) + $userId,
617
+//                    'gid' => $goodsId,
618
+//                    'coupon_url' => $detail['couponInfo']['couponList'][0]['discount_link'] ?? '',
619
+//                ];
620
+//                $formatData['materialUrl'] = $this->changLink($clparams);
621
+//            }
600 622
 
601 623
             $return[] = $formatData;
602 624
         }

+ 2 - 2
app/controller/api/store/product/StoreProduct.php

@@ -237,8 +237,8 @@ class StoreProduct extends BaseController
237 237
     {
238 238
 //        $appid = 'wx82986c4471ce7efc';
239 239
 //        $secret = '4ae3f790d8c5503a22579338504cdb61';
240
-        $appid = 'wxfb755febdb800f23';
241
-        $secret = '55ed00200ef0ec6662ca8502dc534a69';
240
+        $appid = env('WECHAT_MP.APPID');
241
+        $secret = env('WECHAT_MP.SECRET');
242 242
         $access_token = Cache::get($appid . '_mp_access_token');
243 243
         if ($access_token)
244 244
             return $access_token;

+ 34 - 12
app/controller/api/user/User.php

@@ -933,6 +933,9 @@ class User extends BaseController
933 933
                 //赠送积分 完善实名送90个积分,同时送邀请人50个积分
934 934
                 $userRepository->sign_add($member_id, 90,1,'完善实名系统赠送90个积分','','', '', 1, '', 1);
935 935
                 $member_info = Db::name('user')->where( array('uid' => $member_id) )->find();
936
+                Db::name('user')
937
+                    ->where('uid', $member_id)
938
+                    ->update(['real_name' => $params['user_name'], 'nickname' => $params['user_name']]);
936 939
                 if($member_info['spread_uid']){
937 940
                     //好友完善实名系统赠送50个积分
938 941
                     $spreadUid = $member_info['spread_uid'];
@@ -1277,14 +1280,20 @@ class User extends BaseController
1277 1280
      * 修改个人信息*/
1278 1281
     public function updateUser()
1279 1282
     {
1280
-        $data = $this->request->params([
1281
-            'nickname',
1282
-            'avatar',
1283
-            'sex',
1284
-            'birthday',
1285
-            'addres',
1286
-            'mark'
1287
-        ]);
1283
+        $data['nickname'] = $this->request->param('nickname', null);
1284
+        $data['avatar'] = $this->request->param('avatar', null);
1285
+        $data['sex'] = $this->request->param('sex', null);
1286
+        $data['birthday'] = $this->request->param('birthday', null);
1287
+        $data['addres'] = $this->request->param('addres', null);
1288
+        $data['mark'] = $this->request->param('mark', null);
1289
+        $data['phone'] = $this->request->param('phone', null);
1290
+        //        $data['phone'] = $this->request->param('phone', null);
1291
+        if (!empty($data['phone'])) {
1292
+            $data['account'] = $data['phone'];
1293
+        }
1294
+        $data = array_filter($data, function($value) {
1295
+            return $value !== null;
1296
+        });
1288 1297
         $uid = $this->request->uid();
1289 1298
         $res = '';
1290 1299
         if ($this->source == 'yhc') {
@@ -1640,7 +1649,11 @@ class User extends BaseController
1640 1649
         $child_nums = $this->getdepartmentStatistics($user_id, 'level_id');
1641 1650
         $child_nums_Tree = $this->buildTreePv($child_nums, $user['level_id'], 'level_id');
1642 1651
         $new_performance = 0; //一周内新增总业绩
1643
-        $end_time = date('Y-m-d ' . '00:00:00', strtotime('-7 days'));
1652
+        // 这周的时间区间
1653
+//        $end_time = date('Y-m-d ' . '00:00:00', strtotime('-7 days'));
1654
+        $now = time();
1655
+        $startTime = date('Y-m-d 00:00:00', strtotime('monday this week', $now)); // 这周星期一的开始时间
1656
+        $endTime = date('Y-m-d 23:59:59', strtotime('sunday this week', $now)); // 这周星期日的结束时间
1644 1657
         $person_nums_pv = 0;//大部门业绩
1645 1658
         $common_nums_pv = 0;//小部门业绩
1646 1659
         $aLL_list = [];//直推数据
@@ -1650,14 +1663,20 @@ class User extends BaseController
1650 1663
             // 计算总新增业绩
1651 1664
             $uid_list = array_column($child_nums, 'uid');
1652 1665
             $uid_list = array_diff($uid_list, [$user_id]);
1653
-            $new_performance = Db::name("user_pv_log")->where([['uid', 'in', $uid_list], ['settlement_time', '>', $end_time]])->sum('pv');
1666
+            $new_performance = Db::name("user_pv_log")
1667
+                ->whereIn('uid', $uid_list)
1668
+                ->whereBetween('settlement_time', [$startTime, $endTime])
1669
+                ->sum('pv');
1654 1670
             //获取大部门的key
1655 1671
             $maxBalanceIndex = array_search(max(array_column($child_nums_Tree[0]['children'], 'total_pv')), array_column($child_nums_Tree[0]['children'], 'total_pv'));
1656 1672
             foreach ($child_nums_Tree[0]['children'] as $k => $v) {
1657 1673
                 $child_nums = $this->getdepartmentStatistics($v['uid'], 'level_id');
1658 1674
                 $uid_list = array_column($child_nums, 'uid');
1659 1675
                 array_push($uid_list, $v['uid']);
1660
-                $new_performance_child = Db::name("user_pv_log")->where([['uid', 'in', $uid_list], ['settlement_time', '>', $end_time]])->sum('pv');
1676
+                $new_performance_child = Db::name("user_pv_log")
1677
+                    ->whereIn('uid', $uid_list)
1678
+                    ->whereBetween('settlement_time', [$startTime, $endTime])
1679
+                    ->sum('pv');
1661 1680
                 if ($k == $maxBalanceIndex) {
1662 1681
                     $person_list[] = [
1663 1682
                         "uid" => $v["uid"],
@@ -1746,7 +1765,10 @@ class User extends BaseController
1746 1765
                     $child_nums = $this->getdepartmentStatistics($v['uid']);
1747 1766
                     $uid_list = array_column($child_nums, 'uid');
1748 1767
                     array_push($uid_list, $v['uid']);
1749
-                    $new_performance_child = Db::name("user_pv_log")->where([['uid', 'in', $uid_list], ['settlement_time', '>', $end_time]])->sum('pv');
1768
+                    $new_performance_child = Db::name("user_pv_log")
1769
+                        ->whereIn('uid', $uid_list)
1770
+                        ->whereBetween('settlement_time', [$startTime, $endTime])
1771
+                        ->sum('pv');
1750 1772
 
1751 1773
                     $aLL_list[] =  [
1752 1774
                         "uid" => $v["uid"],

+ 1 - 0
config/console.php

@@ -28,5 +28,6 @@ return [
28 28
         'movie_film' => 'app\command\MovieFilmCommand',
29 29
         'cinema_film_sched' => 'app\command\CinemaSchedCommand',
30 30
         'repair_pv_log' => 'app\command\repairPvLog',
31
+        'gzcAddByBill' => 'app\command\GzcAddByBillCommand',
31 32
     ],
32 33
 ];

+ 9 - 0
route/admin.php

@@ -443,6 +443,15 @@ Route::group(config('admin.api_admin_prefix') . '/', function () {
443 443
             Route::get('order/:id', '/order')->name('systemUserOrder');
444 444
             Route::get('coupon/:id', '/coupon')->name('systemUserCoupon');
445 445
             Route::get('bill/:id', '/new_bill')->name('systemUserBill');
446
+            // 分红统计
447
+            Route::get('get_week_award_list', '/getWeekAwardList')->name('systemUserGetWeekAwardList');
448
+            Route::get('get_originator_list', '/getOriginatorList')->name('systemUserGetOriginatorList');
449
+            Route::get('get_stock_list', '/getStockList')->name('systemUserGetStockList');
450
+            Route::get('stock/form', '/stockCreateForm')->name('systemUserStockCreateForm');
451
+            Route::get('stock/update/form/:id', '/stockUpdateForm')->name('systemUserStockUpdateForm');
452
+            Route::post('stock/update/:id', '/stockUpdate')->name('systemUserStockUpdate');
453
+            Route::post('stock/create', '/stockCreate')->name('systemUserStockCreate');
454
+            Route::delete('stock/delete/:id', '/stockDelete')->name('systemUserStockDelete');
446 455
 
447 456
         })->prefix('admin.user.User');
448 457
 

+ 1 - 0
route/api.php

@@ -380,6 +380,7 @@ Route::group('api/', function () {
380 380
         }else{
381 381
             /*京东商品详情*/
382 382
             Route::get('jd/detail', 'api.store.product.Jt/goodsDetail')->middleware(\app\common\middleware\UserTokenMiddleware::class, false);//京推推
383
+            Route::get('jd/chang_link', 'api.store.product.Jt/changLinkApi')->middleware(\app\common\middleware\UserTokenMiddleware::class, false);//京推推
383 384
             Route::get('jd/search', 'api.store.product.Jt/search');//京推推
384 385
         }
385 386