|
|
@@ -4,16 +4,20 @@ import com.uas.platform.b2c.trade.seek.dao.SeekPurchaseDao;
|
|
|
import com.uas.platform.b2c.trade.seek.model.SeekPurchase;
|
|
|
import com.uas.platform.b2c.trade.seek.service.SeekPurchaseService;
|
|
|
import com.uas.platform.core.model.PageInfo;
|
|
|
+import com.uas.platform.core.persistence.criteria.PredicateUtils;
|
|
|
+import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import javax.persistence.criteria.CriteriaBuilder;
|
|
|
import javax.persistence.criteria.CriteriaQuery;
|
|
|
import javax.persistence.criteria.Predicate;
|
|
|
import javax.persistence.criteria.Root;
|
|
|
+import org.apache.commons.lang.time.DateUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.data.domain.Page;
|
|
|
import org.springframework.data.jpa.domain.Specification;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.util.StringUtils;
|
|
|
|
|
|
/**
|
|
|
* 求购业务实现类
|
|
|
@@ -31,7 +35,28 @@ public class SeekPurchaseServiceImpl implements SeekPurchaseService {
|
|
|
private SeekPurchaseDao seekPurchasedao;
|
|
|
|
|
|
@Override
|
|
|
- public Page<SeekPurchase> getSeekPageInfo(final PageInfo pageInfo) {
|
|
|
+ public Page<SeekPurchase> getSeekPageInfo(final PageInfo pageInfo, String kind, String brand, String deadline) {
|
|
|
+ // 产品类目
|
|
|
+ if (!StringUtils.isEmpty(kind)) {
|
|
|
+ pageInfo.filter("kind", kind);
|
|
|
+ }
|
|
|
+ // 产品品牌
|
|
|
+ if (!StringUtils.isEmpty(brand)) {
|
|
|
+ pageInfo.filter("brand", brand);
|
|
|
+ }
|
|
|
+ // 截至时间
|
|
|
+ if (!StringUtils.isEmpty(deadline)) {
|
|
|
+ Date deadlineTime = null;
|
|
|
+ pageInfo.expression(PredicateUtils.gt("deadline", new Date(), false));
|
|
|
+ if (deadline.equals(">15")) {
|
|
|
+ deadlineTime = DateUtils.addDays(new Date(), 16);
|
|
|
+ pageInfo.expression(PredicateUtils.gte("deadline", deadlineTime, false));
|
|
|
+ } else {
|
|
|
+ deadlineTime = DateUtils.addDays(new Date(), Integer.valueOf(deadline));
|
|
|
+ pageInfo.expression(PredicateUtils.lte("deadline", deadlineTime, false));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
Page<SeekPurchase> pageSeeks = seekPurchasedao.findAll(new Specification<SeekPurchase>() {
|
|
|
public Predicate toPredicate(Root<SeekPurchase> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
|
|
|
query.where(pageInfo.getPredicates(root, query, builder));
|