zoujiajian 2 роки тому
батько
коміт
e5442d093b

+ 19 - 4
netflix-service/src/main/java/com/cyksj/service/corp/impl/CorpEventActionServiceImpl.java

@@ -789,6 +789,17 @@ public class CorpEventActionServiceImpl implements CorpEventActionService {
 				}
 			});
 		}
+
+		//若没找到规则的欢迎语 发送默认欢迎语
+		if (StrUtil.isNotEmpty(message.getWelcomeCode())) {
+			CorpWelcomeTemplate corpWelcomeTemplate = corpWelcomeTemplateMapper.selectOne(Wrappers.lambdaQuery(CorpWelcomeTemplate.class)
+					.eq(CorpWelcomeTemplate::getType, 0)
+					.eq(CorpWelcomeTemplate::getDeleted, 1)
+					.last("limit 1"));
+			if (corpWelcomeTemplate != null) {
+				senCorpWelcomeMsg(message, corpWelcomeTemplate.getText(), corpWelcomeTemplate.getAttachmentsStr());
+			}
+		}
 		return corpUser;
 	}
 
@@ -826,9 +837,9 @@ public class CorpEventActionServiceImpl implements CorpEventActionService {
 	}
 
 	/**
-	 * 发送添加活动活码客服 发送欢迎语
+	 * 发送欢迎语
 	 */
-	public void sendCorpFollowActiveCode(CorpXmlMessage message, String content, String attachmentsStr) {
+	public void senCorpWelcomeMsg(CorpXmlMessage message, String content, String attachmentsStr) {
 		try {
 			String welcomeCode = message.getWelcomeCode();
 			String followId = message.getUserId();
@@ -1057,7 +1068,10 @@ public class CorpEventActionServiceImpl implements CorpEventActionService {
 	 * @param msgId 模板id
 	 * @param message
 	 */
-	public void sendWelcomeMsg(Long msgId,CorpXmlMessage message) {
+	public void sendWelcomeMsg(Long msgId, CorpXmlMessage message) {
+		if (StrUtil.isEmpty(message.getWelcomeCode())) {
+			return;
+		}
 		CorpWelcomeTemplate corpWelcomeTemplate = corpWelcomeTemplateMapper.selectById(msgId);
 		if (corpWelcomeTemplate != null) {
 			String welcomeContent = corpWelcomeTemplate.getText();
@@ -1065,7 +1079,8 @@ public class CorpEventActionServiceImpl implements CorpEventActionService {
 			//发送对应欢迎语
 			if (StrUtil.isNotBlank(welcomeContent) && StrUtil.isNotBlank(attachmentsStr)) {
 				THREAD_POOL.execute(() -> {
-					sendCorpFollowActiveCode(message, welcomeContent, attachmentsStr);
+					message.setWelcomeCode(null);
+					senCorpWelcomeMsg(message, welcomeContent, attachmentsStr);
 				});
 			}
 		}

+ 7 - 1
netflix-web/src/main/java/com/cyksj/web/controller/manage/corp/CorpWelcomeTemplateController.java

@@ -65,7 +65,13 @@ public class CorpWelcomeTemplateController {
 	public Result<String> deleteById(@PathVariable Long id) {
 		CorpWelcomeTemplate byId = corpWelcomeTemplateService.getById(id);
 		Integer count = null;
-		if (byId.getType() == 1) {
+		if (byId.getType() == 0) {
+			int count1 = corpWelcomeTemplateService.count(Wrappers.lambdaQuery(CorpWelcomeTemplate.class)
+					.eq(CorpWelcomeTemplate::getType, 0).eq(CorpWelcomeTemplate::getDeleted, 1));
+			if (count1 == 0) {
+				throw BusinessRuntimeException.getInstance("自然渠道欢迎语默认存在一条");
+			}
+		} else if (byId.getType() == 1) {
 			count = corpFollowActiveCodeMapper.selectCount(Wrappers.lambdaQuery(CorpFollowActiveCode.class)
 					.eq(CorpFollowActiveCode::getMsgId, byId.getId()));
 		} else if (byId.getType() == 2) {