|
@@ -243,12 +243,10 @@ public class UploadWorkeCertificateServiceImpl implements UploadWorkeCertificate
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public Boolean uploadWorkeBx(OutWorkerUpload owu){
|
|
public Boolean uploadWorkeBx(OutWorkerUpload owu){
|
|
|
- List<WorkerBrandAccount> workerWdnos = new ArrayList<>();
|
|
|
|
|
List<WorkerCertGree> wcgs = new ArrayList<>();
|
|
List<WorkerCertGree> wcgs = new ArrayList<>();
|
|
|
String fileo = "";
|
|
String fileo = "";
|
|
|
- Integer count = 0;
|
|
|
|
|
|
|
|
|
|
- // 查看指定网点的师傅保险数据是否已生成
|
|
|
|
|
|
|
+ // 查看指定网点、师傅的保险数据是否已生成
|
|
|
WorkerCertGree workerbx = new WorkerCertGree();
|
|
WorkerCertGree workerbx = new WorkerCertGree();
|
|
|
workerCertGreeService.lambdaQuery()
|
|
workerCertGreeService.lambdaQuery()
|
|
|
.eq(WorkerCertGree::getWorkerId,owu.getWorkerId())
|
|
.eq(WorkerCertGree::getWorkerId,owu.getWorkerId())
|
|
@@ -263,22 +261,23 @@ public class UploadWorkeCertificateServiceImpl implements UploadWorkeCertificate
|
|
|
// 提取品牌信息 用于多品牌数据同步目前仅格力,可以先不用做
|
|
// 提取品牌信息 用于多品牌数据同步目前仅格力,可以先不用做
|
|
|
Brand brand = baseService.getBrand();
|
|
Brand brand = baseService.getBrand();
|
|
|
if (brand == null) {
|
|
if (brand == null) {
|
|
|
|
|
+ updateOutWorkerUploadError(owu,"格力品牌信息不存在");
|
|
|
return Boolean.FALSE;
|
|
return Boolean.FALSE;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
- // 获取指定师傅指定网点的保险证
|
|
|
|
|
|
|
+ // 获取指定师傅、网点的保险证
|
|
|
WebsitWorker item = websitWorkerService.lambdaQuery()
|
|
WebsitWorker item = websitWorkerService.lambdaQuery()
|
|
|
.eq(WebsitWorker::getWorkerId,owu.getWorkerId())
|
|
.eq(WebsitWorker::getWorkerId,owu.getWorkerId())
|
|
|
.eq(WebsitWorker::getWebsitId,owu.getWebsitId())
|
|
.eq(WebsitWorker::getWebsitId,owu.getWebsitId())
|
|
|
.one();
|
|
.one();
|
|
|
- // 若未同步生成三方文件不处理,等待其他定时任务处理
|
|
|
|
|
|
|
+ // 若未同步生成三方文件不处理,等待其他定时任务处理 processUploadTask
|
|
|
if (StringUtils.isEmpty(item.getOutInsureCert())){
|
|
if (StringUtils.isEmpty(item.getOutInsureCert())){
|
|
|
|
|
+ updateOutWorkerUploadError(owu,"等待同步保险信息");
|
|
|
return Boolean.FALSE;
|
|
return Boolean.FALSE;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
fileo ="";
|
|
fileo ="";
|
|
|
- count = 0;
|
|
|
|
|
try{
|
|
try{
|
|
|
// 存在保险才同步
|
|
// 存在保险才同步
|
|
|
if (StringUtils.isEmpty(item.getInsureFiles()) &&
|
|
if (StringUtils.isEmpty(item.getInsureFiles()) &&
|
|
@@ -286,51 +285,30 @@ public class UploadWorkeCertificateServiceImpl implements UploadWorkeCertificate
|
|
|
return Boolean.FALSE;
|
|
return Boolean.FALSE;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-
|
|
|
|
|
// 查看师傅是否已选中品牌商网点(这里只提取选中格力品牌商的师傅数据)
|
|
// 查看师傅是否已选中品牌商网点(这里只提取选中格力品牌商的师傅数据)
|
|
|
- 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();
|
|
|
|
|
|
|
+ WorkerBrandAccount wbaRecord = workerBrandAccountService.lambdaQuery()
|
|
|
|
|
+ .eq(WorkerBrandAccount::getWorkerId, owu.getWorkerId())
|
|
|
|
|
+ .eq(WorkerBrandAccount::getBrandWebsitId, owu.getBrandWebsitId())
|
|
|
|
|
+ .eq(WorkerBrandAccount::getGroupCompanyId, brand.getBrandId()).last("limit 1").one();
|
|
|
|
|
|
|
|
// 未选择品牌商
|
|
// 未选择品牌商
|
|
|
- if (workerWdnos.size()<1){
|
|
|
|
|
- updateWebsitWorkererror(item,"师傅未选择格力品牌商信息");
|
|
|
|
|
|
|
+ if (wbaRecord ==null ){
|
|
|
|
|
+ updateOutWorkerUploadError(owu,"师傅未选择格力品牌商信息");
|
|
|
return Boolean.FALSE;
|
|
return Boolean.FALSE;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // 判断师傅入驻的商户网点
|
|
|
|
|
- count = getCount(workerWdnos, count);
|
|
|
|
|
- if (count.equals(workerWdnos.size())){
|
|
|
|
|
- updateWebsitWorkererror(item,"师傅未入驻品牌商网点");
|
|
|
|
|
- return Boolean.FALSE;
|
|
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
// 上传图片 按师傅所在网点上传保险证数据
|
|
// 上传图片 按师傅所在网点上传保险证数据
|
|
|
- for (WorkerBrandAccount wdno: workerWdnos){
|
|
|
|
|
- // 找出指定网点 三方网点与平台网点
|
|
|
|
|
- if (!(wdno.getBrandWebsitId().equals(owu.getBrandWebsitId()) &&
|
|
|
|
|
- wdno.getWebsitId().equals(owu.getWebsitId()))){
|
|
|
|
|
- continue;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- delfilet(fileo);
|
|
|
|
|
- if (StringUtils.isEmpty(wdno.getBrandWebsitId())){
|
|
|
|
|
- continue;
|
|
|
|
|
- }
|
|
|
|
|
- // 上传保险
|
|
|
|
|
- fileo = uploadInsureBx(item,wdno);
|
|
|
|
|
- // 同步失败
|
|
|
|
|
- if (StringUtils.isEmpty(fileo)){
|
|
|
|
|
- continue;
|
|
|
|
|
- }
|
|
|
|
|
- // 生成网点保险数据
|
|
|
|
|
- getWorkerCertBxGree(wcgs, item, wdno);
|
|
|
|
|
|
|
+ delfilet(fileo);
|
|
|
|
|
+ // 上传保险
|
|
|
|
|
+ fileo = uploadInsureBx(item,wbaRecord);
|
|
|
|
|
+ // 同步失败
|
|
|
|
|
+ if (StringUtils.isEmpty(fileo)){
|
|
|
|
|
+ return Boolean.FALSE;
|
|
|
}
|
|
}
|
|
|
|
|
+ // 生成网点保险数据实体
|
|
|
|
|
+ getWorkerCertBxGree(wcgs, item, wbaRecord);
|
|
|
|
|
+
|
|
|
// 保存本地表
|
|
// 保存本地表
|
|
|
extractedUploadBxEnd(wcgs);
|
|
extractedUploadBxEnd(wcgs);
|
|
|
// 文件清除
|
|
// 文件清除
|
|
@@ -342,13 +320,144 @@ public class UploadWorkeCertificateServiceImpl implements UploadWorkeCertificate
|
|
|
if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(ex.getMessage())){
|
|
if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(ex.getMessage())){
|
|
|
msg = msg + ex.getMessage();
|
|
msg = msg + ex.getMessage();
|
|
|
}
|
|
}
|
|
|
- updateWebsitWorkererror(item,msg);
|
|
|
|
|
|
|
+ updateOutWorkerUploadError(owu,msg);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return Boolean.TRUE;
|
|
return Boolean.TRUE;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
|
|
+ public Boolean UploadWorkeCert(OutWorkerUpload owu){
|
|
|
|
|
+ List<WorkerCert> recs = new ArrayList<>();
|
|
|
|
|
+ List<WorkerBrandAccount> workerWdnos = new ArrayList<>();
|
|
|
|
|
+ String filePatho ="";
|
|
|
|
|
+ String filePatht ="";
|
|
|
|
|
+ String fileIdo ="";
|
|
|
|
|
+ String fileIdt ="";
|
|
|
|
|
+ Integer count = 0;
|
|
|
|
|
+ Boolean upf=Boolean.TRUE;
|
|
|
|
|
+ String outFile="";
|
|
|
|
|
+ String outFilet="";
|
|
|
|
|
+ List<WorkerCertGree> wcgs = new ArrayList<>();
|
|
|
|
|
+ Map<String,String> wcgids = new HashMap<>();
|
|
|
|
|
+
|
|
|
|
|
+ // 提取品牌信息 用于多品牌数据同步目前仅格力,可以先不用做
|
|
|
|
|
+ Brand brand = baseService.getBrand();
|
|
|
|
|
+ if (brand == null) {
|
|
|
|
|
+ return Boolean.FALSE;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ List<WorkerCertGree> wcgsold = workerCertGreeService.lambdaQuery().list();
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(wcgsold)){
|
|
|
|
|
+ wcgsold.stream().forEach(event->{
|
|
|
|
|
+ wcgids.put(event.getWorkerId() + event.getBrandWebsitId() + event.getCertName(),event.getWorkerCertGreeId());
|
|
|
|
|
+ });
|
|
|
|
|
+ wcgsold.clear();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ // 获取待同步到格力总部师傅的证件信息
|
|
|
|
|
+ recs = getWorkerUploads();
|
|
|
|
|
+
|
|
|
|
|
+ // 测试用
|
|
|
|
|
+ // recs = getWorkerUploadstest();
|
|
|
|
|
+
|
|
|
|
|
+ for (WorkerCert item:recs){
|
|
|
|
|
+ count = 0;
|
|
|
|
|
+
|
|
|
|
|
+ try{
|
|
|
|
|
+ // 证件已同步无需再次同步或是更新
|
|
|
|
|
+ if ((StringUtils.isNotEmpty(item.getFileUrl()) && (StringUtils.isNotEmpty(item.getOutFileUrl()))) &&
|
|
|
|
|
+ (StringUtils.isNotEmpty(item.getFileUrl2()) && (StringUtils.isNotEmpty(item.getOutFileUrl2())))){
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ // 查看师傅是否已选中品牌商网点(这里只提取选中格力品牌商的师傅数据)
|
|
|
|
|
+ workerWdnos = workerBrandAccountService.lambdaQuery()
|
|
|
|
|
+ .eq(WorkerBrandAccount::getWorkerId, item.getWorkerId())
|
|
|
|
|
+ .eq(WorkerBrandAccount::getBrandWorkerStatus,"ON")
|
|
|
|
|
+ .eq(WorkerBrandAccount::getDel,0)
|
|
|
|
|
+ .eq(WorkerBrandAccount::getGroupCompanyId, brand.getBrandId()).list();
|
|
|
|
|
+
|
|
|
|
|
+ // 未选择品牌商
|
|
|
|
|
+ if (workerWdnos.size()<1){
|
|
|
|
|
+ updateWorkCertificateerror(item,"师傅未选择格力品牌商信息");
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 判断师傅入驻的商户网点
|
|
|
|
|
+ count = getCount(workerWdnos, count);
|
|
|
|
|
+ if (count.equals(workerWdnos.size())){
|
|
|
|
|
+ updateWorkCertificateerror(item,"师傅未入驻品牌商网点");
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 生成图片 System.getProperty("java.io.tmpdir")
|
|
|
|
|
+ if (StringUtils.isNotEmpty(item.getFileUrl()) && (StringUtils.isEmpty(item.getOutFileUrl()))){
|
|
|
|
|
+ fileIdo = IdWorker.getIdStr() + ".jpeg";
|
|
|
|
|
+ filePatho = publicService.pathToGree(fileIdo);
|
|
|
|
|
+ File nFile = publicService.createf(filePatho);
|
|
|
|
|
+ // 下载文件生成新文件 fid1
|
|
|
|
|
+ baseService.saveToFile(ossUtil.getUrlWw(item.getFileUrl()),nFile);
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ if (StringUtils.isNotEmpty(item.getFileUrl2()) && (StringUtils.isEmpty(item.getOutFileUrl2()))){
|
|
|
|
|
+ fileIdt = IdWorker.getIdStr() + ".jpeg";
|
|
|
|
|
+ filePatht = publicService.pathToGree(fileIdt);
|
|
|
|
|
+ File nFile = publicService.createf(filePatht);
|
|
|
|
|
+ // 下载文件生成新文件 fid2
|
|
|
|
|
+ baseService.saveToFile(ossUtil.getUrlWw(item.getFileUrl2()),nFile);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 上传图片 按网点上传
|
|
|
|
|
+ for (WorkerBrandAccount wdno: workerWdnos){
|
|
|
|
|
+ outFile="";
|
|
|
|
|
+ outFilet="";
|
|
|
|
|
+ upf=Boolean.TRUE;
|
|
|
|
|
+
|
|
|
|
|
+ if (StringUtils.isEmpty(wdno.getBrandWebsitId())){
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (StringUtils.isNotEmpty(filePatho)){
|
|
|
|
|
+ outFile = uploadWdnoFile(wdno.getBrandWebsitId(), item, filePatho, fileIdo);
|
|
|
|
|
+ if (StringUtils.isEmpty(outFile)){
|
|
|
|
|
+ upf=Boolean.FALSE;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (StringUtils.isNotEmpty(filePatht)){
|
|
|
|
|
+ outFilet = uploadWdnoFile(wdno.getBrandWebsitId(), item, filePatht, fileIdt);
|
|
|
|
|
+ if (StringUtils.isEmpty(outFilet)){
|
|
|
|
|
+ upf=Boolean.FALSE;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ // 网点上传成功 生成对像
|
|
|
|
|
+ if (upf){
|
|
|
|
|
+ getWorkerCertGreeInfo(outFile, outFilet, wcgs, item, wdno, wcgids);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ // 上传完后师傅所在网点的证件保存,并写入更新表待师傅证件修改
|
|
|
|
|
+ // 保存最后网点图,目的下次无需再同步图片
|
|
|
|
|
+ extractedEnd(wcgs, item, outFile, outFilet);
|
|
|
|
|
+
|
|
|
|
|
+ // 文件清除
|
|
|
|
|
+ delfile(filePatho, filePatht, "");
|
|
|
|
|
+
|
|
|
|
|
+ } catch (Exception ex) {
|
|
|
|
|
+ ex.printStackTrace();
|
|
|
|
|
+ log.info("同步师傅证件失败:【" + item.getId() + "】");
|
|
|
|
|
+ String msg = "同步师傅证件失败:";
|
|
|
|
|
+ if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(ex.getMessage())){
|
|
|
|
|
+ msg = msg + ex.getMessage();
|
|
|
|
|
+ }
|
|
|
|
|
+ updateWorkCertificateerror(item,msg);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return Boolean.TRUE;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
public void procesUploadWorkeBx() {
|
|
public void procesUploadWorkeBx() {
|
|
|
List<WebsitWorker> wws = new ArrayList<>();
|
|
List<WebsitWorker> wws = new ArrayList<>();
|
|
|
List<WorkerBrandAccount> workerWdnos = new ArrayList<>();
|
|
List<WorkerBrandAccount> workerWdnos = new ArrayList<>();
|
|
@@ -1109,6 +1218,14 @@ public class UploadWorkeCertificateServiceImpl implements UploadWorkeCertificate
|
|
|
websitWorkerService.updateById(v);
|
|
websitWorkerService.updateById(v);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ private void updateOutWorkerUploadError(OutWorkerUpload owu, String msg) {
|
|
|
|
|
+ owu.setSyncErrorMsg(msg);
|
|
|
|
|
+ if (msg.length()>250){
|
|
|
|
|
+ owu.setSyncErrorMsg(msg.substring(0,250));
|
|
|
|
|
+ }
|
|
|
|
|
+ owu.updateById();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
|
|
|
private void updateWorkCertificatesave(WorkerCert i, String file, Integer flag,
|
|
private void updateWorkCertificatesave(WorkerCert i, String file, Integer flag,
|
|
|
Boolean bool, Boolean onlyOne) {
|
|
Boolean bool, Boolean onlyOne) {
|