Compare commits
2 Commits
c761cb43a9
...
564e119bc3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
564e119bc3 | ||
|
|
5c998db1ed |
@@ -0,0 +1,55 @@
|
|||||||
|
package com.lideeyunji.core.framework.config.job;
|
||||||
|
|
||||||
|
import com.lideeyunji.core.framework.mapper.OracleProcedureMapper;
|
||||||
|
import com.lideeyunji.tool.framework.common.constant.lideeYunJiBaseConstant;
|
||||||
|
import com.lideeyunji.tool.framework.quartz.core.handler.JobHandler;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Oracle 存储过程调用定时任务
|
||||||
|
* 用于定时调用 Oracle 存储过程进行数据处理
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Component("oracleProcedureJob")
|
||||||
|
public class OracleProcedureJob implements JobHandler {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private OracleProcedureMapper oracleProcedureMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String execute(String param) throws Exception {
|
||||||
|
log.info("========== 开始执行 Oracle 存储过程定时任务,参数:{} ==========", param);
|
||||||
|
|
||||||
|
try {
|
||||||
|
callAllProcedure();
|
||||||
|
log.info("========== Oracle 存储过程定时任务执行成功 ==========");
|
||||||
|
return "Oracle 存储过程定时任务执行成功";
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("========== Oracle 存储过程定时任务执行失败 ==========", e);
|
||||||
|
throw new RuntimeException("Oracle 存储过程调用失败:" + e.getMessage(), e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 调用简单存储过程
|
||||||
|
*/
|
||||||
|
private void callAllProcedure() {
|
||||||
|
log.info("开始调用存储过程...");
|
||||||
|
|
||||||
|
Map<String, Object> params = new HashMap<>();
|
||||||
|
params.put("result", new Object()); // 用于接收输出参数
|
||||||
|
|
||||||
|
oracleProcedureMapper.callAllProcedure(lideeYunJiBaseConstant.DS_ORACLE_GRYYBI);
|
||||||
|
|
||||||
|
// 获取输出参数值
|
||||||
|
Object result = params.get("result");
|
||||||
|
log.info("存储过程执行结果:{}", result);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
package com.lideeyunji.core.framework.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||||
|
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
|
||||||
|
import com.lideeyunji.tool.framework.permission.core.annotation.DataPermission;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Oracle 存储过程调用 Mapper
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface OracleProcedureMapper {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 调用 Oracle 存储过程 - 示例
|
||||||
|
*
|
||||||
|
* @param dataSourceType 存储过程参数
|
||||||
|
* @return 执行结果
|
||||||
|
*/
|
||||||
|
@DS(value = "#dataSourceType")
|
||||||
|
@DataPermission(enable = false)
|
||||||
|
void callAllProcedure(@Param("dataSourceType") String dataSourceType);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.lideeyunji.core.framework.mapper.OracleProcedureMapper">
|
||||||
|
|
||||||
|
<!-- 调用示例存储过程 -->
|
||||||
|
<select id="callAllProcedure" statementType="CALLABLE" >
|
||||||
|
{call P_ERP_DATA_NEW()}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</mapper>
|
||||||
Reference in New Issue
Block a user