|
@@ -9,6 +9,7 @@ import com.alibaba.fastjson.JSONObject;
|
|
|
import com.fdkankan.fusion.common.ResultCode;
|
|
|
import com.fdkankan.fusion.common.ResultData;
|
|
|
import com.fdkankan.fusion.common.util.RedisKeyUtil;
|
|
|
+import com.fdkankan.fusion.entity.TmDepartment;
|
|
|
import com.fdkankan.fusion.entity.TmUser;
|
|
|
import com.fdkankan.fusion.exception.BusinessException;
|
|
|
import com.fdkankan.fusion.httpClient.FdService;
|
|
@@ -16,6 +17,7 @@ import com.fdkankan.fusion.httpClient.client.FdKKClient;
|
|
|
import com.fdkankan.fusion.httpClient.request.FdkkLoginRequest;
|
|
|
import com.fdkankan.fusion.httpClient.response.FdkkLoginVo;
|
|
|
import com.fdkankan.fusion.httpClient.response.FdkkResponse;
|
|
|
+import com.fdkankan.fusion.service.ITmDepartmentService;
|
|
|
import com.fdkankan.fusion.service.ITmUserService;
|
|
|
import com.fdkankan.redis.constant.RedisKey;
|
|
|
import com.fdkankan.redis.util.RedisUtil;
|
|
@@ -24,6 +26,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
@RestController
|
|
|
@RequestMapping
|
|
@@ -37,10 +41,13 @@ public class LoginController extends BaseController{
|
|
|
ITmUserService tmUserService;
|
|
|
@Autowired
|
|
|
FdService fdService;
|
|
|
+ @Autowired
|
|
|
+ ITmDepartmentService tmDepartmentService;
|
|
|
|
|
|
@PostMapping("/fdLogin")
|
|
|
public ResultData fdLogin(@RequestBody FdkkLoginRequest request){
|
|
|
- if(StringUtils.isBlank(request.getPhoneNum()) || StringUtils.isBlank(request.getPassword()) || StringUtils.isBlank(request.getCode())){
|
|
|
+ if(StringUtils.isBlank(request.getPhoneNum()) || StringUtils.isBlank(request.getPassword())
|
|
|
+ || StringUtils.isBlank(request.getCode()) || StringUtils.isBlank(request.getDeptId())){
|
|
|
throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
|
|
|
}
|
|
|
if(!redisUtil.hasKey(String.format(RedisKeyUtil.loginAuthCode,request.getCode()))){
|
|
@@ -53,6 +60,15 @@ public class LoginController extends BaseController{
|
|
|
if(tmUser.getStatus() == 0){
|
|
|
throw new BusinessException(ResultCode.USER_NOT_LOGIN_PERM);
|
|
|
}
|
|
|
+ List<TmDepartment> deptList = tmDepartmentService.getSonByDeptId(request.getDeptId());
|
|
|
+ if(deptList == null || deptList.size() <=0){
|
|
|
+ throw new BusinessException(ResultCode.DEPT_NOT_EXITS);
|
|
|
+ }
|
|
|
+ List<String> deptIds = deptList.stream().map(TmDepartment::getId).collect(Collectors.toList());
|
|
|
+ if(!deptIds.contains(tmUser.getDeptId())){
|
|
|
+ throw new BusinessException(ResultCode.PASSWORD_ERROR);
|
|
|
+ }
|
|
|
+
|
|
|
//对前端传的密码解密
|
|
|
FdkkResponse<FdkkLoginVo> fdkkLoginVo = fdKKClient.fdkkLogin(request);
|
|
|
if(fdkkLoginVo.getCode() == 0){
|