瀏覽代碼

Merge branch 'master' of http://47.100.37.243:10080/wutt/manHourHousekeeper

ggooalice 2 年之前
父節點
當前提交
1dbfeb0a89
共有 15 個文件被更改,包括 286 次插入71 次删除
  1. 0 12
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/AuthRedirectController.java
  2. 24 3
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/CompanyController.java
  3. 21 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ContactSyncLogController.java
  4. 5 41
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportController.java
  5. 62 3
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/WeiXinCorpController.java
  6. 58 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/ContactSyncLog.java
  7. 16 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/ContactSyncLogMapper.java
  8. 16 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ContactSyncLogService.java
  9. 20 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ContactSyncLogServiceImpl.java
  10. 39 3
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/DingDingServiceImpl.java
  11. 1 8
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/WxCorpInfoServiceImpl.java
  12. 1 1
      fhKeeper/formulahousekeeper/management-platform/src/main/resources/application.yml
  13. 2 0
      fhKeeper/formulahousekeeper/management-platform/src/main/resources/i18n/messages.properties
  14. 2 0
      fhKeeper/formulahousekeeper/management-platform/src/main/resources/i18n/messages_en_US.properties
  15. 19 0
      fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ContactSyncLogMapper.xml

+ 0 - 12
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/AuthRedirectController.java

@@ -40,12 +40,6 @@ public class AuthRedirectController {
     private String suitId;
     @Value("${suitSecret}")
     private String suitSecret;
-    @Value("${token}")
-    private String token;
-    @Value("${encodingAesKey}")
-    private String encodingAesKey;
-    @Value("${corpId}")
-    private String corpId;
 
     @Resource
     SysConfigMapper sysConfigMapper;
@@ -55,8 +49,6 @@ public class AuthRedirectController {
     UserMapper userMapper;
     @Resource
     WxCorpInfoMapper wxCorpInfoMapper;
-    @Resource
-    UserService userService;
 
     @RequestMapping("/corpWXAuth")
     public ModelAndView auth(String code, String state) {
@@ -65,12 +57,9 @@ public class AuthRedirectController {
         //获取设备类型
         String deviceType = UserAgentUtils.getDeviceType(userAgent);
         boolean isMobile = "MOBILE".equals(deviceType);
-        System.out.println("corpWXAuth state=="+state);
-        System.out.println("企微用户登录 code="+code);
         String url = WeiXinCorpController.GET_CORP_USERINFO_URL.replace("SUITE_ACCESS_TOKEN", getSuiteAccessToken()).replace("CODE", code);
         String forObject = this.restTemplate.getForObject(url, String.class);
         JSONObject obj = JSONObject.parseObject(forObject);
-        System.out.println("企微身份:"+obj.toString());
         String wxUserId = obj.getString("UserId");
         String openUserId = obj.getString("open_userid");
         String corpId = obj.getString("CorpId");
@@ -80,7 +69,6 @@ public class AuthRedirectController {
         if (userList.size() > 0) {
             //该用户已存在
             User curUser = userList.get(0);
-            System.out.println("企微用户是:"+curUser.getName());
             if (curUser.getIsActive() == 1) {
                 reqParam.put("userId", curUser.getId());
             } else {

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

@@ -3,10 +3,10 @@ package com.management.platform.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.management.platform.constant.Constant;
-import com.management.platform.entity.CompanyDingding;
-import com.management.platform.entity.ExpenseType;
-import com.management.platform.entity.User;
+import com.management.platform.entity.*;
 import com.management.platform.mapper.CompanyDingdingMapper;
+import com.management.platform.mapper.CompanyMapper;
+import com.management.platform.mapper.ContactSyncLogMapper;
 import com.management.platform.mapper.UserMapper;
 import com.management.platform.service.CompanyService;
 import com.management.platform.service.DingDingService;
@@ -47,6 +47,10 @@ public class CompanyController {
     private CompanyDingdingMapper companyDingdingMapper;
     @Resource
     private ExpenseTypeService expenseTypeService;
+    @Resource
+    private ContactSyncLogMapper contactSyncLogMapper;
+    @Resource
+    private CompanyMapper companyMapper;
 
     public static final HashMap<String, Long> syncLog = new HashMap();
 
@@ -62,6 +66,16 @@ public class CompanyController {
        return companyService.dataMigration(oldCompanyId,targetCompanyId);
     }
 
+    @RequestMapping("/getSyncInfo")
+    public HttpRespMsg getSyncInfo(){
+        HttpRespMsg httpRespMsg = new HttpRespMsg();
+        String token = request.getHeader("token");
+        User user = userMapper.selectById(token);
+        ContactSyncLog contactSyncLog1 = contactSyncLogMapper.selectOne(new QueryWrapper<ContactSyncLog>().eq("company_id", user.getCompanyId()).orderByDesc("id").last("limit 1"));
+        httpRespMsg.data = contactSyncLog1;
+        return httpRespMsg;
+    }
+
     //同步钉钉
     @RequestMapping("/syncCorpMembs")
     public HttpRespMsg syncCorpMembs() {
@@ -98,6 +112,13 @@ public class CompanyController {
                 }
             }
 
+            Company company = companyMapper.selectOne(new QueryWrapper<Company>().eq("id", user.getCompanyId()));
+            Integer employeeCnt = userMapper.selectCount(new QueryWrapper<User>().eq("company_id", company.getId()).eq("is_active",1));
+            if (employeeCnt > company.getStaffCountMax()){
+                //公司人员已达上限,请联系客服提高人数上限。
+                msg.setError(MessageUtils.message("wx.employeeFull"));
+                return msg;
+            }
             CompanyDingding companyDingding = companyDingdingMapper.selectOne(new QueryWrapper<CompanyDingding>().eq("company_id", user.getCompanyId()));
             if (companyDingding != null) {
                 System.out.println("===========同步钉钉===========");

+ 21 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ContactSyncLogController.java

@@ -0,0 +1,21 @@
+package com.management.platform.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author Seyason
+ * @since 2022-11-14
+ */
+@RestController
+@RequestMapping("/contact-sync-log")
+public class ContactSyncLogController {
+
+}
+

+ 5 - 41
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportController.java

@@ -200,7 +200,6 @@ public class ReportController {
             return msg;
         }
         if (subProjectId == null) {
-            System.out.println("!!===!!有空的子项目");
             subProjectId = new Integer[projectId.length];
             for(int i=0;i<subProjectId.length; i++) {
                 subProjectId[i] = 0;
@@ -225,6 +224,11 @@ public class ReportController {
                 groupId[i] = 0;
             }
         }
+        if (groupId.length != id.length) {
+            HttpRespMsg msg = new HttpRespMsg();
+            msg.setError("请设置任务分组");
+            return msg;
+        }
         if (customData == null) {
             customData = new Double[projectId.length];
             for(int i=0;i<customData.length; i++) {
@@ -288,48 +292,9 @@ public class ReportController {
             }
         }
 
-
         //检查项目是否可填报; 修改为不校验项目,前端加载的项目已经过滤掉了完成和撤销的
         List<Integer> integers = Arrays.asList(projectId);
         List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().in("id", integers));
-//        for (int i=0;i<projectId.length; i++) {
-//            int pid = projectId[i];
-//            Optional<Project> findP = projectList.stream().filter(p->p.getId().equals(pid)).findFirst();
-//            if (findP.isPresent()) {
-//                Project curP = findP.get();
-//                if (!createDate[i].contains("@")) {
-//                    if (curP.getStatus() == 2) {
-//                        HttpRespMsg msg = new HttpRespMsg();
-//                        //msg.setError("项目["+curP.getProjectName()+"]已完成。");
-//                        msg.setError(MessageUtils.message("project.complete",curP.getProjectName()));
-//                        return msg;
-//                    }
-//                    if (curP.getStatus() == 3) {
-//                        HttpRespMsg msg = new HttpRespMsg();
-//                        //msg.setError("项目["+curP.getProjectName()+"]已撤销。");
-//                        msg.setError(MessageUtils.message("project.revoke",curP.getProjectName()));
-//                        return msg;
-//                    }
-//                } else {
-//                    //批量填报(含代填)
-//                    String[] dateArr = createDate[i].split("@");
-//                    for (String curDate : dateArr) {
-//                        if (curP.getStatus() == 2) {
-//                            HttpRespMsg msg = new HttpRespMsg();
-//                            //msg.setError("项目["+curP.getProjectName()+"]已完成。");
-//                            msg.setError(MessageUtils.message("project.complete",curP.getProjectName()));
-//                            return msg;
-//                        }
-//                        if (curP.getStatus() == 3) {
-//                            HttpRespMsg msg = new HttpRespMsg();
-//                            //msg.setError("项目["+curP.getProjectName()+"]已撤销。");
-//                            msg.setError(MessageUtils.message("project.revoke",curP.getProjectName()));
-//                            return msg;
-//                        }
-//                    }
-//                }
-//            }
-//        }
         TimeType comTimeType = timeTypeMapper.selectById(user.getCompanyId());
         List<ReportAuditorSetting> auditorSettingList = null;
         if (comTimeType.getReportAuditType() == 3) {
@@ -343,7 +308,6 @@ public class ReportController {
                 auditorSettingList = new ArrayList<>();
                 for (int i=0;i<auditorSettingArray.length; i++) {
                     String str = auditorSettingArray[i];
-                    System.out.println(str);
                     if (str.contains("@")) {
                         str = str.replaceAll("@", ",");
                     }

+ 62 - 3
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/WeiXinCorpController.java

@@ -138,6 +138,8 @@ public class WeiXinCorpController {
     ExpenseTypeService expenseTypeService;
     @Resource
     private WxOrderMapper wxOrderMapper;
+    @Resource
+    private ContactSyncLogMapper contactSyncLogMapper;
 
     public static String SUITE_ACCESS_TOKEN = null;
     public static long suiteTokenExpireTime = 0L;
@@ -634,7 +636,25 @@ public class WeiXinCorpController {
                             List<Department> allDeptList = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id", companyId));
                             user.setDepartmentCascade(convertDepartmentIdToCascade(user.getDepartmentId(), allDeptList));
                         }
-                        userMapper.insert(user);
+                        Integer employeeCnt = userMapper.selectCount(new QueryWrapper<User>().eq("company_id", companyId).eq("is_active",1));
+                        Company company = companyMapper.selectOne(new QueryWrapper<Company>().eq("id", companyId));
+                        ContactSyncLog contactSyncLog = new ContactSyncLog();
+                        contactSyncLog.setCompanyId(companyId);
+                        System.err.println("企业微信自动同步新增人员日志记录===============================");
+                        if (employeeCnt + 1 > company.getStaffCountMax()){
+                            contactSyncLog.setResult(0);
+                            //contactSyncLog.setMsg("公司人员已达上限,请联系客服提高人数上限。");
+                            contactSyncLog.setMsg(MessageUtils.message("wx.employeeFull"));
+                            System.err.println("日志信息:"+ contactSyncLog.toString());
+                            contactSyncLogMapper.insert(contactSyncLog);
+                        }else {
+                            userMapper.insert(user);
+                            contactSyncLog.setResult(1);
+                            //contactSyncLog.setMsg("同步成功");
+                            contactSyncLog.setMsg(MessageUtils.message("wx.synSuccess"));
+                            System.err.println("日志信息:"+ contactSyncLog.toString());
+                            contactSyncLogMapper.insert(contactSyncLog);
+                        }
                     } else if (!StringUtils.isEmpty(wxCorpInfo.getContactSecret()) && !StringUtils.isEmpty(wxCorpInfo.getContactServer())) {
                         //通过通讯录secret获取到员工姓名;这是从内部通讯录的
                         String remoteCorpConcactAccessToken = getRemoteCorpConcactAccessToken(wxCorpInfo);
@@ -676,7 +696,25 @@ public class WeiXinCorpController {
                                 List<Department> allDeptList = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id", companyId));
                                 user.setDepartmentCascade(convertDepartmentIdToCascade(user.getDepartmentId(), allDeptList));
                             }
-                            userMapper.insert(user);
+                            Integer employeeCnt = userMapper.selectCount(new QueryWrapper<User>().eq("company_id", companyId).eq("is_active",1));
+                            Company company = companyMapper.selectOne(new QueryWrapper<Company>().eq("id", companyId));
+                            ContactSyncLog contactSyncLog = new ContactSyncLog();
+                            contactSyncLog.setCompanyId(companyId);
+                            System.err.println("企业微信自动同步新增人员日志记录===============================");
+                            if (employeeCnt + 1 > company.getStaffCountMax()){
+                                contactSyncLog.setResult(0);
+                                //contactSyncLog.setMsg("公司人员已达上限,请联系客服提高人数上限。");
+                                contactSyncLog.setMsg(MessageUtils.message("wx.employeeFull"));
+                                System.err.println("日志信息:"+ contactSyncLog.toString());
+                                contactSyncLogMapper.insert(contactSyncLog);
+                            }else {
+                                userMapper.insert(user);
+                                contactSyncLog.setResult(1);
+                                //contactSyncLog.setMsg("同步成功");
+                                contactSyncLog.setMsg(MessageUtils.message("wx.synSuccess"));
+                                System.err.println("日志信息:"+ contactSyncLog.toString());
+                                contactSyncLogMapper.insert(contactSyncLog);
+                            }
                         }
                     }
                 } else if ("update_user".equals(changeType)) {
@@ -1689,6 +1727,14 @@ public class WeiXinCorpController {
     @RequestMapping("/getCorpMembsFromPlatform")
     public HttpRespMsg getCorpMembsFromPlatform(Integer 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("仅企业微信用户支持该操作");
@@ -1865,7 +1911,20 @@ public class WeiXinCorpController {
         } else if (wxCorpInfo.getAuthMode() == 1){
             getMembAuthListLater(curCorpAccessToken, wxCorpInfo);
         }
-
+        employeeCnt = userMapper.selectCount(new QueryWrapper<User>().eq("company_id", companyId).eq("is_active",1));
+        ContactSyncLog contactSyncLog = new ContactSyncLog();
+        contactSyncLog.setCompanyId(companyId);
+        if (employeeCnt > company.getStaffCountMax()){
+            contactSyncLog.setResult(0);
+            //contactSyncLog.setMsg("公司人员已达上限,请联系客服提高人数上限。");
+            contactSyncLog.setMsg(MessageUtils.message("wx.employeeFull"));
+            contactSyncLogMapper.insert(contactSyncLog);
+        }else {
+            contactSyncLog.setResult(1);
+            //contactSyncLog.setMsg("同步成功");
+            contactSyncLog.setMsg(MessageUtils.message("wx.synSuccess"));
+            contactSyncLogMapper.insert(contactSyncLog);
+        }
         return new HttpRespMsg();
     }
 

+ 58 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/ContactSyncLog.java

@@ -0,0 +1,58 @@
+package com.management.platform.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author Seyason
+ * @since 2022-11-14
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class ContactSyncLog extends Model<ContactSyncLog> {
+
+    private static final long serialVersionUID=1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @TableField("company_id")
+    private Integer companyId;
+
+    /**
+     * 1-成功,0失败
+     */
+    @TableField("result")
+    private Integer result;
+
+    /**
+     * 同步记录内容,失败原因
+     */
+    @TableField("msg")
+    private String msg;
+
+    /**
+     * 时间戳
+     */
+    @TableField("indate")
+    private LocalDateTime indate;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 16 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/ContactSyncLogMapper.java

@@ -0,0 +1,16 @@
+package com.management.platform.mapper;
+
+import com.management.platform.entity.ContactSyncLog;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author Seyason
+ * @since 2022-11-14
+ */
+public interface ContactSyncLogMapper extends BaseMapper<ContactSyncLog> {
+
+}

+ 16 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ContactSyncLogService.java

@@ -0,0 +1,16 @@
+package com.management.platform.service;
+
+import com.management.platform.entity.ContactSyncLog;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author Seyason
+ * @since 2022-11-14
+ */
+public interface ContactSyncLogService extends IService<ContactSyncLog> {
+
+}

+ 20 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ContactSyncLogServiceImpl.java

@@ -0,0 +1,20 @@
+package com.management.platform.service.impl;
+
+import com.management.platform.entity.ContactSyncLog;
+import com.management.platform.mapper.ContactSyncLogMapper;
+import com.management.platform.service.ContactSyncLogService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author Seyason
+ * @since 2022-11-14
+ */
+@Service
+public class ContactSyncLogServiceImpl extends ServiceImpl<ContactSyncLogMapper, ContactSyncLog> implements ContactSyncLogService {
+
+}

+ 39 - 3
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/DingDingServiceImpl.java

@@ -123,6 +123,8 @@ public class DingDingServiceImpl implements DingDingService {
     private ExpenseTypeService expenseTypeService;
     @Resource
     private DdCallbackMapper ddCallbackMapper;
+    @Resource
+    private ContactSyncLogMapper contactSyncLogMapper;
 
 
     @Value("${configEnv.isPrivateDeploy}")
@@ -1112,7 +1114,26 @@ public class DingDingServiceImpl implements DingDingService {
                 List<User> oldList = userMapper.selectList(new QueryWrapper<User>().eq("dingding_userid", dingdingUserid).eq("company_id", dingding.getCompanyId()));
                 if (oldList.size() == 0) {
                     System.out.println("监听变化,主动新增钉钉用户==" + user.getName());
-                    userMapper.insert(user);
+                    Integer companyId = user.getCompanyId();
+                    Integer employeeCnt = userMapper.selectCount(new QueryWrapper<User>().eq("company_id", companyId).eq("is_active",1));
+                    Company company = companyMapper.selectOne(new QueryWrapper<Company>().eq("id", companyId));
+                    ContactSyncLog contactSyncLog = new ContactSyncLog();
+                    contactSyncLog.setCompanyId(companyId);
+                    System.err.println("钉钉自动同步新增人员日志记录===============================");
+                    if (employeeCnt + 1 > company.getStaffCountMax()){
+                        contactSyncLog.setResult(0);
+                        //contactSyncLog.setMsg("公司人员已达上限,请联系客服提高人数上限。");
+                        contactSyncLog.setMsg(MessageUtils.message("wx.employeeFull"));
+                        System.err.println("日志信息:"+ contactSyncLog.toString());
+                        contactSyncLogMapper.insert(contactSyncLog);
+                    }else {
+                        userMapper.insert(user);
+                        contactSyncLog.setResult(1);
+                        //contactSyncLog.setMsg("同步成功");
+                        contactSyncLog.setMsg(MessageUtils.message("wx.synSuccess"));
+                        System.err.println("日志信息:"+ contactSyncLog.toString());
+                        contactSyncLogMapper.insert(contactSyncLog);
+                    }
                 }
             }
         }
@@ -1159,8 +1180,23 @@ public class DingDingServiceImpl implements DingDingService {
 
                 List<User> oldList = userMapper.selectList(new QueryWrapper<User>().eq("dingding_userid", dingdingUserid).eq("company_id", companyId));
                 if (oldList.size() == 0) {
-                    System.out.println("新增钉钉用户==" + user.getName());
-                    userMapper.insert(user);
+                    Integer employeeCnt = userMapper.selectCount(new QueryWrapper<User>().eq("company_id", companyId).eq("is_active",1));
+                    Company company = companyMapper.selectOne(new QueryWrapper<Company>().eq("id", companyId));
+                    ContactSyncLog contactSyncLog = new ContactSyncLog();
+                    contactSyncLog.setCompanyId(companyId);
+                    if (employeeCnt + 1 > company.getStaffCountMax()){
+                        contactSyncLog.setResult(0);
+                        //contactSyncLog.setMsg("公司人员已达上限,请联系客服提高人数上限。");
+                        contactSyncLog.setMsg(MessageUtils.message("wx.employeeFull"));
+                        contactSyncLogMapper.insert(contactSyncLog);
+                    }else {
+                        System.out.println("新增钉钉用户==" + user.getName());
+                        userMapper.insert(user);
+                        contactSyncLog.setResult(1);
+                        //contactSyncLog.setMsg("同步成功");
+                        contactSyncLog.setMsg(MessageUtils.message("wx.synSuccess"));
+                        contactSyncLogMapper.insert(contactSyncLog);
+                    }
                 } else {
                     //可能需要更新姓名
                     User oldUser = oldList.get(0);

+ 1 - 8
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/WxCorpInfoServiceImpl.java

@@ -256,8 +256,6 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
     public void sendWXCorpTemplateMsg(WxCorpInfo corpInfo, String corpUserid, JSONObject msg) {
         try {
             if (isDev) return;
-            log.info("发送企业微信模板消息===" + corpUserid);
-            System.out.println("发送企业微信模板消息===" + corpUserid);
             String accessToken = getCorpAccessToken(corpInfo);
             String url = URL_SEND_WXCORP_MSG.replaceAll("ACCESS_TOKEN", accessToken);
             HttpHeaders headers = new HttpHeaders();
@@ -275,17 +273,15 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
                     HttpMethod.POST, requestEntity, String.class);
             if (responseEntity.getStatusCode() == HttpStatus.OK) {
                 String resp = responseEntity.getBody();
-                log.info("发送企业微信模板消息返回结果==" + resp);
-                System.out.println("发送企业微信模板消息返回结果==" + resp);
                 JSONObject json = JSONObject.parseObject(resp);
                 if (json.getIntValue("errcode") == 0) {
                     //发送成功
 
                 } else {
+                    System.out.println("发送企业微信模板消息发生错误==" + resp);
                     throw new Exception(json.toJSONString());
                 }
             } else {
-                log.error("发送失败:" + responseEntity.getStatusCode() + ", " + responseEntity.getBody());
                 System.err.println("发送失败:" + responseEntity.getStatusCode() + ", " + responseEntity.getBody());
             }
 
@@ -478,8 +474,6 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
             long startTime = startDateTime.toEpochSecond(ZoneOffset.of("+8"));
             endDateTime = endDateTime.withHour(23).withMinute(59).withSecond(0).withNano(0);
             long endTime = endDateTime.toEpochSecond(ZoneOffset.of("+8"));
-            System.out.println("startTime=" + startTime + ",endTime=" + endTime);
-
             int batchCount = 1;
             int batchSize = 100;
             int totalLength = 1;
@@ -487,7 +481,6 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
             if (userId == null) {
                 //获取企业下的全部员工
                 List<User> users = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId).isNotNull("corpwx_userid").eq("is_active", 1));
-                System.out.println("获取考勤记录users size==" + users.size());
                 corpwxUserIds = users.stream().map(User::getCorpwxUserid).collect(Collectors.toList());
                 totalLength = corpwxUserIds.size();
                 batchCount = totalLength / batchSize + (totalLength % batchSize == 0 ? 0 : 1);

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/resources/application.yml

@@ -131,7 +131,7 @@ referer:
     - mldworktime.ttkuaiban.com
     - gs.farben.com.cn
     - 47.101.180.183
-excludeUrls: /wxcorp/*,/wxcorp/*/*,/dingding/*,/error,/testClient,/corpWXAuth,/wx-corp-info/*,/clean/*,/innerRoles/*,/report/getReportListByToken,/report/getProcessErrorData
+excludeUrls: /wxcorp/*,/wxcorp/*/*,/dingding/*,/error,/testClient,/corpWXAuth,/wx-corp-info/*,/clean/*,/innerRoles/*,/report/getReportListByToken,/report/getProcessErrorData,/project/synchronizationProject
 
 #企业微信相关参数
 suitId: ww4e237fd6abb635af

+ 2 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/i18n/messages.properties

@@ -256,6 +256,8 @@ wx.noNewMemberUp=无新成员更新
 wx.AssCompleted=处理完毕。当前无新人员需要关联企业微信身份
 wx.AssCompletedByParam=处理完毕。本次自动关联了:{0}位人员:{1}
 wx.noWXUser=仅企业微信用户支持该操作
+wx.employeeFull = 公司人员已达上限,请联系客服提高人数上限。
+wx.synSuccess = 同步成功
 #请假相关
 leave.leave=请假
 leave.leaveOfDay=当天请假

+ 2 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/i18n/messages_en_US.properties

@@ -256,6 +256,8 @@ wx.noNewMemberUp=No new member updates
 wx.AssCompleted=Processing completed. Currently, no new personnel need WeChat identity of affiliated enterprises.
 wx.AssCompletedByParam=Processing completed. This time: {0} people are automatically associated:{1}.
 wx.noWXUser=Only enterprise WeChat users support this operation.
+wx.employeeFull = The number of company personnel has reached the upper limit. Please contact customer service to increase the upper limit.
+wx.synSuccess = Synchronization succeeded.
 #请假相关
 leave.leave=leave
 leave.leaveOfDay=Leave of the day

+ 19 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ContactSyncLogMapper.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.management.platform.mapper.ContactSyncLogMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.management.platform.entity.ContactSyncLog">
+        <id column="id" property="id" />
+        <result column="company_id" property="companyId" />
+        <result column="result" property="result" />
+        <result column="msg" property="msg" />
+        <result column="indate" property="indate" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, company_id, result, msg, indate
+    </sql>
+
+</mapper>