From 6fb5f9b5d732d4cc0ca78f82f97317df6150b545 Mon Sep 17 00:00:00 2001 From: mkm <727897186@qq.com> Date: Wed, 9 Aug 2023 15:44:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/common/logic/finance/ShareProfit.php | 30 +++++++++++++-- .../model/informationg/UserInformationg.php | 37 +++++++++++-------- 2 files changed, 47 insertions(+), 20 deletions(-) diff --git a/app/common/logic/finance/ShareProfit.php b/app/common/logic/finance/ShareProfit.php index ed8798617..b4a0f60cc 100644 --- a/app/common/logic/finance/ShareProfit.php +++ b/app/common/logic/finance/ShareProfit.php @@ -3,21 +3,43 @@ namespace app\common\logic\finance; use app\common\enum\user\AccountLogEnum; use app\common\logic\AccountLogLogic; +use app\common\model\Company; use app\common\model\user\User; class ShareProfit { - public function first($data,$company_id,$user_id,$money) + public function first($data) { - $userAll=User::where('company_id',$data['company_id'])->where('admin_id',0)->field('id,user_money')->select(); + $company=Company::where('id',$data['company_id'])->field('id,deposit,company_money')->find(); + $master_maoney=bcdiv($data['money'],2,2); $this->master($data,$master_maoney,$data['user_id']); + + $userAll=User::where('company_id',$data['company_id'])->where('admin_id',0)->field('id,user_money')->select(); + $yser_all_count=count($userAll); + $merber_money=bcdiv(bcsub($data['money'],$master_maoney,2),$yser_all_count,2); + foreach ($userAll as $key => $value) { + $this->member($data,$merber_money,$value['id']); + } } - private function master($data,$money,$user_id){ + /**负责人的分润 + * @param $data + */ + private function master($data,$money,$user_id): void{ $master=User::where('id',$user_id)->field('id,user_money')->find(); AccountLogLogic::add($user_id, AccountLogEnum::UM_INC_TASK, AccountLogEnum::INC,$money, $data['sn'], - '充值订单退款'); + $data['msg']); + } + + /**成员分润 + * @param $data + */ + private function member($data,$money,$user_id): void{ + $master=User::where('id',$user_id)->field('id,user_money')->find(); + AccountLogLogic::add($user_id, AccountLogEnum::UM_INC_TASK, AccountLogEnum::INC,$money, + $data['sn'], + $data['msg']); } } \ No newline at end of file diff --git a/app/common/model/informationg/UserInformationg.php b/app/common/model/informationg/UserInformationg.php index 5cadc8666..e6f4dc0ed 100644 --- a/app/common/model/informationg/UserInformationg.php +++ b/app/common/model/informationg/UserInformationg.php @@ -23,12 +23,13 @@ class UserInformationg extends BaseModel return $this->hasOne(\app\common\model\informationg\UserInformationgDemand::class, 'information_id', 'id'); } - public function getExtendAttr($valur,$data){ - $company_name=Company::where('id',$data['company_id'])->value('company_name'); - $nickname=User::where('id',$data['create_user_id'])->value('nickname'); + public function getExtendAttr($valur, $data) + { + $company_name = Company::where('id', $data['company_id'])->value('company_name'); + $nickname = User::where('id', $data['create_user_id'])->value('nickname'); return [ - 'company_name'=>$company_name, - 'nickname'=>$nickname + 'company_name' => $company_name, + 'nickname' => $nickname ]; } @@ -37,7 +38,7 @@ class UserInformationg extends BaseModel { return self::where($param)->with('company') ->field('id,area_id,area_id as area_name,street_id,street_id as street_name,village_id,village_id as village_name, street_id as street_name,brigade_id,brigade_id as brigade_name,name,phone,age,address,create_time,update_time') - ->order('id','desc') + ->order('id', 'desc') ->page($page)->limit($size)->select(); } @@ -52,8 +53,8 @@ class UserInformationg extends BaseModel 'name' => $param['name'], 'phone' => $param['phone'], 'age' => $param['age'], - 'sex'=>$param['sex'], - 'id_card'=>$param['id_card'], + 'sex' => $param['sex'], + 'id_card' => $param['id_card'], 'wechat' => $param['wechat'], 'area_id' => $param['area_id'], 'street_id' => $param['street_id'], @@ -86,12 +87,12 @@ class UserInformationg extends BaseModel public static function informationg_demand($param, $id, $admin_id) { - if(isset($param['card_id']) &&$param['card_id'] >0){ - $category_id=Db::name('category_business')->where('id',$param['card_id'])->value('pid'); - $category_child=$param['card_id']; - }else{ - $category_id=0; - $category_child=0; + if (isset($param['card_id']) && $param['card_id'] > 0) { + $category_id = Db::name('category_business')->where('id', $param['card_id'])->value('pid'); + $category_child = $param['card_id']; + } else { + $category_id = 0; + $category_child = 0; } $data = [ 'create_user_id' => $admin_id, @@ -119,7 +120,7 @@ class UserInformationg extends BaseModel $a = json_decode($v['data'], true); $arr = [ 'id' => $v['category_child'], - 'update_time'=>$v['update_time'], + 'update_time' => $v['update_time'], 'datas' => $a ]; if ($a) { @@ -156,6 +157,10 @@ class UserInformationg extends BaseModel } public function getBrigadeNameAttr($value) { - return Db::name('geo_brigade')->where(['id' => $this->brigade_id])->value('brigade_name'); + if ($this->brigade_id) { + return Db::name('geo_brigade')->where('id', 'in', explode(',', $this->brigade_id))->field('brigade_name')->find(); + } else { + return []; + } } }