yaozhixue 1 年之前
父节点
当前提交
1ebcd26280

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/download/basedata/GLPPGFWebsitWorker.java

@@ -109,7 +109,7 @@ public class GLPPGFWebsitWorker {
 
     /**
      * 数据同步到本地表
-     * 师傅信息一定新增
+     * 师傅信息一定新增 - 多次变到后无则新增,有则修改
      */
     @Scheduled(fixedDelayString = "${gfwww}")
     private void processData() {

+ 23 - 1
src/main/java/com/zfire/jiasm/syncdata/sendmessage/SMSGetArrived.java

@@ -1,6 +1,8 @@
 package com.zfire.jiasm.syncdata.sendmessage;
 
+import com.alibaba.fastjson.JSONObject;
 import com.zfire.jiasm.syncdata.constant.TaskConfigEnum;
+import com.zfire.jiasm.syncdata.pojo.bo.DownRepairOrderGD;
 import com.zfire.jiasm.syncdata.service.impl.SMSSelfGetArrivedServiceImpl;
 import com.zfire.jiasm.syncdata.utils.SMSSelfManager;
 import lombok.extern.slf4j.Slf4j;
@@ -20,12 +22,15 @@ import java.util.Date;
 public class SMSGetArrived {
     @Value("${qmsgsendc}")
     private String qmsgsendc = "";
+    @Value("${syncsmsflag}")
+    private String syncsmsflag = "";
     @Autowired
     private SMSSelfManager smsSelfManager;
     @Autowired
     private SMSSelfGetArrivedServiceImpl smsSelfGetArrivedServiceImpl;
 
 
+
     @Scheduled(fixedDelayString = "${qmsgsend}")
     private void process() {
         if (qmsgsendc.equals(TaskConfigEnum.FALSE.getCode())){
@@ -36,7 +41,24 @@ public class SMSGetArrived {
 
         try {
             log.info("开始查询短信状态报告: \uF0B7{}",sdf.format(new Date()));
-            smsSelfGetArrivedServiceImpl.insertData(smsSelfManager.getArrived());
+
+            // 从工单系统中获取
+            if ("TRUE".equals(syncsmsflag)){
+                DownRepairOrderGD data = smsSelfManager.getArrivedGD("sync/smsorder");
+                // 存在时不再同步
+                if (smsSelfGetArrivedServiceImpl.getSyncSmsOrderById(data.getId())){
+                    // 数据同步
+                    smsSelfGetArrivedServiceImpl.insertDataGD(data);
+                }
+
+                // 与总部进行状态同步
+                smsSelfGetArrivedServiceImpl.syncSmsOrderStatus();
+
+            } else {
+                JSONObject data = smsSelfManager.getArrived();
+                smsSelfGetArrivedServiceImpl.insertData(data);
+            }
+
             log.info("查询短信状态报告结束: \uF0B7{}",sdf.format(new Date()));
         } catch (Exception ex) {
             log.error("查询短信状态报告失败", ex);

+ 74 - 135
src/main/java/com/zfire/jiasm/syncdata/service/impl/GLPPGFWebsitWorkerServiceImpl.java

@@ -89,7 +89,7 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
 
     @Override
     public void inputWorkerData(){
-        // 新增师傅数据 只新增不修改
+        // 新增师傅数据 只新增不修改  修改为支持修改
         inputDataWorker();
     }
 
@@ -115,7 +115,7 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
                     .eq(ItfTblWangdianWxgDownload::getWebsitWorkerStatus,0)
                     .in(ItfTblWangdianWxgDownload::getSfzen,sfzs).list();
             // 新增网点师傅 websit_worker(商户网点师傅信息) 存在修改,不存在新增
-            // 只做新增,不做修改动作
+            // 只做新增,不做修改动作,现调整为存在则修改
             addWebsitWorkerBrandAccountsInfo(recs, uprecs);
         }
 
@@ -549,6 +549,11 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
         add.setUpdateBy("system");
         add.setCreateTime(new Date());
         add.setUpdateTime(new Date());
+
+        if (m.getLastModifiedDate() != null){
+            add.setUpdateTime(m.getLastModifiedDate());
+        }
+
         /*if (m.getCreatedBy() != null){
             add.setCreateBy(m.getCreatedBy());
         }
@@ -672,47 +677,7 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
         sfzens.add(m.getSfzen() + m.getWxgmc().trim() + m.getYddh());
     }
 
-
-    private void getWorker(List<Worker> addWorkerRec, List<String> sfzens, ItfTblWangdianWxgDownload m,
-                           Map<String, String> workerIdcardMap) {
-        Worker o = null;
-
-        // 师傅身份证
-        if (workerIdcardMap.containsKey(m.getSfzen().trim())){
-            o = workerService.lambdaQuery()
-                    .eq(Worker::getWorkerId,workerIdcardMap.get(m.getSfzen().trim())).one();
-        }
-
-        // 新增
-        if (o==null){
-            addWorkerInfo(addWorkerRec, m,Boolean.TRUE);
-        } else {
-            // 看有无修改的可能
-            upWorkerInfo(addWorkerRec, m, o);
-        }
-        sfzens.add(m.getSfzen() + m.getWxgmc().trim() + m.getYddh());
-    }
-
-    private void getAddWorker(List<Worker> addWorkerRec, List<String> sfzens, ItfTblWangdianWxgDownload m,
-                           Map<String, String> workerIdcardMap, Boolean flag) {
-        Worker o = null;
-
-        // 师傅身份证
-        if (workerIdcardMap.containsKey(m.getSfzen().trim())){
-            o = workerService.lambdaQuery()
-                    .eq(Worker::getWorkerId,workerIdcardMap.get(m.getSfzen().trim())).one();
-        }
-
-        // 新增
-        if (o==null){
-            addWorkerInfo(addWorkerRec, m, flag);
-            sfzens.add(m.getSfzen().trim());
-        }
-
-    }
-
-
-    private void addWorkerInfo(List<Worker> addWorkerRec, ItfTblWangdianWxgDownload m,Boolean flag) {
+    private Worker addWorkerInfo(ItfTblWangdianWxgDownload m,Boolean flag) {
         Worker v = new Worker();
         //  S + 手机号
         // v.setWorkerId(IdWorker.getIdStr());
@@ -730,6 +695,14 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
         }
 
 
+        if (m.getCreatedDate() != null){
+            v.setCreateTime(m.getCreatedDate());
+        }
+
+        if (m.getLastModifiedDate() != null){
+            v.setUpdateTime(m.getLastModifiedDate());
+        }
+
 
         /*if (m.getCreatedBy() != null){
             v.setCreateBy(m.getCreatedBy());
@@ -764,7 +737,20 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
         v.setGpsMachineId(m.getGpsid());
         v.setVipFlag(m.getVipflag());
         v.setSyncFlag(1);
-        addWorkerRec.add(v);
+
+        v.setIsBlackList(DictTypeEnum.HMD_TYPE_NO.getCode());
+        if (m.getSfhmd() != null){
+            if (m.getSfhmd().trim().equals(DictTypeEnum.HMD_TYPE_YES.getText())){
+                v.setIsBlackList(DictTypeEnum.HMD_TYPE_YES.getCode());
+            }
+        }
+
+        if (m.getHmdbz() != null){
+            v.setBlackListRemark(m.getHmdbz());
+        }
+
+
+        return v;
     }
 
     private void upWorkerInfo(List<Worker> addWorkerRec, ItfTblWangdianWxgDownload m, Worker v) {
@@ -968,59 +954,23 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
         }
     }
 
-    private void extractedWorkerAddNew(List<ItfTblWangdianWxgDownload> addRec, List<Worker> addWorkerRec) {
-        // 身份证 作为唯一 (有效与无效的只要有效)
-        List<String> sfzens = new ArrayList<>();
-        Map<String, String> workerIdcardMap = new HashMap<>();
-        // 提取原有的信息
-        List<Worker> oldWorkerRec =  workerService.lambdaQuery()
-                .select(Worker::getIdcard,Worker::getWorkerName,Worker::getMobile,Worker::getWorkerId).list();
-        if (CollectionUtils.isNotEmpty(oldWorkerRec)){
-            for (Worker item: oldWorkerRec){
-                workerIdcardMap.put(item.getIdcard() + item.getWorkerName() + item.getMobile(),item.getWorkerId());
-            }
-        }
-
-        for (ItfTblWangdianWxgDownload m : addRec){
-            if (m.getWxgmc().trim().equals("测试用") && m.getSfzen().equals("441900199605311999") && m.getYddh().equals("123")){
-                continue;
-            }
-            /*if (m.getSynReqId().equals(39L)){
-                log.info("tets");
-            }*/
-            // 已处理过不再处理 因为这里是网点师傅会存在重复数据
-            if (sfzens.contains(m.getSfzen() + m.getWxgmc().trim() + m.getYddh())){
-                continue;
-            }
-            // 生成对象
-            getWorker(addWorkerRec, sfzens, m, workerIdcardMap);
-
-            // 新增的插入到表
-            if (addWorkerRec.size()>=1000){
-                workerService.saveOrUpdateBatch(addWorkerRec);
-                log.info("本地网点维修工人员信息表新增插入了{}条数据", addWorkerRec.size());
-                addWorkerRec.clear();
-            }
-        }
-
-        oldWorkerRec.clear();
-        workerIdcardMap.clear();
-        sfzens.clear();
-    }
-
     @Transactional(rollbackFor = Exception.class)
-    public void extractedWorkerAddNewInOut(List<ItfTblWangdianWxgDownload> addRec, List<Worker> addWorkerRec, Boolean flag,
+    public void extractedWorkerAddNewInOut(List<ItfTblWangdianWxgDownload> addRec, Boolean flag,
                                            Map<Long,ItfTblWangdianWxgDownload> uprecs) {
         // 身份证 作为唯一 (有效与无效的只要有效)
         List<String> sfzens = new ArrayList<>();
         List<String> mobiles = new ArrayList<>();
+        List<Worker> addWorkerRec = new ArrayList<>();
+        List<Worker> uupWorkerRec = new ArrayList<>();
+        Map<String,Worker> workerIdCardMap = new HashMap<>();
+
         // 提取原有的信息
-        List<Worker> oldWorkerRec =  workerService.lambdaQuery()
-                .select(Worker::getIdcard,Worker::getMobile).list();
+        List<Worker> oldWorkerRec =  workerService.lambdaQuery().list();
         if (CollectionUtils.isNotEmpty(oldWorkerRec)){
             oldWorkerRec.stream().forEach(wba->{
                 sfzens.add(wba.getIdcard());
                 mobiles.add(wba.getMobile());
+                workerIdCardMap.put(wba.getIdcard(),wba);
             });
             oldWorkerRec.clear();
         }
@@ -1028,26 +978,48 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
         for (ItfTblWangdianWxgDownload m : addRec){
             m.setSynStatus(1);
             uprecs.put(m.getSynReqId(),m);
-            // 已处理过不再处理 因为这里是网点师傅会存在重复数据
+            /*// 已处理过不再处理 因为这里是网点师傅会存在重复数据
             if (sfzens.contains(m.getSfzen().trim())){
                 continue;
             }
             // S + 手机号 作为ID主键,手机号是不能重的
             if (mobiles.contains(m.getYddh().trim())){
                 continue;
-            }
+            }*/
 
             // 生成对象
-            addWorkerInfo(addWorkerRec, m, flag);
-            sfzens.add(m.getSfzen().trim());
-            mobiles.add(m.getYddh().trim());
+            Worker v = addWorkerInfo(m, flag);
+
+            // 存在修改,不存在新增
+            if (sfzens.contains(m.getSfzen().trim())){
+                // 最后修改日期比较 或 新数据为黑名单时一定要修改
+                if (v.getUpdateTime().compareTo(workerIdCardMap.get(v.getIdcard()).getUpdateTime())>0 ||
+                        (v.getIsBlackList().equals(DictTypeEnum.HMD_TYPE_YES.getText()) &&
+                        workerIdCardMap.get(m.getSfzen().trim()).getIsBlackList().equals(DictTypeEnum.HMD_TYPE_NO.getText()))){
+                    v.setWorkerId(workerIdCardMap.get(m.getSfzen().trim()).getWorkerId());
+                    workerIdCardMap.put(v.getIdcard(),v);
+                    uupWorkerRec.add(v);
+                }
+            } else {
+                sfzens.add(m.getSfzen().trim());
+                mobiles.add(m.getYddh().trim());
+                addWorkerRec.add(v);
+                workerIdCardMap.put(v.getIdcard(),v);
+            }
 
             // 新增的插入到表
-            if (addWorkerRec.size()>=1000){
+            if (addWorkerRec.size()>=500){
                 workerService.saveOrUpdateBatch(addWorkerRec);
                 log.info("本地网点维修工人员信息表新增插入了{}条数据", addWorkerRec.size());
                 addWorkerRec.clear();
             }
+
+            // 修改的
+            if (uupWorkerRec.size()>=500){
+                workerService.updateBatchById(uupWorkerRec);
+                log.info("本地网点维修工人员信息表修改了{}条数据", uupWorkerRec.size());
+                uupWorkerRec.clear();
+            }
         }
 
         // 新增的插入到表
@@ -1056,57 +1028,24 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
             log.info("本地网点维修工人员信息表新增插入了{}条数据", addWorkerRec.size());
             addWorkerRec.clear();
         }
-        sfzens.clear();
-    }
-
-    private void addWorkerInfo(List<ItfTblWangdianWxgDownload> addRec, List<ItfTblWangdianWxgDownload> updateRec, List<Worker> addWorkerRec) {
-        // 获取新增的
-        if (addRec.size()>0){
-            // worker:师傅信息
-            extractedWorkerAddNew(addRec, addWorkerRec);
-
-            // 新增的插入到表
-            if (addWorkerRec.size()>0){
-                workerService.saveOrUpdateBatch(addWorkerRec);
-                log.info("本地网点维修工人员信息表新增插入了{}条数据", addWorkerRec.size());
-                addWorkerRec.clear();
-            }
-        }
-        if (updateRec.size()>0){
-            // worker:师傅信息
-            extractedWorkerAddNew(updateRec, addWorkerRec);
 
-            // 新增的插入到表
-            if (addWorkerRec.size()>0){
-                workerService.saveOrUpdateBatch(addWorkerRec);
-                log.info("本地网点维修工人员信息表新增插入了{}条数据", addWorkerRec.size());
-                addWorkerRec.clear();
-            }
+        // 修改的
+        if (uupWorkerRec.size()>=500){
+            workerService.updateBatchById(uupWorkerRec);
+            log.info("本地网点维修工人员信息表修改了{}条数据", uupWorkerRec.size());
+            uupWorkerRec.clear();
         }
-    }
 
-    @Transactional(rollbackFor = Exception.class)
-    public void addWorker(List<ItfTblWangdianWxgDownload> Recs) {
-        List<Worker> addWorkerRec = new ArrayList<>();
-        if (Recs.size()>0){
-            // worker:师傅信息
-            extractedWorkerAddNew(Recs, addWorkerRec);
-
-            // 新增的插入到表
-            if (addWorkerRec.size()>0){
-                workerService.saveOrUpdateBatch(addWorkerRec);
-                log.info("本地网点维修工人员信息表新增插入了{}条数据", addWorkerRec.size());
-                addWorkerRec.clear();
-            }
-        }
+        sfzens.clear();
+        mobiles.clear();
+        workerIdCardMap.clear();
     }
 
 
     public void addInOutWorker(List<ItfTblWangdianWxgDownload> Recs,Boolean flag, Map<Long,ItfTblWangdianWxgDownload> uprecs) {
-        List<Worker> addWorkerRec = new ArrayList<>();
         if (Recs.size()>0){
             // worker:师傅信息
-            extractedWorkerAddNewInOut(Recs, addWorkerRec, flag, uprecs);
+            extractedWorkerAddNewInOut(Recs, flag, uprecs);
         }
     }
 

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/service/impl/GLPPWXGQueryAddServiceImpl.java

@@ -1584,7 +1584,7 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
         // 保险数据无变化时不处理
         // 总部有,平台有自建
         // 总同步下来的无变动不更新 (OutZjlj有值即来自总部)
-        // 1:OutZjlj有值;2:证件相同;3:证件编号相同;4:保险公司相同;5:证件有效期
+        // 1:OutZjlj有值;2:证件相同;3:证件编号相同;4:保险公司相同;5:证件有效期相同
         if (StringUtils.isNotEmpty(ww.getOutZjlj()) &&
                 StringUtils.isNotEmpty(zj.getZjlj()) && zj.getZjlj().equals(ptzjlj) &&
                 ptzjbh.equals(zjbh) &&

+ 4 - 4
src/main/java/com/zfire/jiasm/syncdata/service/impl/OrderDownloadGDServiceImpl.java

@@ -181,7 +181,7 @@ public class OrderDownloadGDServiceImpl implements OrderDownloadGDService {
                     JSONArray mainTableData = sheet.getJSONArray("TBL_AZ_ASSIGN_LC_LS");
                     if (mainTableData != null && mainTableData.size() > 0) {
                         String downloadTaskNo = publicService.getUUID();
-                         DataUtil.initLastModifiedDate(mainTableData.getJSONObject(0),"lastModifiedDate");
+                        DataUtil.initLastModifiedDate(mainTableData.getJSONObject(0),"lastModifiedDate");
                         addInstallData(mainTableData, downloadBatchNo, downloadTaskNo, sheet,
                                 srcTabnameArray, srcTabColListArray, destTabNameArray, destTabColListArray,
                                 salesWebsitNumber,id);
@@ -190,9 +190,9 @@ public class OrderDownloadGDServiceImpl implements OrderDownloadGDService {
                     }
                 }
             } catch (Exception ex) {
-            log.info("安装工单下载失败:{}" ,ex);
-            ex.printStackTrace();
-        }
+                log.info("安装工单下载失败:{}" ,ex);
+                ex.printStackTrace();
+            }
 
 
             log.info("安装工单同步下载状态");

+ 125 - 24
src/main/java/com/zfire/jiasm/syncdata/service/impl/SMSSelfGetArrivedServiceImpl.java

@@ -3,22 +3,29 @@ package com.zfire.jiasm.syncdata.service.impl;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.zfire.jiasm.syncdata.plus.entity.SmsRecord;
+import com.zfire.jiasm.syncdata.plus.entity.SyncSmsOrder;
 import com.zfire.jiasm.syncdata.plus.service.SmsRecordService;
+import com.zfire.jiasm.syncdata.plus.service.SyncSmsOrderService;
+import com.zfire.jiasm.syncdata.pojo.bo.DownRepairOrderGD;
 import com.zfire.jiasm.syncdata.service.PublicService;
+import com.zfire.jiasm.syncdata.test;
+import com.zfire.jiasm.syncdata.utils.HttpUtil;
 import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 @Service
 public class SMSSelfGetArrivedServiceImpl {
+	@Value("${gdbaseurl}")
+	private String baseurl = "";
 
 	@Autowired
 	private JdbcTemplate jdbcTemplate;
@@ -26,6 +33,8 @@ public class SMSSelfGetArrivedServiceImpl {
 	SmsRecordService smsRecordService;
 	@Resource
 	PublicService publicService;
+	@Resource
+	SyncSmsOrderService syncSmsOrderService;
 
 	@Transactional(rollbackFor = Exception.class)
 	public void insertData(JSONObject datas) throws Exception {
@@ -34,36 +43,128 @@ public class SMSSelfGetArrivedServiceImpl {
 		for (int i = 0; i < reports.size(); i++) {
 			JSONObject data = reports.getJSONObject(i);
 
-			String sql = "insert into itf_receive_sms (smsType,fromNum,content,recvTime,"
-					+ "dateSent,status,appendCode,action,deliverCode,reqId,smsCount,spCode,subappend) "
-					+ "values (?,?,?,?,?,?,?,?,?,?,?,?,?) ";
+			// 生成对像
+			saveItfReceiveSms(sdf, data);
+
+			// 同步回复内容信息smsrecord
+			syncSmsRecord(data);
+		}
+	}
 
-			Object[] insertValue = new Object[13];
-			insertValue[0] = data.getString("smsType");
-			insertValue[1] = data.getString("fromNum");
-			insertValue[2] = data.getString("content");
+	public Boolean getSyncSmsOrderById(String id) {
+		SyncSmsOrder sso = syncSmsOrderService.lambdaQuery()
+				.eq(SyncSmsOrder::getId,id).one();
+		if (sso !=null){
+			return Boolean.FALSE;
+		}
 
-			insertValue[3] = sdf.parse(data.getString("recvTime"));
+		return Boolean.TRUE;
+	}
 
-			if (data.containsKey("dateSent")) {
-				insertValue[4] = sdf.parse(data.getString("dateSent"));
-			} else {
-				insertValue[4] = null;
+	public void syncSmsOrderStatus() throws Exception {
+		String url = baseurl + "sync/smsorderup";
+		List<SyncSmsOrder> ssos = syncSmsOrderService.lambdaQuery()
+				.eq(SyncSmsOrder::getSynStatus,0).list();
+		if (CollectionUtils.isEmpty(ssos)){
+			return;
+		}
+		for (SyncSmsOrder item :ssos){
+			String gdid =item.getId();
+			Map<String, Object> paramMap = new HashMap<String, Object>();
+			paramMap.put("id", gdid);
+			JSONObject jsonResult = HttpUtil.httpRequestWithGD(url, "POST",JSONObject.toJSONString(paramMap));
+
+			String code = jsonResult.getString("code");
+			if ("200".equals(code)) {
+				item.setSynStatus(1);
 			}
+			item.setSynTime(new Date());
+			item.setExeCount(item.getExeCount() + 1);
+			item.updateById();
+		}
+	}
+
+
 
-			insertValue[5] = data.getOrDefault("status", "0");
-			insertValue[6] = data.getOrDefault("appendCode", "");
-			insertValue[7] = data.getString("action");
-			insertValue[8] = data.getOrDefault("deliverCode", "");
-			insertValue[9] = data.getOrDefault("reqId", "");
-			insertValue[10] = data.getOrDefault("smsCount", "0");
-			insertValue[11] = data.getOrDefault("spCode", "");
-			insertValue[12] = data.getOrDefault("subAppend", "");
 
-			jdbcTemplate.update(sql, insertValue);
+	@Transactional(rollbackFor = Exception.class)
+	public void insertDataGD(DownRepairOrderGD datas) throws Exception {
+		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
+		JSONArray reports = datas.getData();
+
+		// 写入接收表中 状态同步使用
+		saveSyncSmsOrder(datas);
+
+		for (int i = 0; i < reports.size(); i++) {
+			JSONObject data = reports.getJSONObject(i);
+
+			saveItfReceiveSms(sdf, data);
+
 			// 同步回复内容信息smsrecord
 			syncSmsRecord(data);
 		}
+
+	}
+
+	private void saveItfReceiveSms(SimpleDateFormat sdf, JSONObject data) throws ParseException {
+		String sql = "insert into itf_receive_sms (smsType,fromNum,content,recvTime,"
+				+ "dateSent,status,appendCode,action,deliverCode,reqId,smsCount,spCode,subappend) "
+				+ "values (?,?,?,?,?,?,?,?,?,?,?,?,?) ";
+
+		Object[] insertValue = new Object[13];
+		insertValue[0] = data.getString("smsType");
+		insertValue[1] = data.getString("fromNum");
+		insertValue[2] = data.getString("content");
+
+		insertValue[3] = sdf.parse(data.getString("recvTime"));
+
+		if (data.containsKey("dateSent")) {
+			insertValue[4] = sdf.parse(data.getString("dateSent"));
+		} else {
+			insertValue[4] = null;
+		}
+
+		insertValue[5] = data.getOrDefault("status", "0");
+		insertValue[6] = data.getOrDefault("appendCode", "");
+		insertValue[7] = data.getString("action");
+		insertValue[8] = data.getOrDefault("deliverCode", "");
+		insertValue[9] = data.getOrDefault("reqId", "");
+		insertValue[10] = data.getOrDefault("smsCount", "0");
+		insertValue[11] = data.getOrDefault("spCode", "");
+		insertValue[12] = data.getOrDefault("subAppend", "");
+
+		jdbcTemplate.update(sql, insertValue);
+	}
+
+	private void saveSyncSmsOrder(DownRepairOrderGD datas) {
+		SyncSmsOrder sso = new SyncSmsOrder();
+		sso.setId(datas.getId());
+		sso.setSmsJson(JSONObject.toJSONString(datas.getData()));
+		sso.setCreateTime(new Date());
+		sso.setDownloadTaskNo(datas.getId());
+		syncSmsOrderService.save(sso);
+	}
+
+	private DownRepairOrderGD downloadOrderFromGD(String api) throws Exception {
+		DownRepairOrderGD datas = new DownRepairOrderGD();
+		String url = baseurl + api;
+		JSONObject jsonResult = HttpUtil.httpRequestGetPgidGD(url, "GET", null);
+		String code = jsonResult.getString("code");
+		if ("200".equals(code)) {
+			String json = jsonResult.getString("data");
+			JSONObject jsona = JSONObject.parseObject(json);
+			String id = jsona.getString("id");
+			datas.setId(id);
+			datas.setData(jsona.getJSONArray("data"));
+			return datas;
+		} else {
+			String errorMessage = jsonResult.getString("message");
+			if (errorMessage == null || errorMessage.trim().length() == 0) {
+				errorMessage = "失败";
+			}
+			throw new Exception(errorMessage);
+		}
+
 	}
 
 	private void syncSmsRecord(JSONObject data) {

+ 3 - 2
src/main/java/com/zfire/jiasm/syncdata/service/impl/UploadWorkerTOGreeServiceImpl.java

@@ -429,7 +429,7 @@ public class UploadWorkerTOGreeServiceImpl implements UploadWorkerTOGreeService
                         continue;
                     }
 
-                    // 生成数据对象 证件
+                    // 生成数据对象 证件 是否在黑名单需修改成以平台状态为准
                     getreq(workerCertificateInfo, req, worker,dot.getWebsitWorkerId());
 
                     // 师傅所在网点状态
@@ -586,7 +586,8 @@ public class UploadWorkerTOGreeServiceImpl implements UploadWorkerTOGreeService
             req.setQbaoid(i.getQbaoid());
             req.setQbcheackFlag(i.getQbcheackFlag());
             req.setSfdswxgFlag(i.getSfdswxgFlag());
-            req.setSfhmdFlag(i.getSfhmdFlag());
+            // 是否在黑名单需修改成以平台状态为准
+            // req.setSfhmdFlag(i.getSfhmdFlag());
             req.setVipflag(i.getVipflag());
             req.setMaxaznum(i.getMaxaznum());
             req.setMaxwxnum(i.getMaxwxnum());

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/service/impl/WorkerUploadServiceImpl.java

@@ -28,7 +28,7 @@ public class WorkerUploadServiceImpl implements WorkerUploadService {
     UploadWorkerTOGreeService uploadWorkerTOGreeService;
 
 
-
+    // 这里已不再使用
     @Override
     public void syncData() throws Exception {
 

+ 25 - 5
src/main/java/com/zfire/jiasm/syncdata/utils/SMSSelfManager.java

@@ -2,6 +2,7 @@ package com.zfire.jiasm.syncdata.utils;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.zfire.jiasm.syncdata.pojo.bo.DownRepairOrderGD;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
@@ -22,21 +23,18 @@ import java.util.Date;
 @Component
 @Slf4j
 public class SMSSelfManager {
-
 	@Value("${SMSSelf_accountSID}")
 	private String accountSID;
-
 	@Value("${SMSSelf_authToken}")
 	private String authToken;
-
 	@Value("${SMSSelf_softVersion}")
 	private String softVersion;
-
 	@Value("${SMSSelf_baseURL}")
 	private String baseURL;
-
 	@Value("${SMSSelf_appId}")
 	private String appId;
+	@Value("${gdbaseurl}")
+	private String baseurl = "";
 
 	@Value("${SMSSelf_smsType}")
 	private String smsType;
@@ -242,6 +240,28 @@ public class SMSSelfManager {
 
 	}
 
+	public DownRepairOrderGD getArrivedGD(String api) throws Exception {
+		DownRepairOrderGD datas = new DownRepairOrderGD();
+		String url = baseurl + api;
+		JSONObject jsonResult = HttpUtil.httpRequestGetPgidGD(url, "GET", null);
+		String code = jsonResult.getString("code");
+		if ("200".equals(code)) {
+			String json = jsonResult.getString("data");
+			JSONObject jsona = JSONObject.parseObject(json);
+			String id = jsona.getString("id");
+			datas.setId(id);
+			datas.setData(jsona.getJSONArray("data"));
+			return datas;
+		} else {
+			String errorMessage = jsonResult.getString("message");
+			if (errorMessage == null || errorMessage.trim().length() == 0) {
+				errorMessage = "失败";
+			}
+			throw new Exception(errorMessage);
+		}
+
+	}
+
 	public boolean checkCanSend() {
 
 		String currentTime = new SimpleDateFormat("HH:mm").format(new Date(System.currentTimeMillis()));

+ 2 - 1
src/main/resources/bootstrap-prd.properties

@@ -408,7 +408,7 @@ datauploadc=TRUE
 #安装、维修工单入本地表
 installinc=TRUE
 repairinc=TRUE
-#完工评价短信格力总部发送,自建工单联通发送,查看评价短信回复信息,自建完工评价短信联通发送,派服务人员格力发送
+#完工评价短信格力总部发送,自建工单联通发送,查看评价短信回复信息,自建完工评价短信联通发送,派服务人员格力发送,工单完工评价短信获取方式
 wgmsgsendc=TRUE
 zjgdmsgsendc=TRUE
 qmsgsendc=FALSE
@@ -416,6 +416,7 @@ zwgmsgsendc=TRUE
 pgmsgsendc=TRUE
 greesmsc=TRUE
 SMSSelf_marketing_Ratec=TRUE
+syncsmsflag=TRUE
 #######################安装与维修工单控制参数(从总部与从工单获取互斥)###############################
 #安装、维修工单总部下载
 installdownc=FALSE