伙伴云客服论坛»论坛 S区 S客户管理 查看内容

0 评论

0 收藏

分享

实现删除订单功能

功能

对已经支付的订单可以停止删除操作

编辑页面代码
  1. <script type="text/javascript">
  2. //删除订单
  3. function o_del() {   
  4.         var msg = "您确定要删除该订单吗?";   
  5.         if (confirm(msg)==true){   
  6.         return true;   
  7.         }else{   
  8.         return false;   
  9.         }   
  10. }   
  11. </script>
  12. <!--  已支付,弹出提示框由操作人确认 -->
  13. <c:if test="${order.paystate!=0 }">
  14.     <a href="${pageContext.request.contextPath}/delOrderById?id=${order.id}&type=admin" onclick="javascript:return o_del()">
  15.         
  16.     </a>
  17. </c:if>
  18. <!--  未支付 ,不能删除-->
  19. <c:if test="${order.paystate==0 }">
  20.     <a href="javascript:alert('不能删除未支付订单')">
  21.         
  22.     </a>
  23. </c:if>
复制代码
创建Servlet
  1. /**
  2. * 删除订单
  3. * @author admin
  4. *
  5. */
  6. public class DelOrderByIdServlet extends HttpServlet {
  7.         private static final long serialVersionUID = -742965707205621644L;
  8.         public void doGet(HttpServletRequest request, HttpServletResponse response)
  9.                         throws ServletException, IOException {
  10.                 doPost(request, response);
  11.         }
  12.         public void doPost(HttpServletRequest request, HttpServletResponse response)
  13.                         throws ServletException, IOException {
  14.                 // 订单id
  15.                 String id = request.getParameter("id");
  16.                 // 已支付的订单带有type值为client的参数
  17.                 String type = request.getParameter("type");
  18.                 OrderService service = new OrderService();
  19.                 if (type != null && type.trim().length() > 0) {
  20.                         service.delOrderById(id);
  21.                         if ("admin".equals(type)) {
  22.                                 request.getRequestDispatcher("/findOrders").forward(request, response);
  23.                                 return;
  24.                         }
  25.                 } else {
  26.                         // 调用service层方法删除相应订单
  27.                         service.delOrderByIdWithClient(id);
  28.                 }
  29.                 //response.sendRedirect(request.getContextPath() + "/client/delOrderSuccess.jsp");
  30.                 request.getRequestDispatcher("/findOrderByUser").forward(request, response);
  31.                 return;
  32.         }
  33. }
复制代码
编写Service层方法
  1. //根据id删除订单 管理员删除订单
  2. public void delOrderById(String id) {                       
  3.         try {
  4.                 DataSourceUtils.startTransaction();//开启事务
  5.                 oidao.delOrderItems(id);
  6.                 odao.delOrderById(id);
  7.         } catch (SQLException e) {
  8.                 e.printStackTrace();
  9.                 try {
  10.                         DataSourceUtils.rollback();
  11.                 } catch (SQLException e1) {
  12.                         e1.printStackTrace();
  13.                 }
  14.         }finally{
  15.                 try {
  16.                         DataSourceUtils.releaseAndCloseConnection();
  17.                 } catch (SQLException e) {
  18.                         e.printStackTrace();
  19.                 }
  20.         }               
  21. }
复制代码
编写DAO方法

OrderDao
  1. /**
  2. * 根据id删除订单
  3. * @param id
  4. * @throws SQLException
  5. */
  6. public void delOrderById(String id) throws SQLException {
  7.         String sql="delete from orders where id=?";               
  8.         QueryRunner runner = new QueryRunner();               
  9.         runner.update(DataSourceUtils.getConnection(),sql,id);               
  10. }
复制代码
OrderItemDao
  1. //根据订单id删除订单项
  2. public void delOrderItems(String id) throws SQLException {
  3.         String sql="delete from orderItem where order_id=?";
  4.        
  5.         QueryRunner runner=new QueryRunner();
  6.        
  7.         runner.update(DataSourceUtils.getConnection(),sql,id);
  8. }
复制代码

回复

举报 使用道具

相关帖子
全部回复
暂无回帖,快来参与回复吧
本版积分规则 高级模式
B Color Image Link Quote Code Smilies

浪久己孤
注册会员
主题 13
回复 16
粉丝 0
|网站地图
快速回复 返回顶部 返回列表