瀏覽代碼

feat: 阿拉钉结算回调发起完单操作

lixuesong 2 年之前
父節點
當前提交
32439f3002

+ 3 - 4
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/event/OladingFinishTaskEvent.java

@@ -1,10 +1,11 @@
 package com.qunzhixinxi.hnqz.admin.event;
 
-import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
 import com.qunzhixinxi.hnqz.admin.entity.WmScorePackageSettleNote;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 
+import java.util.List;
+
 /**
  * @author: lixuesong
  * @createTime: 2022/10/10 11:08
@@ -14,7 +15,5 @@ import lombok.Getter;
 @AllArgsConstructor
 public class OladingFinishTaskEvent {
 
-	private final WmScorePackage scorePackage;
-
-	private final WmScorePackageSettleNote note;
+	private final List<WmScorePackageSettleNote> noteList;
 }

+ 2 - 2
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/listener/OladingFinishTaskEventListener.java

@@ -23,7 +23,7 @@ public class OladingFinishTaskEventListener {
 	@Order
 	@EventListener(OladingFinishTaskEvent.class)
 	public void pushEvent(OladingFinishTaskEvent event) {
-
-		gigThirdApiService.finishTask(event.getScorePackage(), event.getNote());
+		log.info("阿拉钉完单操作事件开始触发");
+		event.getNoteList().forEach(gigThirdApiService::finishTask);
 	}
 }

+ 1 - 2
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/gig/GigThirdApiService.java

@@ -56,9 +56,8 @@ public interface GigThirdApiService {
 	/**
 	 * 完单操作
 	 *
-	 * @param wmScorePackage
 	 * @param note
 	 */
-	void finishTask(WmScorePackage wmScorePackage, WmScorePackageSettleNote note);
+	void finishTask(WmScorePackageSettleNote note);
 
 }

+ 14 - 2
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/gig/impl/GigThirdApiServiceImpl.java

@@ -21,6 +21,7 @@ import com.qunzhixinxi.hnqz.admin.enums.GigCallBackStatus;
 import com.qunzhixinxi.hnqz.admin.enums.GigTypeEnum;
 import com.qunzhixinxi.hnqz.admin.enums.OladingCertStatus;
 import com.qunzhixinxi.hnqz.admin.enums.SubjectLocation;
+import com.qunzhixinxi.hnqz.admin.event.OladingFinishTaskEvent;
 import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
 import com.qunzhixinxi.hnqz.admin.service.SysUserSubService;
 import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
@@ -34,6 +35,7 @@ import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang.RandomStringUtils;
+import org.springframework.context.ApplicationEventPublisher;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.http.HttpEntity;
 import org.springframework.http.HttpHeaders;
@@ -71,6 +73,8 @@ public class GigThirdApiServiceImpl implements GigThirdApiService {
 	private final UpmsConfig upmsConfig;
 	private final TaxNotifyConfig taxNotifyConfig;
 
+	private final ApplicationEventPublisher applicationEventPublisher;
+
 	/**
 	 * 正启之星回调业务处理
 	 *
@@ -252,6 +256,14 @@ public class GigThirdApiServiceImpl implements GigThirdApiService {
 				scorePackageService.updateById(wmScorePackage);
 			}
 			redisTemplate.delete(CacheConstants.SETTLE_PACKAGE_KEY + tmp.getId());
+
+			// 异步发起完单操作,是否成功不做处理
+			try {
+				applicationEventPublisher.publishEvent(new OladingFinishTaskEvent(noteList));
+			} catch (Exception e) {
+				log.warn("阿拉钉异步发起完单操作异常requestId={}", requestId);
+				log.error("阿拉钉异步发起完单操作异常", e);
+			}
 		}
 	}
 
@@ -557,10 +569,10 @@ public class GigThirdApiServiceImpl implements GigThirdApiService {
 	/**
 	 * 完单操作
 	 *
-	 * @param wmScorePackage
 	 * @param note
 	 */
-	public void finishTask(WmScorePackage wmScorePackage, WmScorePackageSettleNote note) {
+	public void finishTask(WmScorePackageSettleNote note) {
+		WmScorePackage wmScorePackage = scorePackageService.getById(note.getPackageId());
 		SysDept dept = sysDeptService.getById(wmScorePackage.getDeptId());
 
 		String gigFinishTaskUrl = upmsConfig.getGigServiceUrl() + "/gig/operation/settlement/finish-task";