package com.matrix.system.hive.service.imp; import java.util.List; import com.matrix.core.exception.GlobleException; import com.matrix.core.pojo.PaginationVO; import com.matrix.system.common.tools.ServiceUtil; import com.matrix.system.hive.bean.SysGoodsType; import com.matrix.system.hive.dao.SysGoodsTypeDao; import com.matrix.system.hive.service.SysGoodsTypeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** * * @date 2016-07-03 20:53 */ @Service("sysGoodsTypeService") public class SysGoodsTypeServiceImpl implements SysGoodsTypeService { @Autowired private SysGoodsTypeDao sysGoodsTypeDao; public final String TABLE = "sys_goods_type"; @Autowired private ServiceUtil serviceUtil; @Override public int add(SysGoodsType sysGoodsType){ if(sysGoodsType.getTypeNo()==null || sysGoodsType.getTypeNo().equals("")){ return sysGoodsTypeDao.insert(sysGoodsType); } if (serviceUtil.addCheckRepeat(TABLE, "TYPE_NO", sysGoodsType.getTypeNo())) { throw new GlobleException("编号已被使用!"); } return sysGoodsTypeDao.insert(sysGoodsType); } @Override public int modify(SysGoodsType sysGoodsType){ if(sysGoodsType.getTypeNo()==null || sysGoodsType.getTypeNo().equals("")){ return sysGoodsTypeDao.update(sysGoodsType); } if (serviceUtil.updateCheckRepeat(TABLE, "TYPE_NO", sysGoodsType.getTypeNo(), "ID", sysGoodsType.getId())) { throw new GlobleException("编号已被使用!"); } return sysGoodsTypeDao.update(sysGoodsType); } @Override public int remove(List list){ return sysGoodsTypeDao.deleteByIds(list); } @Override /** * 删除节点及其下面的所有子节点 * @author LW */ public int removeById(Long id){ rescuRemove( id); return sysGoodsTypeDao.deleteById(id); } /** * 递归删除子元素 * @Title: remove * @author:jyy * @param id * void 返回类型 * @date 2016年8月5日 上午11:50:41 * @throws */ private void rescuRemove(Long id){ SysGoodsType sysGoodsType=new SysGoodsType(); sysGoodsType.setParentId(id); List goodsTypes= sysGoodsTypeDao.selectByModel(sysGoodsType); if(goodsTypes.size()>0){ for (SysGoodsType sysGoodsType2 : goodsTypes) { rescuRemove(sysGoodsType2.getId()); sysGoodsTypeDao.deleteById(sysGoodsType2.getId()); } } } @Override public List findInPage(SysGoodsType sysGoodsType, PaginationVO pageVo){ return sysGoodsTypeDao.selectInPage(sysGoodsType , pageVo); } @Override public List findByModel(SysGoodsType sysGoodsType){ return sysGoodsTypeDao.selectByModel(sysGoodsType); } @Override public int findTotal(SysGoodsType sysGoodsType){ return sysGoodsTypeDao.selectTotalRecord(sysGoodsType); } @Override public SysGoodsType findById(Long id){ return sysGoodsTypeDao.selectById(id); } }