From e3fe0950238f629f088729d92a92b6c601627af8 Mon Sep 17 00:00:00 2001 From: liqianjin <949671634@qq.com> Date: Thu, 26 Sep 2024 14:48:20 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=9B=E8=B4=A7=E9=80=BB=E8=BE=91=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- addon/fenxiao/api/controller/Fenxiao.php | 3 ++- addon/fenxiao/model/Fenxiao.php | 4 +-- addon/fenxiao/model/FenxiaoOrder.php | 33 +++++++++++++++++++----- addon/fenxiao/model/Poster.php | 9 ++++++- app/model/upload/Upload.php | 3 +++ app/pay/controller/Test.php | 20 +++++++++----- app/shop/controller/Upload.php | 4 +-- 7 files changed, 56 insertions(+), 20 deletions(-) diff --git a/addon/fenxiao/api/controller/Fenxiao.php b/addon/fenxiao/api/controller/Fenxiao.php index 111ae55..7f4638a 100644 --- a/addon/fenxiao/api/controller/Fenxiao.php +++ b/addon/fenxiao/api/controller/Fenxiao.php @@ -131,6 +131,7 @@ class Fenxiao extends BaseApi [ 'template_type', '=', 'fenxiao' ], [ 'template_status', '=', 1 ], ]; + $condition[] = [ 'template_type', '=', 'fenxiao' ]; $poster_template_model = new PosterTemplateModel(); $list = $poster_template_model->getPosterTemplateList($condition, 'template_id', 'template_id asc')[ 'data' ]; @@ -334,4 +335,4 @@ class Fenxiao extends BaseApi $res = $model->getFenxiaoPageLists($condition, $page, $page_size, 'f.audit_time desc', $field, 'f', $join); return $this->response($res); } -} \ No newline at end of file +} diff --git a/addon/fenxiao/model/Fenxiao.php b/addon/fenxiao/model/Fenxiao.php index c9e92ba..1af5fbc 100644 --- a/addon/fenxiao/model/Fenxiao.php +++ b/addon/fenxiao/model/Fenxiao.php @@ -557,10 +557,11 @@ class Fenxiao extends BaseModel } if($item['one_child_fenxiao_equal']){ $equal_where = [ - ['f.chain', 'like', '%' . $fenxiao_id . ',' . '%' ], + ['f.parent', '=' , $fenxiao_id ], ['f.status','=',1], ['f.is_delete','=',0], ['fl.level_num','>=',$fenxiao_info['level_num']], + ['f.fenxiao_id', '<>' ,$fenxiao_id] ]; //查询用户下线中是否有相同等级或更高的 $one_child_fenxiao_equal_num = model('fenxiao')->getCount($equal_where, '*', 'f', $join); @@ -595,7 +596,6 @@ class Fenxiao extends BaseModel || ( $fenxiao_info[ 'one_child_fenxiao_num' ] >= $item[ 'one_child_fenxiao_num' ] && $item[ 'one_child_fenxiao_num' ] > 0 && $item['one_child_fenxiao_equal'] == 1 && $one_child_fenxiao_equal_num >= $item[ 'one_child_fenxiao_num' ]) || ( $goodsReach && count($goodsIdsArr) > 0) ) { - $upgrade_level = $item; break; } diff --git a/addon/fenxiao/model/FenxiaoOrder.php b/addon/fenxiao/model/FenxiaoOrder.php index bc4017c..777e395 100644 --- a/addon/fenxiao/model/FenxiaoOrder.php +++ b/addon/fenxiao/model/FenxiaoOrder.php @@ -55,7 +55,6 @@ class FenxiaoOrder extends BaseModel $fenxiao_info = model("fenxiao")->getInfo([ [ 'fenxiao_id', '=', $fenxiao_info[ 'parent' ] ], [ 'is_delete', '=', 0 ] ]); if (empty($fenxiao_info)) return $this->success(); } - // //判断几级分销 // $parent_fenxiao_info = $level_config >= 2 ? model('fenxiao')->getInfo([ [ 'fenxiao_id', '=', $fenxiao_info[ 'parent' ] ], [ 'is_delete', '=', 0 ] ], 'fenxiao_id, fenxiao_name, status, parent') : []; // $grand_parent_fenxiao_info = $level_config >= 3 && !empty($parent_fenxiao_info[ 'parent' ]) ? model('fenxiao')->getInfo([ [ 'fenxiao_id', '=', $parent_fenxiao_info[ 'parent' ] ], [ 'is_delete', '=', 0 ] ], 'fenxiao_id, fenxiao_name, status') : []; @@ -136,6 +135,13 @@ class FenxiaoOrder extends BaseModel event('FenxiaoUpgrade', [ 'fenxiao_id' => $member_info[ 'fenxiao_id' ], ]); + //检测升级 + if($fenxiao_info['parent']){ + // 分销商检测升级 + event('FenxiaoUpgrade', [ + 'fenxiao_id' => $fenxiao_info['parent'] + ]); + } return $this->success(); } @@ -192,6 +198,7 @@ class FenxiaoOrder extends BaseModel $order_fenxiao_data['commission'] += $order_fenxiao_data[ 'wholesale_commission' ] = $commission; $order_fenxiao_data['wholesale_fenxiao_detail'][] = ['name' => $fenxiao_info['fenxiao_name'], 'commission' => $commission]; } + if($fenxiao_info['chain']){ $data = explode(',', $fenxiao_info['chain']); $chain = array_filter($data, function ($value) { @@ -225,17 +232,29 @@ class FenxiaoOrder extends BaseModel //不考虑商品单独规则 $fenxiao_user_id = array_column($nodeUser,'fenxiao_id'); $max_level_num = (int)model('fenxiao_level')->stat([['site_id' ,'=' , $v['site_id']]],'max','level_num'); + $one_fenxiao_id = $order_fenxiao_data['one_fenxiao_id']; + $two_fenxiao_id = $order_fenxiao_data['two_fenxiao_id']; foreach($chain as $k => $value){ $key = array_search($value,$fenxiao_user_id); $user = $nodeUser[$key]; - $rank = count($order_fenxiao_data['wholesale_fenxiao_id']); + + $rank = $goods_kind ? count($order_fenxiao_data['wholesale_fenxiao_id']) + 1 : count($order_fenxiao_data['wholesale_fenxiao_id']); + //直推和间推也需要计算 if(!empty($user) && $rank < $user['rank'] && $rank <= 4){ $rate = $this->getLevelRate($rank,$v['site_id'],$config); - $order_fenxiao_data['wholesale_fenxiao_id'][] = $user['fenxiao_id']; - $order_fenxiao_data['commission_rate'] += $order_fenxiao_data[ 'wholesale_rate' ] += $rate; - $commission = $rate * $v[ 'real_goods_money' ] / 100; - $order_fenxiao_data['commission'] += $order_fenxiao_data[ 'wholesale_commission' ] += $commission; - $order_fenxiao_data['wholesale_fenxiao_detail'][] = ['name' => $user['fenxiao_name'], 'commission' => $commission]; + if($user['rank'] == 1 && ($one_fenxiao_id != $user['fenxiao_id'] && $two_fenxiao_id != $user['fenxiao_id'])){ + $order_fenxiao_data['wholesale_fenxiao_id'][] = $user['fenxiao_id']; + $order_fenxiao_data['commission_rate'] += $order_fenxiao_data[ 'wholesale_rate' ] += $rate; + $commission = $rate * $v[ 'real_goods_money' ] / 100; + $order_fenxiao_data['commission'] += $order_fenxiao_data[ 'wholesale_commission' ] += $commission; + $order_fenxiao_data['wholesale_fenxiao_detail'][] = ['name' => $user['fenxiao_name'], 'commission' => $commission]; + }else if($user['rank'] > 1){ + $order_fenxiao_data['wholesale_fenxiao_id'][] = $user['fenxiao_id']; + $order_fenxiao_data['commission_rate'] += $order_fenxiao_data[ 'wholesale_rate' ] += $rate; + $commission = $rate * $v[ 'real_goods_money' ] / 100; + $order_fenxiao_data['commission'] += $order_fenxiao_data[ 'wholesale_commission' ] += $commission; + $order_fenxiao_data['wholesale_fenxiao_detail'][] = ['name' => $user['fenxiao_name'], 'commission' => $commission]; + } } //联合创始人分红 if(isset($user) && !empty($user) && $max_level_num == $user['level_num'] && $config['founder_rate'] && $goods_kind === 0){ diff --git a/addon/fenxiao/model/Poster.php b/addon/fenxiao/model/Poster.php index ab9ac67..50d7b3b 100644 --- a/addon/fenxiao/model/Poster.php +++ b/addon/fenxiao/model/Poster.php @@ -32,6 +32,7 @@ class Poster extends BaseModel { try { $qrcode_info = $this->getQrcode($app_type, $page, $qrcode_param, $site_id); + if ($qrcode_info['code'] < 0) return $qrcode_info; $member_info = $this->getMemberInfo($qrcode_param['source_member']); @@ -177,6 +178,7 @@ class Poster extends BaseModel ]; } + $option_res = $poster->create($option); if (is_array($option_res)) return $option_res; $pic_name = ""; @@ -190,12 +192,16 @@ class Poster extends BaseModel $res = $option_res->jpeg('upload/poster/distribution', 'distribution_' . $qrcode_param['source_member'] . $pic_name . '_' . $app_type); if ($res['code'] == 0) { $upload = new Upload($site_id); + if (strpos($res['data']['path'], 'http://') !== false || strpos($res['data']['path'], 'https://') !== false) { return $this->success(["path" => $res['data']['path']]); } else { $cloud_res = $upload->fileCloud($res['data']['path']); - if ($cloud_res['code'] >= 0) { + + if (isset($cloud_res['code']) && $cloud_res['code'] >= 0) { return $this->success(["path" => $cloud_res['data']]); + } else if($res['data']['path']){ + return $this->success(["path" => $res['data']['path']]); } else { return $this->error(); } @@ -271,6 +277,7 @@ class Poster extends BaseModel if (empty($template_info)) return $this->error(null, '模板信息有误'); $template_info['template_json'] = json_decode($template_info['template_json'], true); } + $res = $this->distribution($app_type, $page, $qrcode_param, $site_id, $template_info); return $res; } diff --git a/app/model/upload/Upload.php b/app/model/upload/Upload.php index f917f2e..57f9893 100644 --- a/app/model/upload/Upload.php +++ b/app/model/upload/Upload.php @@ -711,6 +711,8 @@ class Upload extends BaseModel } //走微信 $put_result = event("WeiPut", ["file_path" => $file, "key" => $file, 'site_id' => $this->site_id], true); + + if (!empty($put_result)) { if ($put_result["code"] >= 0) { $this->deleteFile($file); @@ -733,6 +735,7 @@ class Upload extends BaseModel return $this->success($file, "UPLOAD_SUCCESS"); } } + //云上传没有成功 保存到本地 return $put_result; } catch (\Exception $e) { diff --git a/app/pay/controller/Test.php b/app/pay/controller/Test.php index 461b5bf..d015def 100644 --- a/app/pay/controller/Test.php +++ b/app/pay/controller/Test.php @@ -24,24 +24,30 @@ class Test{ // public function test(){ - $orderId = 40; + $orderId = 53; $order_info = model('order')->getInfo(['order_id' => $orderId]); // $fenxiao_order = new OrderPay(); // $res = $fenxiao_order->handle($order_info); $fenxiao_order = new FenxiaoOrder(); $res = $fenxiao_order->calculate($order_info); + $fenxiao_order_model = new FenxiaoOrder(); + // $res = $fenxiao_order_model->calculateOrder($order_info['order_id']); + // $fenxiao_id = 195; + // $fenxiao = new Fenxiao(); + // $res = $fenxiao->fenxiaoUpgrade($fenxiao_id); + dump($res);die; // $memberId = 21; // (new Commission())->commissionHandleInit($orderId, $memberId); // $cron_model = new Cron(); // $cron_model->addCron(1, 1, '支付回调执行', 'OrderPayChangeEvent', time(), 354); - $data = [ - 'relate_id' => 359 - ]; - // $res= event('CronAutoCreateCommunityDeliveryOrder',$data); - // var_dump($res);die; - $res= event('OrderDelivery', ['order_id' => $data["relate_id"],'logistics_type'=>4]); + // $data = [ + // 'relate_id' => 359 + // ]; + // // $res= event('CronAutoCreateCommunityDeliveryOrder',$data); + // // var_dump($res);die; + // $res= event('OrderDelivery', ['order_id' => $data["relate_id"],'logistics_type'=>4]); var_dump($res); } diff --git a/app/shop/controller/Upload.php b/app/shop/controller/Upload.php index 4530a2f..91bd595 100644 --- a/app/shop/controller/Upload.php +++ b/app/shop/controller/Upload.php @@ -151,7 +151,7 @@ class Upload extends BaseShop $width = input('width', ''); $height = input('height', ''); $watermark = input('watermark', 0); // 是否需生成水印 - $cloud = input('cloud', 1); // 是否需上传到云存储 + $cloud = input('cloud', 0); // 是否需上传到云存储 $param = array( 'thumb_type' => '', 'name' => 'file', @@ -383,4 +383,4 @@ class Upload extends BaseShop $this->error(); } } -} \ No newline at end of file +}