Browse Source

项目同步修改

yangkaixuan 3 weeks ago
parent
commit
d645da39a7

+ 1 - 1
takai-system/src/main/java/com/takai/system/mapper/SysProjectStaffMapper.java

@@ -77,7 +77,7 @@ public interface SysProjectStaffMapper
             "select count(*)" +
             "select count(*)" +
             " from sys_project_staff  " +
             " from sys_project_staff  " +
             " where user_id = #{ew.userId} " +
             " where user_id = #{ew.userId} " +
-            " and  project_pid = #{projectPid}" +
+            " and  project_pid = #{ew.projectPid}" +
             "</script>")
             "</script>")
     public int checkExit(@Param("ew") SysProjectStaff sysProjectStaff);
     public int checkExit(@Param("ew") SysProjectStaff sysProjectStaff);
 }
 }

+ 22 - 5
takai-system/src/main/java/com/takai/system/service/impl/JkApiServiceImpl.java

@@ -8,6 +8,7 @@ import com.auth0.jwt.algorithms.Algorithm;
 import com.takai.common.enums.UserTypeEnum;
 import com.takai.common.enums.UserTypeEnum;
 import com.takai.common.utils.DateUtils;
 import com.takai.common.utils.DateUtils;
 import com.takai.common.utils.SecurityUtils;
 import com.takai.common.utils.SecurityUtils;
+import com.takai.common.utils.SnowflakeDigitGenerator;
 import com.takai.common.utils.StringUtils;
 import com.takai.common.utils.StringUtils;
 import com.takai.system.domain.SysProject;
 import com.takai.system.domain.SysProject;
 import com.takai.system.domain.SysProjectStaff;
 import com.takai.system.domain.SysProjectStaff;
@@ -258,6 +259,7 @@ public class JkApiServiceImpl implements IJkApiService {
             allowedProductTypes.add("03");
             allowedProductTypes.add("03");
             allowedProductTypes.add("04");
             allowedProductTypes.add("04");
             allowedProductTypes.add("06");
             allowedProductTypes.add("06");
+            logger.info("获取的数据条数:"+projectList.size());
             projectList = projectList.stream()
             projectList = projectList.stream()
                     // 过滤条件:Member 非 null + productType 非 null + 在允许集合中
                     // 过滤条件:Member 非 null + productType 非 null + 在允许集合中
                     .filter(projectWebApiBo -> projectWebApiBo != null
                     .filter(projectWebApiBo -> projectWebApiBo != null
@@ -265,10 +267,12 @@ public class JkApiServiceImpl implements IJkApiService {
                             && allowedProductTypes.contains(projectWebApiBo.getProductType()))
                             && allowedProductTypes.contains(projectWebApiBo.getProductType()))
                     // 收集为新列表(不修改原 memberList,避免影响其他业务逻辑)
                     // 收集为新列表(不修改原 memberList,避免影响其他业务逻辑)
                     .collect(Collectors.toList());
                     .collect(Collectors.toList());
+            logger.info("筛选出来的数据条数:"+projectList.size());
             int projectNum = 0;
             int projectNum = 0;
             int projectStaffNum = 0;
             int projectStaffNum = 0;
             // 遍历解析结果,验证数据
             // 遍历解析结果,验证数据
             for (ProjectWebApiBo project : projectList) {
             for (ProjectWebApiBo project : projectList) {
+
                 SysProject sysProject = new SysProject();
                 SysProject sysProject = new SysProject();
                 sysProject.setProjectPid(project.getProCode());
                 sysProject.setProjectPid(project.getProCode());
                 sysProject.setProjectName(project.getProName());
                 sysProject.setProjectName(project.getProName());
@@ -276,12 +280,15 @@ public class JkApiServiceImpl implements IJkApiService {
                 sysProject.setProjectType(project.getProType());
                 sysProject.setProjectType(project.getProType());
                 sysProject.setProductType(project.getProductType());
                 sysProject.setProductType(project.getProductType());
                 SysProject dbProject = projectService.selectSysProjectByProjectPid(project.getProCode());
                 SysProject dbProject = projectService.selectSysProjectByProjectPid(project.getProCode());
+                logger.info("获取项目:"+ project +"获取项目:"+dbProject);
                 if(null == dbProject) {
                 if(null == dbProject) {
                     projectService.insertSysProject(sysProject);
                     projectService.insertSysProject(sysProject);
+                    logger.info("新增项目数据条数:"+projectNum);
                     projectNum++;
                     projectNum++;
                 }
                 }
 
 
                 for (Member member : project.getMemberList()) {
                 for (Member member : project.getMemberList()) {
+
                     SysProjectStaff sysProjectStaff = new SysProjectStaff();
                     SysProjectStaff sysProjectStaff = new SysProjectStaff();
                     SysUser sysUser = sysUserService.selectUserByUserName(member.getAccountNo());
                     SysUser sysUser = sysUserService.selectUserByUserName(member.getAccountNo());
                     if(sysUser != null) {
                     if(sysUser != null) {
@@ -289,13 +296,23 @@ public class JkApiServiceImpl implements IJkApiService {
                         sysProjectStaff.setProjectName(project.getProName());
                         sysProjectStaff.setProjectName(project.getProName());
                         sysProjectStaff.setUserId(null != sysUser ? sysUser.getUserId() : null);
                         sysProjectStaff.setUserId(null != sysUser ? sysUser.getUserId() : null);
                         sysProjectStaff.setRoleId(null != sysUser ? sysUser.getRoleId() : null);
                         sysProjectStaff.setRoleId(null != sysUser ? sysUser.getRoleId() : null);
-                        SysProjectStaff dbStaff = projectStaffMapper.selectSysProjectStaff(sysProjectStaff);
-                        if(null == dbStaff) {
-                            projectStaffService.insertSysProjectStaff(sysProjectStaff);
+                        int staffCount = projectStaffMapper.checkExit(sysProjectStaff);
+                        if(staffCount == 0) {
+                            SnowflakeDigitGenerator snowflakeDigitGenerator = new SnowflakeDigitGenerator(1, 1);
+                            sysProjectStaff.setCreateTime(DateUtils.getNowDate());
+                            sysProjectStaff.setId(String.valueOf(snowflakeDigitGenerator.nextId()));
+                            projectStaffMapper.insertSysProjectStaff(sysProjectStaff);
+                            //projectStaffService.insertSysProjectStaff(sysProjectStaff);
+                            logger.info("新增项目数据条数:"+projectStaffNum);
                             projectStaffNum++;
                             projectStaffNum++;
                         }
                         }
                     }
                     }
+                    logger.info("获取员工:"+member +"获取用户:"+sysUser);
+                    member = null;
+                    sysProjectStaff = null;
                 }
                 }
+                project = null;
+                sysProject = null;
             }
             }
             if(sourceFrom.equals(HJL)){
             if(sourceFrom.equals(HJL)){
                 logger.info("项目同步任务同步慧监理项目数据"+projectNum+"条");
                 logger.info("项目同步任务同步慧监理项目数据"+projectNum+"条");
@@ -360,13 +377,13 @@ public class JkApiServiceImpl implements IJkApiService {
             OkHttpClient okHttpClient = buildOkHttpClient();
             OkHttpClient okHttpClient = buildOkHttpClient();
             Response response = okHttpClient.newCall(request).execute();
             Response response = okHttpClient.newCall(request).execute();
             String responseBody = response.body().string();
             String responseBody = response.body().string();
-            logger.info("获取建科项目"+objectName+"返回:" + responseBody);
+            //logger.info("获取建科项目"+objectName+"返回:" + responseBody);
 
 
             if (!response.isSuccessful()) {
             if (!response.isSuccessful()) {
                 throw new IOException("获取建科项目"+objectName+"信息失败 " + responseBody);
                 throw new IOException("获取建科项目"+objectName+"信息失败 " + responseBody);
             }
             }
             JSONObject jsonObject =JSON.parseObject(responseBody);
             JSONObject jsonObject =JSON.parseObject(responseBody);
-            logger.info("获取建科项目"+objectName+"返回信息:" + jsonObject.toJSONString());
+            //logger.info("获取建科项目"+objectName+"返回信息:" + jsonObject.toJSONString());
             //“0”为成功其余均为失败
             //“0”为成功其余均为失败
             String code = jsonObject.getString("code");
             String code = jsonObject.getString("code");
             if (code == null) {
             if (code == null) {