进货逻辑修改

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_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);
}
}
}

View File

@ -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;
}

View File

@ -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){

View File

@ -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;
}

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);
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) {

View File

@ -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);
}

View File

@ -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();
}
}
}
}