# 企业用户登录注册二合一接口文档 ## 接口说明 **接口地址:** `POST /app/company/loginOrRegister` **接口说明:** - 根据手机号查询企业用户,存在则登录,不存在则注册 - 登录时只需传手机号和密码 - 注册时需额外传企业信用代码和企业名称 - 注册时会根据企业信用代码判断企业是否已注册 --- ## 请求参数(Body JSON) | 参数名 | 类型 | 必填 | 说明 | |--------|------|------|------| | username | String | 是 | 手机号码 | | password | String | 是 | 登录密码 | | companyCode | String | 注册时必填 | 企业信用代码(统一社会信用代码) | | companyName | String | 注册时必填 | 企业名称 | --- ## 登录场景 **请求示例:** ```json { "username": "13800138000", "password": "123456" } ``` **响应示例(登录成功):** ```json { "code": 200, "msg": "操作成功", "token": "eyJhbGciOiJIUzUxMiJ9...", "isNewUser": false, "companyCode": "91110000MA00ABCD1X", "companyName": "北京某某科技有限公司" } ``` **错误响应:** ```json { "code": 500, "msg": "密码错误,请重新输入!" } ``` --- ## 注册场景 **请求示例:** ```json { "username": "13800138000", "password": "123456", "companyCode": "91110000MA00ABCD1X", "companyName": "北京某某科技有限公司" } ``` **响应示例(注册成功):** ```json { "code": 200, "msg": "注册成功!", "token": "eyJhbGciOiJIUzUxMiJ9...", "isNewUser": true, "companyCode": "91110000MA00ABCD1X", "companyName": "北京某某科技有限公司" } ``` **错误响应(企业已注册):** ```json { "code": 500, "msg": "该企业已注册,请联系企业管理员加入组织!" } ``` **错误响应(缺少企业信息):** ```json { "code": 500, "msg": "企业信用代码不能为空!" } ``` --- ## 响应参数 | 参数名 | 类型 | 说明 | |--------|------|------| | code | Number | 状态码,200 表示成功 | | msg | String | 提示信息 | | token | String | 登录令牌 | | isNewUser | Boolean | 是否新用户(true=注册,false=登录) | | companyCode | String | 企业信用代码 | | companyName | String | 企业名称 | --- ## cURL 测试示例 **登录(已注册用户):** ```bash curl -X POST http://localhost:8080/app/company/loginOrRegister \ -H "Content-Type: application/json" \ -d '{"username":"13800138000","password":"123456"}' ``` **注册(新用户):** ```bash curl -X POST http://localhost:8080/app/company/loginOrRegister \ -H "Content-Type: application/json" \ -d '{"username":"13800138000","password":"123456","companyCode":"91110000MA00ABCD1X","companyName":"北京某某科技有限公司"}' ``` --- ## 业务逻辑流程 ``` 1. 根据手机号 + is_company_user=0 查询 app_user │ ├── 用户存在 → 校验密码 → 登录成功(isNewUser=false) │ └── 用户不存在 → 检查是否传了 companyCode/companyName │ ├── 未传 → 返回错误"企业信用代码不能为空!" │ └── 已传 → 根据 companyCode 查询 company 表 │ ├── 企业已存在 → 返回错误"该企业已注册,请联系企业管理员加入组织!" │ └── 企业不存在 → 创建 company + app_user → 注册成功(isNewUser=true) ```