parent
683553430b
commit
561f69091d
|
|
@ -268,19 +268,16 @@ class Fenxiao extends BaseApi
|
||||||
[ 'fo.member_id', '=', $sub_member_id ]
|
[ 'fo.member_id', '=', $sub_member_id ]
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
$order_model = new FenxiaoOrderModel();
|
$order_model = new FenxiaoOrderModel();
|
||||||
$list = $order_model->getFenxiaoOrderPageList($condition, $page, $page_size, 'fo.fenxiao_order_id desc');
|
$list = $order_model->getFenxiaoOrderPageList($condition, $page, $page_size, 'fo.fenxiao_order_id desc');
|
||||||
if (!empty($list[ 'data' ][ 'list' ])) {
|
if (!empty($list[ 'data' ][ 'list' ])) {
|
||||||
foreach ($list[ 'data' ][ 'list' ] as $k => $item) {
|
foreach ($list[ 'data' ][ 'list' ] as $k => $item) {
|
||||||
if ($item[ 'one_fenxiao_id' ] == $fenxiao_info[ 'fenxiao_id' ]) {
|
$ids = json_decode($item['wholesale_fenxiao_id'],true);
|
||||||
$list[ 'data' ][ 'list' ][ $k ][ 'commission' ] = $item[ 'one_commission' ];
|
$detail = json_decode($item['wholesale_fenxiao_detail'],true);
|
||||||
$list[ 'data' ][ 'list' ][ $k ][ 'commission_level' ] = 1;
|
$key = array_search($fenxiao_id,$ids);
|
||||||
} elseif ($item[ 'two_fenxiao_id' ] == $fenxiao_info[ 'fenxiao_id' ]) {
|
if($key !== false){
|
||||||
$list[ 'data' ][ 'list' ][ $k ][ 'commission' ] = $item[ 'two_commission' ];
|
$list[ 'data' ][ 'list' ][ $k ][ 'commission' ] = $detail[$key]['commission'];
|
||||||
$list[ 'data' ][ 'list' ][ $k ][ 'commission_level' ] = 2;
|
|
||||||
} elseif ($item[ 'three_fenxiao_id' ] == $fenxiao_info[ 'fenxiao_id' ]) {
|
|
||||||
$list[ 'data' ][ 'list' ][ $k ][ 'commission' ] = $item[ 'three_commission' ];
|
|
||||||
$list[ 'data' ][ 'list' ][ $k ][ 'commission_level' ] = 3;
|
|
||||||
}
|
}
|
||||||
$list[ 'data' ][ 'list' ][ $k ] = array_diff_key($list[ 'data' ][ 'list' ][ $k ], [ 'one_fenxiao_id' => '', 'one_rate' => '', 'one_commission' => '', 'one_fenxiao_name' => '', 'two_fenxiao_id' => '', 'two_rate' => '', 'two_commission' => '', 'two_fenxiao_name' => '', 'three_fenxiao_id' => '', 'three_rate' => '', 'three_commission' => '', 'three_fenxiao_name' => '' ]);
|
$list[ 'data' ][ 'list' ][ $k ] = array_diff_key($list[ 'data' ][ 'list' ][ $k ], [ 'one_fenxiao_id' => '', 'one_rate' => '', 'one_commission' => '', 'one_fenxiao_name' => '', 'two_fenxiao_id' => '', 'two_rate' => '', 'two_commission' => '', 'two_fenxiao_name' => '', 'three_fenxiao_id' => '', 'three_rate' => '', 'three_commission' => '', 'three_fenxiao_name' => '' ]);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ namespace addon\fenxiao\api\controller;
|
||||||
use app\api\controller\BaseApi;
|
use app\api\controller\BaseApi;
|
||||||
use addon\fenxiao\model\FenxiaoOrder as FenxiaoOrderModel;
|
use addon\fenxiao\model\FenxiaoOrder as FenxiaoOrderModel;
|
||||||
use addon\fenxiao\model\Fenxiao;
|
use addon\fenxiao\model\Fenxiao;
|
||||||
|
use think\facade\Db;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分销订单
|
* 分销订单
|
||||||
|
|
@ -78,24 +79,38 @@ class Order extends BaseApi
|
||||||
$page = isset($this->params['page']) ? $this->params['page'] : 1;
|
$page = isset($this->params['page']) ? $this->params['page'] : 1;
|
||||||
$page_size = isset($this->params['page_size']) ? $this->params['page_size'] : PAGE_LIST_ROWS;
|
$page_size = isset($this->params['page_size']) ? $this->params['page_size'] : PAGE_LIST_ROWS;
|
||||||
$is_settlement = isset($this->params['is_settlement']) ? $this->params['is_settlement'] : 0;// 结算状态 0 全部 1 待结算 2 已结算 3 已退款
|
$is_settlement = isset($this->params['is_settlement']) ? $this->params['is_settlement'] : 0;// 结算状态 0 全部 1 待结算 2 已结算 3 已退款
|
||||||
|
$field = 'fo.fenxiao_order_id,fo.order_no,fo.site_id,fo.site_name,fo.sku_id,fo.sku_name,fo.sku_image,fo.price,fo.num,fo.real_goods_money,fo.member_name,
|
||||||
$condition = [
|
fo.member_mobile,fo.one_fenxiao_name,fo.is_settlement,fo.commission,fo.is_refund,
|
||||||
['fo.one_fenxiao_id|fo.two_fenxiao_id|fo.three_fenxiao_id', '=', $fenxiao_info['data']['fenxiao_id']]
|
o.order_status_name,o.create_time,fo.one_fenxiao_id,fo.two_fenxiao_id,fo.three_fenxiao_id,fo.one_commission,fo.two_commission,fo.three_commission
|
||||||
];
|
,fo.wholesale_fenxiao_id,fo.wholesale_fenxiao_detail,fo.founder_fenxiao_id,fo.founder_fenxiao_detail';
|
||||||
$OR = [[ 'fo.wholesale_fenxiao_id', 'like', ['%'.$fenxiao_info['data']['fenxiao_id'].'%']],[ 'fo.founder_fenxiao_id', 'like', ['%'.$fenxiao_info['data']['fenxiao_id'].'%']]];
|
$sql = Db::name('fenxiao_order')->alias('fo')
|
||||||
// $OR = [];
|
->field($field)
|
||||||
|
->join('order o','fo.order_id = o.order_id','inner')
|
||||||
|
->whereOr([['fo.one_fenxiao_id|fo.two_fenxiao_id|fo.three_fenxiao_id','=',$fenxiao_info['data']['fenxiao_id']] ,
|
||||||
|
['fo.wholesale_fenxiao_id|fo.founder_fenxiao_id','like','%'.$fenxiao_info['data']['fenxiao_id'].'%']]);
|
||||||
if (!empty($is_settlement)) {
|
if (!empty($is_settlement)) {
|
||||||
if ($is_settlement == 3) {
|
if ($is_settlement == 3) {
|
||||||
$condition[] = ['fo.is_refund', '=', 1];
|
$sql->where('fo.is_refund','=',1);
|
||||||
}
|
}
|
||||||
if (in_array($is_settlement, [1, 2])) {
|
if (in_array($is_settlement, [1, 2])) {
|
||||||
$condition[] = ['fo.is_settlement', '=', $is_settlement - 1];
|
$sql->where('fo.is_settlement','=',$is_settlement - 1);
|
||||||
$condition[] = ['fo.is_refund', '=', 0];
|
$sql->where('fo.is_refund','=',0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$order_model = new FenxiaoOrderModel();
|
|
||||||
$list = $order_model->getFenxiaoOrderPageList($condition, $page, $page_size, 'fo.fenxiao_order_id desc',$OR);
|
$count = $sql->count();
|
||||||
|
$result = $sql->limit($page_size)->page($page)->select()->toArray();
|
||||||
|
$data = [
|
||||||
|
'count' => count($result),
|
||||||
|
'list' => $result,
|
||||||
|
'page_count' => ceil($count / $page_size),
|
||||||
|
];
|
||||||
|
$list = [
|
||||||
|
'code' => 0,
|
||||||
|
'message' => '操作成功',
|
||||||
|
'data' => $data
|
||||||
|
];
|
||||||
if (!empty($list['data']['list'])) {
|
if (!empty($list['data']['list'])) {
|
||||||
foreach ($list['data']['list'] as $k => $item) {
|
foreach ($list['data']['list'] as $k => $item) {
|
||||||
if ($item['one_fenxiao_id'] == $fenxiao_info['data']['fenxiao_id']) {
|
if ($item['one_fenxiao_id'] == $fenxiao_info['data']['fenxiao_id']) {
|
||||||
|
|
|
||||||
|
|
@ -344,18 +344,20 @@ class FenxiaoOrder extends BaseModel
|
||||||
$site_id = 0;
|
$site_id = 0;
|
||||||
foreach ($fenxiao_orders as $fenxiao_order) {
|
foreach ($fenxiao_orders as $fenxiao_order) {
|
||||||
$site_id = $fenxiao_order[ 'site_id' ];
|
$site_id = $fenxiao_order[ 'site_id' ];
|
||||||
$commission += $fenxiao_order[ 'one_commission' ];
|
if($fenxiao_order[ 'one_commission' ] > 0){
|
||||||
$fenxiao_account->addAccount($fenxiao_order[ 'one_fenxiao_id' ], $fenxiao_order[ 'one_fenxiao_name' ], 'order', $fenxiao_order[ 'one_commission' ], $fenxiao_order[ 'fenxiao_order_id' ],$site_id);
|
$commission += $fenxiao_order[ 'one_commission' ];
|
||||||
|
$fenxiao_account->addAccount($fenxiao_order[ 'one_fenxiao_id' ], $fenxiao_order[ 'one_fenxiao_name' ], 'order', $fenxiao_order[ 'one_commission' ], $fenxiao_order[ 'fenxiao_order_id' ],$site_id);
|
||||||
|
// 分销佣金发放通知
|
||||||
|
( new Message() )->sendMessage([
|
||||||
|
'keywords' => 'COMMISSION_GRANT',
|
||||||
|
'order_id' => $fenxiao_order[ 'fenxiao_order_id' ],
|
||||||
|
'site_id' => $fenxiao_order[ 'site_id' ],
|
||||||
|
'level' => 'one',
|
||||||
|
]);
|
||||||
|
|
||||||
// 分销佣金发放通知
|
model('fenxiao')->setInc([ [ 'fenxiao_id', '=', $fenxiao_order[ 'one_fenxiao_id' ] ] ], 'total_commission', $fenxiao_order[ 'one_commission' ]);
|
||||||
( new Message() )->sendMessage([
|
}
|
||||||
'keywords' => 'COMMISSION_GRANT',
|
|
||||||
'order_id' => $fenxiao_order[ 'fenxiao_order_id' ],
|
|
||||||
'site_id' => $fenxiao_order[ 'site_id' ],
|
|
||||||
'level' => 'one',
|
|
||||||
]);
|
|
||||||
|
|
||||||
model('fenxiao')->setInc([ [ 'fenxiao_id', '=', $fenxiao_order[ 'one_fenxiao_id' ] ] ], 'total_commission', $fenxiao_order[ 'one_commission' ]);
|
|
||||||
|
|
||||||
if ($fenxiao_order[ 'two_commission' ] > 0) {
|
if ($fenxiao_order[ 'two_commission' ] > 0) {
|
||||||
$commission += $fenxiao_order[ 'two_commission' ];
|
$commission += $fenxiao_order[ 'two_commission' ];
|
||||||
|
|
@ -383,6 +385,17 @@ class FenxiaoOrder extends BaseModel
|
||||||
]);
|
]);
|
||||||
model('fenxiao')->setInc([ [ 'fenxiao_id', '=', $fenxiao_order[ 'three_fenxiao_id' ] ] ], 'total_commission', $fenxiao_order[ 'three_commission' ]);
|
model('fenxiao')->setInc([ [ 'fenxiao_id', '=', $fenxiao_order[ 'three_fenxiao_id' ] ] ], 'total_commission', $fenxiao_order[ 'three_commission' ]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$ids = json_decode($fenxiao_order['wholesale_fenxiao_id'],true);
|
||||||
|
$detail = json_decode($fenxiao_order['wholesale_fenxiao_detail'],true);
|
||||||
|
if($ids && $detail){
|
||||||
|
foreach($detail as $k => $v){
|
||||||
|
$commission += $v[ 'commission' ];
|
||||||
|
$fenxiao_account->addAccount($ids[$k], $v[ 'name' ], 'order', $v[ 'commission' ], $fenxiao_order[ 'fenxiao_order_id' ],$site_id);
|
||||||
|
model('fenxiao')->setInc([ [ 'fenxiao_id', '=', $ids[$k] ] ], 'total_commission', $v[ 'commission' ]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
$stat_model = new Stat();
|
$stat_model = new Stat();
|
||||||
$stat_model->switchStat([ 'type' => 'fenxiao_order', 'data' => [ 'order_id' => $order_id, 'site_id' => $site_id ] ]);
|
$stat_model->switchStat([ 'type' => 'fenxiao_order', 'data' => [ 'order_id' => $order_id, 'site_id' => $site_id ] ]);
|
||||||
|
|
|
||||||
|
|
@ -26,13 +26,15 @@ class Test{
|
||||||
public function test(){
|
public function test(){
|
||||||
$orderId = 92;
|
$orderId = 92;
|
||||||
$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 WeightOrder();
|
// $fenxiao_order = new WeightOrder();
|
||||||
// $res = $fenxiao_order->calculate(1);
|
// $res = $fenxiao_order->calculate(1);
|
||||||
// $fenxiao_order_model = new FenxiaoOrder();
|
// $fenxiao_order_model = new FenxiaoOrder();
|
||||||
$res = $fenxiao_order->handle($order_info);
|
// $res = $fenxiao_order->handle($order_info);
|
||||||
|
$fenxiao_order_model = new FenxiaoOrder();
|
||||||
// $res = $fenxiao_order_model->calculateOrder($order_info['order_id']);
|
// $res = $fenxiao_order_model->calculateOrder($order_info['order_id']);
|
||||||
|
$res = $fenxiao_order_model->settlement($orderId);
|
||||||
dump($res);die;
|
dump($res);die;
|
||||||
$fenxiao_id = 195;
|
$fenxiao_id = 195;
|
||||||
$fenxiao = new Fenxiao();
|
$fenxiao = new Fenxiao();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue