Browse Source

增加询价数据保存

liusw 7 years ago
parent
commit
31304cd1f4

+ 28 - 1
src/main/java/com/uas/ps/inquiry/controller/DeadlineTask.java

@@ -4,9 +4,11 @@ import com.alibaba.fastjson.JSON;
 import com.uas.ps.core.util.ContextUtils;
 import com.uas.ps.inquiry.AccessConfiguration;
 import com.uas.ps.inquiry.dao.EnterpriseDao;
+import com.uas.ps.inquiry.dao.InquiryDataDao;
 import com.uas.ps.inquiry.dao.PurcInquiryItemDao;
 import com.uas.ps.inquiry.entity.MessageModel;
 import com.uas.ps.inquiry.model.Enterprise;
+import com.uas.ps.inquiry.model.InquiryData;
 import com.uas.ps.inquiry.model.InquiryRemind;
 import com.uas.ps.inquiry.model.PublicInquiryItem;
 import com.uas.ps.inquiry.service.InquiryService;
@@ -15,8 +17,8 @@ import com.uas.ps.inquiry.util.HttpUtil;
 import com.uas.ps.inquiry.util.ThreadUtils;
 import org.apache.log4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 import org.springframework.util.CollectionUtils;
@@ -24,6 +26,7 @@ import org.springframework.util.CollectionUtils;
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 求购截止,每日晚上轮询一次
@@ -43,6 +46,12 @@ public class DeadlineTask {
     @Autowired
     private InquiryService inquiryService;
 
+    @Autowired
+    private JdbcTemplate jdbcTemplate;
+
+    @Autowired
+    private InquiryDataDao inquiryDataDao;
+
     private static final Logger log = Logger.getLogger(Logger.class);
 
     /**
@@ -190,4 +199,22 @@ public class DeadlineTask {
         log.info(hour + "点定时统计询价单总数服务结束");
     }
 
+    /**
+     * 每天0时 查询询价数据
+     */
+    @Scheduled(cron =  "0 0 0 * * ?" )
+    public void inquiryDataQuery(){
+        List<InquiryData> inquiryDataList = inquiryDataDao.findAll();
+        String sql = "";
+        List<Map<String, Object>> data = null;
+        String jsonData = "";
+        for (InquiryData inquiryData : inquiryDataList) {
+            sql = inquiryData.getSql();
+            data = jdbcTemplate.queryForList(sql);
+            jsonData = FlexJsonUtils.toJson(data);
+            inquiryData.setData(jsonData);
+            System.out.println(jsonData);
+            inquiryDataDao.save(inquiryData);
+        }
+    }
 }

+ 21 - 0
src/main/java/com/uas/ps/inquiry/dao/InquiryDataDao.java

@@ -0,0 +1,21 @@
+package com.uas.ps.inquiry.dao;
+
+import com.uas.ps.inquiry.model.InquiryData;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+/**
+ * 数据查询
+ *
+ * @author liusw
+ * @date 2018-06-26 17:54
+ */
+public interface InquiryDataDao extends JpaRepository<InquiryData, Long>, JpaSpecificationExecutor<InquiryData> {
+
+    /**
+     * 通过数据名查询
+     * @param name
+     * @return
+     */
+    InquiryData findByName(String name);
+}

+ 77 - 0
src/main/java/com/uas/ps/inquiry/model/InquiryData.java

@@ -0,0 +1,77 @@
+package com.uas.ps.inquiry.model;
+
+import javax.persistence.*;
+import java.io.Serializable;
+
+/**
+ * 数据查询
+ *
+ * @author liusw
+ * @date 2018-06-26 17:49
+ */
+@Entity
+@Table(name = "purc$inquirydata")
+public class InquiryData implements Serializable {
+    /**
+     * 序列号
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+    @Id
+    @Column(name = "id_id")
+    @GeneratedValue
+    private Long id;
+
+    /**
+     * 数据 以json保存
+     */
+    @Column(name = "id_data")
+    private String data;
+
+    /**
+     * 数据名称
+     */
+    @Column(name = "id_name")
+    private String name;
+
+    /**
+     * sql语句
+     */
+    @Column(name = "id_sql")
+    private String sql;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getData() {
+        return data;
+    }
+
+    public void setData(String data) {
+        this.data = data;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getSql() {
+        return sql;
+    }
+
+    public void setSql(String sql) {
+        this.sql = sql;
+    }
+}

+ 7 - 3
src/main/java/com/uas/ps/inquiry/service/impl/PublicInquiryServiceImpl.java

@@ -90,6 +90,9 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
     @Autowired
     private KindConcernDao kindConcernDao;
 
+    @Autowired
+    private InquiryDataDao inquiryDataDao;
+
     private static final Logger log = Logger.getLogger(Logger.class);
 
     /**
@@ -1284,9 +1287,10 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
      */
     @Override
     public List<Map<String, Object>> findCodeRankingList() {
-        String sql = "select * from(SELECT sum(1) AS seekAmount, id_cmpcode FROM `purc$puinquiryitems` where id_cmpcode is not null group by id_cmpcode ) "
-                + " a order by seekAmount desc limit 0,5";
-        return jdbcTemplate.queryForList(sql);
+        String name = "采购排行榜";
+        InquiryData inquiryData = inquiryDataDao.findByName(name);
+        List<Map<String, Object>> result = FlexJsonUtils.fromJsonArray(inquiryData.getData(), HashMap.class);
+        return result;
     }
 
     /**