zhouyy пре 4 месеци
родитељ
комит
7e4b6f976e

+ 18 - 4
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/BusinessOpportunityController.java

@@ -146,7 +146,12 @@ public class BusinessOpportunityController {
 
                 if(model.equals("inchargerId")){
                     if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
-                        value = "$userName="+String.valueOf(aClass.getMethod("getInchargerName").invoke(data))+"$";
+                        if(null == aClass.getMethod("getInchargerName").invoke(data)){
+                            value = "";
+                        }else{
+                            value = "$userName="+String.valueOf(aClass.getMethod("getInchargerName").invoke(data))+"$";
+                        }
+//                        value = "$userName="+String.valueOf(aClass.getMethod("getInchargerName").invoke(data))+"$";
                     }else {
                         value = String.valueOf(aClass.getMethod("getInchargerName").invoke(data)).equals("null") ? "" :String.valueOf(aClass.getMethod("getInchargerName").invoke(data));
                     }
@@ -158,7 +163,7 @@ public class BusinessOpportunityController {
                     value = String.valueOf(aClass.getMethod("getContactsName").invoke(data)).equals("null")?"":String.valueOf(aClass.getMethod("getContactsName").invoke(data));
                 }
                 if(model.equals("customerId")){
-                    value = String.valueOf(aClass.getMethod("getCustomerName").invoke(data));
+                    value = String.valueOf(null == aClass.getMethod("getCustomerName").invoke(data)?"":aClass.getMethod("getCustomerName").invoke(data));
                 }
                 if(model.equals("expectedTransactionDate")){
                     LocalDate date = (LocalDate) aClass.getMethod("getExpectedTransactionDate").invoke(data);
@@ -170,10 +175,19 @@ public class BusinessOpportunityController {
                         value = "";
                 }                }
                 if(model.equals("stageId")){
-                    value = String.valueOf(aClass.getMethod("getStageValue").invoke(data));
+                    value = String.valueOf(null == aClass.getMethod("getStageValue").invoke(data)?"":aClass.getMethod("getStageValue").invoke(data));
                 }
                 if(model.equals("creatorId")){
-                    value = String.valueOf(aClass.getMethod("getCreatorName").invoke(data));
+                    if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
+                        if(null == aClass.getMethod("getCreatorName").invoke(data)){
+                            value = "";
+                        }else{
+                            value = "$userName="+String.valueOf(aClass.getMethod("getCreatorName").invoke(data))+"$";
+                        }
+                    }else {
+                        value = String.valueOf(aClass.getMethod("getCreatorName").invoke(data)).equals("null") ? "" :String.valueOf(aClass.getMethod("getCreatorName").invoke(data));
+                    }
+//                    value = String.valueOf(null == aClass.getMethod("getCreatorName").invoke(data)?"":aClass.getMethod("getCreatorName").invoke(data));
                 }
 
                 item.add(value);

+ 9 - 4
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/ClueController.java

@@ -253,7 +253,12 @@ public class ClueController {
 
                 if(model.equals("inchargerId")){
                     if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
-                        value = "$userName="+String.valueOf(aClass.getMethod("getInchargerName").invoke(data))+"$";
+                        if(null == aClass.getMethod("getInchargerName").invoke(data)){
+                            value = "";
+                        }else{
+                            value = "$userName="+String.valueOf(aClass.getMethod("getInchargerName").invoke(data))+"$";
+                        }
+//                        value = "$userName="+String.valueOf(aClass.getMethod("getInchargerName").invoke(data))+"$";
                     }else {
                         value = String.valueOf(aClass.getMethod("getInchargerName").invoke(data)).equals("null") ? "" :String.valueOf(aClass.getMethod("getInchargerName").invoke(data));
                     }
@@ -262,13 +267,13 @@ public class ClueController {
                 }
 
                 if(model.equals("clueSourceId")){
-                    value = String.valueOf(aClass.getMethod("getClueSourceValue").invoke(data));
+                    value = String.valueOf(null == aClass.getMethod("getClueSourceValue").invoke(data)?"":aClass.getMethod("getClueSourceValue").invoke(data));
                 }
                 if(model.equals("customerLevelId")){
-                    value = String.valueOf(aClass.getMethod("getCustomerLevelValue").invoke(data));
+                    value = String.valueOf(null == aClass.getMethod("getCustomerLevelValue").invoke(data)?"":aClass.getMethod("getCustomerLevelValue").invoke(data));
                 }
                 if(model.equals("customerIndustryId")){
-                    value = String.valueOf(aClass.getMethod("getCustomerIndustryValue").invoke(data));
+                    value = String.valueOf(null == aClass.getMethod("getCustomerIndustryValue").invoke(data)?"":aClass.getMethod("getCustomerIndustryValue").invoke(data));
                 }
                 item.add(value);
             }

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

@@ -407,6 +407,10 @@ public class ContactsServiceImpl extends ServiceImpl<ContactsMapper, Contacts> i
             contactsVo.setContactsDocumentList(contactsDocuments);
             if (contactsVo.getCustomId()!=null){
                 Custom custom = customMapper.selectById(contactsVo.getCustomId());
+                if(null == custom){
+                    msg.setError("客户不存在");
+                    return msg;
+                }
                 contactsVo.setCustomName(custom.getCustomName());
             }
             if (StringUtils.isNotEmpty(contactsVo.getOwnerId())){
@@ -746,7 +750,12 @@ public class ContactsServiceImpl extends ServiceImpl<ContactsMapper, Contacts> i
                 }
                 else if(model.equals("ownerId")){
                     if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
-                        value = "$userName="+String.valueOf(aClass.getMethod("getOwnerName").invoke(contactsVo))+"$";
+                        if(null == aClass.getMethod("getOwnerName").invoke(contactsVo)){
+                            value = "";
+                        }else{
+                            value = "$userName="+String.valueOf(aClass.getMethod("getOwnerName").invoke(contactsVo))+"$";
+                        }
+//                        value = "$userName="+String.valueOf(aClass.getMethod("getOwnerName").invoke(contactsVo))+"$";
                     }else {
                         value = String.valueOf(aClass.getMethod("getOwnerName").invoke(contactsVo)).equals("null") ? "" :String.valueOf(aClass.getMethod("getOwnerName").invoke(contactsVo));
                     }

+ 3 - 3
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/ContractServiceImpl.java

@@ -290,7 +290,7 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract> i
         for (ContractPageVO contract : data) {
             ArrayList<String> item = new ArrayList<>();
             item.add(contract.getNumber()==null?"":contract.getNumber());
-            item.add(contract.getName());
+            item.add(null == contract.getName()?"":contract.getName());
             item.add(contract.getStartDate()==null?"":contract.getStartDate()+"");
             item.add(contract.getEndDate()==null?"":contract.getEndDate()+"");
             if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
@@ -304,7 +304,7 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract> i
                 bigDecimal = new BigDecimal(contract.getAmounts().toString()).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             item.add(contract.getAmounts()==null?"":bigDecimal + "");
-            item.add(contract.getTypeName());
+            item.add(null == contract.getTypeName()?"":contract.getTypeName());
             switch (contract.getStatus()){
                 case 0 :
                     item.add("审核通过");
@@ -318,7 +318,7 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract> i
                 default:
                     item.add("_");
             }
-            item.add(contract.getIndate().toString());
+            item.add(null == contract.getIndate()?"":contract.getIndate().toString());
             item.add(contract.getRemarks()==null?"":contract.getRemarks());
             allList.add(item);
         }

+ 12 - 6
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/ProductServiceImpl.java

@@ -483,13 +483,16 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
                                 }
                             }
                             if(model.equals("unit")){
-                                value = String.valueOf(aClass.getMethod("getUnitName").invoke(product));
+                                value = String.valueOf(null == aClass.getMethod("getUnitName").invoke(product)?"":aClass.getMethod("getUnitName").invoke(product));
                             }
                             if(model.equals("type")){
-                                value = String.valueOf(aClass.getMethod("getTypeName").invoke(product));
+                                value = String.valueOf(null == aClass.getMethod("getTypeName").invoke(product)?"":aClass.getMethod("getTypeName").invoke(product));
                             }
                             if(model.equals("status")){
-                                value = Integer.valueOf(String.valueOf(aClass.getMethod("getStatus").invoke(product)))==0?"下架":"上架";
+                                if(null != aClass.getMethod("getStatus").invoke(product)){
+                                    value = Integer.valueOf(String.valueOf(aClass.getMethod("getStatus").invoke(product)))==0?"下架":"上架";
+                                }
+//                                value = Integer.valueOf(String.valueOf(aClass.getMethod("getStatus").invoke(product)))==0?"下架":"上架";
                             }
                             item.add(value);
                         }
@@ -507,13 +510,16 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
                         }
                     }
                     if(model.equals("unit")){
-                        value = String.valueOf(aClass.getMethod("getUnitName").invoke(product));
+                        value = String.valueOf(null == aClass.getMethod("getUnitName").invoke(product)?"":aClass.getMethod("getUnitName").invoke(product));
                     }
                     if(model.equals("type")){
-                        value = String.valueOf(aClass.getMethod("getTypeName").invoke(product));
+                        value = String.valueOf(null == aClass.getMethod("getTypeName").invoke(product)?"":aClass.getMethod("getTypeName").invoke(product));
                     }
                     if(model.equals("status")){
-                        value = Integer.valueOf(String.valueOf(aClass.getMethod("getStatus").invoke(product)))==0?"下架":"上架";
+                        if(null != aClass.getMethod("getStatus").invoke(product)){
+                            value = Integer.valueOf(String.valueOf(aClass.getMethod("getStatus").invoke(product)))==0?"下架":"上架";
+                        }
+//                        value = Integer.valueOf(String.valueOf(aClass.getMethod("getStatus").invoke(product)))==0?"下架":"上架";
                     }
                     item.add(value);
                 }

+ 16 - 10
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/SalesOrderServiceImpl.java

@@ -924,16 +924,19 @@ public class SalesOrderServiceImpl extends ServiceImpl<SalesOrderMapper, SalesOr
                             String value = String.valueOf(aClass.getMethod("get" + targetName).invoke(salesOrder)==null?"":aClass.getMethod("get" + targetName).invoke(salesOrder));
                             if(model.equals("inchargerId")){
                                 if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
-                                    value = "$userName="+String.valueOf(aClass.getMethod("getInchargerName").invoke(salesOrder))+"$";
+                                    if(null != aClass.getMethod("getInchargerName").invoke(salesOrder)){
+                                        value = "$userName="+String.valueOf(aClass.getMethod("getInchargerName").invoke(salesOrder))+"$";
+                                    }
+//                                    value = "$userName="+String.valueOf(aClass.getMethod("getInchargerName").invoke(salesOrder))+"$";
                                 }else {
-                                    value = String.valueOf(aClass.getMethod("getInchargerName").invoke(salesOrder));
+                                    value = String.valueOf(null == aClass.getMethod("getInchargerName").invoke(salesOrder)?"":aClass.getMethod("getInchargerName").invoke(salesOrder));
                                 }
                             }
                             if(model.equals("customId")){
-                                value = String.valueOf(aClass.getMethod("getCustomName").invoke(salesOrder));
+                                value = String.valueOf(null == aClass.getMethod("getCustomName").invoke(salesOrder)?"":aClass.getMethod("getCustomName").invoke(salesOrder));
                             }
                             if(model.equals("businessOpportunityId")){
-                                value = String.valueOf(aClass.getMethod("getBusinessOpportunityName").invoke(salesOrder));
+                                value = String.valueOf(null == aClass.getMethod("getBusinessOpportunityName").invoke(salesOrder)?"":aClass.getMethod("getBusinessOpportunityName").invoke(salesOrder));
                             }
                             if(model.equals("customSigner")){
                                 if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
@@ -954,7 +957,7 @@ public class SalesOrderServiceImpl extends ServiceImpl<SalesOrderMapper, SalesOr
 //                                value = String.valueOf(aClass.getMethod("getCompanySignerName").invoke(salesOrder)==null?"":aClass.getMethod("getCompanySignerName").invoke(salesOrder));
                             }
                             if(model.equals("type")){
-                                value = String.valueOf(aClass.getMethod("getTypeName").invoke(salesOrder));
+                                value = String.valueOf(null == aClass.getMethod("getTypeName").invoke(salesOrder)?"":aClass.getMethod("getTypeName").invoke(salesOrder));
                             }
                             item.add(value);
                         }
@@ -966,16 +969,19 @@ public class SalesOrderServiceImpl extends ServiceImpl<SalesOrderMapper, SalesOr
                     String value = String.valueOf(aClass.getMethod("get" + targetName).invoke(salesOrder)==null?"":aClass.getMethod("get" + targetName).invoke(salesOrder));
                     if(model.equals("inchargerId")){
                         if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
-                            value = "$userName="+String.valueOf(aClass.getMethod("getInchargerName").invoke(salesOrder))+"$";
+                            if(null != aClass.getMethod("getInchargerName").invoke(salesOrder)){
+                                value = "$userName="+String.valueOf(aClass.getMethod("getInchargerName").invoke(salesOrder))+"$";
+                            }
+//                            value = "$userName="+String.valueOf(aClass.getMethod("getInchargerName").invoke(salesOrder))+"$";
                         }else {
-                            value = String.valueOf(aClass.getMethod("getInchargerName").invoke(salesOrder));
+                            value = String.valueOf(null == aClass.getMethod("getInchargerName").invoke(salesOrder)?"":aClass.getMethod("getInchargerName").invoke(salesOrder));
                         }
                     }
                     if(model.equals("customId")){
-                        value = String.valueOf(aClass.getMethod("getCustomName").invoke(salesOrder));
+                        value = String.valueOf(null == aClass.getMethod("getCustomName").invoke(salesOrder)?"":aClass.getMethod("getCustomName").invoke(salesOrder));
                     }
                     if(model.equals("businessOpportunityId")){
-                        value = String.valueOf(aClass.getMethod("getBusinessOpportunityName").invoke(salesOrder));
+                        value = String.valueOf(null == aClass.getMethod("getBusinessOpportunityName").invoke(salesOrder)?"":aClass.getMethod("getBusinessOpportunityName").invoke(salesOrder));
                     }
                     if(model.equals("customSigner")){
                         value = String.valueOf(aClass.getMethod("getCustomSignerName").invoke(salesOrder)==null?"":aClass.getMethod("getCustomSignerName").invoke(salesOrder));
@@ -984,7 +990,7 @@ public class SalesOrderServiceImpl extends ServiceImpl<SalesOrderMapper, SalesOr
                         value = String.valueOf(aClass.getMethod("getCompanySignerName").invoke(salesOrder)==null?"":aClass.getMethod("getCompanySignerName").invoke(salesOrder));
                     }
                     if(model.equals("type")){
-                        value = String.valueOf(aClass.getMethod("getTypeName").invoke(salesOrder));
+                        value = String.valueOf(null == aClass.getMethod("getTypeName").invoke(salesOrder)?"":aClass.getMethod("getTypeName").invoke(salesOrder));
                     }
                     item.add(value);
                 }

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

@@ -2443,18 +2443,61 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
                  * 异步上传转译文件的任务完成时会触发回调,在WeiXinCorpController中的commonDevCallbackPost实现了对回调的处理,存储到corpwxJobResult表中
                  * 此处轮询查询本地数据库,检测到有任务的回调数据时继续执行查询操作
                  */
-                while (i < 10) {
-                    Thread.sleep(300);
-                    CorpwxJobResult corpwxJobResult = corpwxJobCenter.get(jobId);
-                    if (corpwxJobResult != null) {
-                        if (corpwxJobResult.getErrCode() == 0) {
-                            syncTranslationResult = wxCorpInfoService.getSyncTranslationResult(jobId);
-                            corpwxJobCenter.remove(jobId);
-                        } else {
-                            httpRespMsg.setError(corpwxJobResult.getErrMsg());
-                            return httpRespMsg;
+//                while (i < 10) {
+//                    Thread.sleep(300);
+//                    CorpwxJobResult corpwxJobResult = corpwxJobCenter.get(jobId);
+//                    if (corpwxJobResult != null) {
+//                        if (corpwxJobResult.getErrCode() == 0) {
+//                            syncTranslationResult = wxCorpInfoService.getSyncTranslationResult(jobId);
+//                            corpwxJobCenter.remove(jobId);
+//                        } else {
+//                            httpRespMsg.setError(corpwxJobResult.getErrMsg());
+//                            return httpRespMsg;
+//                        }
+//                        break;
+//                    }
+//                    i++;
+//                }
+                long t = System.currentTimeMillis();
+                while (i < 40) {
+                    if (i < 10) {
+                        Thread.sleep(300);
+                    } else if (i < 20){
+                        Thread.sleep(1000);
+                    } else {
+                        Thread.sleep(3000);
+                    }
+                    System.out.println("i=="+i+", "+LocalDateTime.now());
+                    //直接循环调用接口,后面需要改成通过redis获取jobId对应的消息,再去调用接口
+                    Object map = redisUtil.getString("corpwxJobCenter"+jobId);
+                    if (map != null) {
+                        org.json.JSONObject jsonObject = new org.json.JSONObject(map.toString());
+                        System.out.println("通过redis获取到企业微信上传回调的数据=="+jsonObject);
+                        String infoType = jsonObject.getString("InfoType");
+                        if ("batch_job_result".equals(infoType)) {
+                            org.json.JSONObject batchJob = jsonObject.getJSONObject("BatchJob");
+                            String jobType = batchJob.getString("JobType");
+                            String authCorpId = jsonObject.getString("AuthCorpId");
+                            CorpwxJobResult corpwxJobResult = new CorpwxJobResult();
+                            corpwxJobResult.setAuthCorpId(authCorpId);
+                            corpwxJobResult.setErrCode(batchJob.getInt("ErrCode"));
+                            corpwxJobResult.setErrMsg(batchJob.getString("ErrMsg"));
+                            corpwxJobResult.setJobId(jobId);
+                            corpwxJobResult.setJobType(jobType);
+                            corpwxJobResultMapper.insert(corpwxJobResult);
+                            if (corpwxJobResult != null) {
+                                if (corpwxJobResult.getErrCode() == 0) {
+                                    syncTranslationResult = wxCorpInfoService.getSyncTranslationResult(jobId);
+                                    corpwxJobCenter.remove(jobId);
+                                } else {
+                                    long t2 = System.currentTimeMillis();
+                                    System.out.println("222企业微信转译报错:"+corpwxJobResult.getErrMsg()+",耗时:" + (t2 - t) + "ms");
+                                    httpRespMsg.setError(corpwxJobResult.getErrMsg());
+                                    return httpRespMsg;
+                                }
+                                break;
+                            }
                         }
-                        break;
                     }
                     i++;
                 }