From eb7f3343af839a7c71f16e8ada2b25d5e2201c08 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 19 四月 2021 19:27:52 +0800
Subject: [PATCH] bug修复

---
 src/main/java/com/yeshi/buwan/dao/vip/OrderRecordDao.java |   50 +++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 43 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/yeshi/buwan/dao/vip/OrderRecordDao.java b/src/main/java/com/yeshi/buwan/dao/vip/OrderRecordDao.java
index ac8a165..91879c4 100644
--- a/src/main/java/com/yeshi/buwan/dao/vip/OrderRecordDao.java
+++ b/src/main/java/com/yeshi/buwan/dao/vip/OrderRecordDao.java
@@ -5,40 +5,74 @@
 import com.yeshi.buwan.domain.vip.OrderRecord;
 import org.springframework.stereotype.Repository;
 
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 @Repository
 public class OrderRecordDao extends BaseDao<OrderRecord> {
 
+    class DaoQueryResult {
+        public String hql;
+        public Serializable[] params;
 
-    private String getHql(DaoQuery daoQuery) {
+        public DaoQueryResult(String hql, Serializable[] params) {
+            this.hql = hql;
+            this.params = params;
+        }
+    }
+
+
+    private DaoQueryResult getHql(DaoQuery daoQuery) {
 
         String hql = "from OrderRecord r where 1=1";
+        List<Serializable> params = new ArrayList<>();
 
         if (daoQuery.state != null) {
-            hql += " and r.state=" + daoQuery.state;
+            hql += " and r.state=?";
+            params.add(daoQuery.state);
         }
 
         if (daoQuery.uid != null) {
-            hql += " and r.uid=" + daoQuery.uid;
+            hql += " and r.uid=?";
+            params.add(daoQuery.uid);
         }
 
         if (daoQuery.orderType != null) {
-            hql += " and r.orderType='" + daoQuery.orderType+"'";
+            hql += " and r.orderType=?";
+            params.add(daoQuery.orderType);
         }
 
+        if (daoQuery.minCreateTime != null) {
+            hql += " and r.createTime>=? ";
+            params.add(daoQuery.minCreateTime);
+        }
+
+
+        if (daoQuery.maxCreateTime != null) {
+            hql += " and r.createTime < ?";
+            params.add(daoQuery.maxCreateTime);
+        }
+
+
         hql += " order by r.createTime desc";
-        return hql;
+        Serializable[] ps = new Serializable[params.size()];
+        params.toArray(ps);
+
+        return new DaoQueryResult(hql, ps);
     }
 
 
     public List<OrderRecord> list(DaoQuery daoQuery) {
-        return super.list(getHql(daoQuery), daoQuery.start, daoQuery.count, null);
+        DaoQueryResult queryResult = getHql(daoQuery);
+        return super.list(queryResult.hql, daoQuery.start, daoQuery.count, queryResult.params);
     }
 
 
     public long count(DaoQuery daoQuery) {
-        return super.getCount(getHql(daoQuery), null);
+        DaoQueryResult queryResult = getHql(daoQuery);
+        return super.getCount(queryResult.hql, queryResult.params);
     }
 
     public static class DaoQuery {
@@ -47,6 +81,8 @@
         public String uid;
         public int start;
         public int count;
+        public Date minCreateTime;
+        public Date maxCreateTime;
     }
 
 }

--
Gitblit v1.8.0