Publish apes-Authon via gitea-publish skill
This commit is contained in:
@@ -0,0 +1,207 @@
|
||||
package cn.apes.cloud.controller;
|
||||
|
||||
import cn.apes.commons.Res;
|
||||
import cn.apes.commons.auth.AuthContext;
|
||||
import cn.apes.commons.auth.Login;
|
||||
import cn.apes.cloud.config.TenantSource;
|
||||
import cn.apes.cloud.domain.dto.LoginDTO;
|
||||
import cn.apes.cloud.domain.dto.PwdDTO;
|
||||
import cn.apes.cloud.domain.dto.RegisterDTO;
|
||||
import cn.apes.cloud.domain.dto.SelectCustomerDTO;
|
||||
import cn.apes.cloud.domain.dto.UserSearchDTO;
|
||||
import cn.apes.cloud.domain.dto.EnterpriseCertifyDTO;
|
||||
import cn.apes.cloud.domain.entity.CustomerInfo;
|
||||
import cn.apes.cloud.domain.entity.UserInfo;
|
||||
import cn.apes.cloud.service.impl.UserInfoServiceImpl;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@Slf4j
|
||||
@RestController
|
||||
@TenantSource
|
||||
@RequestMapping("/user")
|
||||
public class UserController {
|
||||
|
||||
@Autowired
|
||||
UserInfoServiceImpl userInfoService;
|
||||
|
||||
@Login
|
||||
@PostMapping("/saveUserInfo")
|
||||
public Res saveUserInfo(@RequestBody UserInfo userInfo) {
|
||||
return userInfoService.saveUserInfo(userInfo);
|
||||
}
|
||||
|
||||
@Login
|
||||
// @CrossOrigin("*")
|
||||
@PostMapping("/pageUser")
|
||||
public Res pageUser(@RequestBody UserSearchDTO searchDTO) {
|
||||
return userInfoService.pageUser(searchDTO);
|
||||
}
|
||||
|
||||
@PostMapping("/loginPwd")
|
||||
public Res loginPwd(@RequestBody LoginDTO loginDTO) {
|
||||
log.info("开始登录了");
|
||||
return userInfoService.loginPwd(loginDTO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户注册
|
||||
*/
|
||||
@PostMapping("/register")
|
||||
public Res register(@RequestBody RegisterDTO dto) {
|
||||
return userInfoService.register(dto);
|
||||
}
|
||||
|
||||
@Login
|
||||
@PostMapping("/resetPwd")
|
||||
public Res resetPwd(@RequestBody UserInfo userInfo) {
|
||||
return userInfoService.resetPwd(userInfo);
|
||||
}
|
||||
|
||||
@Login
|
||||
@GetMapping("/getCurrentUser")
|
||||
public Res getCurrentUser() {
|
||||
try {
|
||||
Object loginInfo = AuthContext.getLoginInfo();
|
||||
if (loginInfo == null) {
|
||||
return Res.fail("未登录");
|
||||
}
|
||||
return Res.success(loginInfo);
|
||||
} catch (Exception e) {
|
||||
return Res.fail("获取用户信息失败");
|
||||
}
|
||||
}
|
||||
|
||||
@Login
|
||||
@PostMapping("/editPwd")
|
||||
public Res editPwd(@RequestBody PwdDTO pwdDTO) {
|
||||
return userInfoService.editPwd(pwdDTO);
|
||||
}
|
||||
|
||||
@Login
|
||||
@GetMapping("/getUserByPhone")
|
||||
public Res getUserByPhone(String phone) {
|
||||
return userInfoService.getUser(phone);
|
||||
}
|
||||
|
||||
@Login
|
||||
@GetMapping("/getCustomerUser")
|
||||
public Res getCustomerUser(Long customerId) {
|
||||
return userInfoService.getCustomerUser(customerId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 多客户时用户选择企业
|
||||
*/
|
||||
@PostMapping("/selectCustomer")
|
||||
public Res selectCustomer(@RequestBody SelectCustomerDTO dto) {
|
||||
return userInfoService.selectCustomer(dto.getToken(), dto.getCustomerId());
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前用户关联的企业列表(用于切换企业场景)
|
||||
*/
|
||||
@Login
|
||||
@GetMapping("/getMyCustomers")
|
||||
public Res getMyCustomers() {
|
||||
return userInfoService.getMyCustomers();
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑当前用户的个人资料(昵称、头像)
|
||||
*/
|
||||
@Login
|
||||
@PostMapping("/editProfile")
|
||||
public Res editProfile(@RequestBody UserInfo userInfo) {
|
||||
return userInfoService.editProfile(userInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑当前企业信息(仅更新当前登录用户的所属企业)
|
||||
*/
|
||||
@Login
|
||||
@PostMapping("/customer/editCurrent")
|
||||
public Res editCurrentCustomer(@RequestBody CustomerInfo customerInfo) {
|
||||
return userInfoService.editCurrentCustomer(customerInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前企业信息(从数据库直接读取,不走Redis缓存)
|
||||
*/
|
||||
@Login
|
||||
@GetMapping("/customer/getCurrent")
|
||||
public Res getCurrentCustomer() {
|
||||
return userInfoService.getCurrentCustomerFromDb();
|
||||
}
|
||||
|
||||
/**
|
||||
* 企业认证:用户提交认证表单,创建客户记录并关联当前用户
|
||||
* 使用登录返回的 token(无需额外登录态校验)
|
||||
*/
|
||||
@PostMapping("/certifyEnterprise")
|
||||
public Res certifyEnterprise(@RequestBody EnterpriseCertifyDTO dto) {
|
||||
if (dto == null || cn.hutool.core.util.StrUtil.isBlank(dto.getToken())) {
|
||||
return Res.fail("token不能为空");
|
||||
}
|
||||
CustomerInfo customerInfo = new CustomerInfo();
|
||||
customerInfo.setCustomerName(dto.getCustomerName());
|
||||
customerInfo.setLogo(dto.getLogo());
|
||||
customerInfo.setShortName(dto.getShortName());
|
||||
customerInfo.setCustomerType(dto.getCustomerType());
|
||||
customerInfo.setCustomerIdNumber(dto.getCustomerIdNumber());
|
||||
customerInfo.setLegalName(dto.getLegalName());
|
||||
customerInfo.setLegalIdFront(dto.getLegalIdFront());
|
||||
customerInfo.setLegalIdBack(dto.getLegalIdBack());
|
||||
customerInfo.setAdminName(dto.getAdminName());
|
||||
customerInfo.setAdminPhone(dto.getAdminPhone());
|
||||
customerInfo.setAdminIdNumber(dto.getAdminIdNumber());
|
||||
customerInfo.setResponsibleIdFront(dto.getResponsibleIdFront());
|
||||
customerInfo.setResponsibleIdBack(dto.getResponsibleIdBack());
|
||||
customerInfo.setIndustry(dto.getIndustry());
|
||||
customerInfo.setIndustrySub(dto.getIndustrySub());
|
||||
customerInfo.setSalesChannel(dto.getSalesChannel());
|
||||
customerInfo.setIndustryType(dto.getIndustryType());
|
||||
customerInfo.setProvince(dto.getProvince());
|
||||
customerInfo.setCity(dto.getCity());
|
||||
customerInfo.setBusinessLicense(dto.getBusinessLicense());
|
||||
return userInfoService.certifyEnterprise(dto.getToken(), customerInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前用户的企业信息(用于重新编辑)
|
||||
*/
|
||||
@GetMapping("/getPendingCustomer")
|
||||
public Res getPendingCustomer(@RequestParam("token") String token) {
|
||||
return userInfoService.getPendingCustomer(token);
|
||||
}
|
||||
|
||||
/**
|
||||
* 重新提交企业认证
|
||||
*/
|
||||
@PostMapping("/recertifyEnterprise")
|
||||
public Res recertifyEnterprise(@RequestBody EnterpriseCertifyDTO dto) {
|
||||
CustomerInfo customerInfo = new CustomerInfo();
|
||||
customerInfo.setCustomerName(dto.getCustomerName());
|
||||
customerInfo.setShortName(dto.getShortName());
|
||||
customerInfo.setCustomerIdNumber(dto.getCustomerIdNumber());
|
||||
customerInfo.setAdminName(dto.getAdminName());
|
||||
customerInfo.setAdminPhone(dto.getAdminPhone());
|
||||
customerInfo.setAdminIdNumber(dto.getAdminIdNumber());
|
||||
customerInfo.setLegalName(dto.getLegalName());
|
||||
customerInfo.setLegalIdFront(dto.getLegalIdFront());
|
||||
customerInfo.setLegalIdBack(dto.getLegalIdBack());
|
||||
customerInfo.setResponsibleIdFront(dto.getResponsibleIdFront());
|
||||
customerInfo.setResponsibleIdBack(dto.getResponsibleIdBack());
|
||||
customerInfo.setLogo(dto.getLogo());
|
||||
customerInfo.setIndustry(dto.getIndustry());
|
||||
customerInfo.setIndustrySub(dto.getIndustrySub());
|
||||
customerInfo.setSalesChannel(dto.getSalesChannel());
|
||||
customerInfo.setIndustryType(dto.getIndustryType());
|
||||
customerInfo.setProvince(dto.getProvince());
|
||||
customerInfo.setCity(dto.getCity());
|
||||
customerInfo.setBusinessLicense(dto.getBusinessLicense());
|
||||
return userInfoService.recertifyEnterprise(dto.getToken(), customerInfo);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user