初始化代码
This commit is contained in:
354
app/massage/model/Commission.php
Normal file
354
app/massage/model/Commission.php
Normal file
@@ -0,0 +1,354 @@
|
||||
<?php
|
||||
namespace app\massage\model;
|
||||
|
||||
use app\BaseModel;
|
||||
use think\facade\Db;
|
||||
|
||||
class Commission extends BaseModel
|
||||
{
|
||||
//定义表名
|
||||
protected $name = 'massage_service_order_commission';
|
||||
|
||||
|
||||
|
||||
protected $append = [
|
||||
|
||||
'order_goods'
|
||||
|
||||
];
|
||||
|
||||
|
||||
|
||||
public function getOrderGoodsAttr($value,$data){
|
||||
|
||||
if(!empty($data['id'])){
|
||||
|
||||
$order_goods_model = new CommissionGoods();
|
||||
|
||||
$list = $order_goods_model->goodsList(['a.commission_id'=>$data['id']]);
|
||||
|
||||
return $list;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @author chenniang
|
||||
* @DataTime: 2021-08-25 23:24
|
||||
* @功能说明:记录
|
||||
*/
|
||||
public function recordList($dis,$page=10){
|
||||
|
||||
$data = $this->alias('a')
|
||||
->join('massage_service_user_list b','a.user_id = b.id')
|
||||
->join('massage_service_user_list c','a.top_id = c.id')
|
||||
->join('massage_service_order_list d','a.order_id = d.id')
|
||||
->where($dis)
|
||||
->field('a.*,b.nickName,c.nickName as top_name,d.order_code,d.pay_type,d.pay_price,d.transaction_id')
|
||||
->group('a.id')
|
||||
->order('a.id desc')
|
||||
->paginate($page)
|
||||
->toArray();
|
||||
|
||||
return $data;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @author chenniang
|
||||
* @DataTime: 2021-08-25 23:34
|
||||
* @功能说明:佣金到账
|
||||
*/
|
||||
public function successCash($order_id){
|
||||
|
||||
$data = $this->dataInfo(['order_id'=>$order_id]);
|
||||
|
||||
if(!empty($data)&&$data['status']==1){
|
||||
|
||||
$res = $this->dataUpdate(['id'=>$data['id']],['status'=>2]);
|
||||
|
||||
if($res==0){
|
||||
|
||||
return $res;
|
||||
}
|
||||
|
||||
$user_model = new User();
|
||||
|
||||
$user = $user_model->dataInfo(['id'=>$data['top_id']]);
|
||||
|
||||
$res = $user_model->where(['id'=>$data['top_id'],'balance'=>$user['balance']])->update(['balance'=>$user['balance']+$data['cash'],'cash'=>$user['cash']+$data['cash']]);
|
||||
|
||||
if($res==0){
|
||||
|
||||
return $res;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @author chenniang
|
||||
* @DataTime: 2020-09-29 11:04
|
||||
* @功能说明:添加
|
||||
*/
|
||||
public function dataAdd($data){
|
||||
|
||||
$data['create_time'] = time();
|
||||
|
||||
$res = $this->insert($data);
|
||||
|
||||
return $res;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @author chenniang
|
||||
* @DataTime: 2020-09-29 11:05
|
||||
* @功能说明:编辑
|
||||
*/
|
||||
public function dataUpdate($dis,$data){
|
||||
|
||||
$data['update_time'] = time();
|
||||
|
||||
$res = $this->where($dis)->update($data);
|
||||
|
||||
return $res;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @author chenniang
|
||||
* @DataTime: 2020-09-29 11:06
|
||||
* @功能说明:列表
|
||||
*/
|
||||
public function dataList($dis,$page=10){
|
||||
|
||||
$data = $this->where($dis)->order('top desc,id desc')->paginate($page)->toArray();
|
||||
|
||||
return $data;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @author chenniang
|
||||
* @DataTime: 2020-09-29 11:43
|
||||
* @功能说明:
|
||||
*/
|
||||
public function dataInfo($dis){
|
||||
|
||||
$data = $this->where($dis)->find();
|
||||
|
||||
return !empty($data)?$data->toArray():[];
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @author chenniang
|
||||
* @DataTime: 2021-08-26 23:39
|
||||
* @功能说明:添加佣金
|
||||
*/
|
||||
public function commissionAdd($order){
|
||||
|
||||
$user_model = new User();
|
||||
//上级
|
||||
$top = $user_model->where(['id'=>$order['user_id']])->value('pid');
|
||||
|
||||
if(!empty($top)){
|
||||
|
||||
$ser_model = new Service();
|
||||
|
||||
$com_mdoel = new Commission();
|
||||
|
||||
$com_goods_mdoel = new CommissionGoods();
|
||||
|
||||
foreach ($order['order_goods'] as $v){
|
||||
//查看是否有分销
|
||||
$ser = $ser_model->dataInfo(['id'=>$v['goods_id']]);
|
||||
|
||||
if(!empty($ser['com_balance'])){
|
||||
|
||||
$insert = [
|
||||
|
||||
'uniacid' => $order['uniacid'],
|
||||
|
||||
'user_id' => $order['user_id'],
|
||||
|
||||
'top_id' => $top,
|
||||
|
||||
'order_id'=> $order['id'],
|
||||
|
||||
'order_code' => $order['order_code'],
|
||||
|
||||
];
|
||||
|
||||
$find = $com_mdoel->dataInfo($insert);
|
||||
|
||||
$cash = $v['true_price']*$ser['com_balance']/100*$v['num'];
|
||||
|
||||
if(empty($find)){
|
||||
|
||||
$insert['cash'] = $cash;
|
||||
|
||||
$com_mdoel->dataAdd($insert);
|
||||
|
||||
$id = $com_mdoel->getLastInsID();
|
||||
|
||||
}else{
|
||||
|
||||
$id = $find['id'];
|
||||
|
||||
$update = [
|
||||
|
||||
'cash' => $find['cash']+$cash
|
||||
];
|
||||
//加佣金
|
||||
$com_mdoel->dataUpdate(['id'=>$find['id']],$update);
|
||||
|
||||
}
|
||||
|
||||
$insert = [
|
||||
|
||||
'uniacid' => $order['uniacid'],
|
||||
|
||||
'order_goods_id' => $v['id'],
|
||||
|
||||
'commission_id' => $id,
|
||||
|
||||
'cash' => $cash,
|
||||
|
||||
'num' => $v['num'],
|
||||
|
||||
'balance' => $ser['com_balance']
|
||||
];
|
||||
//添加到自订单记录表
|
||||
$res = $com_goods_mdoel->dataAdd($insert);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @author chenniang
|
||||
* @DataTime: 2021-08-28 14:35
|
||||
* @功能说明:佣金到账
|
||||
*/
|
||||
public function successCommission($order_id){
|
||||
|
||||
$comm = $this->dataInfo(['order_id'=>$order_id,'status'=>1]);
|
||||
|
||||
if(!empty($comm)){
|
||||
|
||||
$user_model = new User();
|
||||
|
||||
$user = $user_model->dataInfo(['id'=>$comm['top_id']]);
|
||||
|
||||
if(!empty($user)){
|
||||
|
||||
$update = [
|
||||
|
||||
'balance' => $user['balance']+$comm['cash'],
|
||||
|
||||
'cash' => $user['cash']+$comm['cash'],
|
||||
];
|
||||
|
||||
$user_model->dataUpdate(['id'=>$comm['top_id']],$update);
|
||||
|
||||
$this->dataUpdate(['id'=>$comm['id']],['status'=>2,'cash_time'=>time()]);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @author chenniang
|
||||
* @DataTime: 2021-08-28 14:48
|
||||
* @功能说明:退款的时候要减去分销
|
||||
*/
|
||||
public function refundComm($refund_id){
|
||||
|
||||
$refund_model = new RefundOrder();
|
||||
|
||||
$com_goods_mdoel = new CommissionGoods();
|
||||
|
||||
$refund_order = $refund_model->dataInfo(['id'=>$refund_id]);
|
||||
|
||||
if(!empty($refund_order)){
|
||||
//查询这笔等待有无佣金
|
||||
$comm = $this->dataInfo(['order_id'=>$refund_order['order_id'],'status'=>1]);
|
||||
|
||||
if(!empty($comm)){
|
||||
|
||||
foreach ($refund_order['order_goods'] as $v){
|
||||
|
||||
$comm_goods = $com_goods_mdoel->dataInfo(['commission_id'=>$comm['id'],'order_goods_id'=>$v['order_goods_id']]);
|
||||
|
||||
$comm_goods_cash = $comm_goods['cash']/$comm_goods['num'];
|
||||
|
||||
$true_num = $comm_goods['num'] - $v['num'];
|
||||
|
||||
$true_num = $true_num>0?$true_num:0;
|
||||
|
||||
$update = [
|
||||
|
||||
'num' => $true_num,
|
||||
|
||||
'cash'=> $comm_goods_cash*$true_num
|
||||
];
|
||||
|
||||
$com_goods_mdoel->dataUpdate(['id'=>$comm_goods['id']],$update);
|
||||
|
||||
|
||||
}
|
||||
|
||||
$total_cash = $com_goods_mdoel->where(['commission_id'=>$comm['id']])->sum('cash');
|
||||
|
||||
$update = [
|
||||
|
||||
'cash' => $total_cash,
|
||||
|
||||
'status' => $total_cash>0?1:-1
|
||||
];
|
||||
|
||||
$this->dataUpdate(['id'=>$comm['id']],$update);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user