Browse Source

求购查询,求购查询

liusw 8 years ago
parent
commit
336908e067

+ 5 - 2
src/main/java/com/uas/platform/b2c/trade/seek/controller/SeekPurchaseController.java

@@ -34,16 +34,19 @@ public class SeekPurchaseController {
      * 日志
      */
     private static final  UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
+
     /**
      * 分页获取采购列表
      * @param params 分页参数
+     * @param  kind 产品类目
+     * @param brand 产品品牌
      * @return 采购列表
      */
     @RequestMapping(value = "/getSeekPageInfo", method = RequestMethod.GET)
-    public Page<SeekPurchase> getSeekPageInfo(PageParams params) {
+    public Page<SeekPurchase> getSeekPageInfo(PageParams params, String kind, String brand, String deadline) {
         logger.log("求购", "分页获取采购列表,参数为" + params);
         PageInfo info = new PageInfo(params);
-        return seekPurchaseService.getSeekPageInfo(info);
+        return seekPurchaseService.getSeekPageInfo(info, kind, brand, deadline);
     }
 
     /**

+ 14 - 0
src/main/java/com/uas/platform/b2c/trade/seek/model/SeekPurchase.java

@@ -99,6 +99,12 @@ public class SeekPurchase {
     @Column(name = "sp_kind")
     private String kind;
 
+    /**
+     * 求购发布时间
+     */
+    @Column(name = "sp_releaseDate")
+    private Date releaseDate;
+
     public Long getId() {
         return id;
     }
@@ -202,4 +208,12 @@ public class SeekPurchase {
     public void setKind(String kind) {
         this.kind = kind;
     }
+
+    public Date getReleaseDate() {
+        return releaseDate;
+    }
+
+    public void setReleaseDate(Date releaseDate) {
+        this.releaseDate = releaseDate;
+    }
 }

+ 1 - 1
src/main/java/com/uas/platform/b2c/trade/seek/service/SeekPurchaseService.java

@@ -19,7 +19,7 @@ public interface SeekPurchaseService {
      * @param pageInfo 分页信息
      * @return 采购列表
      */
-    Page<SeekPurchase> getSeekPageInfo(PageInfo pageInfo);
+    Page<SeekPurchase> getSeekPageInfo(PageInfo pageInfo, String kind, String brand, String deadline);
 
     /**
      * 获取采购排行榜

+ 26 - 1
src/main/java/com/uas/platform/b2c/trade/seek/service/impl/SeekPurchaseServiceImpl.java

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