瀏覽代碼

对接企业微信

seyason 6 月之前
父節點
當前提交
e93373d7b3
共有 20 個文件被更改,包括 68 次插入217 次删除
  1. 1 1
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/config/BeanConfig.java
  2. 3 3
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/AuthRedirectController.java
  3. 1 1
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/ProjectController.java
  4. 2 2
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/ReportController.java
  5. 1 1
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/UserController.java
  6. 2 2
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/WXController.java
  7. 15 164
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/WeiXinCorpController.java
  8. 1 1
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/WxCorpInfoController.java
  9. 4 4
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/DingDingServiceImpl.java
  10. 4 4
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/ExpenseSheetServiceImpl.java
  11. 1 1
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/FeishuInfoServiceImpl.java
  12. 2 2
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/LeaveSheetServiceImpl.java
  13. 5 5
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java
  14. 8 8
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java
  15. 1 1
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/TaskProgressServiceImpl.java
  16. 4 4
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/UserServiceImpl.java
  17. 5 5
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/WxCorpInfoServiceImpl.java
  18. 1 1
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/util/MD5Util.java
  19. 5 5
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/util/SyncSapUtils.java
  20. 2 2
      fhKeeper/formulahousekeeper/management-crm/src/main/resources/application.yml

+ 1 - 1
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/config/BeanConfig.java

@@ -24,7 +24,7 @@ public class BeanConfig {
         // 设置线程活跃时间(秒)
         // 设置线程活跃时间(秒)
         executor.setKeepAliveSeconds(60);
         executor.setKeepAliveSeconds(60);
         // 设置默认线程名称
         // 设置默认线程名称
-        executor.setThreadNamePrefix("worktime-");
+        executor.setThreadNamePrefix("crm-");
         // 设置拒绝策略
         // 设置拒绝策略
         executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
         executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
         // 等待所有任务结束后再关闭线程池
         // 等待所有任务结束后再关闭线程池

+ 3 - 3
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/AuthRedirectController.java

@@ -144,9 +144,9 @@ public class AuthRedirectController {
             }
             }
         }
         }
         if (isMobile) {
         if (isMobile) {
-            redirecUrl = "https://mobworktime.ttkuaiban.com/#/" + router;
+            redirecUrl = "https://mobcrm.ttkuaiban.com/#/" + router;
         } else {
         } else {
-            redirecUrl = "https://worktime.ttkuaiban.com/#/" + router;
+            redirecUrl = "https://crm.ttkuaiban.com/#/" + router;
         }
         }
         ModelAndView modelAndView = new ModelAndView(
         ModelAndView modelAndView = new ModelAndView(
                 new RedirectView(redirecUrl), reqParam);
                 new RedirectView(redirecUrl), reqParam);
@@ -254,7 +254,7 @@ public class AuthRedirectController {
                         reqParam.put("version", compExpireInfo.get("version"));
                         reqParam.put("version", compExpireInfo.get("version"));
                     }
                     }
                 }
                 }
-                redirecUrl = "https://worktime.ttkuaiban.com/#/" + router;
+                redirecUrl = "https://crm.ttkuaiban.com/#/" + router;
             }
             }
         }
         }
         ModelAndView modelAndView = new ModelAndView(
         ModelAndView modelAndView = new ModelAndView(

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

@@ -1428,7 +1428,7 @@ public class ProjectController {
     }
     }
 
 
 
 
-    //同步SAP项目数据到工时管家
+    //同步SAP项目数据到客户管家
     @RequestMapping("/syncProjectWithSap")
     @RequestMapping("/syncProjectWithSap")
     @Transactional
     @Transactional
     public HttpRespMsg syncProjectWithSap(String startDate,String endDate,String projectCodes){
     public HttpRespMsg syncProjectWithSap(String startDate,String endDate,String projectCodes){

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

@@ -2403,13 +2403,13 @@ public class ReportController {
     }
     }
 
 
 
 
-    //todo:推送工时管家工时考勤数据到SAP
+    //todo:推送客户管家工时考勤数据到SAP
     @RequestMapping("/pushProjectReportToSap")
     @RequestMapping("/pushProjectReportToSap")
     public HttpRespMsg pushProjectReportToSap(String pushDate,Integer reportId){
     public HttpRespMsg pushProjectReportToSap(String pushDate,Integer reportId){
         return reportService.pushProjectReportToSap(pushDate,reportId);
         return reportService.pushProjectReportToSap(pushDate,reportId);
     }
     }
 
 
-    //todo:查询已推送到SAP的工时管家工时考勤数据 并撤销推送
+    //todo:查询已推送到SAP的客户管家工时考勤数据 并撤销推送
     @RequestMapping("/getHasPushForSap")
     @RequestMapping("/getHasPushForSap")
     public HttpRespMsg getHasPushForSap(String startDate,String endDate,String employeeID){
     public HttpRespMsg getHasPushForSap(String startDate,String endDate,String employeeID){
         return reportService.getHasPushForSap(startDate,endDate,employeeID);
         return reportService.getHasPushForSap(startDate,endDate,employeeID);

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

@@ -340,7 +340,7 @@ public class UserController {
         templateVariableDetail.put("审核人","Yurk");
         templateVariableDetail.put("审核人","Yurk");
         templateVariableDetail.put("评价","干的不错");
         templateVariableDetail.put("评价","干的不错");
         templateVariableDetail.put("日期","2023-03-08");
         templateVariableDetail.put("日期","2023-03-08");
-        feishuInfoService.batchSendCardMessage(feishuInfo,userIds,"日报审核通过提醒(带评价)",templateVariableDetail,"http://worktime.ttkuaiban.com");
+        feishuInfoService.batchSendCardMessage(feishuInfo,userIds,"日报审核通过提醒(带评价)",templateVariableDetail,"http://crm.ttkuaiban.com");
         return httpRespMsg;
         return httpRespMsg;
     }
     }
 
 

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

@@ -67,9 +67,9 @@ public class WXController {
         boolean isMobile = "MOBILE".equals(deviceType);
         boolean isMobile = "MOBILE".equals(deviceType);
         String redirecUrl = null;
         String redirecUrl = null;
         if (isMobile) {
         if (isMobile) {
-            redirecUrl = "http://mobworktime.ttkuaiban.com";
+            redirecUrl = "http://mobcrm.ttkuaiban.com";
         } else {
         } else {
-            redirecUrl = "http://worktime.ttkuaiban.com";
+            redirecUrl = "http://crm.ttkuaiban.com";
         }
         }
 
 
         HttpRespMsg msg = userService.bindWeiXin2(code, userId, state);
         HttpRespMsg msg = userService.bindWeiXin2(code, userId, state);

+ 15 - 164
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/WeiXinCorpController.java

@@ -863,7 +863,7 @@ public class WeiXinCorpController {
                 }
                 }
             } else if ("change_contact".equals(jsonObject.get("InfoType")) && jsonObject.has("ChangeType")) {
             } else if ("change_contact".equals(jsonObject.get("InfoType")) && jsonObject.has("ChangeType")) {
                 //{"xml":{"ChangeType":"delete_user","UserID":"ShanShuiGongZhangTianYiSe",
                 //{"xml":{"ChangeType":"delete_user","UserID":"ShanShuiGongZhangTianYiSe",
-                // "SuiteId":"ww4e237fd6abb635af","InfoType":"change_contact","AuthCorpId":"wwf11426cf618e1703",
+                // "SuiteId":"wwdd1137a65ce0fc87","InfoType":"change_contact","AuthCorpId":"wwf11426cf618e1703",
                 // "TimeStamp":1655908762,"OpenUserID":"woy9TkCAAApdqSxsfJbmK4cBJhbzI5Ug"}}
                 // "TimeStamp":1655908762,"OpenUserID":"woy9TkCAAApdqSxsfJbmK4cBJhbzI5Ug"}}
                 String changeType = jsonObject.getString("ChangeType");
                 String changeType = jsonObject.getString("ChangeType");
                 String corpId = jsonObject.getString("AuthCorpId");
                 String corpId = jsonObject.getString("AuthCorpId");
@@ -1300,7 +1300,7 @@ public class WeiXinCorpController {
                     JSONArray jsonArray = obj.getJSONObject("auth_info").getJSONArray("agent");
                     JSONArray jsonArray = obj.getJSONObject("auth_info").getJSONArray("agent");
                     for (int i=0;i<jsonArray.size(); i++) {
                     for (int i=0;i<jsonArray.size(); i++) {
                         JSONObject jsonObject = jsonArray.getJSONObject(i);
                         JSONObject jsonObject = jsonArray.getJSONObject(i);
-                        if (jsonObject.getString("name").equals("工时管家")) {
+                        if (jsonObject.getString("name").equals("客户管家")) {
                             int agentId = jsonObject.getInteger("agentid");
                             int agentId = jsonObject.getInteger("agentid");
                             data.setAgentid(agentId);
                             data.setAgentid(agentId);
                             //授权模式:0为管理员授权;1为成员授权
                             //授权模式:0为管理员授权;1为成员授权
@@ -1330,94 +1330,10 @@ public class WeiXinCorpController {
                         //设置来源
                         //设置来源
                         company.setRegFrom("企业微信");
                         company.setRegFrom("企业微信");
                         companyMapper.insert(company);
                         companyMapper.insert(company);
-                        //生成项目的成本基线默认条目
-                        String[] array = Constant.DEFAULT_BASE_COST_ITEMS;
-                        for (String baseItem : array) {
-                            ProjectBasecostSetting setting = new ProjectBasecostSetting();
-                            setting.setName(baseItem);
-                            setting.setCompanyId(company.getId());
-                            projectBasecostSettingMapper.insert(setting);
-                        }
-                        //生成费用报销默认条目
-                        String[] expenseTypes = Constant.EXPENSE_TYPES;
-                        List<String> commonly = new ArrayList<>();
-                        commonly.add("材料费");
-                        //commonly.add(MessageUtils.message("entry.materialCost"));
-                        commonly.add("办公用品");
-                        //commonly.add(MessageUtils.message("entry.workCost"));
-                        commonly.add("培训费");
-                        //commonly.add(MessageUtils.message("entry.trainCost"));
-                        commonly.add("打印费");
-                        //commonly.add(MessageUtils.message("entry.printCost"));
-                        commonly.add("快递费");
-                        //commonly.add(MessageUtils.message("entry.expressCost"));
-                        commonly.add("制作费");
-                        //commonly.add(MessageUtils.message("entry.makeCost"));
-                        commonly.add("律师费");
-                        //commonly.add(MessageUtils.message("entry.lawyerCost"));
-                        commonly.add("水费");
-                        //commonly.add(MessageUtils.message("entry.waterCost"));
-                        commonly.add("电费");
-                        //commonly.add(MessageUtils.message("entry.electricCost"));
-                        commonly.add("团建费");
-                        //commonly.add(MessageUtils.message("entry.leagueCost"));
-                        commonly.add("其他");
-                        //commonly.add(MessageUtils.message("entry.other"));
-                        List<String> travel  = new ArrayList<>();
-                        travel.add("城市间交通费");
-                        //travel.add(MessageUtils.message("entry.cityTrafficCost"));
-                        travel.add("住宿费");
-                        //travel.add(MessageUtils.message("entry.liveCost"));
-                        travel.add("伙食补助费");
-                        //travel.add(MessageUtils.message("entry.eatCost"));
-                        travel.add("市内交通费");
-                        //travel.add(MessageUtils.message("entry.insideCityCost"));
-                        travel.add("其他差旅费");
-                        //travel.add(MessageUtils.message("entry.otherLiveTraCost"));
-                        List<String> outsource = new ArrayList<>();
-                        outsource.add("项目外包费");
-                        //outsource.add(MessageUtils.message("entry.projectCost"));
-                        outsource.add("劳务外包费");
-                        //outsource.add(MessageUtils.message("entry.labourCost"));
-                        outsource.add("其他外包费");
-                        //outsource.add(MessageUtils.message("entry.OtherOutsourceCost"));
-                        List<ExpenseType> expenseTypeList=new ArrayList<>();
-                        List<ExpenseMainType> expenseMainTypes=new ArrayList<>();
-                        ExpenseMainType expenseMainType=new ExpenseMainType();
-                        expenseMainType.setName("一般费用");
-                        expenseMainType.setCompanyId(company.getId());
-                        ExpenseMainType expenseMainType1=new ExpenseMainType();
-                        expenseMainType1.setName("差旅费用");
-                        expenseMainType1.setCompanyId(company.getId());
-                        ExpenseMainType expenseMainType2=new ExpenseMainType();
-                        expenseMainType2.setName("外包费用");
-                        expenseMainType2.setCompanyId(company.getId());
-                        expenseMainTypes.add(expenseMainType);
-                        expenseMainTypes.add(expenseMainType1);
-                        expenseMainTypes.add(expenseMainType2);
-                        expenseMainTypeService.saveBatch(expenseMainTypes);
-                        for (String expenseType : expenseTypes) {
-                            ExpenseType item=new ExpenseType();
-                            item.setCompanyId(company.getId());
-                            item.setTypeName(expenseType);
-                            if(commonly.contains(expenseType)){
-                                item.setMainType(expenseMainType.getId());
-                            }
-                            if(travel.contains(expenseType)){
-                                item.setMainType(expenseMainType1.getId());
-                            }
-                            if(outsource.contains(expenseType)){
-                                item.setMainType(expenseMainType2.getId());
-                            }
-                            expenseTypeList.add(item);
-                        }
-                        expenseTypeService.saveBatch(expenseTypeList);
 
 
                         //生成工作时长
                         //生成工作时长
                         TimeType timeType = new TimeType();
                         TimeType timeType = new TimeType();
                         timeType.setCompanyId(company.getId());
                         timeType.setCompanyId(company.getId());
-                        timeType.setFinanceJobnumEnabled(1);//启用工号来导入财务匹配
-                        timeType.setProjectManDay(1);//默认开启预估项目人天
                         timeTypeMapper.insert(timeType);
                         timeTypeMapper.insert(timeType);
 
 
                         managerRole = sysRoleService.generateDefaultRoles(company.getId());
                         managerRole = sysRoleService.generateDefaultRoles(company.getId());
@@ -1449,72 +1365,7 @@ public class WeiXinCorpController {
                                 .setCorpwxRealUserid(userId);
                                 .setCorpwxRealUserid(userId);
                         userMapper.insert(user);
                         userMapper.insert(user);
                         System.out.println("生成超级管理员:"+userId);
                         System.out.println("生成超级管理员:"+userId);
-                        //todo: 生成初始测试项目及任务
-                        Project project=new Project();
-                        project.setCompanyId(company.getId());
-                        project.setInchargerId(user.getId());
-                        project.setInchargerName(user.getName());
-                        project.setCreatorId(user.getId());
-                        project.setCreatorName(user.getName());
-                        project.setCreateDate(LocalDate.now());
-                        project.setProjectCode("example");
-                        project.setProjectName("示例项目");
-                        //设置为公共项目,这样测试的用户都能填报
-                        project.setIsPublic(1);
-                        projectMapper.insert(project);
-                        //todo: 生成初始项目相关日报审核人
-                        ProjectAuditor projectAuditor=new ProjectAuditor();
-                        projectAuditor.setAuditorId(user.getId());
-                        projectAuditor.setAuditorName(user.getName());
-                        projectAuditor.setProjectId(project.getId());
-                        projectAuditorMapper.insert(projectAuditor);
-                        //todo: 生成项目报表服务默认条目
-                        Integer[] arrayInteger=new Integer[]{1,2,3,4,7};
-                        for (Integer integerItem : arrayInteger) {
-                            CompanyReport companyReport=new CompanyReport();
-                            companyReport.setCompanyId(company.getId());
-                            companyReport.setReportFormId(integerItem);
-                            companyReportMapper.insert(companyReport);
-                        }
-                        //todo: 生成初始项目相关示例任务分组/任务阶段以及示例任务
-                        TaskGroup taskGroup = new TaskGroup();
-                        taskGroup.setProjectId(project.getId())
-                                .setInchargerId(user.getId())
-                                .setName("项目阶段");
-                        taskGroupMapper.insert(taskGroup);
-                        Stages stage = new Stages();
-                        stage.setGroupId(taskGroup.getId());
-                        stage.setSequence(1);
-                        stage.setProjectId(project.getId());
-                        stage.setStagesName("工作开展");
-                        stagesMapper.insert(stage);
-                        Task task=new Task();
-                        TimeType timeType = timeTypeMapper.selectById(company.getId());
-                        Integer oneDayHours = 8;
-//                        task.setCreateDate(LocalDate.now());
-//                        task.setProjectId(project.getId());
-//                        task.setCompanyId(company.getId());
-//                        task.setCreaterId(user.getId());
-//                        task.setCreaterName(user.getName());
-//                        task.setCreatorColor(user.getColor());
-//                        task.setExecutorId(user.getId());
-//                        task.setExecutorColor(user.getColor());
-//                        task.setExecutorName(user.getName());
-//                        task.setPlanHours(oneDayHours);
-//                        task.setStagesId(stage.getId());
-//                        task.setGroupId(taskGroup.getId());
-//                        task.setSeq(0);
-//                        task.setName("示例任务");
-                        taskMapper.insert(task);
-                        //任务执行人表也要插入,不然会导致编辑任务的时候执行人为空
-                        TaskExecutor executor = new TaskExecutor();
-                        executor.setTaskId(task.getId());
-                        executor.setPlanHours(oneDayHours);
-                        executor.setProjectId(project.getId());
-                        executor.setExecutorId(user.getId());
-                        executor.setExecutorColor(user.getColor());
-                        executor.setExecutorName(user.getName());
-                        taskExecutorMapper.insert(executor);
+
                     }
                     }
 
 
                     int companyId = company.getId();
                     int companyId = company.getId();
@@ -1601,7 +1452,7 @@ public class WeiXinCorpController {
                     JSONArray jsonArray = obj.getJSONObject("auth_info").getJSONArray("agent");
                     JSONArray jsonArray = obj.getJSONObject("auth_info").getJSONArray("agent");
                     for (int i=0;i<jsonArray.size(); i++) {
                     for (int i=0;i<jsonArray.size(); i++) {
                         JSONObject jsonObject = jsonArray.getJSONObject(i);
                         JSONObject jsonObject = jsonArray.getJSONObject(i);
-                        if (jsonObject.getString("name").equals("工时管家")) {
+                        if (jsonObject.getString("name").equals("客户管家")) {
                             int agentId = jsonObject.getInteger("agentid");
                             int agentId = jsonObject.getInteger("agentid");
                             data.setAgentid(agentId);
                             data.setAgentid(agentId);
                         }
                         }
@@ -1801,9 +1652,9 @@ public class WeiXinCorpController {
         boolean isMobile = "MOBILE".equals(deviceType);
         boolean isMobile = "MOBILE".equals(deviceType);
         String redirecUrl = null;
         String redirecUrl = null;
         if (isMobile) {
         if (isMobile) {
-            redirecUrl = "http://mobworktime.ttkuaiban.com";
+            redirecUrl = "http://mobcrm.ttkuaiban.com";
         } else {
         } else {
-            redirecUrl = "http://worktime.ttkuaiban.com";
+            redirecUrl = "http://crm.ttkuaiban.com";
         }
         }
         User curUser = userMapper.selectById(userId);
         User curUser = userMapper.selectById(userId);
         //https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=ACCESS_TOKEN&code=CODE
         //https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=ACCESS_TOKEN&code=CODE
@@ -2108,7 +1959,7 @@ public class WeiXinCorpController {
                     JSONArray jsonArray = json.getJSONObject("auth_info").getJSONArray("agent");
                     JSONArray jsonArray = json.getJSONObject("auth_info").getJSONArray("agent");
                     for (int i=0;i<jsonArray.size(); i++) {
                     for (int i=0;i<jsonArray.size(); i++) {
                         JSONObject jsonObject = jsonArray.getJSONObject(i);
                         JSONObject jsonObject = jsonArray.getJSONObject(i);
-//                        if (jsonObject.getString("name").equals("工时管家")) {
+//                        if (jsonObject.getString("name").equals("客户管家")) {
 //                            System.out.println(jsonObject);
 //                            System.out.println(jsonObject);
                             JSONObject privilege = jsonObject.getJSONObject("privilege");
                             JSONObject privilege = jsonObject.getJSONObject("privilege");
                             allowUserList = privilege.getJSONArray("allow_user");
                             allowUserList = privilege.getJSONArray("allow_user");
@@ -2244,8 +2095,8 @@ public class WeiXinCorpController {
                     JSONArray jsonArray = json.getJSONObject("auth_info").getJSONArray("agent");
                     JSONArray jsonArray = json.getJSONObject("auth_info").getJSONArray("agent");
                     for (int i=0;i<jsonArray.size(); i++) {
                     for (int i=0;i<jsonArray.size(); i++) {
                         JSONObject jsonObject = jsonArray.getJSONObject(i);
                         JSONObject jsonObject = jsonArray.getJSONObject(i);
-                        //用户可能会自定义应用名称,不一定是工时管家。
-//                        if (jsonObject.getString("name").equals("工时管家")) {
+                        //用户可能会自定义应用名称,不一定是客户管家。
+//                        if (jsonObject.getString("name").equals("客户管家")) {
 //                            System.out.println(jsonObject);
 //                            System.out.println(jsonObject);
                             JSONObject privilege = jsonObject.getJSONObject("privilege");
                             JSONObject privilege = jsonObject.getJSONObject("privilege");
                             allowUserList = privilege.getJSONArray("allow_user");
                             allowUserList = privilege.getJSONArray("allow_user");
@@ -3335,7 +3186,7 @@ public class WeiXinCorpController {
             JSONArray jsonArray = json.getJSONObject("auth_info").getJSONArray("agent");
             JSONArray jsonArray = json.getJSONObject("auth_info").getJSONArray("agent");
             for (int i=0;i<jsonArray.size(); i++) {
             for (int i=0;i<jsonArray.size(); i++) {
                 JSONObject jsonObject = jsonArray.getJSONObject(i);
                 JSONObject jsonObject = jsonArray.getJSONObject(i);
-//                if (jsonObject.getString("name").equals("工时管家")) {
+//                if (jsonObject.getString("name").equals("客户管家")) {
                     System.out.println(jsonObject);
                     System.out.println(jsonObject);
                     Integer authMode = jsonObject.getInteger("auth_mode");
                     Integer authMode = jsonObject.getInteger("auth_mode");
                     if (!wxCorpInfo.getAuthMode().equals(authMode)) {
                     if (!wxCorpInfo.getAuthMode().equals(authMode)) {
@@ -3809,23 +3660,23 @@ public class WeiXinCorpController {
         JSONObject data = new JSONObject();
         JSONObject data = new JSONObject();
         data.put("card_type", "news_notice");
         data.put("card_type", "news_notice");
         JSONObject mainTitle = new JSONObject();
         JSONObject mainTitle = new JSONObject();
-        mainTitle.put("title", "工时管家使用指南");
-        mainTitle.put("desc", "欢迎使用工时管家,点击查看工时管家使用指南");
+        mainTitle.put("title", "客户管家使用指南");
+        mainTitle.put("desc", "欢迎使用客户管家,点击查看客户管家使用指南");
         data.put("main_title", mainTitle);
         data.put("main_title", mainTitle);
         JSONObject cardImg = new JSONObject();
         JSONObject cardImg = new JSONObject();
-        cardImg.put("url", "http://www.ttkuaiban.com/card_img.png");
+        cardImg.put("url", "https://crm.ttkuaiban.com/card_img.png");
         cardImg.put("aspect_ratio", 2.35);
         cardImg.put("aspect_ratio", 2.35);
         data.put("card_image", cardImg);
         data.put("card_image", cardImg);
         JSONArray array = new JSONArray();
         JSONArray array = new JSONArray();
         JSONObject docItem = new JSONObject();
         JSONObject docItem = new JSONObject();
         docItem.put("type", 1);
         docItem.put("type", 1);
         docItem.put("title", "使用指南");
         docItem.put("title", "使用指南");
-        docItem.put("url", "https://www.ttkuaiban.com/download/%E5%B7%A5%E6%97%B6%E7%AE%A1%E5%AE%B6%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E%E4%B9%A6.pdf");
+        docItem.put("url", "https://crm.ttkuaiban.com/download/%E5%B7%A5%E6%97%B6%E7%AE%A1%E5%AE%B6%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E%E4%B9%A6.pdf");
         array.add(docItem);
         array.add(docItem);
         JSONObject enterItem = new JSONObject();
         JSONObject enterItem = new JSONObject();
         enterItem.put("type", 1);
         enterItem.put("type", 1);
         enterItem.put("title", "进入应用");
         enterItem.put("title", "进入应用");
-        enterItem.put("url", "https://open.weixin.qq.com/connect/oauth2/authorize?appid=ww4e237fd6abb635af&redirect_uri=http://worktime.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=0#wechat_redirect");
+        enterItem.put("url", "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wwdd1137a65ce0fc87&redirect_uri=https://crm.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=0#wechat_redirect");
         array.add(enterItem);
         array.add(enterItem);
         data.put("jump_list", array);
         data.put("jump_list", array);
         JSONObject cardAction = new JSONObject();
         JSONObject cardAction = new JSONObject();

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

@@ -84,7 +84,7 @@ public class WxCorpInfoController {
             jsonObj.put("value", "测试提醒消息21:12");
             jsonObj.put("value", "测试提醒消息21:12");
             dataJson.add(jsonObj);
             dataJson.add(jsonObj);
             json.put("template_id","tty9TkCAAAYoevY-40ciWD5lDncDfR5w");
             json.put("template_id","tty9TkCAAAYoevY-40ciWD5lDncDfR5w");
-            json.put("url", "https://open.weixin.qq.com/connect/oauth2/authorize?appid=ww4e237fd6abb635af&redirect_uri=http://worktime.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=0#wechat_redirect");
+            json.put("url", "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wwdd1137a65ce0fc87&redirect_uri=http://crm.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=0#wechat_redirect");
             json.put("content_item",dataJson);
             json.put("content_item",dataJson);
             wxCorpInfoService.sendWXCorpTemplateMsg(corpInfo, corpwxuserIds, json);
             wxCorpInfoService.sendWXCorpTemplateMsg(corpInfo, corpwxuserIds, json);
 
 

+ 4 - 4
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/DingDingServiceImpl.java

@@ -1274,7 +1274,7 @@ public class DingDingServiceImpl implements DingDingService {
                                             JSONArray agents = authInfo.getJSONArray("agent");
                                             JSONArray agents = authInfo.getJSONArray("agent");
                                             for (int j=0;j<agents.size(); j++) {
                                             for (int j=0;j<agents.size(); j++) {
                                                 JSONObject item = agents.getJSONObject(j);
                                                 JSONObject item = agents.getJSONObject(j);
-                                                if (item.getString("agent_name").equals("工时管家")) {
+                                                if (item.getString("agent_name").equals("客户管家")) {
                                                     agentId = item.getLong("agentid");
                                                     agentId = item.getLong("agentid");
                                                 }
                                                 }
                                             }
                                             }
@@ -1311,7 +1311,7 @@ public class DingDingServiceImpl implements DingDingService {
                                     }
                                     }
                                 } else if ("org_micro_app_restore".equals(syncAction)) {
                                 } else if ("org_micro_app_restore".equals(syncAction)) {
                                     String corpid = bizItem.getString("corp_id");
                                     String corpid = bizItem.getString("corp_id");
-                                    System.out.println("==Push 推送事件 app 工时管家恢复启用, corpid==="+corpid);
+                                    System.out.println("==Push 推送事件 app 客户管家恢复启用, corpid==="+corpid);
                                 }
                                 }
                             }
                             }
                         }
                         }
@@ -1387,7 +1387,7 @@ public class DingDingServiceImpl implements DingDingService {
 //
 //
                 OapiServiceGetAuthInfoResponse.AuthCorpInfo authCorpInfo = rsp.getAuthCorpInfo();
                 OapiServiceGetAuthInfoResponse.AuthCorpInfo authCorpInfo = rsp.getAuthCorpInfo();
                 List<OapiServiceGetAuthInfoResponse.Agent> agent = rsp.getAuthInfo().getAgent();
                 List<OapiServiceGetAuthInfoResponse.Agent> agent = rsp.getAuthInfo().getAgent();
-                Long agentid = agent.stream().filter(a -> a.getAgentName().equals("工时管家")).findFirst().get().getAgentid();
+                Long agentid = agent.stream().filter(a -> a.getAgentName().equals("客户管家")).findFirst().get().getAgentid();
                 corpAuth(authCorpInfo.getCorpid(), authCorpInfo.getCorpName(), rsp.getAuthUserInfo().getUserId(), agentid);
                 corpAuth(authCorpInfo.getCorpid(), authCorpInfo.getCorpName(), rsp.getAuthUserInfo().getUserId(), agentid);
             }
             }
         } catch (ApiException e) {
         } catch (ApiException e) {
@@ -1436,7 +1436,7 @@ public class DingDingServiceImpl implements DingDingService {
                 List<OapiServiceGetAuthInfoResponse.Agent> agent = rsp.getAuthInfo().getAgent();
                 List<OapiServiceGetAuthInfoResponse.Agent> agent = rsp.getAuthInfo().getAgent();
                 String corpid1 = authCorpInfo.getCorpid();
                 String corpid1 = authCorpInfo.getCorpid();
 
 
-                Long agentid = agent.stream().filter(a -> a.getAgentName().equals("工时管家")).findFirst().get().getAgentid();
+                Long agentid = agent.stream().filter(a -> a.getAgentName().equals("客户管家")).findFirst().get().getAgentid();
                 CompanyDingding dingding = companyDingdingMapper.selectById(corpid1);
                 CompanyDingding dingding = companyDingdingMapper.selectById(corpid1);
                 if (dingding.getAgentId() == null) {
                 if (dingding.getAgentId() == null) {
                     dingding.setAgentId(agentid);
                     dingding.setAgentId(agentid);

+ 4 - 4
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/ExpenseSheetServiceImpl.java

@@ -240,7 +240,7 @@ public class ExpenseSheetServiceImpl extends ServiceImpl<ExpenseSheetMapper, Exp
                     dataJson.add(jsonObj3);
                     dataJson.add(jsonObj3);
                     dataJson.add(jsonObj4);
                     dataJson.add(jsonObj4);
                     json.put("template_id","tty9TkCAAALUiWvjdoDg_PZf48gwucZA");
                     json.put("template_id","tty9TkCAAALUiWvjdoDg_PZf48gwucZA");
-                    json.put("url","https://open.weixin.qq.com/connect/oauth2/authorize?appid=ww4e237fd6abb635af&redirect_uri=http://worktime.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=expense#wechat_redirect");
+                    json.put("url","https://open.weixin.qq.com/connect/oauth2/authorize?appid=wwdd1137a65ce0fc87&redirect_uri=http://crm.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=expense#wechat_redirect");
                     json.put("content_item",dataJson);
                     json.put("content_item",dataJson);
                     wxCorpInfoService.sendWXCorpTemplateMsg(wxCorpInfo,corpUserString, json);
                     wxCorpInfoService.sendWXCorpTemplateMsg(wxCorpInfo,corpUserString, json);
                     List<Information> informationList=new ArrayList<>();
                     List<Information> informationList=new ArrayList<>();
@@ -333,7 +333,7 @@ public class ExpenseSheetServiceImpl extends ServiceImpl<ExpenseSheetMapper, Exp
                         dataJson.add(jsonObj3);
                         dataJson.add(jsonObj3);
                         dataJson.add(jsonObj4);
                         dataJson.add(jsonObj4);
                         json.put("template_id","tty9TkCAAALUiWvjdoDg_PZf48gwucZA");
                         json.put("template_id","tty9TkCAAALUiWvjdoDg_PZf48gwucZA");
-                        json.put("url","https://open.weixin.qq.com/connect/oauth2/authorize?appid=ww4e237fd6abb635af&redirect_uri=http://worktime.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=expense#wechat_redirect");
+                        json.put("url","https://open.weixin.qq.com/connect/oauth2/authorize?appid=wwdd1137a65ce0fc87&redirect_uri=http://crm.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=expense#wechat_redirect");
                         json.put("content_item",dataJson);
                         json.put("content_item",dataJson);
                         wxCorpInfoService.sendWXCorpTemplateMsg(wxCorpInfo,corpUserString, json);
                         wxCorpInfoService.sendWXCorpTemplateMsg(wxCorpInfo,corpUserString, json);
                     }
                     }
@@ -385,7 +385,7 @@ public class ExpenseSheetServiceImpl extends ServiceImpl<ExpenseSheetMapper, Exp
                 dataJson.add(jsonObj3);
                 dataJson.add(jsonObj3);
                 dataJson.add(jsonObj4);
                 dataJson.add(jsonObj4);
                 json.put("template_id","tty9TkCAAALUiWvjdoDg_PZf48gwucZA");
                 json.put("template_id","tty9TkCAAALUiWvjdoDg_PZf48gwucZA");
-                json.put("url","https://open.weixin.qq.com/connect/oauth2/authorize?appid=ww4e237fd6abb635af&redirect_uri=http://worktime.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=expense#wechat_redirect");
+                json.put("url","https://open.weixin.qq.com/connect/oauth2/authorize?appid=wwdd1137a65ce0fc87&redirect_uri=http://crm.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=expense#wechat_redirect");
                 json.put("content_item",dataJson);
                 json.put("content_item",dataJson);
                 wxCorpInfoService.sendWXCorpTemplateMsg(wxCorpInfo,corpUserString, json);
                 wxCorpInfoService.sendWXCorpTemplateMsg(wxCorpInfo,corpUserString, json);
             }
             }
@@ -667,7 +667,7 @@ public class ExpenseSheetServiceImpl extends ServiceImpl<ExpenseSheetMapper, Exp
                     dataJson.add(jsonObj3);
                     dataJson.add(jsonObj3);
                     dataJson.add(jsonObj4);
                     dataJson.add(jsonObj4);
                     json.put("template_id","tty9TkCAAALUiWvjdoDg_PZf48gwucZA");
                     json.put("template_id","tty9TkCAAALUiWvjdoDg_PZf48gwucZA");
-                    json.put("url","https://open.weixin.qq.com/connect/oauth2/authorize?appid=ww4e237fd6abb635af&redirect_uri=http://worktime.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=expense#wechat_redirect");
+                    json.put("url","https://open.weixin.qq.com/connect/oauth2/authorize?appid=wwdd1137a65ce0fc87&redirect_uri=http://crm.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=expense#wechat_redirect");
                     json.put("content_item",dataJson);
                     json.put("content_item",dataJson);
                     wxCorpInfoService.sendWXCorpTemplateMsg(wxCorpInfo,corpUserString, json);
                     wxCorpInfoService.sendWXCorpTemplateMsg(wxCorpInfo,corpUserString, json);
                 }
                 }

+ 1 - 1
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/FeishuInfoServiceImpl.java

@@ -445,7 +445,7 @@ public class FeishuInfoServiceImpl extends ServiceImpl<FeishuInfoMapper, FeishuI
                 JSONObject header=new JSONObject();
                 JSONObject header=new JSONObject();
                 header.put("template","blue");
                 header.put("template","blue");
                 JSONObject title=new JSONObject();
                 JSONObject title=new JSONObject();
-                title.put("content","工时管家 \n"+sendTypeName);
+                title.put("content","客户管家 \n"+sendTypeName);
                 title.put("tag","plain_text");
                 title.put("tag","plain_text");
                 header.put("title",title);
                 header.put("title",title);
                 card.put("header",header);
                 card.put("header",header);

+ 2 - 2
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/LeaveSheetServiceImpl.java

@@ -187,7 +187,7 @@ public class LeaveSheetServiceImpl extends ServiceImpl<LeaveSheetMapper, LeaveSh
         dataJson.add(jsonObj2);
         dataJson.add(jsonObj2);
         dataJson.add(jsonObj4);
         dataJson.add(jsonObj4);
         json.put("template_id","tty9TkCAAARfwRKiqfj47qNE70KvGhqg");
         json.put("template_id","tty9TkCAAARfwRKiqfj47qNE70KvGhqg");
-        json.put("url","https://open.weixin.qq.com/connect/oauth2/authorize?appid=ww4e237fd6abb635af&redirect_uri=http://worktime.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=leave#wechat_redirect");
+        json.put("url","https://open.weixin.qq.com/connect/oauth2/authorize?appid=wwdd1137a65ce0fc87&redirect_uri=http://crm.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=leave#wechat_redirect");
         json.put("content_item",dataJson);
         json.put("content_item",dataJson);
         String ownerId = sheet.getOwnerId();
         String ownerId = sheet.getOwnerId();
         User owner = userMapper.selectById(ownerId);
         User owner = userMapper.selectById(ownerId);
@@ -259,7 +259,7 @@ public class LeaveSheetServiceImpl extends ServiceImpl<LeaveSheetMapper, LeaveSh
         dataJson.add(jsonObj2);
         dataJson.add(jsonObj2);
         dataJson.add(jsonObj4);
         dataJson.add(jsonObj4);
         json.put("template_id","tty9TkCAAA4WvYmTnsAVoUmdYxHdSG9A");
         json.put("template_id","tty9TkCAAA4WvYmTnsAVoUmdYxHdSG9A");
-        json.put("url","https://open.weixin.qq.com/connect/oauth2/authorize?appid=ww4e237fd6abb635af&redirect_uri=http://worktime.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=leave#wechat_redirect");
+        json.put("url","https://open.weixin.qq.com/connect/oauth2/authorize?appid=wwdd1137a65ce0fc87&redirect_uri=http://crm.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=leave#wechat_redirect");
         json.put("content_item",dataJson);
         json.put("content_item",dataJson);
         String auditorId = sheet.getAuditorId();
         String auditorId = sheet.getAuditorId();
         User auditor = userMapper.selectById(auditorId);
         User auditor = userMapper.selectById(auditorId);

+ 5 - 5
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -11664,7 +11664,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     public HttpRespMsg syncProjectWithSap(String startDate,String endDate,String projectCodes) {
     public HttpRespMsg syncProjectWithSap(String startDate,String endDate,String projectCodes) {
         HttpRespMsg msg=new HttpRespMsg();
         HttpRespMsg msg=new HttpRespMsg();
         Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
         Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
-        //获取SAP项目服务数据 ----> 工时管家任务分组下阶段作为项目服务数据
+        //获取SAP项目服务数据 ----> 客户管家任务分组下阶段作为项目服务数据
         XmlResponseData projectServiceData= SyncSapUtils.syncServiceData("2020-01-01", endDate, companyId,isDev);
         XmlResponseData projectServiceData= SyncSapUtils.syncServiceData("2020-01-01", endDate, companyId,isDev);
         //已有的项目分类
         //已有的项目分类
         List<ProjectCategory> allProjectCategoryList = projectCategoryMapper.selectList(new QueryWrapper<ProjectCategory>().eq("company_id", companyId));
         List<ProjectCategory> allProjectCategoryList = projectCategoryMapper.selectList(new QueryWrapper<ProjectCategory>().eq("company_id", companyId));
@@ -11729,13 +11729,13 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 project.setProjectName(item.getProjectSummaryTask().getProjectName().getName());
                 project.setProjectName(item.getProjectSummaryTask().getProjectName().getName());
                 project.setProjectCode(item.getProjectSummaryTask().getProjectElementID());
                 project.setProjectCode(item.getProjectSummaryTask().getProjectElementID());
                 project.setCompanyId(companyId);
                 project.setCompanyId(companyId);
-                //处理项目数据 --->工时管家生成对应项目数据
+                //处理项目数据 --->客户管家生成对应项目数据
                 Optional<Project> any = projectList.stream().filter(pt -> pt.getProjectCode().equals(project.getProjectCode())).findAny();
                 Optional<Project> any = projectList.stream().filter(pt -> pt.getProjectCode().equals(project.getProjectCode())).findAny();
                 if(any.isPresent()){
                 if(any.isPresent()){
                     project.setId(any.get().getId());
                     project.setId(any.get().getId());
                 }
                 }
                 saveOrUpdate(project);
                 saveOrUpdate(project);
-                //处理项目下任务 ----> 工时管家生成任务分组
+                //处理项目下任务 ----> 客户管家生成任务分组
                 List<ProjectTask> projectTasks = item.getProjectTasks();
                 List<ProjectTask> projectTasks = item.getProjectTasks();
                 if(projectTasks!=null&&projectTasks.size()>0){
                 if(projectTasks!=null&&projectTasks.size()>0){
                     //找到任务列表中 作为项目出现的第一级列表
                     //找到任务列表中 作为项目出现的第一级列表
@@ -11744,7 +11744,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     //todo:按照层级抽取数据
                     //todo:按照层级抽取数据
                     //项目下第一层 作为任务分组数据
                     //项目下第一层 作为任务分组数据
                     List<ProjectTask> taskGroupList = projectTasks.stream().filter(p -> p.getParentTaskUUID() != null && p.getParentTaskUUID().equals(targetUUID)).collect(Collectors.toList());
                     List<ProjectTask> taskGroupList = projectTasks.stream().filter(p -> p.getParentTaskUUID() != null && p.getParentTaskUUID().equals(targetUUID)).collect(Collectors.toList());
-                    //抽调任务分组下级数据 作为阶段数据(是没有下级数据的情况下 作为最末级--->工时管家任务)
+                    //抽调任务分组下级数据 作为阶段数据(是没有下级数据的情况下 作为最末级--->客户管家任务)
                     List<String> taskGroupUUIDList = taskGroupList.stream().map(ProjectTask::getUUID).collect(Collectors.toList());
                     List<String> taskGroupUUIDList = taskGroupList.stream().map(ProjectTask::getUUID).collect(Collectors.toList());
                     List<ProjectTask> stagesList = projectTasks.stream().filter(p -> p.getParentTaskUUID() != null && taskGroupUUIDList.contains(p.getParentTaskUUID())).collect(Collectors.toList());
                     List<ProjectTask> stagesList = projectTasks.stream().filter(p -> p.getParentTaskUUID() != null && taskGroupUUIDList.contains(p.getParentTaskUUID())).collect(Collectors.toList());
                     List<String> stagesUUIDList = stagesList.stream().map(ProjectTask::getUUID).collect(Collectors.toList());
                     List<String> stagesUUIDList = stagesList.stream().map(ProjectTask::getUUID).collect(Collectors.toList());
@@ -11892,7 +11892,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 }
                 }
             }
             }
         }
         }
-        //处理项目下服务数据 ------->工时管家相关项目下任务分组下创建任务数据
+        //处理项目下服务数据 ------->客户管家相关项目下任务分组下创建任务数据
         List<SapProjectService> serviceList = sapProjectServiceService.list(new LambdaQueryWrapper<SapProjectService>().eq(SapProjectService::getCompanyId, companyId));
         List<SapProjectService> serviceList = sapProjectServiceService.list(new LambdaQueryWrapper<SapProjectService>().eq(SapProjectService::getCompanyId, companyId));
         List<SapProjectService> sapProjectServiceList=new ArrayList<>();
         List<SapProjectService> sapProjectServiceList=new ArrayList<>();
         if(projectServiceData!=null){
         if(projectServiceData!=null){

+ 8 - 8
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -2012,7 +2012,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                                     item2.put("key", "日期");
                                     item2.put("key", "日期");
                                     item2.put("value", report.getCreateDate());
                                     item2.put("value", report.getCreateDate());
                                     dataJson.add(item2);
                                     dataJson.add(item2);
-                                    json.put("url", "https://open.weixin.qq.com/connect/oauth2/authorize?appid=ww4e237fd6abb635af&redirect_uri=http://worktime.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=0#wechat_redirect");
+                                    json.put("url", "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wwdd1137a65ce0fc87&redirect_uri=http://crm.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=0#wechat_redirect");
                                     json.put("content_item", dataJson);
                                     json.put("content_item", dataJson);
                                     wxCorpInfoService.sendWXCorpTemplateMsg(wxCorpInfoList.get(0), u.getCorpwxUserid(), json);
                                     wxCorpInfoService.sendWXCorpTemplateMsg(wxCorpInfoList.get(0), u.getCorpwxUserid(), json);
                                 }
                                 }
@@ -2473,7 +2473,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                                     item2.put("key", "日期");
                                     item2.put("key", "日期");
                                     item2.put("value", report.getCreateDate());
                                     item2.put("value", report.getCreateDate());
                                     dataJson.add(item2);
                                     dataJson.add(item2);
-                                    json.put("url", "https://open.weixin.qq.com/connect/oauth2/authorize?appid=ww4e237fd6abb635af&redirect_uri=http://worktime.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=0#wechat_redirect");
+                                    json.put("url", "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wwdd1137a65ce0fc87&redirect_uri=http://crm.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=0#wechat_redirect");
                                     json.put("content_item", dataJson);
                                     json.put("content_item", dataJson);
                                     wxCorpInfoService.sendWXCorpTemplateMsg(wxCorpInfoList.get(0), u.getCorpwxUserid(), json);
                                     wxCorpInfoService.sendWXCorpTemplateMsg(wxCorpInfoList.get(0), u.getCorpwxUserid(), json);
                                 }
                                 }
@@ -2518,7 +2518,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                                     item3.put("value", report.getCreateDate());
                                     item3.put("value", report.getCreateDate());
                                     dataJson.add(item3);
                                     dataJson.add(item3);
                                     json.put("template_id", "tty9TkCAAAwOgmzwS2uFogWgOmPDdIRQ");
                                     json.put("template_id", "tty9TkCAAAwOgmzwS2uFogWgOmPDdIRQ");
-                                    json.put("url", "https://open.weixin.qq.com/connect/oauth2/authorize?appid=ww4e237fd6abb635af&redirect_uri=http://worktime.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=0#wechat_redirect");
+                                    json.put("url", "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wwdd1137a65ce0fc87&redirect_uri=http://crm.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=0#wechat_redirect");
                                     json.put("content_item", dataJson);
                                     json.put("content_item", dataJson);
                                     wxCorpInfoService.sendWXCorpTemplateMsg(wxCorpInfoList.get(0), u.getCorpwxUserid(), json);
                                     wxCorpInfoService.sendWXCorpTemplateMsg(wxCorpInfoList.get(0), u.getCorpwxUserid(), json);
                                 }
                                 }
@@ -2640,7 +2640,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
         WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder()
         WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder()
                 .toUser(user.getWxOpenid())//要推送的用户openid
                 .toUser(user.getWxOpenid())//要推送的用户openid
                 .templateId(TEMPLATE_REPORT_REJECT)//模版id
                 .templateId(TEMPLATE_REPORT_REJECT)//模版id
-                .url("http://mobworktime.ttkuaiban.com/")//点击模版消息要访问的网址
+                .url("http://mobcrm.ttkuaiban.com/")//点击模版消息要访问的网址
                 .build();
                 .build();
         //3,如果是正式版发送模版消息,这里需要配置你的信息
         //3,如果是正式版发送模版消息,这里需要配置你的信息
         templateMessage.addData(new WxMpTemplateData("first", "你好,您的日报被驳回", "#FF00FF"));
         templateMessage.addData(new WxMpTemplateData("first", "你好,您的日报被驳回", "#FF00FF"));
@@ -2674,7 +2674,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
         WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder()
         WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder()
                 .toUser(user.getWxOpenid())//要推送的用户openid
                 .toUser(user.getWxOpenid())//要推送的用户openid
                 .templateId(TEMPLATE_REPORT_PASS)//模版id
                 .templateId(TEMPLATE_REPORT_PASS)//模版id
-                .url("http://mobworktime.ttkuaiban.com/")//点击模版消息要访问的网址
+                .url("http://mobcrm.ttkuaiban.com/")//点击模版消息要访问的网址
                 .build();
                 .build();
         //3,如果是正式版发送模版消息,这里需要配置你的信息
         //3,如果是正式版发送模版消息,这里需要配置你的信息
         templateMessage.addData(new WxMpTemplateData("first", projectName + "项目,日报审核通过", "#FF00FF"));
         templateMessage.addData(new WxMpTemplateData("first", projectName + "项目,日报审核通过", "#FF00FF"));
@@ -3694,7 +3694,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                                     item2.put("key", "日期");
                                     item2.put("key", "日期");
                                     item2.put("value", report.getCreateDate());
                                     item2.put("value", report.getCreateDate());
                                     dataJson.add(item2);
                                     dataJson.add(item2);
-                                    json.put("url", "https://open.weixin.qq.com/connect/oauth2/authorize?appid=ww4e237fd6abb635af&redirect_uri=http://worktime.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=0#wechat_redirect");
+                                    json.put("url", "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wwdd1137a65ce0fc87&redirect_uri=http://crm.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=0#wechat_redirect");
                                     json.put("content_item", dataJson);
                                     json.put("content_item", dataJson);
                                     wxCorpInfoService.sendWXCorpTemplateMsg(wxCorpInfoList.get(0), u.getCorpwxUserid(), json);
                                     wxCorpInfoService.sendWXCorpTemplateMsg(wxCorpInfoList.get(0), u.getCorpwxUserid(), json);
                                 }
                                 }
@@ -3741,7 +3741,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                                     item3.put("value", report.getCreateDate());
                                     item3.put("value", report.getCreateDate());
                                     dataJson.add(item3);
                                     dataJson.add(item3);
                                     json.put("template_id", "tty9TkCAAAwOgmzwS2uFogWgOmPDdIRQ");
                                     json.put("template_id", "tty9TkCAAAwOgmzwS2uFogWgOmPDdIRQ");
-                                    json.put("url", "https://open.weixin.qq.com/connect/oauth2/authorize?appid=ww4e237fd6abb635af&redirect_uri=http://worktime.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=0#wechat_redirect");
+                                    json.put("url", "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wwdd1137a65ce0fc87&redirect_uri=http://crm.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=0#wechat_redirect");
                                     json.put("content_item", dataJson);
                                     json.put("content_item", dataJson);
                                     wxCorpInfoService.sendWXCorpTemplateMsg(wxCorpInfoList.get(0), u.getCorpwxUserid(), json);
                                     wxCorpInfoService.sendWXCorpTemplateMsg(wxCorpInfoList.get(0), u.getCorpwxUserid(), json);
                                 }
                                 }
@@ -7819,7 +7819,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
         resultList = resultList.stream().filter(r -> r.get("ProjectElementID") != null && !StringUtils.isEmpty(String.valueOf(r.get("ProjectElementID")))).collect(Collectors.toList());
         resultList = resultList.stream().filter(r -> r.get("ProjectElementID") != null && !StringUtils.isEmpty(String.valueOf(r.get("ProjectElementID")))).collect(Collectors.toList());
         List<Integer> taskIds = resultList.stream().map(r -> Integer.valueOf(String.valueOf(r.get("TaskId")))).distinct().collect(Collectors.toList());
         List<Integer> taskIds = resultList.stream().map(r -> Integer.valueOf(String.valueOf(r.get("TaskId")))).distinct().collect(Collectors.toList());
         taskIds.add(-1);
         taskIds.add(-1);
-        //提前推送项目工时(工时管家相关项目任务分组阶段下任务作为SAP服务 预算工时数据推送到SAP)
+        //提前推送项目工时(客户管家相关项目任务分组阶段下任务作为SAP服务 预算工时数据推送到SAP)
         //只推送需要推送日报参与的部分就可以了
         //只推送需要推送日报参与的部分就可以了
         List<Map<String, Object>> pushProjectPlanHour = reportMapper.getProjectPlanData(companyId, taskIds, null, null);
         List<Map<String, Object>> pushProjectPlanHour = reportMapper.getProjectPlanData(companyId, taskIds, null, null);
         ExecutorService executor = Executors.newFixedThreadPool(1);
         ExecutorService executor = Executors.newFixedThreadPool(1);

+ 1 - 1
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/TaskProgressServiceImpl.java

@@ -136,7 +136,7 @@ public class TaskProgressServiceImpl extends ServiceImpl<TaskProgressMapper, Tas
 //                    dataJson.add(jsonObj2);
 //                    dataJson.add(jsonObj2);
 //                    dataJson.add(jsonObj3);
 //                    dataJson.add(jsonObj3);
 //                    json.put("template_id","tty9TkCAAASja8aiHGlheqEHQ7OIpRyg");
 //                    json.put("template_id","tty9TkCAAASja8aiHGlheqEHQ7OIpRyg");
-//                    json.put("url","https://open.weixin.qq.com/connect/oauth2/authorize?appid=ww4e237fd6abb635af&redirect_uri=http://worktime.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=task#wechat_redirect");
+//                    json.put("url","https://open.weixin.qq.com/connect/oauth2/authorize?appid=wwdd1137a65ce0fc87&redirect_uri=http://crm.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=task#wechat_redirect");
 //                    json.put("content_item",dataJson);
 //                    json.put("content_item",dataJson);
 //                    wxCorpInfoService.sendWXCorpTemplateMsg(wxCorpInfo, corpwxUserid, json);
 //                    wxCorpInfoService.sendWXCorpTemplateMsg(wxCorpInfo, corpwxUserid, json);
 //                }
 //                }

+ 4 - 4
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/UserServiceImpl.java

@@ -2641,7 +2641,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
                             jsonObj.put("value", "您"+(StringUtils.isEmpty(date)?"":date)+"的工时报告还未填写");
                             jsonObj.put("value", "您"+(StringUtils.isEmpty(date)?"":date)+"的工时报告还未填写");
                             dataJson.add(jsonObj);
                             dataJson.add(jsonObj);
                             json.put("template_id","tty9TkCAAAYoevY-40ciWD5lDncDfR5w");
                             json.put("template_id","tty9TkCAAAYoevY-40ciWD5lDncDfR5w");
-                            json.put("url", "https://open.weixin.qq.com/connect/oauth2/authorize?appid=ww4e237fd6abb635af&redirect_uri=http://worktime.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=0#wechat_redirect");
+                            json.put("url", "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wwdd1137a65ce0fc87&redirect_uri=http://crm.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=0#wechat_redirect");
                             json.put("content_item",dataJson);
                             json.put("content_item",dataJson);
                             if (cpList.size() > 0) {
                             if (cpList.size() > 0) {
                                 wxCorpInfoService.sendWXCorpTemplateMsg(cpList.get(0), corpUid, json);
                                 wxCorpInfoService.sendWXCorpTemplateMsg(cpList.get(0), corpUid, json);
@@ -3132,7 +3132,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
         WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder()
         WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder()
                 .toUser(user.getWxOpenid())//要推送的用户openid
                 .toUser(user.getWxOpenid())//要推送的用户openid
                 .templateId(TEMPLATE_REPORT_FILL)//模版id
                 .templateId(TEMPLATE_REPORT_FILL)//模版id
-                .url("http://mobworktime.ttkuaiban.com/#/edit")//点击模版消息要访问的网址
+                .url("http://mobcrm.ttkuaiban.com/#/edit")//点击模版消息要访问的网址
                 .build();
                 .build();
         //3,如果是正式版发送模版消息,这里需要配置你的信息
         //3,如果是正式版发送模版消息,这里需要配置你的信息
         templateMessage.addData(new WxMpTemplateData("first", "您"+date+"的工时报告还未填写", "#FF00FF"));
         templateMessage.addData(new WxMpTemplateData("first", "您"+date+"的工时报告还未填写", "#FF00FF"));
@@ -3315,9 +3315,9 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
             }
             }
         }
         }
         if (isMobile) {
         if (isMobile) {
-            redirecUrl = "https://mobworktime.ttkuaiban.com/#/" + router;
+            redirecUrl = "https://mobcrm.ttkuaiban.com/#/" + router;
         } else {
         } else {
-            redirecUrl = "https://worktime.ttkuaiban.com/#/" + router;
+            redirecUrl = "https://crm.ttkuaiban.com/#/" + router;
         }
         }
         ModelAndView modelAndView = new ModelAndView(
         ModelAndView modelAndView = new ModelAndView(
                 new RedirectView(redirecUrl), reqParam);
                 new RedirectView(redirecUrl), reqParam);

+ 5 - 5
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/WxCorpInfoServiceImpl.java

@@ -272,9 +272,9 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
             String title = "";
             String title = "";
             String jumpUrl ;
             String jumpUrl ;
             if(isPrivateDeploy){
             if(isPrivateDeploy){
-                jumpUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=ww4e237fd6abb635af&redirect_uri="+pcUrl+"&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";
+                jumpUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wwdd1137a65ce0fc87&redirect_uri="+pcUrl+"&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";
             }else {
             }else {
-                jumpUrl="https://open.weixin.qq.com/connect/oauth2/authorize?appid=ww4e237fd6abb635af&redirect_uri=http://worktime.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";
+                jumpUrl="https://open.weixin.qq.com/connect/oauth2/authorize?appid=wwdd1137a65ce0fc87&redirect_uri=http://crm.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";
             }
             }
 
 
             if (StringUtils.isEmpty(pageRouter)) {
             if (StringUtils.isEmpty(pageRouter)) {
@@ -308,7 +308,7 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
                 }
                 }
                 else if ("task".equals(pageRouter)) {
                 else if ("task".equals(pageRouter)) {
                     //费用报销
                     //费用报销
-                    title = "工时管家:任务到期通知";
+                    title = "客户管家:任务到期通知";
                 }
                 }
             }
             }
             cardJson.put("title", title);
             cardJson.put("title", title);
@@ -452,7 +452,7 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
     @Override
     @Override
     public String testDownloadFile() {
     public String testDownloadFile() {
         try {
         try {
-            String url = "http://worktime.ttkuaiban.com/upload/bc4df504fa724e6cab69872e2c1cfb35.png";
+            String url = "http://crm.ttkuaiban.com/upload/bc4df504fa724e6cab69872e2c1cfb35.png";
             HttpHeaders headers = new HttpHeaders();
             HttpHeaders headers = new HttpHeaders();
             ResponseEntity<byte[]> entity = restTemplate.exchange(url, HttpMethod.GET, new HttpEntity<>(headers), byte[].class);
             ResponseEntity<byte[]> entity = restTemplate.exchange(url, HttpMethod.GET, new HttpEntity<>(headers), byte[].class);
             byte[] body = entity.getBody();
             byte[] body = entity.getBody();
@@ -2145,7 +2145,7 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
             shares.add(user);
             shares.add(user);
         }
         }
         calendar.put("admins",split);
         calendar.put("admins",split);
-        calendar.put("summary","工时管家任务");
+        calendar.put("summary","客户管家任务");
         calendar.put("color","#0000FF");
         calendar.put("color","#0000FF");
         calendar.put("description",description);
         calendar.put("description",description);
         calendar.put("is_public",0);
         calendar.put("is_public",0);

+ 1 - 1
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/util/MD5Util.java

@@ -22,7 +22,7 @@ public class MD5Util {
     }
     }
 
 
     public static void main(String[] args) throws ParseException {
     public static void main(String[] args) throws ParseException {
-        System.out.println(getPassword("工时管家"));
+        System.out.println(getPassword("客户管家"));
 
 
     }
     }
 
 

+ 5 - 5
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/util/SyncSapUtils.java

@@ -24,7 +24,7 @@ import java.util.stream.Collectors;
 public class SyncSapUtils {
 public class SyncSapUtils {
 
 
 
 
-    //工时管家推送项目任务计划工时数据到SAP
+    //客户管家推送项目任务计划工时数据到SAP
     public static List<SapSyncLog> pushProjectPlanToSap(List<Map<String, Object>> mapList, Integer companyId, String operator,boolean isDev) {
     public static List<SapSyncLog> pushProjectPlanToSap(List<Map<String, Object>> mapList, Integer companyId, String operator,boolean isDev) {
         //根据项目分组 按照项目推送
         //根据项目分组 按照项目推送
         //获取当前数据中的所有项目编号
         //获取当前数据中的所有项目编号
@@ -119,7 +119,7 @@ public class SyncSapUtils {
         return sapSyncLogs;
         return sapSyncLogs;
     }
     }
 
 
-    //推送工时管家填报考勤数据到SAP
+    //推送客户管家填报考勤数据到SAP
     public static String pushReportToSap(Map<String,Object> map,boolean isDev){
     public static String pushReportToSap(Map<String,Object> map,boolean isDev){
         //配置xml请求参数
         //配置xml请求参数
         XmlRequestData xmlRequestData=new XmlRequestData();
         XmlRequestData xmlRequestData=new XmlRequestData();
@@ -198,7 +198,7 @@ public class SyncSapUtils {
     }
     }
 
 
 
 
-    //同步SAP项目数据到工时管家
+    //同步SAP项目数据到客户管家
     public static XmlResponseData syncProjectFromSap(String startDate, String endDate,String projectCodes,boolean isDev) {
     public static XmlResponseData syncProjectFromSap(String startDate, String endDate,String projectCodes,boolean isDev) {
         //配置请求xml
         //配置请求xml
         XmlRequestData xmlRequestData=new XmlRequestData();
         XmlRequestData xmlRequestData=new XmlRequestData();
@@ -268,7 +268,7 @@ public class SyncSapUtils {
     }
     }
 
 
 
 
-    //同步SAP项目数据到工时管家
+    //同步SAP项目数据到客户管家
     public static XmlResponseData getHasPushForSap(String startDate, String endDate,String employeeID,boolean isDev) {
     public static XmlResponseData getHasPushForSap(String startDate, String endDate,String employeeID,boolean isDev) {
         //配置请求xml
         //配置请求xml
         XmlRequestData xmlRequestData=new XmlRequestData();
         XmlRequestData xmlRequestData=new XmlRequestData();
@@ -329,7 +329,7 @@ public class SyncSapUtils {
     }
     }
 
 
 
 
-    //同步SAP项目服务数据到工时管家
+    //同步SAP项目服务数据到客户管家
     public static XmlResponseData syncServiceData(String startDate, String endDate, Integer companyId,boolean isDev) {
     public static XmlResponseData syncServiceData(String startDate, String endDate, Integer companyId,boolean isDev) {
         //配置请求xml
         //配置请求xml
         XmlRequestData xmlRequestData=new XmlRequestData();
         XmlRequestData xmlRequestData=new XmlRequestData();

+ 2 - 2
fhKeeper/formulahousekeeper/management-crm/src/main/resources/application.yml

@@ -106,7 +106,7 @@ picrecongnize:
   develop: C:/picrecongnize/develop/
   develop: C:/picrecongnize/develop/
   im: C:/picrecongnize/im/
   im: C:/picrecongnize/im/
   design: C:/picrecongnize/design/
   design: C:/picrecongnize/design/
-# 智能工时管家公众号参数
+# 智能客户管家公众号参数
 wx:
 wx:
   template_report_fill: lhwkaW9BKwCvMtCuoAxLw4lZoGgMaucL0Ap0Vz-5KOY
   template_report_fill: lhwkaW9BKwCvMtCuoAxLw4lZoGgMaucL0Ap0Vz-5KOY
   app_id: wx749c84daac654e1e
   app_id: wx749c84daac654e1e
@@ -168,7 +168,7 @@ sftp:
   isEnabled: false
   isEnabled: false
   server: 101.132.166.205
   server: 101.132.166.205
   port: 22022
   port: 22022
-  remoteDir: /bkup/timesheet
+  remoteDir: /bkup/crm
   user: root
   user: root
   password: Huoshi@2022
   password: Huoshi@2022