Procházet zdrojové kódy

解决Excel导出文件名含/的问题
解决企业微信关联企业人员时无法处理单独授权的人员的bug
完善钉钉通讯录同步逻辑,当发生异常时,终止计时功能

seyason před 2 roky
rodič
revize
5373f500bd

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/CompanyController.java

@@ -134,7 +134,7 @@ public class CompanyController {
                 msg.setError(MessageUtils.message("Company.sysDDError"));
             }
             return msg;
-        } catch (ApiException e) {
+        } catch (Exception e) {
             e.printStackTrace();
             System.err.println(e.getMessage());
             HttpRespMsg msg = new HttpRespMsg();

+ 14 - 9
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/DingDingController.java

@@ -4,16 +4,11 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.management.platform.entity.CompanyDingding;
-import com.management.platform.entity.DdCallback;
-import com.management.platform.entity.TimeType;
-import com.management.platform.entity.User;
-import com.management.platform.mapper.CompanyDingdingMapper;
-import com.management.platform.mapper.DdCallbackMapper;
-import com.management.platform.mapper.TimeTypeMapper;
-import com.management.platform.mapper.UserMapper;
+import com.management.platform.entity.*;
+import com.management.platform.mapper.*;
 import com.management.platform.service.CompanyDingdingService;
 import com.management.platform.service.DingDingService;
+import com.management.platform.service.impl.DingDingServiceImpl;
 import com.management.platform.util.*;
 import com.taobao.api.ApiException;
 import org.slf4j.Logger;
@@ -60,6 +55,9 @@ public class DingDingController {
     private CompanyDingdingMapper companyDingdingMapper;
     @Resource
     private TimeTypeMapper timeTypeMapper;
+    @Resource
+    private CompanyMapper companyMapper;
+
 
     @RequestMapping("/callback")
     public Map<String, String> dingCallback(
@@ -125,7 +123,14 @@ public class DingDingController {
             HttpRespMsg msg = new HttpRespMsg();
             msg.data = rest;
             return msg;
-        } catch (ApiException e) {
+        } catch (Exception e) {
+            CompanyDingding dingding = companyDingdingMapper.selectById(corpid);
+            Company company = companyMapper.selectById(dingding.getCompanyId());
+            String token=company.getCompanyName();
+            //移除锁
+            DingDingServiceImpl.syncLog.remove(token);
+            DingDingServiceImpl.syncLog.remove(company.getId()+"_status");
+
             e.printStackTrace();
             System.err.println(e.getMessage());
             HttpRespMsg msg = new HttpRespMsg();

+ 105 - 53
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/WeiXinCorpController.java

@@ -2032,80 +2032,132 @@ public class WeiXinCorpController {
 
     @RequestMapping("/syncMembByCardTime")
     public HttpRespMsg syncMembByCardTime(Integer companyId) {
-        Company company = companyMapper.selectById(companyId);
         WxCorpInfo wxCorpInfo = wxCorpInfoMapper.selectOne(new QueryWrapper<WxCorpInfo>().eq("company_id", companyId));
+        Company company = companyMapper.selectOne(new QueryWrapper<Company>().eq("id", companyId));
+        Integer employeeCnt = userMapper.selectCount(new QueryWrapper<User>().eq("company_id", companyId).eq("is_active",1));
+        if (employeeCnt > company.getStaffCountMax()){
+            HttpRespMsg msg = new HttpRespMsg();
+            //公司人员已达上限,请联系客服提高人数上限。
+            msg.setError(MessageUtils.message("wx.employeeFull"));
+            return msg;
+        }
+        if (wxCorpInfo == null) {
+            HttpRespMsg msg = new HttpRespMsg();
+            //msg.setError("仅企业微信用户支持该操作");
+            msg.setError(MessageUtils.message("wx.noWXUser"));
+            return msg;
+        }
         String curCorpAccessToken = null;
         try {
             curCorpAccessToken = getCorpAccessToken(wxCorpInfo);
         } catch (Exception exception) {
             exception.printStackTrace();
         }
-        //获取公司根部门人员,也就是没有分配部门的人员
-        int companyRootDeptId = 1;
-        JSONArray unAssignedUserList = getDeptUserSimple(curCorpAccessToken, companyRootDeptId);
-        SysRole defaultRole = sysRoleMapper.selectOne(
-                new QueryWrapper<SysRole>().eq("company_id", companyId).eq("is_default", 1));
-
-        for (int m=0;m<unAssignedUserList.size(); m++) {
-            JSONObject userJson = unAssignedUserList.getJSONObject(m);
-            String curUserid = userJson.getString("userid");
-            System.out.println("userid="+curUserid+", name=" + userJson.getString("name")+", mobile="+userJson.getString("mobile"));
-            //不存在的人员, 进行插入
-            User user = new User();
-
-            user.setId(SnowFlake.nextId()+"")
-                    .setRoleId(defaultRole.getId())//默认普通员工
-                    .setRoleName(defaultRole.getRolename())
-                    .setCompanyId(companyId)
-                    .setName(userJson.getString("name"))
-                    .setCorpwxUserid(curUserid)
-                    .setColor(ColorUtil.randomColor())
-                    .setInductionDate(LocalDate.now());
-
-            //检查用户是否已经存在
-            if (userMapper.selectCount(new QueryWrapper<User>().eq("corpwx_userid", curUserid)) == 0) {
-                userMapper.insert(user);
+        if (wxCorpInfo.getAuthMode() == 0) {
+            //修正: 获取企业的人员授权范围
+            JSONArray allowUserList = null;
+            JSONArray allowPartyList = null;
+            try {
+                String url = GET_AUTH_INFO.replaceAll("SUITE_ACCESS_TOKEN", getSuiteAccessToken());
+                JSONObject map = new JSONObject();
+                map.put("auth_corpid",wxCorpInfo.getCorpid());
+                map.put("permanent_code",wxCorpInfo.getPermanentCode());
+                HttpHeaders headers = new HttpHeaders();
+                headers.setContentType(MediaType.APPLICATION_JSON);
+                HttpEntity<JSONObject> detailEntity = new HttpEntity<>(map, headers);
+                ResponseEntity<String> detailResponseEntity = restTemplate.postForEntity(url, detailEntity, String.class);
+                JSONObject json = JSONObject.parseObject(detailResponseEntity.getBody());
+                System.out.println("获取企业授权返回:"+json.toJSONString());
+                if (json.containsKey("auth_corp_info")){
+                    JSONArray jsonArray = json.getJSONObject("auth_info").getJSONArray("agent");
+                    for (int i=0;i<jsonArray.size(); i++) {
+                        JSONObject jsonObject = jsonArray.getJSONObject(i);
+                        if (jsonObject.getString("name").equals("工时管家")) {
+                            System.out.println(jsonObject);
+                            JSONObject privilege = jsonObject.getJSONObject("privilege");
+                            allowUserList = privilege.getJSONArray("allow_user");
+                            allowPartyList = privilege.getJSONArray("allow_party");
+                            break;
+                        }
+                    }
+                }
+            } catch (Exception exception) {
+                exception.printStackTrace();
             }
-        }
-
-        //获取部门
-        JSONObject deptObj = getAllDepartments(curCorpAccessToken);
-        JSONArray deptObjJSONArray = deptObj.getJSONArray("department");
-
-        for (int i=0;i<deptObjJSONArray.size(); i++) {
-            int deptId = deptObjJSONArray.getJSONObject(i).getIntValue("id");
-
-            JSONArray userList = getDeptUserSimple(curCorpAccessToken, deptId);
-            System.out.println("该部门下用户数量:"+userList.size());
-            for (int m=0;m<userList.size(); m++) {
-                JSONObject userJson = userList.getJSONObject(m);
+            //管理员授权模式下,获取部门人员
+            SysRole defaultRole = sysRoleMapper.selectOne(
+                    new QueryWrapper<SysRole>().eq("company_id", companyId).eq("is_default", 1));
+            //单独授权的人员,获取人员详情进行处理
+            for (int i=0;i<allowUserList.size(); i++) {
+                String allowUserId = allowUserList.getString(i);
+                JSONObject userJson = getUserInfo(curCorpAccessToken, allowUserId);
                 String curUserid = userJson.getString("userid");
-                System.out.println("userid="+curUserid+", name=" + userJson.getString("name")+", mobile="+userJson.getString("mobile"));
+                String openUserid = userJson.getString("open_userid");
+                //跳过非激活状态的员工
+                if (userJson.getInteger("status") != 1) continue;
                 //不存在的人员, 进行插入
                 User user = new User();
-
+                JSONArray userDeptArray = userJson.getJSONArray("department");
+                //取最末级的,也就是最大的deptId
+                int maxDeptId = 1;
+                for (int m=0;m<userDeptArray.size(); m++) {
+                    int curId = userDeptArray.getInteger(m);
+                    if (curId > maxDeptId) maxDeptId = curId;
+                }
+                System.out.println("userid="+curUserid+", name=" + userJson.getString("name")+", mobile="+userJson.getString("mobile"));
+                //不存在的人员, 进行插入
                 user.setId(SnowFlake.nextId()+"")
                         .setRoleId(defaultRole.getId())//默认普通员工
                         .setRoleName(defaultRole.getRolename())
                         .setCompanyId(companyId)
-                        .setDepartmentId(0)
                         .setName(userJson.getString("name"))
                         .setCorpwxUserid(curUserid)
-                        .setColor(ColorUtil.randomColor());
-
+                        .setColor(ColorUtil.randomColor())
+                        .setInductionDate(LocalDate.now());
                 //检查用户是否已经存在
-                if (userMapper.selectCount(new QueryWrapper<User>().eq("corpwx_userid", curUserid).eq("company_id", companyId)) == 0) {
+                if (userMapper.selectCount(new QueryWrapper<User>().eq("corpwx_userid", curUserid)) == 0) {
                     userMapper.insert(user);
-                } else {
-                    User curUser = userMapper.selectOne(new QueryWrapper<User>().eq("corpwx_userid", curUserid).eq("company_id", companyId));
-                    System.out.println("找到用户:"+curUser.getName());
-                    if (curUser.getDepartmentId() != null) {
-                        Department dept = departmentMapper.selectById(curUser.getDepartmentId());
-                        if (dept != null) {
-                            System.out.println("部门:"+dept.getDepartmentName());
+                    System.out.println("新用户==="+user.getName());
+                }
+            }
+
+            //获取部门
+            JSONObject deptObj = getAllDepartments(curCorpAccessToken);
+            JSONArray deptObjJSONArray = deptObj.getJSONArray("department");
+            for (int i=0;i<deptObjJSONArray.size(); i++) {
+                int deptId = deptObjJSONArray.getJSONObject(i).getIntValue("id");
+
+                JSONArray userList = getDeptUserSimple(curCorpAccessToken, deptId);
+                System.out.println("该部门下用户数量:"+userList.size());
+                for (int m=0;m<userList.size(); m++) {
+                    JSONObject userJson = userList.getJSONObject(m);
+                    String curUserid = userJson.getString("userid");
+                    System.out.println("userid="+curUserid+", name=" + userJson.getString("name")+", mobile="+userJson.getString("mobile"));
+                    //不存在的人员, 进行插入
+                    User user = new User();
+
+                    user.setId(SnowFlake.nextId()+"")
+                            .setRoleId(defaultRole.getId())//默认普通员工
+                            .setRoleName(defaultRole.getRolename())
+                            .setCompanyId(companyId)
+                            .setDepartmentId(0)
+                            .setName(userJson.getString("name"))
+                            .setCorpwxUserid(curUserid)
+                            .setColor(ColorUtil.randomColor());
+
+                    //检查用户是否已经存在
+                    if (userMapper.selectCount(new QueryWrapper<User>().eq("corpwx_userid", curUserid).eq("company_id", companyId)) == 0) {
+                        userMapper.insert(user);
+                    } else {
+                        User curUser = userMapper.selectOne(new QueryWrapper<User>().eq("corpwx_userid", curUserid).eq("company_id", companyId));
+                        System.out.println("找到用户:"+curUser.getName());
+                        if (curUser.getDepartmentId() != null) {
+                            Department dept = departmentMapper.selectById(curUser.getDepartmentId());
+                            if (dept != null) {
+                                System.out.println("部门:"+dept.getDepartmentName());
+                            }
                         }
                     }
-
                 }
             }
         }

+ 35 - 50
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/DingDingServiceImpl.java

@@ -443,6 +443,10 @@ public class DingDingServiceImpl implements DingDingService {
     @Override
     public String syncCorpMembs(String corpid) throws ApiException {
         CompanyDingding dingding = companyDingdingMapper.selectById(corpid);
+        if (dingding == null) {
+            System.out.println("corpid不存在=="+corpid);
+            return "调用失败:corpid不存在==";
+        }
         String accessToken = null;
         //首次授权开通时,会先推送过来使用范围变更事件,但是公司还没创建好
         if (dingding == null) return null;
@@ -475,10 +479,7 @@ public class DingDingServiceImpl implements DingDingService {
                 }
             }
         }
-        if (dingding == null) {
-            System.out.println("corpid不存在=="+corpid);
-            return "调用失败:corpid不存在==";
-        }
+
         if (isPrivateDeploy) {
             //私有化部署,取innerToken
             accessToken = getInnerCorpToken(dingding);
@@ -742,7 +743,7 @@ public class DingDingServiceImpl implements DingDingService {
                 if (first.isPresent()) {
                     Department department = first.get();
                     user.setDepartmentId(department.getDepartmentId());
-                    user.setDepartmentCascade(convertDepartmentIdToCascade(department.getDepartmentId()));
+                    user.setDepartmentCascade(convertDepartmentIdToCascade(allDeptList, department.getDepartmentId()));
                     newUserList.add(user);
                 } else {
                     //部门不存在,没有授权该部门, 只授权了人员,那就没有部门
@@ -1542,62 +1543,46 @@ public class DingDingServiceImpl implements DingDingService {
         }
     }
 
-    //获取部门下的人员信息
-    private void getDeptUserList(int companyId, long ddDeptId,Integer sysDeptId, String access_token, long startCursor) throws ApiException {
-        DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/user/listsimple");
-        OapiUserListsimpleRequest req = new OapiUserListsimpleRequest();
-        req.setDeptId(ddDeptId);
-        req.setCursor(startCursor);
-        req.setSize(100L);
-        req.setOrderField("modify_desc");
-        req.setContainAccessLimit(false);
-        req.setLanguage("zh_CN");
-        OapiUserListsimpleResponse rsp = client.execute(req, access_token);
-        System.out.println(rsp.getBody());
-        JSONObject resp = JSONObject.parseObject(rsp.getBody());
-        SysRole defaultRole = sysRoleMapper.selectOne(
-                new QueryWrapper<SysRole>().eq("company_id", companyId).eq("is_default", 1));
 
-        if (resp.getInteger("errcode") == 0) {
-            JSONObject result = resp.getJSONObject("result");
-            JSONArray list = result.getJSONArray("list");
-            List<User> userList = new ArrayList<>();
-            for (int i=0;i<list.size(); i++) {
-                JSONObject userObj = list.getJSONObject(i);
-                User user = new User();
-                Long id = SnowFlake.nextId();
-                user.setId(id+"");
-                user.setName(userObj.getString("name"));
-                user.setDingdingUserid(userObj.getString("userid"));
-                user.setDepartmentId(sysDeptId);
-                user.setRoleId(defaultRole.getId());
-                user.setRoleName(defaultRole.getRolename());
-                user.setCompanyId(companyId);
-                user.setColor(ColorUtil.randomColor());
-                user.setDepartmentCascade(convertDepartmentIdToCascade(sysDeptId));
-                userList.add(user);
-            }
-            userService.saveBatch(userList);
-
-            //检查是否有更多
-            if (result.getBooleanValue("has_more")) {
-                getDeptUserList(companyId, ddDeptId, sysDeptId, access_token, result.getLong("next_cursor"));
+    //将部门id转换为部门层级
+    private String convertDepartmentIdToCascade(Integer id) {
+        StringBuilder cascade = new StringBuilder();
+        if (id == 0) {
+            cascade.append("0");
+        } else {
+            cascade.append(id);
+            id = departmentMapper.selectById(id).getSuperiorId();
+            while (id != null) {
+                Department parentDept = departmentMapper.selectById(id);
+                if (parentDept != null) {
+                    cascade.append(",").append(id);
+                    id = parentDept.getSuperiorId();
+                } else {
+                    break;
+                }
             }
         }
+        return cascade.toString();
     }
 
-
-    //将部门id转换为部门层级
-    private String convertDepartmentIdToCascade(Integer id) {
+    private String convertDepartmentIdToCascade(List<Department> allDeptList, Integer id) {
         StringBuilder cascade = new StringBuilder();
         if (id == 0) {
             cascade.append("0");
         } else {
             cascade.append(id);
-            id = departmentMapper.selectById(id).getSuperiorId();
+            final Integer curDeptId = id;
+            id = allDeptList.stream().filter(a->a.getDepartmentId().equals(curDeptId)).findFirst().get().getSuperiorId();
             while (id != null) {
-                cascade.append(",").append(id);
-                id = departmentMapper.selectById(id).getSuperiorId();
+                final Integer pid = id;
+                Optional<Department> first = allDeptList.stream().filter(a -> a.getDepartmentId().equals(pid)).findFirst();
+                if (first.isPresent()) {
+                    Department parentDept = first.get();
+                    cascade.append(",").append(pid);
+                    id = parentDept.getSuperiorId();
+                } else {
+                    break;
+                }
             }
         }
         return cascade.toString();

+ 25 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ExcelExportServiceImpl.java

@@ -61,6 +61,15 @@ public class ExcelExportServiceImpl implements ExcelExportService {
 
     public HttpRespMsg exportGeneralExcelByTitleAndList(WxCorpInfo wxCorpInfo, String title, List<List<String>> list, String downloadPath) throws Exception {
         HttpRespMsg httpRespMsg = new HttpRespMsg();
+        System.out.println(File.separator);
+        if (title.contains("/")) {
+            //文件名不能含有路径,得替换掉
+            title = title.replace("/", "@");
+        }
+        if (title.contains("\\")) {
+            //文件名不能含有路径,得替换掉
+            title = title.replace("\\", "@");
+        }
         String resp = ExcelUtil.exportGeneralExcelByTitleAndList(title, list, downloadPath);
         String fileUrlSuffix = title + ".xlsx";
         if(wxCorpInfo != null && wxCorpInfo.getSaasSyncContact() == 1){
@@ -102,6 +111,14 @@ public class ExcelExportServiceImpl implements ExcelExportService {
     public HttpRespMsg exportGeneralExcelByTitleAndList2(WxCorpInfo wxCorpInfo, String title, List<List<String>> list, String downloadPath) throws Exception {
         HttpRespMsg httpRespMsg = new HttpRespMsg();
         String resp = ExcelUtil.exportGeneralExcelByTitleAndList2(title, list, downloadPath);
+        if (title.contains("/")) {
+            //文件名不能含有路径,得替换掉
+            title = title.replace("/", "@");
+        }
+        if (title.contains("\\")) {
+            //文件名不能含有路径,得替换掉
+            title = title.replace("\\", "@");
+        }
         String fileUrlSuffix = title + ".xlsx";
         if(wxCorpInfo != null && wxCorpInfo.getSaasSyncContact() == 1){
             String mediaId = wxCorpInfoService.getTranslationMediaId(fileUrlSuffix);
@@ -143,6 +160,14 @@ public class ExcelExportServiceImpl implements ExcelExportService {
     public  HttpRespMsg exportMultiSheetGeneralExcelByTitleAndList(WxCorpInfo wxCorpInfo,String title, List<List<String>>[] multiSheetList, String downloadPath,String[] sheetsName) throws Exception {
         HttpRespMsg httpRespMsg = new HttpRespMsg();
         String resp = ExcelUtil.exportMultiSheetGeneralExcelByTitleAndList(title,multiSheetList, downloadPath,sheetsName);
+        if (title.contains("/")) {
+            //文件名不能含有路径,得替换掉
+            title = title.replace("/", "@");
+        }
+        if (title.contains("\\")) {
+            //文件名不能含有路径,得替换掉
+            title = title.replace("\\", "@");
+        }
         String fileUrlSuffix = title + ".xlsx";
         if(wxCorpInfo != null && wxCorpInfo.getSaasSyncContact() == 1){
             String mediaId = wxCorpInfoService.getTranslationMediaId(fileUrlSuffix);

+ 2 - 20
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/WxCorpInfoServiceImpl.java

@@ -872,7 +872,6 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
 
 
     public void reqPunchRecord(WxCorpInfo corpInfo, long startTime, long endTime, Object[] objects, boolean showLog,LocalDate date)throws Exception {
-        DateTimeFormatter mdFormat = DateTimeFormatter.ofPattern("yyyy/M/d");
         LocalDateTime needDataTime = LocalDateTime.now().withHour(0).withMinute(0).withSecond(0).withNano(0);
         long dataTime = needDataTime.toEpochSecond(ZoneOffset.of("+8"));
         String checkinOption = getCheckinOption(corpInfo, dataTime, objects);
@@ -881,7 +880,7 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
         String url = GET_CHECKIN_DATA.replace("ACCESS_TOKEN", getCorpAccessToken(corpInfo));
         HttpHeaders headers = new HttpHeaders();
         headers.setContentType(MediaType.APPLICATION_JSON);
-        System.out.println("" + objects.toString());
+//        System.out.println("" + objects.toString());
         JSONObject reqParam = new JSONObject();
         reqParam.put("starttime", startTime);
         reqParam.put("endtime", endTime);
@@ -895,10 +894,9 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
             String resp = responseEntity.getBody();
             if (showLog) System.out.println(resp);
             JSONObject json = JSONObject.parseObject(resp);
-            DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
             if (json.getIntValue("errcode") == 0) {
                 JSONArray checkindata = json.getJSONArray("checkindata");
-                System.out.println(checkindata);
+//                System.out.println(checkindata);
                 for (int i = 0; i < objects.length; i++) {
                     List<Integer> upList=new ArrayList<>();
                     List<Integer> downList=new ArrayList<>();
@@ -933,8 +931,6 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
                     userCorpwxTime.setCorpwxUserid((String) objects[i]);
                     userCorpwxTime.setCompanyId(corpInfo.getCompanyId());
 
-                    System.out.println(upList);
-                    System.out.println(downList);
                     if(upList.isEmpty()||downList.isEmpty()){
                         continue;
                     }
@@ -946,13 +942,6 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
                     userCorpwxTime.setStartTime(LocalTime.parse(minTime,df).plusHours(8).format(df));
                     userCorpwxTime.setEndTime(LocalTime.parse(maxTime,df).plusHours(8).format(df));
                     userCorpwxTime.setWxCorpid(corpInfo.getCorpid());
-//                    if(userId!=null){
-//                        userCorpwxTime.setCreateDate(date);
-//                        userCorpwxTime.setWeekDay(date.getDayOfWeek().getValue());
-//                    }else {
-//                        userCorpwxTime.setCreateDate(LocalDate.now());
-//                        userCorpwxTime.setWeekDay(LocalDate.now().getDayOfWeek().getValue());
-//                    }
                     userCorpwxTime.setCreateDate(date);
                     userCorpwxTime.setWeekDay(date.getDayOfWeek().getValue());
                     userCorpwxTime.setWeekDayTxt(DateTimeUtil.getWeekDayTxt(userCorpwxTime.getWeekDay()));
@@ -965,13 +954,6 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
                     userCorpwxTime.setWorkHours(time);
                     UserCorpwxTime item = userCorpwxTimeMapper.selectOne(new QueryWrapper<UserCorpwxTime>().eq("corpwx_userid", (String) objects[i])
                             .eq("create_date", date));
-//                    if(userId!=null){
-//                         item= userCorpwxTimeMapper.selectOne(new QueryWrapper<UserCorpwxTime>().eq("corpwx_userid", (String) objects[i])
-//                                .eq("create_date", date));
-//                    }else {
-//                         item= userCorpwxTimeMapper.selectOne(new QueryWrapper<UserCorpwxTime>().eq("corpwx_userid", (String) objects[i])
-//                                .eq("create_date", LocalDate.now()));
-//                    }
                     if (item != null) {
                         userCorpwxTime.setId(item.getId());
                         //已存在记录,进行更新