yaozhixue преди 1 година
родител
ревизия
116d7078ee

+ 2 - 6
src/main/java/com/zfire/jiasm/syncdata/download/order/SaleOrderEvaluate.java

@@ -35,12 +35,8 @@ public class SaleOrderEvaluate {
 
         log.info("自建工单完工评价短信开始处理: \uF0B7{}",sdf.format(new Date()));
 
-        try{
-            addInstallBusiness.getOrderAppraiseSelf();
-        } catch (Exception ex) {
-            ex.printStackTrace();
-            log.info("自建工单完工评价短信处理失败: \uF0B7{}",sdf.format(new Date()));
-        }
+        addInstallBusiness.getOrderAppraiseSelf();
+
         log.info("自建工单完工评价短信处理完成: \uF0B7{}",sdf.format(new Date()));
     }
 

+ 46 - 27
src/main/java/com/zfire/jiasm/syncdata/service/impl/AddInstallBusinessImpl.java

@@ -509,6 +509,8 @@ public class AddInstallBusinessImpl implements AddInstallBusiness {
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void getOrderAppraiseSelf() {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
         // 提取需要处理的数据
         List<ItfReceiveSms> irsms = itfReceiveSmsService.lambdaQuery()
                 .eq(ItfReceiveSms::getSynStatus,0)
@@ -517,39 +519,55 @@ public class AddInstallBusinessImpl implements AddInstallBusiness {
                 .list();
 
         for (ItfReceiveSms item:irsms){
-            // 提取工单信息 部分工单可能不在平台系统中,不在的不处理
-            // 同步工单回复信息 这里使用手机号+发送码来确认 存在无对应的情况不处理
-            // 最近两个月的一定只有一条,为防止出现问题,用list
-            SmsRecord smsRecord = smsRecordService.lambdaQuery()
-                    .eq(SmsRecord::getPhone, item.getFromNum())
-                    .eq(SmsRecord::getFsma, item.getSubappend())
-                    .ge(SmsRecord::getCreateTime,publicService.stepMonth(new Date(),-2))
-                    .last("limit 1").one();
+            try {
+                // 提取工单信息 部分工单可能不在平台系统中,不在的不处理
+                // 同步工单回复信息 这里使用手机号+发送码来确认 存在无对应的情况不处理
+                // 最近两个月的一定只有一条,为防止出现问题,用list
+                SmsRecord smsRecord = smsRecordService.lambdaQuery()
+                        .eq(SmsRecord::getPhone, item.getFromNum())
+                        .eq(SmsRecord::getFsma, item.getSubappend())
+                        .ge(SmsRecord::getCreateTime,publicService.stepMonth(new Date(),-2))
+                        .last("limit 1").one();
 
-            // 无工单数据不处理
-            if (smsRecord == null){
-                setItfReceiveSmsstatus(item,9,"找不到对应的工单不处理");
-                continue;
-            }
-            // 提取工单数据 只处理自建工单
-            OrderBase orderBase = orderBaseService.lambdaQuery()
-                    .eq(OrderBase::getId,smsRecord.getOrderBaseId())
-                    .eq(OrderBase::getUploadFlag,Boolean.FALSE).one();
-            if (orderBase == null){
-                setItfReceiveSmsstatus(item,9,"【"+smsRecord.getOrderBaseId()+"】非自建工单不处理");
-                continue;
-            }
+                // 无工单数据不处理
+                if (smsRecord == null){
+                    setItfReceiveSmsstatus(item,9,"找不到对应的工单不处理");
+                    continue;
+                }
+                // 提取工单数据 只处理自建工单
+                OrderBase orderBase = orderBaseService.lambdaQuery()
+                        .eq(OrderBase::getId,smsRecord.getOrderBaseId())
+                        .eq(OrderBase::getUploadFlag,Boolean.FALSE).one();
+                if (orderBase == null){
+                    setItfReceiveSmsstatus(item,9,"【"+smsRecord.getOrderBaseId()+"】非自建工单不处理");
+                    continue;
+                }
 
-            // 按记录处理
-            if (processOrderAppraise(item, orderBase)) {
-                continue;
-            }
+                // 按记录处理
+                if (processOrderAppraise(item, orderBase)) {
+                    continue;
+                }
+
+                setItfReceiveSmsstatus(item,1,"成功");
 
-            setItfReceiveSmsstatus(item,1,"成功");
+            }  catch (Exception ex) {
+                ex.printStackTrace();
+                item.setSynTime(new Date());
+                String msg = "自建工单完工评价短信处理失败: ";
+                if (ex.getMessage()!=null){
+                    msg = msg + ex.getMessage();
+                }
+                item.setSynErrMsg(msg);
+                if (msg.length()>255){
+                    item.setSynErrMsg(msg.substring(0,255));
+                }
+                item.updateById();
+                log.info("自建工单完工评价短信处理失败: \uF0B7{}",sdf.format(new Date()));
+            }
         }
 
         // 更新同步状态
-        itfReceiveSmsService.updateBatchById(irsms);
+        //itfReceiveSmsService.updateBatchById(irsms);
         irsms.clear();
     }
 
@@ -674,6 +692,7 @@ public class AddInstallBusinessImpl implements AddInstallBusiness {
         item.setSynStatus(synStatus);
         item.setSynTime(new Date());
         item.setSynErrMsg(msg);
+        item.updateById();
     }
 
     public void addOrUpdateOrderDataApi(ItfTblAzAssignLcLsDownload item,