|
|
@@ -6,6 +6,7 @@ import com.usoftchina.saas.account.constant.AccountType;
|
|
|
import com.usoftchina.saas.account.dto.AccountCopyDTO;
|
|
|
import com.usoftchina.saas.account.dto.AccountDTO;
|
|
|
import com.usoftchina.saas.account.dto.AccountUpdateDTO;
|
|
|
+import com.usoftchina.saas.account.dto.CompanyBaseDTO;
|
|
|
import com.usoftchina.saas.auth.common.cookie.CookieInfo;
|
|
|
import com.usoftchina.saas.auth.common.jwt.JwtHelper;
|
|
|
import com.usoftchina.saas.auth.common.jwt.JwtInfo;
|
|
|
@@ -14,6 +15,7 @@ import com.usoftchina.saas.auth.dto.AuthDTO;
|
|
|
import com.usoftchina.saas.auth.dto.AuthorizeLogDTO;
|
|
|
import com.usoftchina.saas.auth.dto.TokenDTO;
|
|
|
import com.usoftchina.saas.auth.po.AuthorizeLog;
|
|
|
+import com.usoftchina.saas.auth.po.VirtualAuthorizeLog;
|
|
|
import com.usoftchina.saas.auth.service.AuthorizeCountService;
|
|
|
import com.usoftchina.saas.auth.service.AuthorizeLogService;
|
|
|
import com.usoftchina.saas.base.Result;
|
|
|
@@ -23,10 +25,7 @@ import com.usoftchina.saas.page.PageDefault;
|
|
|
import com.usoftchina.saas.page.PageRequest;
|
|
|
import com.usoftchina.saas.server.web.ServletUtils;
|
|
|
import com.usoftchina.saas.socket.api.SocketMessageApi;
|
|
|
-import com.usoftchina.saas.utils.BeanMapper;
|
|
|
-import com.usoftchina.saas.utils.CollectionUtils;
|
|
|
-import com.usoftchina.saas.utils.JsonUtils;
|
|
|
-import com.usoftchina.saas.utils.StringUtils;
|
|
|
+import com.usoftchina.saas.utils.*;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
@@ -36,6 +35,9 @@ import org.springframework.web.bind.annotation.*;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import java.io.IOException;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
|
|
|
/**
|
|
|
* @author yingp
|
|
|
@@ -117,6 +119,38 @@ public class AuthController {
|
|
|
return Result.error(result.getCode(), result.getMessage());
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ @PostMapping("/virtual/authorize/{mobile}")
|
|
|
+ public Result<AuthDTO> virtualAuthorize(HttpServletRequest request, @PathVariable("mobile") String mobile) {
|
|
|
+ //构造虚拟account,生成token
|
|
|
+ String randomNum = DateUtils.format(new Date(), "hhmmss");
|
|
|
+ AccountDTO accountDTO = new AccountDTO();
|
|
|
+ accountDTO.setId(-99999L);
|
|
|
+ accountDTO.setUsername("virtual" + randomNum);
|
|
|
+ accountDTO.setRealname("游客" + randomNum);
|
|
|
+ accountDTO.setMobile(mobile);
|
|
|
+ accountDTO.setType(0);
|
|
|
+ //公司信息
|
|
|
+ List<CompanyBaseDTO> companies = new ArrayList<CompanyBaseDTO>();
|
|
|
+ CompanyBaseDTO companyBaseDTO = new CompanyBaseDTO();
|
|
|
+ companyBaseDTO.setId(2L);
|
|
|
+ companyBaseDTO.setName("演示账套");
|
|
|
+
|
|
|
+ companies.add(companyBaseDTO);
|
|
|
+ accountDTO.setCompanies(companies);
|
|
|
+
|
|
|
+ Long companyId = 2L; //演示账套companyId : 2
|
|
|
+ String appId = "trade-app"; //App_ID
|
|
|
+ JwtInfo info = new JwtInfo(appId, companyId, accountDTO.getId(), accountDTO.getUsername(), accountDTO.getRealname());
|
|
|
+ JwtToken jwtToken = JwtHelper.generateToken(info, privateKeyPath, expire);
|
|
|
+ TokenDTO tokenDTO = BeanMapper.map(jwtToken, TokenDTO.class);
|
|
|
+ // 登录日志
|
|
|
+ authorizeLogService.saveVirtual(VirtualAuthorizeLog.from(request)
|
|
|
+ .setMobile(Long.parseLong(accountDTO.getMobile()))
|
|
|
+ .setAppId(appId).build());
|
|
|
+ return Result.success(new AuthDTO(tokenDTO, accountDTO));
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 账户中心登录时jsonp回调
|
|
|
*
|