$userId]) ->findOrEmpty(); $user['channel'] = UserTerminalEnum::getTermInalDesc($user['channel']); // $user->sex = $user->getData('sex'); $user['qualification'] = json_decode($user->qualification, true); if ($user->is_contract == 1) { $user['contract'] = Contract::where(['type' => 2, 'party_b' => $userId])->with(['partyA', 'contractType'])->find(); } return $user->toArray(); } /** * @notes 更新用户信息 * @param array $params * @return User * @author 段誉 * @date 2022/9/22 16:38 */ public static function setUserInfo(array $params) { return User::update([ 'id' => $params['id'], $params['field'] => $params['value'] ]); } /** * @notes 调整用户余额 * @param array $params * @return bool|string * @author 段誉 * @date 2023/2/23 14:25 */ public static function adjustUserMoney(array $params) { Db::startTrans(); try { $user = User::find($params['user_id']); if (AccountLogEnum::INC == $params['action']) { //调整可用余额 $user->user_money += $params['num']; $user->save(); //记录日志 AccountLogLogic::add( $user->id, AccountLogEnum::UM_INC_ADMIN, AccountLogEnum::INC, $params['num'], '', $params['remark'] ?? '' ); } else { $user->user_money -= $params['num']; $user->save(); //记录日志 AccountLogLogic::add( $user->id, AccountLogEnum::UM_DEC_ADMIN, AccountLogEnum::DEC, $params['num'], '', $params['remark'] ?? '' ); } Db::commit(); return true; } catch (\Exception $e) { Db::rollback(); return $e->getMessage(); } } //**发起合同 */ public static function initiate_contract($params, $adminId) { $params['party_a'] = Db::name('company')->where('admin_id', $adminId)->value('id'); if ($params['party_a'] <= 0) { return self::setError('甲方不存在,请联系平台绑定公司'); } $params['check_status'] = 1; $res = Contract::Initiate_contract($params); if (true === $res) { return true; } return self::setError('发起失败'); } // /**生成合同 */ public static function Draftingcontracts($params) { $result = self::detail($params['id']); if ($result && $result['contract'] && $result['contract']['file'] != '') { if($result['contract']['check_status']==3){ return self::setError('你已经生成过合同,请问重复生成'); } $data = [ 'name' => $result['nickname'] . '的合同', 'signatories' => [['fullName' => $result['nickname'], 'identityType' => 1, 'identityCard' => $result['id_card'], 'mobile' => $result['mobile'], 'noNeedVerify' => 1, 'signLevel' => 1]], 'url' => $result['contract']['file'] ]; $res = app(JunziqianController::class)->Signing($data, $result['contract']['id']); if ($res->success == true) { Db::name('contract')->where('id', $result['contract']['id'])->update(['contract_no' => $res->data,'check_status'=>3]); $data = array( "applyNo" => $res->data, //TODO * "fullName" => $result['nickname'], //TODO * "identityCard" => $result['id_card'], //TODO * "identityType" => 1, //TODO * ); $res = app(JunziqianController::class)->SigningLink($data); if ($res->success == true) { Db::name('contract')->where('id', $result['contract']['id'])->update(['url' => $res->data]); //发送短信 $sms = [ 'mobile' => $result['mobile'], 'name' => $result['nickname'], 'type' => '《' . $result['contract']['contract_type_name'] . '》', 'code' => 'api/Hetong/url?id=' . $result['contract']['id'], 'scene' => 'WQ' ]; $result = SmsLogic::contractUrl($sms); if (true === $result) { return true; } else { return self::setError(SmsLogic::getError()); } } else { return self::setError($res->msg); } } else { return self::setError($res->msg); } } else { return self::setError('生成合同成功失败,联系管理员'); } } }