• haoyanbin's avatar
    1 · 9bf9e037
    haoyanbin authored
    9bf9e037
generate.go 3.77 KB
package service

import (
	"fmt"
	"math/rand"
	"sort"
	"time"
)

var CommentList map[string]interface{}

type comment struct {
	Eventtime string `json:"eventtime"`
	Name      string `json:"name"`
	Content   string `json:"content"`
}

var names = []string{"张先生",
	"宋先生",
	"王先生",
	"刘先生",
	"寇先生",
	"云先生",
	"唐先生",
	"胡先生",
	"肖先生",
	"吕先生",
	"钟先生",
	"宁先生",
	"向先生",
	"井先生",
	"杜先生",
	"张女士",
	"武女士",
	"赵女士",
	"李女士",
	"孙女士",
	"段女士",
	"姚女士",
	"韩女士",
	"崔女士",
	"康女士",
	"林女士",
	"朱女士",
	"边女士",
	"宫女士",
	"盖女士"}

var contents = []string{"回答的很专业,回复及时,认真负责,很棒。",
	"医生很有耐心,很专业,回复也很快,太棒了,会持续支持。",
	"帮助很大,反馈及时,态度良好,非常感谢。",
	"解答很透彻,也不随便用药,服务很棒。",
	"谢谢医生的建议,本来担心的要死,听了医生的建议,放心了。",
	"医生很有耐心,可以很好的解决问题。",
	"听过医生的讲解,知道了基本病因,能很好的配合治疗。赞",
	"医生特别有耐心,帮助到了我,非常感谢。",
	"医生太棒啦!回复的特别详细,还提醒我三天后来复诊!",
	"超级无敌快而且问题!朋友推荐我来问的,果然不错!",
	"专业,思路清晰。直接点名关键问题,很棒的医生。",
	"医生很耐心,回答很仔细,悬着的心可以放下了。",
	"朋友推荐过来的,医生很有耐心,很专业太棒了。",
	"医生很负责,讲解的很详细",
	"通过医生的讲解,知道了基本病因,能很好的配合治疗,赞。",
	"医生太棒啦!接诊快恢复的特别详细,很专业太棒了",
	"经验丰富,耐心细致,值得信赖",
	"医生很负责,我非常满意,医生经验丰富。",
	"朋友推荐过来的,果然不错,医生专业负责",
	"很喜欢,下次有需要会再次连线问诊",
	"服务很棒,医生很专业",
	"接诊速度快,回答也很专业",
	"本以为在线问诊不靠谱,没想到这么专业,点赞",
	"医生很有耐心,很专业,我的小花生病再也不用愁了",
	"咨询过3次,每次都是很有耐心",
	"第一次使用在线问诊,医生很专业,很有赞新,点赞",
	"帮朋友咨询的,医生很专业,很有耐心",
	"医生态度很好,给出的建议很有用",
	"医生很认真哟,非常感谢",
	"感谢医生认证解答猫的问题,给出了很好的解决方法,真实感谢"}

func Generate() interface{} {

	res := make([]comment, 0)

	now := time.Now().AddDate(0,  0, -1)
	years := make([]string, 0)
	years = append(years, now.Format("2006-01-02"))
	years = append(years, now.AddDate(0, 0, -1).Format("2006-01-02"))
	years = append(years, now.AddDate(0, 0, -2).Format("2006-01-02"))

	fmt.Println("years: ", years)

	times := make([]string, 0)
	for i := 1; i <= 60; i++ {
		num := fmt.Sprintf("%v", i)
		if len(num) == 1 {
			times = append(times, fmt.Sprintf("0%v", i))
		} else {
			times = append(times, fmt.Sprintf("%v", i))
		}
	}

	hours := make([]string, 0)
	for i := 9; i <= 18; i++ {
		num := fmt.Sprintf("%v", i)
		if len(num) == 1 {
			hours = append(hours, fmt.Sprintf("0%v", i))
		} else {
			hours = append(hours, fmt.Sprintf("%v", i))
		}
	}

	fmt.Println("hours: ", hours)

	r := rand.New(rand.NewSource(time.Now().UnixNano()))

	for i := 0; i < 30; i++ {

		res = append(res, comment{
			Eventtime: fmt.Sprintf("%s %s:%s:%s", years[r.Intn(3)], hours[r.Intn(9)], times[r.Intn(60)], times[r.Intn(60)]),
			Name:      names[r.Intn(30)],
			Content:   contents[r.Intn(30)],
		})

	}

	sort.Slice(res, func(i, j int) bool {
		return res[i].Eventtime > res[j].Eventtime
	})

	return res
}