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);
|
}
|
|
}
|