在好例子网,分享、交流、成长!
您当前所在位置:首页Go 开发实例Go语言基础 → go语言一元云购独立时 时 彩开奖计算程序源码实例

go语言一元云购独立时 时 彩开奖计算程序源码实例

Go语言基础

下载此实例
  • 开发语言:Go
  • 实例大小:2.62M
  • 下载次数:10
  • 浏览次数:365
  • 发布时间:2016-11-14
  • 实例类别:Go语言基础
  • 发 布 人:kadsyt
  • 所需积分:2
 相关标签: 源码

实例介绍

【实例简介】 独立运行,绝对不会因取不到时时彩数据而开不了奖。获取重庆时时彩最新一期彩票号码,获取网站N条购物记录,计算出中奖号码,修改数据库,发送中奖通知。需修改云购源码才能对接,自行研究!


【实例截图】

【核心代码】

//获取到最新的时时彩开奖结果
func getShiShiCai() {
resp, err := http.Get(caipiaourl)
if err != nil {
fmt.Println("时时彩开奖结果获取失败")
return
}
result, err := ioutil.ReadAll(resp.Body)
resp.Body.Close()
if err != nil {
fmt.Println("时时彩开奖结果获取失败")
return
}
var data map[string]interface{}
err = json.Unmarshal([]byte(result), &data)
if err != nil {
fmt.Println("时时彩数据解析失败" err.Error())
return
}
data = data["data"].([]interface{})[0].(map[string]interface{})
caipiao, err := strconv.ParseInt(strings.Replace(data["opencode"].(string), ",", "", -1), 10, 64)
if err == nil {
caipiaocode = caipiao
caipiaoqishu = data["expect"].(string)
fmt.Println("获取到彩票[" caipiaoqishu "期]开奖结果:" strconv.FormatInt(caipiaocode, 10))
}
}

//计算中奖号码
func runCode() {
for {
shopValue := <-shop
fmt.Println("开始开奖[" gosql.StringDefault(shopValue["qishu"], "未知") "期]" gosql.StringDefault(shopValue["title"], "未知商品"))
//获取最后购买时间点的第n条时间纪录
lastbuyinfo, err := db.Rows("SELECT * FROM " dbPrefix "member_go_record WHERE time <= (SELECT time FROM " dbPrefix "member_go_record WHERE shopid = ? ORDER BY id DESC LIMIT 1) ORDER BY id DESC LIMIT " strconv.FormatInt(last, 10), shopValue["id"])
if err != nil {
fmt.Println("获取最后购买的" strconv.FormatInt(last, 10) "条数据失败:" err.Error())
continue
}
array := make(phpserialize.PhpSlice, len(lastbuyinfo))
var timecount int64
for index, v := range lastbuyinfo {
buytime, _ := gosql.String(v["time"])
buytimes := strings.Split(buytime, ".")
unixtime, _ := strconv.ParseInt(buytimes[0], 10, 64)
t := time.Unix(unixtime, 0)
count := fmtLen(strconv.FormatInt(int64(t.Hour()), 10)) fmtLen(strconv.FormatInt(int64(t.Minute()), 10)) fmtLen(strconv.FormatInt(int64(t.Second()), 10)) buytimes[1]
info := make(phpserialize.PhpArray)
info["time"], _ = gosql.String(v["time"])
info["username"], _ = gosql.String(v["username"])
info["uid"], _ = gosql.String(v["uid"])
info["shopid"], _ = gosql.String(v["shopid"])
info["shopname"], _ = gosql.String(v["shopname"])
info["shopqishu"], _ = gosql.String(v["shopqishu"])
info["gonumber"], _ = gosql.String(v["gonumber"])
info["time_add"] = count
array[index] = info
tc, _ := strconv.ParseInt(count, 10, 64)
timecount = tc
}
phps, err := phpserialize.Serialize(array)
if err != nil {
fmt.Println("php序列化失败:" err.Error())
continue
}
zhonrenshu, _ := gosql.Int64(shopValue["zongrenshu"]) //总人数
counttime := timecount                                //时间中值
timecount = caipiaocode                              //获取到所有数据值 = 时间统计+彩票值
timecount = timecount % zhonrenshu                    //取总人数余数
//timecount := caipiaocode % zhonrenshu //彩票结果取余
timecount = 10000001 //得到中奖代码
fmt.Println("开奖结果:" strconv.FormatInt(timecount, 10))
//查询中奖者
uGoInfo, err := db.Rows("SELECT * FROM " dbPrefix "member_go_record WHERE `shopid` = ? AND `shopqishu` = ? AND goucode LIKE ? LIMIT 1 ", shopValue["id"], shopValue["qishu"], "%" strconv.FormatInt(timecount, 10) "%")
if err != nil || len(uGoInfo) < 1 {
fmt.Println("中奖者信息查询失败")
continue
}
userBuyInfo := uGoInfo[0]
uInfo, err := db.Rows("SELECT uid,username,email,mobile,img FROM " dbPrefix "member WHERE `uid` = ? LIMIT 1", userBuyInfo["uid"])
if err != nil || len(uInfo) < 1 {
fmt.Println("中奖者不存在[" gosql.StringDefault(userBuyInfo["uid"], "") "]")
continue
}
userInfo := phpserialize.PhpArray{
"uid":      gosql.Int64Default(uInfo[0]["uid"], 0),
"username": gosql.StringDefault(uInfo[0]["username"], ""),
"email":    gosql.StringDefault(uInfo[0]["email"], ""),
"mobile":   gosql.StringDefault(uInfo[0]["mobile"], ""),
"img":      gosql.StringDefault(uInfo[0]["img"], ""),
}
userInfo["cpqs"] = caipiaoqishu //保存彩票期数
userInfo["cpjg"] = caipiaocode  //保存彩票号码
//更新商品
user, err := phpserialize.Serialize(userInfo)
if err != nil {
fmt.Println("用户数据序列化失败:" err.Error())
continue
}
sqlss := "UPDATE `" dbPrefix "shoplist` SET `canyurenshu`=`zongrenshu`,`shenyurenshu` = '0',`q_counttime` = ? ,`q_content` = ?,`q_uid` = ?,`q_user` = ?,`q_user_code` = ? WHERE `id` = ? "
_, err = db.Exec(sqlss, counttime, phps, userInfo["uid"], user, timecount, shopValue["id"])
if err != nil {
fmt.Println("开奖失败:" err.Error())
continue
}
//更新中奖者信息
db.Exec("UPDATE `" dbPrefix "member_go_record` SET `huode` = ? where `id` = ? ", timecount, userBuyInfo["id"])
//通知开奖
res, _ := http.Get(notify "/" gosql.StringDefault(shopValue["id"], ""))
if res != nil {
res.Body.Close()
}
}
}



标签: 源码

实例下载地址

go语言一元云购独立时 时 彩开奖计算程序源码实例

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
;
报警
var cnzz_protocol = (("https:" == document.location.protocol) ? " https://" : " http://");document.write(unescape("%3Cspan id='cnzz_stat_icon_4847253'%3E%3C/span%3E%3Cscript src='" + cnzz_protocol + "s13.cnzz.com/stat.php%3Fid%3D4847253' type='text/javascript'%3E%3C/script%3E"));