|
|
@@ -30,6 +30,7 @@ use app\common\{enum\notice\NoticeEnum,
|
|
|
service\sms\SmsDriver,
|
|
|
service\wechat\WeChatMnpService};
|
|
|
use think\facade\Config;
|
|
|
+use think\facade\Db;
|
|
|
|
|
|
/**
|
|
|
* 会员逻辑层
|
|
|
@@ -299,4 +300,53 @@ class UserLogic extends BaseLogic
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ public static function saveFirmUserInfo(array $params,int $userId)
|
|
|
+ {
|
|
|
+ Db::startTrans();
|
|
|
+ try {
|
|
|
+ $user = User::findOrEmpty($userId);
|
|
|
+ if ($user->isEmpty()) {
|
|
|
+ throw new \Exception('用户不存在');
|
|
|
+ }
|
|
|
+ if (!empty($params['password'])) {
|
|
|
+ // 密码盐
|
|
|
+ $passwordSalt = Config::get('project.unique_identification');
|
|
|
+ if (empty($params['old_password'])) {
|
|
|
+ throw new \Exception('请填写旧密码');
|
|
|
+ }
|
|
|
+ $oldPassword = create_password($params['old_password'], $passwordSalt);
|
|
|
+ if ($oldPassword != $user['password']) {
|
|
|
+ throw new \Exception('原密码不正确');
|
|
|
+ }
|
|
|
+ if($params['password'] !== $params['password_confirm']){
|
|
|
+ throw new \Exception('输入的确认密码不一致');
|
|
|
+ }
|
|
|
+ // 保存密码
|
|
|
+ $password = create_password($params['password'], $passwordSalt);
|
|
|
+ $user->password = $password;
|
|
|
+ }
|
|
|
+ $user->avatar = $params['avatar'];
|
|
|
+ $user->real_name = $params['real_name'];
|
|
|
+ $user->nickname = $params['nickname'];
|
|
|
+ $user->sex = $params['sex'];
|
|
|
+ $user->save();
|
|
|
+ if(!empty($params['firmRegister'])){
|
|
|
+ $firmRegisterModer = FirmRegister::where(['user_id'=>$userId,'status'=>YesNoEnum::YES])->findOrEmpty();
|
|
|
+ if($firmRegisterModer->isEmpty()){
|
|
|
+ throw new \Exception('公司信息不存在');
|
|
|
+ }
|
|
|
+ $firmRegisterModer->firm_name = $params['firmRegister']['firm_name'];
|
|
|
+ $firmRegisterModer->user_name = $params['firmRegister']['user_name'];
|
|
|
+ $firmRegisterModer->mobile = $params['firmRegister']['mobile'];
|
|
|
+ $firmRegisterModer->address = $params['firmRegister']['address'];
|
|
|
+ $firmRegisterModer->cooperate_description = $params['firmRegister']['cooperate_description'];
|
|
|
+ }
|
|
|
+ Db::commit();
|
|
|
+ return true;
|
|
|
+ } catch (\Exception $e) {
|
|
|
+ Db::rollback();
|
|
|
+ self::setError($e->getMessage());
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|