lyhzzz 2 years ago
parent
commit
4c7b877cde

+ 17 - 1
src/main/java/com/fdkankan/fusion/controller/LoginController.java

@@ -9,6 +9,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.fusion.common.ResultCode;
 import com.fdkankan.fusion.common.ResultCode;
 import com.fdkankan.fusion.common.ResultData;
 import com.fdkankan.fusion.common.ResultData;
 import com.fdkankan.fusion.common.util.RedisKeyUtil;
 import com.fdkankan.fusion.common.util.RedisKeyUtil;
+import com.fdkankan.fusion.entity.TmDepartment;
 import com.fdkankan.fusion.entity.TmUser;
 import com.fdkankan.fusion.entity.TmUser;
 import com.fdkankan.fusion.exception.BusinessException;
 import com.fdkankan.fusion.exception.BusinessException;
 import com.fdkankan.fusion.httpClient.FdService;
 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.request.FdkkLoginRequest;
 import com.fdkankan.fusion.httpClient.response.FdkkLoginVo;
 import com.fdkankan.fusion.httpClient.response.FdkkLoginVo;
 import com.fdkankan.fusion.httpClient.response.FdkkResponse;
 import com.fdkankan.fusion.httpClient.response.FdkkResponse;
+import com.fdkankan.fusion.service.ITmDepartmentService;
 import com.fdkankan.fusion.service.ITmUserService;
 import com.fdkankan.fusion.service.ITmUserService;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.redis.util.RedisUtil;
@@ -24,6 +26,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
+import java.util.List;
+import java.util.stream.Collectors;
 
 
 @RestController
 @RestController
 @RequestMapping
 @RequestMapping
@@ -37,10 +41,13 @@ public class LoginController extends BaseController{
     ITmUserService tmUserService;
     ITmUserService tmUserService;
     @Autowired
     @Autowired
     FdService fdService;
     FdService fdService;
+    @Autowired
+    ITmDepartmentService tmDepartmentService;
 
 
     @PostMapping("/fdLogin")
     @PostMapping("/fdLogin")
     public ResultData fdLogin(@RequestBody FdkkLoginRequest request){
     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);
             throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
         }
         }
         if(!redisUtil.hasKey(String.format(RedisKeyUtil.loginAuthCode,request.getCode()))){
         if(!redisUtil.hasKey(String.format(RedisKeyUtil.loginAuthCode,request.getCode()))){
@@ -53,6 +60,15 @@ public class LoginController extends BaseController{
         if(tmUser.getStatus() == 0){
         if(tmUser.getStatus() == 0){
             throw new BusinessException(ResultCode.USER_NOT_LOGIN_PERM);
             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);
         FdkkResponse<FdkkLoginVo> fdkkLoginVo = fdKKClient.fdkkLogin(request);
         if(fdkkLoginVo.getCode() == 0){
         if(fdkkLoginVo.getCode() == 0){

+ 1 - 0
src/main/java/com/fdkankan/fusion/httpClient/request/FdkkLoginRequest.java

@@ -12,6 +12,7 @@ public class  FdkkLoginRequest {
     private String msgAuthCode = "2a22bac40f44af4d3b5fdc20ea706fc5";
     private String msgAuthCode = "2a22bac40f44af4d3b5fdc20ea706fc5";
     private String areaNum ="86";
     private String areaNum ="86";
     private String code;
     private String code;
+    private String deptId;
 
 
     public FdkkLoginRequest(String phoneNum) {
     public FdkkLoginRequest(String phoneNum) {
         this.phoneNum = phoneNum;
         this.phoneNum = phoneNum;

+ 2 - 0
src/main/java/com/fdkankan/fusion/service/ITmDepartmentService.java

@@ -28,4 +28,6 @@ public interface ITmDepartmentService extends IService<TmDepartment> {
     List<String> getDeptIds();
     List<String> getDeptIds();
 
 
     String getDeptId();
     String getDeptId();
+
+    List<TmDepartment> getSonByDeptId(String deptId);
 }
 }

+ 20 - 0
src/main/java/com/fdkankan/fusion/service/impl/TmDepartmentServiceImpl.java

@@ -179,4 +179,24 @@ public class TmDepartmentServiceImpl extends ServiceImpl<ITmDepartmentMapper, Tm
             }
             }
         }
         }
     }
     }
+
+    @Override
+    public List<TmDepartment> getSonByDeptId(String deptId) {
+        List<TmDepartment> listAll = new ArrayList<>();
+        converSon(deptId,listAll);
+        return listAll;
+    }
+
+    private void converSon(String deptId, List<TmDepartment> listAll){
+        LambdaQueryWrapper<TmDepartment> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(TmDepartment::getParentId,deptId);
+        List<TmDepartment> list = this.list(wrapper);
+        if(list.size() <=0){
+            return ;
+        }
+        listAll.addAll(list);
+        for (TmDepartment tmDepartment : list) {
+            converSon(tmDepartment.getId(),listAll);
+        }
+    }
 }
 }