|   | 
| 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<Long> 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<SysGoodsType> goodsTypes= | 
|         sysGoodsTypeDao.selectByModel(sysGoodsType); | 
|         if(goodsTypes.size()>0){ | 
|             for (SysGoodsType sysGoodsType2 : goodsTypes) { | 
|                 rescuRemove(sysGoodsType2.getId()); | 
|                 sysGoodsTypeDao.deleteById(sysGoodsType2.getId()); | 
|             } | 
|         } | 
|     } | 
|     @Override | 
|     public List<SysGoodsType> findInPage(SysGoodsType sysGoodsType,  PaginationVO pageVo){ | 
|      | 
|         return sysGoodsTypeDao.selectInPage(sysGoodsType , pageVo); | 
|      | 
|     } | 
|      | 
|     @Override | 
|     public List<SysGoodsType> 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); | 
|      | 
|     } | 
| } |