ErpTaskRpc.java
2.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
package cn.fw.dalaran.rpc.erp;
import cn.fw.common.exception.BusinessException;
import cn.fw.dalaran.common.constants.Constants;
import cn.fw.dalaran.rpc.erp.dto.TaskSetReq;
import cn.fw.data.base.domain.common.Message;
import cn.fw.erp.sdk.api.TaskApi;
import cn.fw.erp.sdk.api.param.TaskAddReq;
import cn.fw.erp.sdk.api.param.TaskBatchAddReq;
import com.alibaba.fastjson.JSON;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
@Slf4j
@Component
@RequiredArgsConstructor
public class ErpTaskRpc {
private final TaskApi taskApi;// 定时任务API
/**
* 添加task任务
*/
public <T> void setTask(TaskSetReq<T> req) {
log.info("调用ERP系统, 添加定时任务入参req[{}]", JSON.toJSONString(req));
try {
TaskAddReq<T> addReq = new TaskAddReq<>();
BeanUtils.copyProperties(req, addReq);
addReq.setSystem(Constants.APPLICATION_NAME);
final Message<Long> msg = taskApi.addTask(addReq);
log.info("调用ERP系统添加定时任务结果[{}]", JSON.toJSONString(msg));
} catch (Exception e) {
log.error("调用ERP系统添加定时任务失败 -> " + e.getCause());
throw new BusinessException("调用ERP系统添加定时任务失败");
}
}
/**
* 批量添加task任务
*/
public <T> void batchAddTask(TaskBatchAddReq<T> batchAddReq) {
log.info("调用ERP系统, 批量添加定时任务入参batchAddReq[{}]", JSON.toJSONString(batchAddReq));
try {
Message<Void> msg = taskApi.addBatchTask(batchAddReq);
log.info("调用ERP系统, 批量添加定时任务结果[{}]", JSON.toJSONString(msg));
} catch (Exception e) {
throw new BusinessException("调用ERP系统, 批量添加定时任务失败");
}
}
/**
* 取消task任务
*/
public <T> void cancelTask(Long taskId) {
log.info("调用ERP系统, 批量添加定时任务入参taskId[{}]", taskId);
try {
Message<Void> msg = taskApi.cancelTask(taskId);
log.info("调用ERP系统, 取消定时任务结果[{}]", JSON.toJSONString(msg));
} catch (Exception e) {
throw new BusinessException("调用ERP系统, 取消定时任务失败");
}
}
}