Ver código fonte

项目id加密及提交测试用例

fuwencai 4 anos atrás
pai
commit
0b1ea3f27f
2 arquivos alterados com 74 adições e 12 exclusões
  1. 7 7
      service/projects.go
  2. 67 5
      test/project/project_test.go

+ 7 - 7
service/projects.go

@@ -3,9 +3,11 @@ package service
 import (
 	"errors"
 	"fmt"
+	"go.uber.org/zap"
 	"sfbase/core"
 	"sfbase/elastic"
 	"sfbase/global"
+	"sfbase/utils"
 	"sfis/db"
 	"strconv"
 	"strings"
@@ -45,13 +47,7 @@ func ProjectListData(projectName, winner, times string, isDetail bool) (data []m
 		if endTime, err := time.ParseInLocation("2006-01-02 15:04:05", end, loc); err == nil {
 			endTimes = fmt.Sprint(endTime.Unix())
 		}
-		// if start == "" && end != "" {
-		// 	timestr = `{"range": {"firsttime": {"lte": ` + end + `}}}`
-		// } else if start != "" && end == "" {
-		// 	timestr = `{"range": {"firsttime": {"gte": ` + start + `}}}`
-		// } else if start != "" && end != "" {
 		timestr = `{"range": {"jgtime": {"gte": ` + startTimes + `,"lte": ` + endTimes + `}}}`
-		// }
 	}
 	if pjt_len >= 4 && winner == "" {
 		qstr = fmt.Sprintf(query, "", fmt.Sprintf(query_string, pjt_name, pjt_name))
@@ -84,6 +80,10 @@ func ProjectListData(projectName, winner, times string, isDetail bool) (data []m
 	repl := GetAllByNgram(Es, INDEX, TYPE, qstr, "", pjt_sort, fields, 0, pjt_count, 0, false)
 	if repl != nil && len(*repl) > 0 {
 		data = *repl
+		for _, i := range data {
+			i["project_id"] = SE.EncodeString(utils.ObjToString(i["_id"]))
+			delete(i, "_id")
+		}
 	}
 	return
 }
@@ -106,7 +106,7 @@ func GetAllByNgram(Es *elastic.Elastic, index, itype, qstr, findfields, order, f
 		if start > -1 {
 			qstr = qstr[:len(qstr)-1] + `,"from":` + strconv.Itoa(start) + `,"size":` + strconv.Itoa(limit) + "}"
 		}
-		global.Logger.Info("GetAllByNgram方法es查询语句:" + qstr)
+		global.Logger.Info("GetAllByNgram方法es查询",zap.Any("es语句",qstr))
 		return Es.Get(index, itype, qstr)
 	} else {
 		return nil

+ 67 - 5
test/project/project_test.go

@@ -48,13 +48,13 @@ func Test_Project(t *testing.T) {
 func getData1(n int) {
 	appID := "sfGSVYRQMAAgkGBAUBJg4f"
 	secretKey := "364xw909"
-	projectName := "河南省地税局2021年信息化建设招标项目"
-	winner := "河南拓普计算机" + fmt.Sprint(n)
-	zbRq := "2020-12-02"
+	projectName := "郑州航空港区富士"
+	winner := "中铁十五局集团有限公司"
+	zbRq := "2019-07-15"
 	data := make(url.Values)
-	data["projectName"] = []string{projectName}
+	data["project_name"] = []string{projectName}
 	data["winner"] = []string{winner}
-	data["zbRq"] = []string{zbRq}
+	data["bid_time"] = []string{zbRq}
 	data["app_id"] = []string{appID}
 	now := time.Now().Unix()
 	bs, _ := utils.HttpPostForm("http://localhost:8080/sfis/api/v1/projectList", map[string]string{
@@ -64,6 +64,68 @@ func getData1(n int) {
 	log.Print(string(bs))
 }
 
+func Test_ProjectList(t *testing.T) {
+	appID := "sfGSVYRQMAAgkGBAUBJg4f"
+	secretKey := "364xw909"
+	projectName := "洛阳市东环路"
+	winner := "中铁十五局集团有限公司"
+	bidTime1 := "2020-01-14"
+	bidTime := "2020-06-30"
+	bidTime3 := "2020-09-01"
+	// 中标日期 项目名称 中标单位
+	data := make(url.Values)
+	data["project_name"] = []string{projectName}
+	data["winner"] = []string{winner}
+	data["bid_time"] = []string{bidTime1}
+	data["app_id"] = []string{appID}
+	now := time.Now().Unix()
+	bs, _ := utils.HttpPostForm("http://localhost:8080/sfis/api/v1/projectList", map[string]string{
+		"token":     utils.MD5(fmt.Sprintf("%s%d%s", appID, now, secretKey)),
+		"timestamp": fmt.Sprint(now),
+	}, data)
+	log.Print(string(bs))
+	// 中标日期 项目名称
+	data2 := make(url.Values)
+	data2["project_name"] = []string{projectName}
+	data2["bid_time"] = []string{bidTime}
+	data2["app_id"] = []string{appID}
+	now2 := time.Now().Unix()
+	bs2, _ := utils.HttpPostForm("http://localhost:8080/sfis/api/v1/projectList", map[string]string{
+		"token":     utils.MD5(fmt.Sprintf("%s%d%s", appID, now2, secretKey)),
+		"timestamp": fmt.Sprint(now2),
+	}, data2)
+	log.Print(string(bs2))
+	// 中标日期 中标单位
+	data3 := make(url.Values)
+	data3["winner"] = []string{winner}
+	data3["bid_time"] = []string{bidTime3}
+	data3["app_id"] = []string{appID}
+	now3 := time.Now().Unix()
+	bs3, _ := utils.HttpPostForm("http://localhost:8080/sfis/api/v1/projectList", map[string]string{
+		"token":     utils.MD5(fmt.Sprintf("%s%d%s", appID, now3, secretKey)),
+		"timestamp": fmt.Sprint(now2),
+	}, data3)
+	log.Print(string(bs3))
+
+}
+// 列表详情测试用例
+func Test_ProjectListDetail(t *testing.T) {
+	appID := "sfGSVYRQMAAgkGBAUBJg4f"
+	secretKey := "364xw909"
+	data1 := make(url.Values)
+	data1["app_id"] = []string{appID}
+	data1["winner"] = []string{"中铁十五局集团有限公司"}
+
+	now := time.Now().Unix()
+	bs, _ := utils.HttpPostForm("http://localhost:8080/sfis/api/v1/projectListDetail", map[string]string{
+		"token":     utils.MD5(fmt.Sprintf("%s%d%s", appID, now, secretKey)),
+		"timestamp": fmt.Sprint(now),
+	}, data1)
+	log.Print(string(bs))
+
+}
+
+
 func getData() {
 	data := post(apiurl, map[string]string{
 		"projectname": "河南大学",