订阅任务删除demo

package runqianapp;
import com.runqianapp.schedule.interfaces.IDBAccess;
import com.runqianapp.schedule.utils.ScheduleConfig;
import java.sql.ResultSet;
import java.sql.SQLException;

public class TaskDelete {
	//需要删除 T_task、T_taskargument(任务参数列表)、T_taskgroup(任务组)、T_taskInstance(任务实例)
	IDBAccess dba = null;
	/**
	 * 删除某用户某订阅任务方法
	 * @param task_id  要删除的订阅任务id
	 * @param task_createUser  订阅任务的用户
	 */
	public boolean deleteTask(String task_id,String task_createUser){
		boolean flag = false;    //用来判断当前用户是否订阅某个任务
		boolean result = false;		 //作为返回值,判断删除操作是否成功		
		try{
			dba = ScheduleConfig.getInitDBAccess();
			String sql = "select task_id form t_task where task_createUser = ?";
			Object[] params = new Object[]{String.valueOf(task_createUser)};
			ResultSet rs = dba.executeQuery(sql, params);
			while(rs.next()){
				String temp = rs.getString(task_id);
				if(temp.equalsIgnoreCase(task_id)){
					flag = true;     //true代表当前用户存在传入的订阅任务,可以进行下一步的删除
					break;
				}
			}
			int temp = 0;
			if(true == flag){
				try{
					dba.startTranaction();
					String deleteTaskSql = "delete from t_task where task_id = ? and task_createUser = ?";
					String deleteTaskInstanceSql = "delete form t_taskInstance where task_id = ?";
					String deleteTaskArgumentSql = "delete form t_taskArgumentSql where task_id = ?";
					Object[] deleteParams = new Object[] { String.valueOf(task_id),String.valueOf(task_createUser) };
					Object[] deleteRelateParams = new Object[] { String.valueOf(task_id)};
					//System.out.println("这里被执行");
					temp = dba.executeUpdate(deleteTaskSql, deleteParams);
					if(temp!=0){
						result = true;
					}
					dba.executeUpdate(deleteTaskInstanceSql, deleteRelateParams);
					dba.executeUpdate(deleteTaskArgumentSql, deleteRelateParams);
					dba.commit();
				}catch(Exception e){
					try {
						dba.rollback();
					} catch (SQLException e1) {
						e1.printStackTrace();
					}
					e.printStackTrace();
				}finally{
					if (dba != null) {
						dba.endTranaction();
						dba.close();
					}
				}
			}else{
				System.out.println("请确认当前用户是否订阅任务:"+task_id);
			}
		}catch(Exception e){
			e.printStackTrace();
		}
		return result;
		
	}
	
	public static void main(String args[]){
		TaskDelete ttd = new TaskDelete();
		ttd.deleteTask("9", "root");
	}
	
}

package runqianapp;
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import runqianapp.TaskDelete;



public class TaskDeleteServlet {
	/**删除订阅任务*/
	private static final String DELETETASK = "deleteTask";
	/**
	 * get方式的请求转交给post的方式处理
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		this.doPost(request, response);
	}

	/**
	 * 处理前端所有请求
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		response.setContentType("text/html");
		request.setCharacterEncoding("UTF-8");
		response.setCharacterEncoding("UTF-8");
		PrintWriter out = response.getWriter();
		String action = request.getParameter("action");
		String task_id = request.getParameter("task_id");	
		System.out.println(task_id);
		String task_createUser = request.getParameter("task_createUser");
		TaskDelete td = new TaskDelete();
		if(DELETETASK.equals(action)){
			boolean result = td.deleteTask(task_id, task_createUser);
			out.write(result+"");
			out.close();
		}

	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值