package org.hepx.jgt.showcase.service; import org.apache.commons.lang.StringUtils; import org.hepx.jgt.common.datatable.RequestParams; import org.hepx.jgt.showcase.domain.CommodityExtend; import org.hepx.jgt.showcase.domain.DataTablePage; import org.hepx.jgt.showcase.domain.Product; import org.hepx.jgt.showcase.repository.CommodityExtendRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Collection; import java.util.Date; import java.util.List; /** * @author: Koala * @Date: 14-7-29 下午5:05 * @Version: 1.0 */ @Service @Transactional(readOnly = true) public class CommodityExtendService { @Autowired public CommodityExtendRepository commodityExtendRepository; @Autowired public CommissionRateService commissionRateService; public List<CommodityExtend> list(){ return this.commodityExtendRepository.findAll(); } public DataTablePage<CommodityExtend> list(RequestParams requestParams){ Page<CommodityExtend> page=null; if(StringUtils.isNotEmpty(requestParams.getSearch().getValue())){ page=this.commodityExtendRepository.findByNameLike("%"+ requestParams.getSearch().getValue()+"%", requestParams.buildPageable()); }else{ page=this.commodityExtendRepository.findAll(requestParams.buildPageable()); } if(page!=null){ return new DataTablePage<CommodityExtend>(page); }else{ return null; } } public CommodityExtend findOne(Long id){ return this.commodityExtendRepository.findOne(id); } @Transactional public CommodityExtend saveOrUpdate(CommodityExtend commodityExtend){ return this.commodityExtendRepository.save(commodityExtend); } @Transactional public void delete(Long id){ this.commodityExtendRepository.delete(id); } public void add(Collection<Long >ids){ for(Long id : ids){ Product p=ProductData.getProductById(id); CommodityExtend c=new CommodityExtend(); c.setName(p.getName()); c.setUrl(p.getUrl()); c.setPictureUrl(p.getImg()); c.setDescription(p.getDescription()); c.setPrice(p.getPrice()); c.setCommodityId(p.getId()); c.setCreateTime(new Date()); //根据商品类型设置佣金比率 c.setStatus(false); c.setRate(commissionRateService.findByCategory(p.getCategory())); this.commodityExtendRepository.save(c); } } }