| | |
| | | package com.yeshi.fanli.service.impl.goods;
|
| | |
|
| | | import java.io.Serializable;
|
| | | import java.util.ArrayList;
|
| | | import java.util.List;
|
| | |
|
| | | import javax.annotation.Resource;
|
| | |
|
| | | import org.hibernate.HibernateException;
|
| | | import org.hibernate.Query;
|
| | | import org.hibernate.Session;
|
| | | import org.hibernate.Transaction;
|
| | | import org.springframework.cache.annotation.Cacheable;
|
| | | import org.springframework.orm.hibernate4.HibernateCallback;
|
| | | import org.springframework.stereotype.Service;
|
| | |
|
| | | import com.yeshi.fanli.dao.goods.SuperGoodsClassDao;
|
| | | import com.yeshi.fanli.dao.mybatis.SuperGoodsClassMapper;
|
| | | import com.yeshi.fanli.entity.bus.clazz.GoodsClass;
|
| | | import com.yeshi.fanli.entity.bus.su.clazz.SuperGoodsClass;
|
| | | import com.yeshi.fanli.entity.system.BusinessSystem;
|
| | |
| | | public class SuperGoodsClassServiceImpl implements SuperGoodsClassService {
|
| | |
|
| | | @Resource
|
| | | private SuperGoodsClassDao superGoodsClassDao;
|
| | | private SuperGoodsClassMapper superGoodsClassMapper;
|
| | |
|
| | | @Resource
|
| | | private BusinessSystemService businessSystemService;
|
| | |
|
| | |
|
| | | @Override
|
| | | @Cacheable(value="classCache", key="'getSuperGoodsClassBySystemId-'+#id")
|
| | | public List<SuperGoodsClass> getSuperGoodsClassBySystemId(long id) {
|
| | | |
| | | return superGoodsClassDao.list("from SuperGoodsClass sgc where sgc.system.id=? order by sgc.goodsClass.orderby ", new Serializable[]{id});
|
| | | |
| | | return superGoodsClassMapper.listBySystemId(id);
|
| | | }
|
| | |
|
| | | @Override
|
| | | public List<SuperGoodsClass> getSuperGoodsClasss(List<Long> gcIdList) {
|
| | | if (gcIdList.size() == 0) {
|
| | | if (gcIdList == null || gcIdList.size() == 0) {
|
| | | return new ArrayList<SuperGoodsClass>();
|
| | | }
|
| | | StringBuffer sb = new StringBuffer(" from SuperGoodsClass sgc ");
|
| | | Serializable[] serArr = new Serializable[gcIdList.size()];
|
| | | for (int i = 0; i < gcIdList.size(); i++) {
|
| | | if (i == 0) {
|
| | | sb.append(" where sgc.goodsClass.id=? ");
|
| | | } else {
|
| | | sb.append(" or sgc.goodsClass.id=? ");
|
| | | }
|
| | | serArr[i] = gcIdList.get(i);
|
| | | }
|
| | | //sb.append(" order by sgc.goodsClass.orderby ");
|
| | | String hql = sb.toString();
|
| | |
|
| | | return superGoodsClassDao.list(hql, serArr);
|
| | |
|
| | | return superGoodsClassMapper.listByGoodsclassIds(gcIdList);
|
| | | }
|
| | |
|
| | | public List<SuperGoodsClass> getSuperGoodsClassList(long id, int start,
|
| | | int count, String key) {
|
| | | return superGoodsClassDao.list("from SuperGoodsClass srs where srs.system.id=? and srs.goodsClass.name like ? order by sgc.goodsClass.orderby ",start,count,new Serializable[]{id, "%"+key+"%"});
|
| | | @Override
|
| | | public List<SuperGoodsClass> getSuperGoodsClassList(long id, int start, int count, String key) {
|
| | | return superGoodsClassMapper.listBySystemIdAmdClassName(start, count, key, id);
|
| | |
|
| | | }
|
| | |
|
| | | @Override
|
| | | public List<SuperGoodsClass> getSuperGoodsClassAll(long id) {
|
| | | return superGoodsClassDao.list("from SuperGoodsClass srs where srs.system.id=? order by sgc.goodsClass.orderby ",new Serializable[]{id});
|
| | | public Integer deleteSuperGoodsClass(final long gcid, final String platform, final String packageName) {
|
| | |
|
| | | BusinessSystem system = businessSystemService.getBusinessSystem(platform, packageName);
|
| | | if (system == null) {
|
| | | return 0;
|
| | | }
|
| | | return superGoodsClassMapper.deleteBySystemIdAndClassId(gcid, system.getId());
|
| | | }
|
| | |
|
| | | public Integer deleteSuperGoodsClass(final long gcid, final String platform,
|
| | | final String packageName) {
|
| | |
|
| | | return (Integer) superGoodsClassDao.excute(new HibernateCallback<Integer>() {
|
| | |
|
| | | public Integer doInHibernate(Session session)
|
| | | throws HibernateException {
|
| | | BusinessSystem system = businessSystemService.getBusinessSystem(platform, packageName);
|
| | | Transaction transaction = session.beginTransaction();
|
| | | Query query = session.createQuery("delete SuperGoodsClass shs "
|
| | | + " where shs.goodsClass.id=? and shs.system.id=?");
|
| | | query.setLong(0, gcid);
|
| | | query.setLong(1, system.getId());
|
| | | int i = query.executeUpdate();
|
| | | transaction.commit();
|
| | | return i ;
|
| | | }
|
| | | });
|
| | | }
|
| | |
|
| | | public void addSuperGoodsClass(long gcid, String platform,
|
| | | String packageName) {
|
| | | |
| | | @Override
|
| | | public void addSuperGoodsClass(long gcid, String platform, String packageName) {
|
| | | BusinessSystem system = businessSystemService.getBusinessSystem(platform,packageName);
|
| | | SuperGoodsClass superGoodsClass = new SuperGoodsClass();
|
| | | |
| | | GoodsClass goodsClass = new GoodsClass();
|
| | | goodsClass.setId(gcid);
|
| | | |
| | | SuperGoodsClass superGoodsClass = new SuperGoodsClass();
|
| | | superGoodsClass.setGoodsClass(goodsClass);;
|
| | | superGoodsClass.setSystem(system);
|
| | | superGoodsClassDao.create(superGoodsClass);
|
| | | superGoodsClassMapper.insert(superGoodsClass);
|
| | | }
|
| | |
|
| | | @Override
|
| | | public void deleteSuperGoodsClass(long gcid) {
|
| | | superGoodsClassMapper.deleteByClassId(gcid);
|
| | | }
|
| | |
|
| | | public void deleteSuperGoodsClass(final long gcid) {
|
| | | superGoodsClassDao.excute(new HibernateCallback() {
|
| | | public Object doInHibernate(Session session)
|
| | | throws HibernateException {
|
| | | Query query = session.createQuery("delete from SuperGoodsClass sgc where sgc.goodsClass.id=?");
|
| | | query.setParameter(0, gcid);
|
| | | query.executeUpdate();
|
| | | return null;
|
| | | }
|
| | | });
|
| | | |
| | | @Override
|
| | | public void insertSelective(SuperGoodsClass record){
|
| | | superGoodsClassMapper.insertSelective(record);
|
| | | }
|
| | |
|
| | |
|
| | | |
| | | }
|