yaozhixue 1 year ago
parent
commit
2d9757ed90

+ 2 - 0
src/main/java/com/zfire/jiasm/syncdata/service/UploadWorkeCertificateService.java

@@ -3,4 +3,6 @@ package com.zfire.jiasm.syncdata.service;
 public interface UploadWorkeCertificateService {
 
     void procesUploadWorkeCert();
+
+    void procesUploadWorkeBx();
 }

+ 118 - 11
src/main/java/com/zfire/jiasm/syncdata/service/impl/UploadWorkeCertificateServiceImpl.java

@@ -117,10 +117,10 @@ public class UploadWorkeCertificateServiceImpl implements UploadWorkeCertificate
                     }
 
                     uploadFileexc(fileo, filet,wdno.getBrandWebsitId(),item);
-                    delfilet(fid3);
+                    // delfilet(fid3);
                     // 保险数据同步 保险证不在证件表中
                     // fid3 = uploadInsureCert(wdno);
-                    fid3 = uploadInsureBx(wdno);
+                    // fid3 = uploadInsureBx(wdno);
                 }
 
                 // 文件清除
@@ -137,6 +137,81 @@ public class UploadWorkeCertificateServiceImpl implements UploadWorkeCertificate
         }
     }
 
+    @Override
+    public void procesUploadWorkeBx() {
+        List<WebsitWorker> wws = new ArrayList<>();
+        List<WorkerBrandAccount> workerWdnos = new ArrayList<>();
+        String fileo ="";
+        String filet ="";
+        String fid3 = "";
+        Integer count = 0;
+
+        // 提取品牌信息 用于多品牌数据同步目前仅格力,可以先不用做
+        Brand brand = baseService.getBrand();
+        if (brand == null) {
+            return;
+        }
+
+        // 获取待同步到格力总部师傅的保除证件信息
+        wws = getWorkerUploadsBx();
+        // wws = getWorkerUploadsBxtext();
+
+        for (WebsitWorker item:wws){
+            fileo ="";
+            filet ="";
+            count = 0;
+            try{
+                // 已同步不处理
+                if (StringUtils.isNotEmpty(item.getOutInsureCert()) &&
+                        StringUtils.isNotEmpty(item.getOutInsureCert().trim())){
+                    continue;
+                }
+
+
+                //  查看师傅是否已选中品牌商网点(这里只提取选中格力品牌商的师傅数据)
+                workerWdnos = workerBrandAccountService.lambdaQuery()
+                        .eq(WorkerBrandAccount::getWorkerId, item.getWorkerId())
+                        .eq(WorkerBrandAccount::getWebsitWorkerId, item.getWebsitWorkerId())
+                        .eq(WorkerBrandAccount::getWebsitId, item.getWebsitId())
+                        .eq(WorkerBrandAccount::getBrandWorkerStatus,"ON")
+                        .eq(WorkerBrandAccount::getDel,0)
+                        .eq(WorkerBrandAccount::getGroupCompanyId, brand.getBrandId()).list();
+
+                // 未选择品牌商
+                if (workerWdnos.size()<1){
+                    updateWebsitWorkererror(item,"师傅未选择格力品牌商信息");
+                    continue;
+                }
+
+                //  判断师傅入驻的商户网点
+                count = getCount(workerWdnos, count);
+                if (count.equals(workerWdnos.size())){
+                    updateWebsitWorkererror(item,"师傅未入驻品牌商网点");
+                    continue;
+                }
+
+                // 上传图片 按网点上传
+                for (WorkerBrandAccount wdno: workerWdnos){
+                    delfilet(fid3);
+                    if (StringUtils.isEmpty(wdno.getBrandWebsitId())){
+                        continue;
+                    }
+                    fid3 = uploadInsureBx(wdno);
+                }
+                // 文件清除
+                delfile(fileo, filet, fid3);
+            } catch (Exception ex) {
+                ex.printStackTrace();
+                log.info("同步师傅保险证件失败:【" + item.getWebsitWorkerId() + "】");
+                String msg = "同步师傅保险证件失败:";
+                if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(ex.getMessage())){
+                    msg = msg + ex.getMessage();
+                }
+                updateWebsitWorkererror(item,msg);
+            }
+        }
+    }
+
 
     private void delfile(String fileo,String filet,String file3) {
         if (StringUtils.isNotEmpty(fileo)){
@@ -328,13 +403,15 @@ public class UploadWorkeCertificateServiceImpl implements UploadWorkeCertificate
         String fileo ="";
         String fid1 = "";
         String outInsureCert = "";
+        String bxf="";
 
         WebsitWorker iwcf = websitWorkerService.lambdaQuery()
                 .eq(WebsitWorker::getWorkerId, wdno.getWorkerId())
                 .eq(WebsitWorker::getWebsitId, wdno.getWebsitId())
                 .last("limit 1").one();
         if (iwcf != null){
-            if (StringUtils.isNotEmpty(iwcf.getOutInsureCert())){
+            if (StringUtils.isNotEmpty(iwcf.getOutInsureCert()) &&
+                    StringUtils.isNotEmpty(iwcf.getOutInsureCert().trim())){
                 // 已上传就不需要再上传
                 return fid1;
             }
@@ -349,15 +426,15 @@ public class UploadWorkeCertificateServiceImpl implements UploadWorkeCertificate
                         File nFile = publicService.createf(fid1);
                         baseService.saveToFile(ossUtil.getUrlWw(iwcf.getFileUrl()),nFile);
                         fileo = fid1;
-                        uploadInitFileBx(fileo, fid1, wdno.getBrandWebsitId());
-                        if (StringUtils.isEmpty(fid1)){
-                            return fid1;
+                        bxf = uploadInitFileBx(fileo, fid1, wdno.getBrandWebsitId());
+                        if (StringUtils.isEmpty(bxf)){
+                            return bxf;
                         }
 
                         if (num == 0){
-                            outInsureCert = fid1;
+                            outInsureCert = bxf;
                         } else {
-                            outInsureCert= outInsureCert +","+fid1;
+                            outInsureCert= outInsureCert +","+bxf;
                         }
                         new File(fid1).delete();
                         num = num +1 ;
@@ -367,10 +444,12 @@ public class UploadWorkeCertificateServiceImpl implements UploadWorkeCertificate
                     File nFile = publicService.createf(fid1);
                     baseService.saveToFile(ossUtil.getUrlWw(iwcf.getFileUrl()),nFile);
                     fileo = fid1;
-                    uploadInitFileBx(fileo, fid1, wdno.getBrandWebsitId());
-                    if (StringUtils.isEmpty(fid1)){
-                        return fid1;
+                    bxf = uploadInitFileBx(fileo, fid1, wdno.getBrandWebsitId());
+                    if (StringUtils.isEmpty(bxf)){
+                        return bxf;
                     }
+                    outInsureCert = bxf;
+                    new File(fid1).delete();
                 }
                 iwcf.setOutInsureCert(outInsureCert);
                 iwcf.updateById();
@@ -654,6 +733,17 @@ public class UploadWorkeCertificateServiceImpl implements UploadWorkeCertificate
     }
 
 
+    private void updateWebsitWorkererror(WebsitWorker item, String msg) {
+        WebsitWorker v = new WebsitWorker();
+        v.setWebsitWorkerId(item.getWebsitWorkerId());
+        v.setSyncErrorMsg(msg);
+        if (msg.length()>250){
+            v.setSyncErrorMsg(msg.substring(0,250));
+        }
+        websitWorkerService.updateById(v);
+    }
+
+
     private void updateWorkCertificatesave(WorkerCert i, String file, Integer flag,
                                            Boolean bool, Boolean onlyOne) {
         WorkerCert v = new WorkerCert();
@@ -695,4 +785,21 @@ public class UploadWorkeCertificateServiceImpl implements UploadWorkeCertificate
                 .lt(WorkerCert::getOutSyncTimes,10)
                 .list();
     }
+
+
+
+    private List<WebsitWorker> getWorkerUploadsBx() {
+        List<WebsitWorker> wws = websitWorkerService.lambdaQuery()
+                .eq(WebsitWorker::getInsureStatus,2)
+                .isNotNull(WebsitWorker::getInsureFiles).list();
+
+        return wws;
+    }
+
+    private List<WebsitWorker> getWorkerUploadsBxtext() {
+        List<WebsitWorker> wws = websitWorkerService.lambdaQuery()
+                .eq(WebsitWorker::getWorkerId,"S15112152395").list();
+
+        return wws;
+    }
 }

+ 43 - 0
src/main/java/com/zfire/jiasm/syncdata/upload/worker/UploadWorkBx.java

@@ -0,0 +1,43 @@
+package com.zfire.jiasm.syncdata.upload.worker;
+
+import com.zfire.jiasm.syncdata.constant.TaskConfigEnum;
+import com.zfire.jiasm.syncdata.service.UploadWorkeCertificateService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+/**
+ * 同步师傅保险证件到格力总部
+ */
+@Slf4j
+@Component
+public class UploadWorkBx {
+    @Value("${workercertbxc}")
+    private String workercertbxc = "";
+
+    @Autowired
+    UploadWorkeCertificateService uploadWorkeCertificateService;
+
+
+
+    // 师傅证件照同步到格力总部
+    @Scheduled(fixedDelayString = "${workercertbx}")
+    public void processUploadTask(){
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        if (workercertbxc.equals(TaskConfigEnum.FALSE.getCode())){
+            return;
+        }
+
+        log.info("开始同步师傅保险证件信息: \uF0B7{}",sdf.format(new Date()));
+
+        uploadWorkeCertificateService.procesUploadWorkeBx();
+
+        log.info("同步师傅保险证件信息结束: \uF0B7{}",sdf.format(new Date()));
+    }
+
+}

+ 2 - 0
src/main/resources/bootstrap-dev.properties

@@ -181,6 +181,7 @@ gdbaseurl=http://121.41.110.30:8112/
 workercertificate=60000
 workercerupload=5000
 detaildown=2000
+workercertbx=60000
 #安装工单下载 、入本地表
 installdown=2000
 installin=5000
@@ -305,6 +306,7 @@ SMSSelf_marketing_Rate=5000
 workercertificatec=FALSE
 workerceruploadc=FALSE
 detaildownc=FALSE
+workercertbxc=FALSE
 #回收工单下载、获取工单的反馈明细数据、(获取对应的采集数据、附件数据、条码明细数据)、与总部进行确认下载完成、同步到业务表
 recycledownc=FALSE
 recyclefkdownc=FALSE

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

@@ -172,6 +172,7 @@ gdbaseurl=http://47.115.43.13:8112/
 workercertificate=600000
 workercerupload=60000
 detaildown=2000
+workercertbx=60000
 #安装工单下载 、入本地表
 installdown=2000
 installin=5000
@@ -296,7 +297,7 @@ SMSSelf_marketing_Rate=5000
 workercertificatec=TRUE
 workerceruploadc=TRUE
 detaildownc=TRUE
-
+workercertbxc=TRUE
 #回收工单下载、获取工单的反馈明细数据、(获取对应的采集数据、附件数据、条码明细数据)、与总部进行确认下载完成、同步到业务表
 recycledownc=TRUE
 recyclefkdownc=TRUE

+ 3 - 1
src/main/resources/bootstrap-prdt.properties

@@ -172,6 +172,7 @@ gdbaseurl=http://47.115.43.13:8112/
 workercertificate=60000
 workercerupload=5000
 detaildown=2000
+workercertbx=60000
 #安装工单下载 、入本地表
 installdown=2000
 installin=5000
@@ -296,6 +297,7 @@ SMSSelf_marketing_Rate=5000
 workercertificatec=FALSE
 workerceruploadc=FALSE
 detaildownc=FALSE
+workercertbxc=TRUE
 #回收工单下载、获取工单的反馈明细数据、(获取对应的采集数据、附件数据、条码明细数据)、与总部进行确认下载完成、同步到业务表
 recycledownc=FALSE
 recyclefkdownc=FALSE
@@ -327,7 +329,7 @@ gzxwxgc=FALSE
 gzswxgc=FALSE
 gfwwwc=FALSE
 #类别大类、小类、系列、机型
-lbdlc=TRUE
+lbdlc=FALSE
 lbxlc=FALSE
 lbxltc=FALSE
 lbjxc=FALSE

+ 2 - 0
src/main/resources/bootstrap-test.properties

@@ -180,6 +180,7 @@ gdbaseurl=http://121.41.110.30:8112/
 workercertificate=60000
 workercerupload=60000
 detaildown=60000
+workercertbx=60000
 #安装工单下载 、入本地表
 installdown=2000
 installin=5000
@@ -304,6 +305,7 @@ SMSSelf_marketing_Rate=5000
 workercertificatec=TRUE
 workerceruploadc=TRUE
 detaildownc=TRUE
+workercertbxc=TRUE
 #回收工单下载、获取工单的反馈明细数据、(获取对应的采集数据、附件数据、条码明细数据)、与总部进行确认下载完成、同步到业务表
 recycledownc=TRUE
 recyclefkdownc=TRUE

BIN
syncdata/202309/2023-091695173963315d31e9829-4248-4e1a-89f5-53bf5f5a2f47.jpg


BIN
syncdata/202309/2023-09169517396759024268659-bd98-4fe5-8941-b6d9e6c10935.jpg