diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmProductController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmProductController.java index 8c253f70..2b557704 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmProductController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmProductController.java @@ -276,7 +276,7 @@ public class XmProductController { } } - xmProductService.deleteByPk(xmProduct); + xmProductService.doDeleteByPk(xmProduct); }catch (BizException e) { tips=e.getTips(); logger.error("",e); @@ -363,7 +363,7 @@ public class XmProductController { } } if(canDelList.size()>0) { - xmProductService.batchDelete(canDelList); + xmProductService.doBatchDelete(canDelList); } String msg="成功删除"+canDelList.size()+"条产品信息"; if(canDelList.size()==xmProducts.size()){ diff --git a/xm-core/src/main/java/com/xm/core/service/XmMenuService.java b/xm-core/src/main/java/com/xm/core/service/XmMenuService.java index 4f993ae6..e8555a5a 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmMenuService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmMenuService.java @@ -225,6 +225,9 @@ public class XmMenuService extends BaseService { this.updateChildrenCntByIds(list.stream().map(i->i.getPmenuId()).collect(Collectors.toSet()).stream().collect(Collectors.toList())); } } - + @Transactional + public void doBatchDeleteByProductIds(List productIds) { + super.delete("doBatchDeleteByProductIds",productIds); + } } diff --git a/xm-core/src/main/java/com/xm/core/service/XmProductService.java b/xm-core/src/main/java/com/xm/core/service/XmProductService.java index 428ed566..253fe8a9 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmProductService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmProductService.java @@ -17,6 +17,7 @@ import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * 父类已经支持增删改查操作,因此,即使本类什么也不写,也已经可以满足一般的增删改查操作了.
@@ -83,14 +84,12 @@ public class XmProductService extends BaseService { xmProductTo.setPmUsername(user.getUsername()); xmProductTo.setCtime(new Date()); xmProductTo.setPstatus("0"); + xmProductTo.setIsTpl(xmProduct.getIsTpl()); xmProductTo.setAssistantUserid(user.getUserid()); xmProductTo.setAssistantUsername(user.getUsername()); if(xmProduct.getProductName().equals(xmProductDb.getProductName())){ xmProductTo.setProductName(xmProduct.getProductName()+"(复制)"); } - if("1".equals(xmProduct.getIsTpl())){ - xmProductTo.setIsTpl("1"); - } this.insert(xmProductTo); if("1".equals(xmProduct.getCopyMenu())){ XmMenu mq=new XmMenu(); @@ -135,5 +134,18 @@ public class XmProductService extends BaseService { return code; } + + @Transactional + public void doDeleteByPk(XmProduct xmProduct) { + XmMenu xmMenu=new XmMenu(); + xmMenu.setProductId(xmProduct.getId()); + this.xmMenuService.deleteByWhere(xmMenu); + super.deleteByPk(xmProduct); + } + + public void doBatchDelete(List canDelList) { + this.xmMenuService.doBatchDeleteByProductIds(canDelList.stream().map(i->i.getId()).collect(Collectors.toList())); + super.batchDelete(canDelList); + } } diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml index 66dea0ea..706ebd02 100644 --- a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml @@ -87,6 +87,12 @@ ( #{item}) + + delete from xm_menu where product_id in + + #{item} + +