在删除订单的时候,可能会包括多个订单项,这样的话就是可能会在删除的时候,有外键约束问题,解决这样的问题,如下:
所以:先查询订单,然后去遍历订单,将订单中的多个订单项删除后,再删除订单.
controller:
/***
*
* 删除用户订单信息全部信息
*
*
*/
@RequestMapping("/del")
public String delInfo(@RequestParam("oid") String oid) {
// 当需要删除数据时
// 1查询订单项的信息
List<Orderitem> list = productService.getOrderItemsInfo(oid);//这是根据oid查询订单
int i = 0;
if (list != null) {
for (Orderitem orderitem : list) {
// 根据外键字段获取订单项的主键
String itemid = orderitem.getItemid();
// 根据订单项的主键进行删除
i = productService.delOrderitemById(itemid);
}
if (i != 0) {
// 当订单项被删除之后,无外键约束.删除整个订单
int j = productService.delInfo(oid);
if (j != 0) {
// 删除成功
return "redirect:/user/orderlist";
}
}
}
return "user/login";
}