Преглед на файлове

第三方调用登录接口

yurk преди 2 години
родител
ревизия
d380e098ba

+ 2 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProjectController.java

@@ -442,8 +442,8 @@ public class ProjectController {
     }
 
     @RequestMapping("/importData")
-    public HttpRespMsg importData(String userId, MultipartFile file, HttpServletRequest request) {
-        return projectService.importData(userId, file, request);
+    public HttpRespMsg importData(String userId, MultipartFile file,@RequestParam(defaultValue = "0") Integer key,HttpServletRequest request) {
+        return projectService.importData(userId, file,key, request);
     }
 
     @RequestMapping("/getGanttData")

+ 7 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/UserController.java

@@ -36,8 +36,13 @@ public class UserController {
      * password 密码
      */
     @RequestMapping("/loginAdmin")
-    public HttpRespMsg loginAdmin(@RequestParam String username, @RequestParam String password) {
-        return userService.loginAdmin(username, password);
+    public HttpRespMsg loginAdmin(@RequestParam String username, @RequestParam String password ,@RequestParam(defaultValue = "0") Integer key) {
+        return userService.loginAdmin(username, password,key);
+    }
+
+    @RequestMapping("/loginAdminByThirdParty")
+    public HttpRespMsg loginAdminByThirdParty(@RequestParam String jobNumber,@RequestParam String token){
+        return userService.loginAdminByThirdParty(jobNumber,token);
     }
 
     @RequestMapping("/loginByUserId")

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ProjectService.java

@@ -89,7 +89,7 @@ public interface ProjectService extends IService<Project> {
 
     HttpRespMsg exportProjectInAndOut(HttpServletRequest request);
 
-    HttpRespMsg importData(String userId, MultipartFile file, HttpServletRequest request);
+    HttpRespMsg importData(String userId, MultipartFile file,Integer key, HttpServletRequest request);
 
     HttpRespMsg getCustomerProjectInAndOut(Integer pageIndex, Integer pageSize, HttpServletRequest request,Integer customerId,Integer projectId);
 

+ 3 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/UserService.java

@@ -19,7 +19,7 @@ import javax.servlet.http.HttpServletRequest;
 public interface UserService extends IService<User> {
     public void setUserRoleMenu(UserVO user);
 
-    HttpRespMsg loginAdmin(String username, String password);
+    HttpRespMsg loginAdmin(String username, String password,Integer key);
 
     HttpRespMsg getUserInfo(String id);
 
@@ -71,4 +71,6 @@ public interface UserService extends IService<User> {
     HttpRespMsg getSimpleActiveUserList(Integer departmentId, HttpServletRequest request);
 
     HttpRespMsg getUserListByRole(HttpServletRequest request);
+
+    HttpRespMsg loginAdminByThirdParty(String jobNumber, String token);
 }

+ 13 - 3
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -2885,7 +2885,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
 
 
     @Override
-    public HttpRespMsg importData(String userId, MultipartFile multipartFile, HttpServletRequest request) {
+    public HttpRespMsg importData(String userId, MultipartFile multipartFile,Integer key, HttpServletRequest request) {
         HttpRespMsg msg = new HttpRespMsg();
         User user = userMapper.selectById(userId);
         //然后处理文件
@@ -2993,6 +2993,9 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                         if (!StringUtils.isEmpty(code)) {
                             int cnt = projectMapper.selectCount(new QueryWrapper<Project>().eq("project_code", code).eq("company_id", user.getCompanyId()));
                             if (cnt > 0) {
+                                if(key==0){
+                                    continue;
+                                }
 //                            throw new Exception("项目编号存在重复: " + code);
                                 existCodeList.add(code);
                                 //跳过编号重复的数据
@@ -3124,7 +3127,9 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 msg.data = "成功导入"+importCount+"条数据。";
                 if (existCodeList.size() > 0) {
                     String collect = existCodeList.stream().collect(Collectors.joining(","));
-                    msg.data += "自动更新"+existCodeList.size()+"条已存在项目编码:"+collect;
+                    if(key==1){
+                        msg.data += "自动更新"+existCodeList.size()+"条已存在项目编码:"+collect;
+                    }else msg.data += "自动跳过"+existCodeList.size()+"条已存在项目编码:"+collect;
                 }
                 OperationRecord operationRecord=new OperationRecord();
                 operationRecord.setCompanyId(user.getCompanyId());
@@ -3408,6 +3413,9 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                         if (!StringUtils.isEmpty(code)) {
                             int cnt = projectMapper.selectCount(new QueryWrapper<Project>().eq("project_code", code).eq("company_id", user.getCompanyId()));
                             if (cnt > 0) {
+                                if(key==0){
+                                    continue;
+                                }
 //                            throw new Exception("项目编号存在重复: " + code);
                                 existCodeList.add(code);
                                 //跳过编号重复的数据
@@ -3974,7 +3982,9 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 msg.data = "成功导入"+importCount+"条数据。";
                 if (existCodeList.size() > 0) {
                     String collect = existCodeList.stream().collect(Collectors.joining(","));
-                    msg.data += "自动更新"+existCodeList.size()+"条已存在项目编码:"+collect;
+                    if(key==1){
+                        msg.data += "自动更新"+existCodeList.size()+"条已存在项目编码:"+collect;
+                    }else msg.data += "自动跳过"+existCodeList.size()+"条已存在项目编码:"+collect;
                 }
                 OperationRecord operationRecord=new OperationRecord();
                 operationRecord.setCompanyId(user.getCompanyId());

+ 32 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/UserServiceImpl.java

@@ -141,9 +141,11 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
     private LocaleInformationMapper localeInformationMapper;
     @Resource
     private CompanyReportMapper companyReportMapper;
+    @Resource
+    private ThirdPartyInterfaceMapper thirdPartyInterfaceMapper;
     //登录网页端
     @Override
-    public HttpRespMsg loginAdmin(String username, String password) {
+    public HttpRespMsg loginAdmin(String username, String password,Integer key) {
         HttpRespMsg httpRespMsg = new HttpRespMsg();
         //根据电话号码获取账号信息
         List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("phone", username));
@@ -157,7 +159,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
             httpRespMsg.setError(MessageUtils.message("user.duplicate"));
         } else if (userList.get(0).getIsActive() == 0) {
             httpRespMsg.setError(MessageUtils.message("user.inactive"));
-        } else if (MD5Util.getPassword(password).equals(userList.get(0).getPassword())) {
+        } else if ((key==0?MD5Util.getPassword(password):password).equals(userList.get(0).getPassword())) {
             //查看该公司非会员公司,只能允许试用三天,超时不可登录
             Company company = companyMapper.selectOne(new QueryWrapper<Company>().eq("id", userList.get(0).getCompanyId()));
             //公司未办理会员
@@ -209,6 +211,34 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
         return httpRespMsg;
     }
 
+    @Override
+    public HttpRespMsg loginAdminByThirdParty(String jobNumber, String token) {
+        HttpRespMsg httpRespMsg;
+        List<ThirdPartyInterface> thirdPartyInterfaceList = thirdPartyInterfaceMapper.selectList(new QueryWrapper<ThirdPartyInterface>().eq("token", token));
+        if(thirdPartyInterfaceList!=null&&thirdPartyInterfaceList.size()>0){
+            ThirdPartyInterface thirdPartyInterface = thirdPartyInterfaceList.get(0);
+            if(thirdPartyInterface.getExpireTime().isBefore(LocalDateTime.now())){
+                httpRespMsg=new HttpRespMsg();
+                httpRespMsg.setError("token失效");
+                return httpRespMsg;
+            }
+            Integer companyId = thirdPartyInterface.getCompanyId();
+            User user = userMapper.selectOne(new QueryWrapper<User>().eq("job_number", jobNumber).eq("company_id", companyId));
+            if(user!=null){
+                httpRespMsg=loginAdmin(user.getPhone(),user.getPassword(),1);
+            }else{
+                httpRespMsg=new HttpRespMsg();
+                httpRespMsg.setError("工号为"+jobNumber+"的员工在工时系统中不存在");
+                return httpRespMsg;
+            }
+        }else{
+            httpRespMsg=new HttpRespMsg();
+            httpRespMsg.setError("token错误");
+            return httpRespMsg;
+        }
+        return httpRespMsg;
+    }
+
 
     public void setUserRoleMenu(UserVO user) {
         Integer roleId = user.getRoleId();