进货逻辑修改

This commit is contained in:
liqianjin 2024-09-26 14:48:20 +08:00
parent 6842e8fc3b
commit e3fe095023
7 changed files with 56 additions and 20 deletions

View File

@ -131,6 +131,7 @@ class Fenxiao extends BaseApi
[ 'template_type', '=', 'fenxiao' ], [ 'template_type', '=', 'fenxiao' ],
[ 'template_status', '=', 1 ], [ 'template_status', '=', 1 ],
]; ];
$condition[] = [ 'template_type', '=', 'fenxiao' ]; $condition[] = [ 'template_type', '=', 'fenxiao' ];
$poster_template_model = new PosterTemplateModel(); $poster_template_model = new PosterTemplateModel();
$list = $poster_template_model->getPosterTemplateList($condition, 'template_id', 'template_id asc')[ 'data' ]; $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); $res = $model->getFenxiaoPageLists($condition, $page, $page_size, 'f.audit_time desc', $field, 'f', $join);
return $this->response($res); return $this->response($res);
} }
} }

View File

@ -557,10 +557,11 @@ class Fenxiao extends BaseModel
} }
if($item['one_child_fenxiao_equal']){ if($item['one_child_fenxiao_equal']){
$equal_where = [ $equal_where = [
['f.chain', 'like', '%' . $fenxiao_id . ',' . '%' ], ['f.parent', '=' , $fenxiao_id ],
['f.status','=',1], ['f.status','=',1],
['f.is_delete','=',0], ['f.is_delete','=',0],
['fl.level_num','>=',$fenxiao_info['level_num']], ['fl.level_num','>=',$fenxiao_info['level_num']],
['f.fenxiao_id', '<>' ,$fenxiao_id]
]; ];
//查询用户下线中是否有相同等级或更高的 //查询用户下线中是否有相同等级或更高的
$one_child_fenxiao_equal_num = model('fenxiao')->getCount($equal_where, '*', 'f', $join); $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' ]) || ( $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) || ( $goodsReach && count($goodsIdsArr) > 0)
) { ) {
$upgrade_level = $item; $upgrade_level = $item;
break; break;
} }

View File

@ -55,7 +55,6 @@ class FenxiaoOrder extends BaseModel
$fenxiao_info = model("fenxiao")->getInfo([ [ 'fenxiao_id', '=', $fenxiao_info[ 'parent' ] ], [ 'is_delete', '=', 0 ] ]); $fenxiao_info = model("fenxiao")->getInfo([ [ 'fenxiao_id', '=', $fenxiao_info[ 'parent' ] ], [ 'is_delete', '=', 0 ] ]);
if (empty($fenxiao_info)) return $this->success(); 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') : []; // $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') : []; // $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', [ event('FenxiaoUpgrade', [
'fenxiao_id' => $member_info[ 'fenxiao_id' ], 'fenxiao_id' => $member_info[ 'fenxiao_id' ],
]); ]);
//检测升级
if($fenxiao_info['parent']){
// 分销商检测升级
event('FenxiaoUpgrade', [
'fenxiao_id' => $fenxiao_info['parent']
]);
}
return $this->success(); return $this->success();
} }
@ -192,6 +198,7 @@ class FenxiaoOrder extends BaseModel
$order_fenxiao_data['commission'] += $order_fenxiao_data[ 'wholesale_commission' ] = $commission; $order_fenxiao_data['commission'] += $order_fenxiao_data[ 'wholesale_commission' ] = $commission;
$order_fenxiao_data['wholesale_fenxiao_detail'][] = ['name' => $fenxiao_info['fenxiao_name'], 'commission' => $commission]; $order_fenxiao_data['wholesale_fenxiao_detail'][] = ['name' => $fenxiao_info['fenxiao_name'], 'commission' => $commission];
} }
if($fenxiao_info['chain']){ if($fenxiao_info['chain']){
$data = explode(',', $fenxiao_info['chain']); $data = explode(',', $fenxiao_info['chain']);
$chain = array_filter($data, function ($value) { $chain = array_filter($data, function ($value) {
@ -225,17 +232,29 @@ class FenxiaoOrder extends BaseModel
//不考虑商品单独规则 //不考虑商品单独规则
$fenxiao_user_id = array_column($nodeUser,'fenxiao_id'); $fenxiao_user_id = array_column($nodeUser,'fenxiao_id');
$max_level_num = (int)model('fenxiao_level')->stat([['site_id' ,'=' , $v['site_id']]],'max','level_num'); $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){ foreach($chain as $k => $value){
$key = array_search($value,$fenxiao_user_id); $key = array_search($value,$fenxiao_user_id);
$user = $nodeUser[$key]; $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){ if(!empty($user) && $rank < $user['rank'] && $rank <= 4){
$rate = $this->getLevelRate($rank,$v['site_id'],$config); $rate = $this->getLevelRate($rank,$v['site_id'],$config);
$order_fenxiao_data['wholesale_fenxiao_id'][] = $user['fenxiao_id']; if($user['rank'] == 1 && ($one_fenxiao_id != $user['fenxiao_id'] && $two_fenxiao_id != $user['fenxiao_id'])){
$order_fenxiao_data['commission_rate'] += $order_fenxiao_data[ 'wholesale_rate' ] += $rate; $order_fenxiao_data['wholesale_fenxiao_id'][] = $user['fenxiao_id'];
$commission = $rate * $v[ 'real_goods_money' ] / 100; $order_fenxiao_data['commission_rate'] += $order_fenxiao_data[ 'wholesale_rate' ] += $rate;
$order_fenxiao_data['commission'] += $order_fenxiao_data[ 'wholesale_commission' ] += $commission; $commission = $rate * $v[ 'real_goods_money' ] / 100;
$order_fenxiao_data['wholesale_fenxiao_detail'][] = ['name' => $user['fenxiao_name'], 'commission' => $commission]; $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){ if(isset($user) && !empty($user) && $max_level_num == $user['level_num'] && $config['founder_rate'] && $goods_kind === 0){

View File

@ -32,6 +32,7 @@ class Poster extends BaseModel
{ {
try { try {
$qrcode_info = $this->getQrcode($app_type, $page, $qrcode_param, $site_id); $qrcode_info = $this->getQrcode($app_type, $page, $qrcode_param, $site_id);
if ($qrcode_info['code'] < 0) return $qrcode_info; if ($qrcode_info['code'] < 0) return $qrcode_info;
$member_info = $this->getMemberInfo($qrcode_param['source_member']); $member_info = $this->getMemberInfo($qrcode_param['source_member']);
@ -177,6 +178,7 @@ class Poster extends BaseModel
]; ];
} }
$option_res = $poster->create($option); $option_res = $poster->create($option);
if (is_array($option_res)) return $option_res; if (is_array($option_res)) return $option_res;
$pic_name = ""; $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); $res = $option_res->jpeg('upload/poster/distribution', 'distribution_' . $qrcode_param['source_member'] . $pic_name . '_' . $app_type);
if ($res['code'] == 0) { if ($res['code'] == 0) {
$upload = new Upload($site_id); $upload = new Upload($site_id);
if (strpos($res['data']['path'], 'http://') !== false || strpos($res['data']['path'], 'https://') !== false) { if (strpos($res['data']['path'], 'http://') !== false || strpos($res['data']['path'], 'https://') !== false) {
return $this->success(["path" => $res['data']['path']]); return $this->success(["path" => $res['data']['path']]);
} else { } else {
$cloud_res = $upload->fileCloud($res['data']['path']); $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']]); return $this->success(["path" => $cloud_res['data']]);
} else if($res['data']['path']){
return $this->success(["path" => $res['data']['path']]);
} else { } else {
return $this->error(); return $this->error();
} }
@ -271,6 +277,7 @@ class Poster extends BaseModel
if (empty($template_info)) return $this->error(null, '模板信息有误'); if (empty($template_info)) return $this->error(null, '模板信息有误');
$template_info['template_json'] = json_decode($template_info['template_json'], true); $template_info['template_json'] = json_decode($template_info['template_json'], true);
} }
$res = $this->distribution($app_type, $page, $qrcode_param, $site_id, $template_info); $res = $this->distribution($app_type, $page, $qrcode_param, $site_id, $template_info);
return $res; return $res;
} }

View File

@ -711,6 +711,8 @@ class Upload extends BaseModel
} }
//走微信 //走微信
$put_result = event("WeiPut", ["file_path" => $file, "key" => $file, 'site_id' => $this->site_id], true); $put_result = event("WeiPut", ["file_path" => $file, "key" => $file, 'site_id' => $this->site_id], true);
if (!empty($put_result)) { if (!empty($put_result)) {
if ($put_result["code"] >= 0) { if ($put_result["code"] >= 0) {
$this->deleteFile($file); $this->deleteFile($file);
@ -733,6 +735,7 @@ class Upload extends BaseModel
return $this->success($file, "UPLOAD_SUCCESS"); return $this->success($file, "UPLOAD_SUCCESS");
} }
} }
//云上传没有成功 保存到本地 //云上传没有成功 保存到本地
return $put_result; return $put_result;
} catch (\Exception $e) { } catch (\Exception $e) {

View File

@ -24,24 +24,30 @@ class Test{
// //
public function test(){ public function test(){
$orderId = 40; $orderId = 53;
$order_info = model('order')->getInfo(['order_id' => $orderId]); $order_info = model('order')->getInfo(['order_id' => $orderId]);
// $fenxiao_order = new OrderPay(); // $fenxiao_order = new OrderPay();
// $res = $fenxiao_order->handle($order_info); // $res = $fenxiao_order->handle($order_info);
$fenxiao_order = new FenxiaoOrder(); $fenxiao_order = new FenxiaoOrder();
$res = $fenxiao_order->calculate($order_info); $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; // $memberId = 21;
// (new Commission())->commissionHandleInit($orderId, $memberId); // (new Commission())->commissionHandleInit($orderId, $memberId);
// $cron_model = new Cron(); // $cron_model = new Cron();
// $cron_model->addCron(1, 1, '支付回调执行', 'OrderPayChangeEvent', time(), 354); // $cron_model->addCron(1, 1, '支付回调执行', 'OrderPayChangeEvent', time(), 354);
$data = [ // $data = [
'relate_id' => 359 // 'relate_id' => 359
]; // ];
// $res= event('CronAutoCreateCommunityDeliveryOrder',$data); // // $res= event('CronAutoCreateCommunityDeliveryOrder',$data);
// var_dump($res);die; // // var_dump($res);die;
$res= event('OrderDelivery', ['order_id' => $data["relate_id"],'logistics_type'=>4]); // $res= event('OrderDelivery', ['order_id' => $data["relate_id"],'logistics_type'=>4]);
var_dump($res); var_dump($res);
} }

View File

@ -151,7 +151,7 @@ class Upload extends BaseShop
$width = input('width', ''); $width = input('width', '');
$height = input('height', ''); $height = input('height', '');
$watermark = input('watermark', 0); // 是否需生成水印 $watermark = input('watermark', 0); // 是否需生成水印
$cloud = input('cloud', 1); // 是否需上传到云存储 $cloud = input('cloud', 0); // 是否需上传到云存储
$param = array( $param = array(
'thumb_type' => '', 'thumb_type' => '',
'name' => 'file', 'name' => 'file',
@ -383,4 +383,4 @@ class Upload extends BaseShop
$this->error(); $this->error();
} }
} }
} }