package com.yeshi.fanli.service.impl.goods;
|
|
import java.io.Serializable;
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
|
import org.hibernate.HibernateException;
|
import org.hibernate.Session;
|
import org.springframework.cache.annotation.Cacheable;
|
import org.springframework.orm.hibernate4.HibernateCallback;
|
import org.springframework.stereotype.Service;
|
|
import com.yeshi.fanli.dao.goods.GoodsSecondClassDao;
|
import com.yeshi.fanli.entity.bus.clazz.GoodsSecondClass;
|
import com.yeshi.fanli.exception.NotExistObjectException;
|
import com.yeshi.fanli.service.inter.goods.GoodsSecondClassService;
|
import com.yeshi.fanli.util.Constant;
|
|
@Service
|
public class GoodsSecondClassServiceImpl implements GoodsSecondClassService {
|
|
@Resource
|
private GoodsSecondClassDao goodsSecondClassDao;
|
@Cacheable(value="classCache",key="'getGoodsSecondClassByGoodsClassId-'+#id")
|
public List<GoodsSecondClass> getGoodsSecondClassByGoodsClassId(long id) {
|
|
List<GoodsSecondClass> list = goodsSecondClassDao.list(
|
"from GoodsSecondClass gsc " + "where gsc.parent.id=? order by gsc.orderby ",
|
new Serializable[] { id });
|
|
return list;
|
}
|
|
public List<GoodsSecondClass> getSecondClassList(int index, String key,
|
long cid) {
|
|
int start = index * Constant.PAGE_SIZE;
|
|
List<GoodsSecondClass> list = goodsSecondClassDao
|
.list("from GoodsSecondClass gsc where gsc.parent.id=? and gsc.name like ? order by gsc.orderby",
|
start, Constant.PAGE_SIZE, new Serializable[] { cid,
|
"%" + key + "%" });
|
|
return list;
|
}
|
|
public int getCount(long cid, String key) {
|
Long lcount = goodsSecondClassDao
|
.getCount(
|
"select count(*) from GoodsSecondClass gsc where gsc.parent.id=? and gsc.name like ? ",
|
new Serializable[] { cid, "%" + key + "%" });
|
return lcount.intValue();
|
}
|
|
public void addSecondClass(GoodsSecondClass secondClass) {
|
secondClass.setCreatetime(System.currentTimeMillis());
|
goodsSecondClassDao.save(secondClass);
|
}
|
|
public void deleteSecondClass(long sid) {
|
goodsSecondClassDao.delete(new GoodsSecondClass(sid));
|
}
|
|
public GoodsSecondClass getSecondClass(long scid) {
|
return goodsSecondClassDao.find(GoodsSecondClass.class, scid);
|
}
|
|
public void updateSecondClass(GoodsSecondClass secondClass)
|
throws NotExistObjectException {
|
GoodsSecondClass find = goodsSecondClassDao.find(
|
GoodsSecondClass.class, secondClass.getId());
|
if (find == null) {
|
throw new NotExistObjectException("不存在该用户");
|
}
|
find.setName(secondClass.getName());
|
find.setPicture(secondClass.getPicture());
|
find.setOrderby(secondClass.getOrderby());
|
find.setKey(secondClass.getKey());
|
goodsSecondClassDao.update(find);
|
}
|
|
public void deleteSecondClassByGC(final long id) {
|
goodsSecondClassDao.excute(new HibernateCallback() {
|
public Object doInHibernate(Session session)
|
throws HibernateException {
|
session.createQuery(
|
"delete from GoodsSecondClass gsc where gsc.parent.id=?")
|
.setParameter(0, id).executeUpdate();
|
return null;
|
}
|
});
|
}
|
|
}
|