| package com.matrix.system.hive.service.imp; | 
|   | 
| import java.util.List; | 
|   | 
| import com.matrix.core.constance.MatrixConstance; | 
| import com.matrix.core.exception.GlobleException; | 
| import com.matrix.core.pojo.PaginationVO; | 
| import com.matrix.core.tools.WebUtil; | 
| import com.matrix.system.common.bean.SysCompany; | 
| import com.matrix.system.common.bean.SysUsers; | 
| import com.matrix.system.common.dao.SysCompanyDao; | 
| import com.matrix.system.common.dao.UtilDao; | 
| import com.matrix.system.common.tools.ServiceUtil; | 
| import com.matrix.system.constance.TableMapping; | 
| import com.matrix.system.hive.bean.SysShopInfo; | 
| import com.matrix.system.hive.dao.SysShopInfoDao; | 
| import com.matrix.system.hive.service.SysShopInfoService; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.stereotype.Service; | 
| import org.springframework.transaction.annotation.Transactional; | 
|   | 
|   | 
|   | 
| /** | 
|  * | 
|  *  | 
|  * @date 2016-07-03 20:53 | 
|  */ | 
| @Service("sysShopInfoService") | 
| public class SysShopInfoServiceImpl implements SysShopInfoService { | 
|     @Autowired | 
|     private ServiceUtil serviceUtil; | 
|     @Autowired | 
|     private UtilDao utilDao; | 
|     @Autowired | 
|     private SysShopInfoDao sysShopInfoDao; | 
|     @Autowired | 
|     private SysCompanyDao sysCompanyDao; | 
|   | 
|     public static final String TABLE_NAME = "sys_shop_info"; | 
|   | 
|   | 
|     @Override | 
|     public int add(SysShopInfo sysShopInfo) { | 
|         // 校验去重 | 
|         if (serviceUtil.addCheckRepeat(TABLE_NAME, "SHOP_NO", | 
|                 sysShopInfo.getShopNo())) { | 
|             throw new GlobleException("编号重复"); | 
|         } | 
|         //校验店铺数量 | 
|         SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); | 
|   | 
|         SysCompany company = sysCompanyDao.selectById(user.getCompanyId()); | 
|   | 
|         List<SysShopInfo> list = sysShopInfoDao.selectShopInfo(user.getCompanyId()); | 
|         if (company.getComAge() != null) { | 
|             if (company.getComAge() <= list.size()) { | 
|                 throw new  GlobleException("店铺数量达到最大值"); | 
|             } | 
|         } else { | 
|             throw new GlobleException("店铺数量异常"); | 
|         } | 
|         sysShopInfo.setCompanyId(user.getCompanyId()); | 
|         sysShopInfo.setShopType(SysShopInfo.SHOP_TYPE_MENDIAN); | 
|         return sysShopInfoDao.insert(sysShopInfo); | 
|   | 
|     } | 
|   | 
|     @Override | 
|     public int modify(SysShopInfo sysShopInfo) { | 
|         // 校验去重 | 
|         if (serviceUtil.updateCheckRepeat(TABLE_NAME, "SHOP_NO", | 
|                 sysShopInfo.getShopNo(), "ID", sysShopInfo.getId())) { | 
|             throw new GlobleException("编号重复"); | 
|         } | 
|         return sysShopInfoDao.update(sysShopInfo); | 
|   | 
|     } | 
|   | 
|     @Override | 
|     @Transactional(rollbackFor = Exception.class) | 
|     public int remove(List<Long> list) { | 
|         int count =0; | 
|         for (Long id : list) { | 
|             count ++; | 
|             remove(id); | 
|         } | 
|         return count; | 
|   | 
|     } | 
|   | 
|     @Override | 
|     public int removeById(Long id) { | 
|   | 
|         return remove(id); | 
|   | 
|     } | 
|      | 
|     private int remove(Long id){ | 
|      | 
|         if(utilDao.selectCount(TableMapping.SYS_ALLOTTED_INFO, "ALLOTTED_INSTORE_ID", id+"")>0){ | 
|             throw new GlobleException("门店已产生调拨记录,不能被删除!"); | 
|         } | 
|         if(utilDao.selectCount(TableMapping.SYS_ORDER, "SHOP_ID", id+"")>0){ | 
|             throw new GlobleException("门店已产生销售记录,不能被删除!"); | 
|         } | 
|         return sysShopInfoDao.deleteById(id); | 
|     } | 
|      | 
|     @Override | 
|     public List<SysShopInfo> findInPage(SysShopInfo sysShopInfo, | 
|             PaginationVO pageVo) { | 
|         return sysShopInfoDao.selectInPage(sysShopInfo, pageVo); | 
|   | 
|     } | 
|   | 
|     @Override | 
|     public List<SysShopInfo> findByModel(SysShopInfo sysShopInfo) { | 
|   | 
|         return sysShopInfoDao.selectByModel(sysShopInfo); | 
|   | 
|     } | 
|   | 
|     @Override | 
|     public int findTotal(SysShopInfo sysShopInfo) { | 
|   | 
|         return sysShopInfoDao.selectTotalRecord(sysShopInfo); | 
|   | 
|     } | 
|   | 
|     @Override | 
|     public SysShopInfo findById(Long id) { | 
|   | 
|         return sysShopInfoDao.selectById(id); | 
|   | 
|     } | 
|     /** | 
|      * 查询非商城店铺 总店 | 
|      */ | 
|     @Override | 
|     public List<SysShopInfo> findShopInfos(Long companyId) { | 
|   | 
|         return sysShopInfoDao.selectShopInfo(companyId); | 
|     } | 
|   | 
| } |