From 22ed2105fb9328718659d6918564888cd78b9d15 Mon Sep 17 00:00:00 2001 From: chenbo <709206448@qq.com> Date: Fri, 13 Oct 2023 18:16:37 +0800 Subject: [PATCH] =?UTF-8?q?add:=E6=8A=BC=E9=87=91=E5=85=85=E5=80=BC?= =?UTF-8?q?=E7=BA=BF=E4=B8=8A=E8=BD=AC=E8=B4=A6=E5=AF=B9=E5=85=AC=E8=B4=A6?= =?UTF-8?q?=E6=88=B7=E4=B8=B4=E6=97=B6=E6=96=B9=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/adminapi/controller/CompanyController.php | 50 +++++++++++++++++++ app/api/controller/CompanyController.php | 14 ++++++ app/common/logic/PayNotifyLogic.php | 4 +- app/common/logic/finance/WithdrawLogic.php | 4 +- app/common/model/CompanyDepositVoucher.php | 8 +++ 5 files changed, 76 insertions(+), 4 deletions(-) create mode 100644 app/common/model/CompanyDepositVoucher.php diff --git a/app/adminapi/controller/CompanyController.php b/app/adminapi/controller/CompanyController.php index 9cd8a6e01..919003062 100644 --- a/app/adminapi/controller/CompanyController.php +++ b/app/adminapi/controller/CompanyController.php @@ -18,6 +18,7 @@ namespace app\adminapi\controller; use app\adminapi\lists\CompanyLists; use app\adminapi\logic\auth\AdminLogic; +use app\common\enum\PayEnum; use app\common\logic\CompanyLogic; use app\adminapi\validate\CompanyValidate; use app\api\controller\JunziqianController; @@ -25,6 +26,10 @@ use app\common\logic\RedisLogic; use app\common\model\Approve; use app\common\model\auth\Admin; use app\common\model\Company; +use app\common\model\company\CompanyAccountLog; +use app\common\model\CompanyDepositVoucher; +use app\common\model\recharge\RechargeOrder; +use app\common\model\user\UserAccountLog; use think\Exception; use think\facade\Db; use app\common\logic\contract\ContractLogic; @@ -473,4 +478,49 @@ class CompanyController extends BaseAdminController } } + + // 押金凭证录入,并将押金写入公司押金账户,新增一条押金充值流水 + public function depositRechargeTransferVoucher() + { + try { + $param = $this->request->param(); + Db::startTrans(); + $data = [ + 'company_id' => $param['company_id'], + 'deposit' => $param['deposit'], + 'voucher' => $param['voucher'], + 'create_admin_id' => $this->adminId, + 'create_time' => time(), + 'update_time' => time() + ]; + $result = (new CompanyDepositVoucher())->save($data); + + $companyModel = Company::where(['id' => $param['company_id']])->find(); + $left_amount = bcadd($companyModel['deposit'], $param['deposit'], 2); + + // 添加流水记录 + $datas = [ + 'sn' => generate_sn(CompanyAccountLog::class, 'sn', 20), + 'user_id' => 0, + 'company_id' => $param['company_id'], + 'change_type' => 300, + 'change_object' => 2, + 'action' => 1, + 'change_amount' => $param['deposit'], + 'left_amount' =>$left_amount, + 'remark' => '后台押金转账凭证充值', + ]; + CompanyAccountLog::create($datas); + + // 更新公司押金金额 + $companyModel->deposit = $left_amount; + $companyModel->save(); + Db::commit(); + return $this->success('成功'); + } catch (Exception $exception) { + Db::rollback(); + return $this->fail($exception->getMessage()); + } + + } } diff --git a/app/api/controller/CompanyController.php b/app/api/controller/CompanyController.php index 80077c3be..748e0f23a 100644 --- a/app/api/controller/CompanyController.php +++ b/app/api/controller/CompanyController.php @@ -360,4 +360,18 @@ class CompanyController extends BaseApiController } } + + /** + * 查询签约的甲方公司 + */ + public function getPartyACompany() + { + $company = Company::where(['id'=>$this->userInfo['company_id']])->find(); + $contract = Contract::where(['party_b'=>$company['id']])->find(); + if ($contract) { + $partyA = Company::where(['id'=>$contract['party_a']])->find(); + return $this->success('ok', $partyA); + } + return $this->fail('当前公司未签约甲方公司'); + } } diff --git a/app/common/logic/PayNotifyLogic.php b/app/common/logic/PayNotifyLogic.php index 2e5ce42e2..9cb74cf0e 100755 --- a/app/common/logic/PayNotifyLogic.php +++ b/app/common/logic/PayNotifyLogic.php @@ -78,7 +78,7 @@ class PayNotifyLogic extends BaseLogic $company=Company::where('user_id',$order['user_id'])->find(); $left_amount= $company['deposit']+$order->order_amount; $datas = [ - 'order_sn' => $order->sn, + 'sn' => $order->sn, 'user_id' => $order->user_id, 'company_id' => $company['id']??0, 'change_type' => 300, @@ -86,7 +86,7 @@ class PayNotifyLogic extends BaseLogic 'action' => 1, 'change_amount' => $order->order_amount, 'left_amount' =>$left_amount, - 'remark' => '保证金充值', + 'remark' => '押金充值', ]; CompanyAccountLog::create($datas); Company::where('id',$company['id'])->update(['deposit'=>$left_amount]); diff --git a/app/common/logic/finance/WithdrawLogic.php b/app/common/logic/finance/WithdrawLogic.php index b94dbc4a8..b726837bf 100644 --- a/app/common/logic/finance/WithdrawLogic.php +++ b/app/common/logic/finance/WithdrawLogic.php @@ -63,7 +63,7 @@ class WithdrawLogic extends BaseLogic // 1.扣除公司账户余额 $amount = $withDrawInfo['amount']; // 提现金额 - $leftMoney = bcsub($companyInfo['company_money'], $amount); // 提现后剩余金额 + $leftMoney = bcsub($companyInfo['company_money'], $amount, 2); // 提现后剩余金额 if ($leftMoney < 0) { throw new Exception('公司账户余额不足'); } @@ -90,7 +90,7 @@ class WithdrawLogic extends BaseLogic $tempUserLeftMoney = 0; // 本次提现周期内增加的金额总和 周期内用户状态已完成的 变动类型为任务收益金额增加 动作为增加 未提现状态 的变动金额之和 $tempUserMoneySycleTotal = UserAccountLog::where(['user_id'=>$user->id, 'status'=>1, 'action'=>1, 'change_type'=>202, 'is_withdraw'=>0])->where('create_time','<', $endCycle)->sum('change_amount'); - $tempUserLeftMoney = bcsub($user->user_money,$tempUserMoneySycleTotal); + $tempUserLeftMoney = bcsub($user->user_money,$tempUserMoneySycleTotal, 2); if( $tempUserLeftMoney < 0 ){ throw new Exception('账户异常,用户余额不足,user_id:'.$user->id.",扣除金额:".$tempUserMoneySycleTotal); } diff --git a/app/common/model/CompanyDepositVoucher.php b/app/common/model/CompanyDepositVoucher.php new file mode 100644 index 000000000..73f4eb074 --- /dev/null +++ b/app/common/model/CompanyDepositVoucher.php @@ -0,0 +1,8 @@ +