feat(job): 为job定时任务的Dubbo服务添加租户id和用户id参数

- 在 DmsInspectStanceExecutor、DmsLubeStanceExecutor 和 DmsMaintStanceExecutor 中添加租户id和用户id参数
- 更新 remoteInspectInstanceService 和 dmsBillsLubeInstanceService 的方法以接收额外参数
- 在 DmsMaintStanceExecutor 中添加日志记录和错误处理
- 在 DmsJobEntity 中添加 tenantId 和 userId 字段
master
zch 1 month ago
parent ce11f85c6d
commit a0a25ec1f9

@ -54,5 +54,8 @@ public class DmsJobEntity implements Serializable {
private LocalDateTime createDt; private LocalDateTime createDt;
private LocalDateTime updateDt; private LocalDateTime updateDt;
//DUBBO穿不了token手动传参
private String tenantId;
private String userId;
} }

@ -33,8 +33,11 @@ public class DmsInspectStanceExecutor {
// 将 JSON 字符串转为 Map // 将 JSON 字符串转为 Map
Map<String, Object> paramMap = objectMapper.readValue(jsonStr, Map.class); Map<String, Object> paramMap = objectMapper.readValue(jsonStr, Map.class);
String planCode = (String) paramMap.get("planInspectCode"); String planCode = (String) paramMap.get("planInspectCode");
String tenantId = (String) paramMap.get("tenant");
String user = (String) paramMap.get("userId");
Long userId = Long.parseLong(user);
R<Integer> instance = remoteInspectInstanceService.insertInspectInstance(planCode); R<Integer> instance = remoteInspectInstanceService.insertInspectInstance(planCode, tenantId, userId);
return ExecuteResult.success(instance); return ExecuteResult.success(instance);
} catch (Exception e) { } catch (Exception e) {
return ExecuteResult.failure(e.getMessage()); return ExecuteResult.failure(e.getMessage());

@ -33,8 +33,11 @@ public class DmsLubeStanceExecutor {
// 将 JSON 字符串转为 Map // 将 JSON 字符串转为 Map
Map<String, Object> paramMap = objectMapper.readValue(jsonStr, Map.class); Map<String, Object> paramMap = objectMapper.readValue(jsonStr, Map.class);
String planCode = (String) paramMap.get("planLubeCode"); String planCode = (String) paramMap.get("planLubeCode");
String tenantId = (String) paramMap.get("tenant");
String user = (String) paramMap.get("userId");
Long userId = Long.parseLong(user);
R<Void> instance = dmsBillsLubeInstanceService.insertLubeInstance(planCode); R<Void> instance = dmsBillsLubeInstanceService.insertLubeInstance(planCode, tenantId, userId);
return ExecuteResult.success(instance); return ExecuteResult.success(instance);
} catch (Exception e) { } catch (Exception e) {
return ExecuteResult.failure(e.getMessage()); return ExecuteResult.failure(e.getMessage());

@ -8,6 +8,8 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.dubbo.config.annotation.DubboReference; import org.apache.dubbo.config.annotation.DubboReference;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.dromara.dms.api.RemoteMaintInstanceService; import org.dromara.dms.api.RemoteMaintInstanceService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.Map; import java.util.Map;
@ -17,6 +19,7 @@ import java.util.Map;
public class DmsMaintStanceExecutor { public class DmsMaintStanceExecutor {
private static final ObjectMapper objectMapper = new ObjectMapper(); private static final ObjectMapper objectMapper = new ObjectMapper();
private static final Logger log = LoggerFactory.getLogger(DmsMaintStanceExecutor.class);
@DubboReference @DubboReference
private final RemoteMaintInstanceService dmsBillsMaintInstanceService; private final RemoteMaintInstanceService dmsBillsMaintInstanceService;
@ -32,11 +35,27 @@ public class DmsMaintStanceExecutor {
// 将 JSON 字符串转为 Map // 将 JSON 字符串转为 Map
Map<String, Object> paramMap = objectMapper.readValue(jsonStr, Map.class); Map<String, Object> paramMap = objectMapper.readValue(jsonStr, Map.class);
String planCode = (String) paramMap.get("planMaintCode"); String planCode = (String) paramMap.get("planMaintCode");
String tenantId = (String) paramMap.get("tenantId");
String user = (String) paramMap.get("userId");
Long userId = Long.parseLong(user);
R<Integer> instance = dmsBillsMaintInstanceService.insertDmsBillsMaintInstance(planCode); log.info("开始执行设备保养实例生成任务,计划编码:{}租户ID{}用户ID{}", planCode, tenantId, userId);
return ExecuteResult.success(instance);
R<Integer> instance = dmsBillsMaintInstanceService.insertDmsBillsMaintInstance(planCode, tenantId, userId);
// 检查业务调用结果
if (instance.getCode() == 200) {
log.info("设备保养实例生成成功,计划编码:{},结果:{}", planCode, instance.getData());
return ExecuteResult.success("设备保养实例生成成功,影响行数:" + instance.getData());
} else {
String errorMsg = "设备保养实例生成失败,计划编码:" + planCode + ",错误信息:" + instance.getMsg();
log.error(errorMsg);
return ExecuteResult.failure(errorMsg);
}
} catch (Exception e) { } catch (Exception e) {
return ExecuteResult.failure(e.getMessage()); String errorMsg = "设备保养实例生成异常:" + e.getMessage();
log.error(errorMsg, e);
return ExecuteResult.failure(errorMsg);
} }
} }

Loading…
Cancel
Save