|
|
@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.toolkit.Assert;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.cyksj.common.exception.BusinessRuntimeException;
|
|
|
import com.cyksj.common.task.GlobalThreadPoolTaskExecutor;
|
|
|
import com.cyksj.common.util.Jsons;
|
|
|
import com.cyksj.common.util.StringUtil;
|
|
|
@@ -22,6 +23,7 @@ import com.cyksj.model.request.corp.Attachments;
|
|
|
import com.cyksj.model.request.corp.CorpMsgTemplate;
|
|
|
import com.cyksj.model.request.corp.Text;
|
|
|
import com.cyksj.model.response.corp.CorpMsgTemplateAddResult;
|
|
|
+import com.cyksj.redis.RedisService;
|
|
|
import com.cyksj.service.corp.CorpMsgBulkTaskService;
|
|
|
import com.cyksj.service.corp.CorpService;
|
|
|
import com.cyksj.service.corp.CorpUserSendRecordService;
|
|
|
@@ -72,6 +74,8 @@ public class CorpMsgBulkTaskServiceImpl extends ServiceImpl<CorpMsgBulkTaskMappe
|
|
|
|
|
|
private final CorpMsgBulkTaskTagRelationMapper corpMsgBulkTaskTagRelationMapper;
|
|
|
|
|
|
+ private final RedisService redisService;
|
|
|
+
|
|
|
private final int LIMIT = 10000;
|
|
|
|
|
|
private static final GlobalThreadPoolTaskExecutor TASK_EXECUTOR = GlobalThreadPoolTaskExecutor.getInstance();
|
|
|
@@ -127,6 +131,21 @@ public class CorpMsgBulkTaskServiceImpl extends ServiceImpl<CorpMsgBulkTaskMappe
|
|
|
return collect;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void executeDynamicRuleTagTask(Long tagId) throws Exception {
|
|
|
+ CorpTag corpTag = corpTagMapper.selectById(tagId);
|
|
|
+ Assert.notNull(corpTag, "标签不存在");
|
|
|
+ if (corpTag.getType() != 2) {
|
|
|
+ Assert.notNull(corpTag, "非动态标签");
|
|
|
+ }
|
|
|
+ //执行动态标签标记任务id
|
|
|
+ int taskId = 100;
|
|
|
+ if (!redisService.setNx(RedisService.key.CORP_DYNAMIC_RULE_TAG_KEY.getName() + tagId, tagId, RedisService.key.CORP_DYNAMIC_RULE_TAG_KEY.getTimeout())) {
|
|
|
+ throw BusinessRuntimeException.getInstance("该动态标签标记正在执行中..");
|
|
|
+ }
|
|
|
+ XxlJobResult xxlJobResult = XxlJobUtil.executeMarkDynamicRuleTagJob(XxlJobInfo.getExecuteTaskInstance(taskId, String.valueOf(tagId)).toString());
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 创建企业群发
|
|
|
*/
|