亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Golang > 正文

golang 數(shù)據(jù)庫批量更新工具備份

2020-04-01 19:11:35
字體:
供稿:網(wǎng)友

使用golang多線程批量更新數(shù)據(jù)數(shù)據(jù)。

共4個文件

main.go

  1. package main 
  2.  
  3. import ( 
  4.     "bufio" 
  5.     "fmt" 
  6.     _ "github.com/go-sql-driver/mysql" 
  7.     "os" 
  8.     . "pt" 
  9.  
  10. func main() { 
  11.     args := os.Args 
  12.     if len(args) == 2 { 
  13.         switch args[1] { 
  14.         case "1"
  15.             Cu.Run() 
  16.         case "2"
  17.             //平臺負(fù)債表數(shù)據(jù)靜態(tài)化 
  18.             Fz.Run() 
  19.         case "0"
  20.             os.Exit(0) 
  21.         default
  22.         } 
  23.     } 
  24.     if len(args) == 1 { 
  25.         for { 
  26.             fmt.Println("操作目錄: "
  27.             fmt.Println("1、平臺有效客戶更新(202:13306-platform)。 "
  28.             fmt.Println("2、平臺負(fù)債數(shù)據(jù)靜態(tài)化(202:13306-platform)。"
  29.             fmt.Println("0、退出。 "
  30.             inputReader := bufio.NewReader(os.Stdin) 
  31.             command, _, _ := inputReader.ReadLine() 
  32.             code := string(command) 
  33.             switch code { 
  34.             case "1"
  35.                 Cu.Run() 
  36.             case "2"
  37.                 //平臺負(fù)債表數(shù)據(jù)靜態(tài)化 
  38.                 Fz.Run() 
  39.             case "0"
  40.                 os.Exit(0) 
  41.             default
  42.                 fmt.Println("default"
  43.             } 
  44.             fmt.Println("-------處理完成-------"
  45.         } 
  46.     } 
  47.  

pt/custatus.go

// 客戶屬性自動更新封裝

// 需要公司開啟自動更新并配置客戶過期周期時間

package pt

import (

"fmt"

"log"

"strconv"

"strings"

"time"

)

type CuStatusClass struct {

}

func NewCu() *CuStatusClass {

obj := new(CuStatusClass)

return obj

}

/**

*判斷客戶狀態(tài)

**/

func (obj *CuStatusClass) getState(orders int, practs int, state int) int {

if orders > 0 || practs > 0 {

return 1 //最近有訂單OR有實操 為有效客戶

}

if state == 3 {

return 3 //死檔客戶

}

if state == -1 {

return -1 //無效客戶

}

//默認(rèn)返回為久黨客戶

return 2

}

/*

* 獲取公司關(guān)于有效客戶的配置天數(shù) 默認(rèn)30天

*/

func (obj *CuStatusClass) getConfig(str string) int {

var num int

n := strings.Index(str, "member_config")

if n == -1 {

num = 30

} else {

start := n + 20

end := n + 22

num2 := string([]byte(str)[start:end])

num, _ = strconv.Atoi(num2)

}

return num

}

/**

* 更新一個公司的客戶狀態(tài) (PT) 考慮新建數(shù)據(jù)庫連接 提高效率

* @param {[type]} db *sql.DB [description]

* @param {[type]} c chan int [description]

* @param {[type]} comp_id int [公司ID]

* @param {[type]} num int [有效期天數(shù)]

* @return {[type]} [description]

*/

func (obj *CuStatusClass) updateOneComp(c chan string, comp_id int, num int) {

db := Mydb()

defer db.Close()

end := time.Now().Unix()

start := end - 3600*24*int64(num) //前推num天

sql := "SELECT a.id,a.name,a.status,(SELECT COUNT(*) FROM `order_sale` WHERE `cu_id` = a.id AND `pay_time` > ? AND `pay_time` < ? AND `type` IN (1,2)) AS orders, (SELECT COUNT(*) FROM `practice_order` WHERE `cu_id` = a.id AND `pay_time` > ? AND `pay_time` < ?) AS practs FROM `customer_info` AS a LEFT JOIN `config_membership` AS m ON a.membership_id = m.id WHERE m.`is_member` = 1 AND a.`company_id` = ?"

rows, err := db.Query(sql, start, end, start, end, comp_id)

if err != nil {

log.Println(err)

}

defer rows.Close()

var id int

var orders int

var practs int

var name string

var status int

for rows.Next() {

err := rows.Scan(&id, &name, &status, &orders, &practs)

if err != nil {

log.Fatal(err)

}

new_status := obj.getState(orders, practs, status)

if status != new_status {

stmt, err := db.Prepare("UPDATE `customer_info` SET `status`=? WHERE `id`=?")

defer stmt.Close()

if err != nil {

log.Println(err)

return

}

stmt.Exec(new_status, id)

//返回管道信息寫入

c <- fmt.Sprintf("%d", comp_id) + ":" + fmt.Sprintf("%d", id) + " " + name + " " + fmt.Sprintf("%d", status) + "->" + fmt.Sprintf("%d", new_status)

}

}

err = rows.Err()

if err != nil {

log.Fatal(err)

}

close(c)

}

/**

* 多公司并發(fā)處理 (PT)

* @param {[type]} db *sql.DB [description]

* @return {[type]} [description]

*/

func (obj *CuStatusClass) Run() {

db := Mydb()

defer db.Close()

sql := "SELECT id , auto_cu_status, config FROM `company_info` WHERE `status` = 1"

rows, err := db.Query(sql)

if err != nil {

log.Println(err)

}

defer rows.Close()

chs := make([]chan string, 0) //開多個管道接受消息

var id int

var auto int

var config string

for rows.Next() {

err := rows.Scan(&id, &auto, &config)

if err != nil {

log.Fatal(err)

}

if auto == 1 {

num := obj.getConfig(config) //客戶有效期設(shè)置

c := make(chan string)

chs = append(chs, c)

go obj.updateOneComp(c, id, num)

}

}

err = rows.Err()

if err != nil {

log.Fatal(err)

}

for _, ch := range chs { //多管道寫法

for {

x, ok := <-ch

if ok == false {

break

}

writeResult("cu_status", x)

fmt.Println(x) //消息回收處理 可擴展寫入文件日志

}

}

}

var Cu *CuStatusClass

func init() {

Cu = NewCu()

}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
91在线看国产| 91精品久久久久久久久不口人| 性做久久久久久久免费看| 国产乱码精品一区二区三区日韩精品| 中文字幕欧美日本乱码一线二线| 欧美成人h版| 精品国内二区三区| 中文字幕国产亚洲| 免费在线观看h片| 亚洲欧美另类小说| 99热这里都是精品| 欧美精品人人做人人爱视频| 色欲av永久无码精品无码蜜桃| 美州a亚洲一视本频v色道| 青青在线观看视频中文字| 日韩一区二区三区不卡视频| 国产视频一区二区三区在线观看| 亚洲综合图片一区| 狠狠色狠狠色综合人人| 欧美一区二区三区人| www.亚洲视频.com| 国产黄视频在线| 午夜性色福利视频| 国产真实有声精品录音| 亚洲永久免费av| 国产精品91在线| 欧美区在线观看| 亚洲欧美精品在线| 99久久免费精品国产72精品九九| 国产丝袜美腿一区二区三区| 久久精品一区二区三区资源网| www成人在线| 久久视频在线免费观看| 娇小11一12╳yⅹ╳毛片| 亚洲天堂av在线| 一区二区视频在线观看免费的| 天天天天天天天天操| 日韩精品中文字幕一区| av日韩中文字幕| 18黄暴禁片在线观看| 国产一级黄色av| ww亚洲ww在线观看国产| ririsao中文字幕免费| 老色鬼久久亚洲一区二区| 精品日产免费二区日产免费二区| 深夜宅男网站免费进入| 在线免费高清一区二区三区| 91成人精品网站| 欧美一区午夜精品| 五月婷婷之婷婷| 国产无遮挡裸体免费久久| 99久久亚洲精品| 一本一道久久久a久久久精品91| 日夜干在线视频| 91免费视频黄| 蜜臀av性久久久久蜜臀aⅴ流畅| 午夜精品视频在线| 人偷久久久久久久偷女厕| 欧美xxxx综合视频| 国产亚洲情侣一区二区无| 美女视频网站在线观看| 欧美一级bbbbb性bbbb喷潮片| 日韩一区二区三区高清| 午夜一级黄色片| 久久久久久久久久久久久久久| 风韵丰满熟妇啪啪区老熟熟女| 亚洲av成人无码一二三在线观看| 欧美老少做受xxxx高潮| 久久综合av免费| 国产精品毛片av| 久久这里只有精品国产| 欧美刺激午夜性久久久久久久| 亚洲综合中文字幕68页| 日韩欧美视频专区| 久久久久成人网站| jizz老师| 最近看过的日韩成人| 偷拍25位美女撒尿视频在线观看| 宅男视频免费在线观看视频| 日韩精品一卡二卡| 国产亚洲人成a一在线v站| 国产1卡2卡三卡四卡网站| 农村黄色一级片| 俺要去色综合狠狠| 亚洲一区 中文字幕| 久久综合久久综合久久综合| 中文字幕影音在线| 精品一二三四五区| 特黄三级视频| av不卡免费在线观看| 1769国产精品| 色婷婷综合久久久久久| 女人让男人操自己视频在线观看| 国产欧美视频一区二区| 欧亚洲嫩模精品一区三区| 亚洲天堂成人| 国产精品v欧美精品∨日韩| 欧美极品在线播放| 欧美中文日韩| 国产精品大片免费观看| 日本免费不卡| 亚洲深夜福利在线| 九九热精品免费视频| 亚洲精品欧洲| h在线观看免费| 欧美一区二区免费观在线| 亚洲iv一区二区三区| 国模吧精品人体gogo| 成人免费视频毛片| 久久久久久尹人网香蕉| 久久久久人妻一区精品色欧美| 日本一区二区三区视频在线播放| 欧美大波大乳巨大乳| 国产精品极品尤物在线观看| 日韩国产精品久久久久久亚洲| 日本黄色激情视频| 久久精品国产亚洲a| 精品国产乱码久久久久久老虎| 国产乱淫av免费| 欧美24videosex性欧美| 日本成年免费网站| 北条麻妃av高潮尖叫在线观看| 成年人网站av| 日韩精品一区第一页| 麻豆视频免费在线播放| 国产精品日韩二区| 国产三级电影在线观看| h七七www色午夜日本| 精品久久ai电影| 懂色av一区二区三区免费看| 国产黄色高清在线| 美女网站视频在线观看| 男女激情片在线观看| 欧美日韩国产另类不卡| 欧美精品三级在线观看| 2019中文字幕在线免费观看| 极品久久久久久久| 久久国产精品99国产精| 欧美视频在线观看| 久久久久久久久99精品大| 欧美极品少妇xxxxⅹ高跟鞋| 成年女人毛片| 99久久免费精品国产免费| 日韩三级av| 久久久久久久午夜| 影音先锋中文字幕在线视频| www.-级毛片线天内射视视| 最近免费看av| 免费日本黄色| 日韩在线精品强乱中文字幕| 亚洲欧美一区二区激情| 免费观看成年在线视频网站| 一本色道**综合亚洲精品蜜桃冫| 小鲜肉gaygays免费动漫| 国内在线观看一区二区三区| 1024成人| 曰本人一级毛片免费完整视频| 二吊插入一穴一区二区| 1024成人网| 99久久人爽人人添人人澡| 免费人成黄页在线观看忧物| 7777kkkk成人观看| 99久久精品免费精品国产| 精品无码人妻一区二区三区品| 国产一线二线三线在线观看| 狠狠色狠狠色综合日日五| 成人精品视频在线播放| 国产精品任我爽爆在线播放| 天天综合日日夜夜精品| 日韩欧美一级二级| 美国毛片一区二区三区| 六月丁香综合| 五月婷婷免费视频| 在线国产日韩| 国产精品99精品| 日韩 国产 在线| 日韩综合av| 一区二区三区在线免费视频| 高清中文字幕mv的电影| 狠狠入ady亚洲精品经典电影| 免费毛片网站在线观看| 欧美爱爱视频网站| 久久久久久国产精品无码| 日韩av网址在线| 亚洲黄色在线观看视频| 你懂的网址视频| 国产在线精品一区二区三区| 本道综合精品| 国产在线视频99| 国产精品久久久一本精品| 国产视频不卡在线| 日本一二三四高清不卡| 精品国产麻豆免费人成网站| 成人淫片在线看| av资源网在线播放| 美腿丝袜亚洲图片| 欧美一区二区三区在线电影| www天堂网| 亚洲剧情一区二区| 九色在线免费| 亚洲男人天堂网址| 青青草视频在线青草免费观看| 粉嫩av国产一区二区三区| 日韩激情在线视频| 老熟妇高潮一区二区三区| 中文字幕网站在线观看| 国产高清成人在线| 三上悠亚亚洲一区| 波多野结衣家庭教师视频| 国产自产女人91一区在线观看| 色综合久久久久综合| 国产欧美一区二区三区在线观看视频| 中文在线不卡视频| 亚洲一区二区三区无吗| 波多野结衣一区二区三区免费视频| 精品国产av 无码一区二区三区| 三上悠亚在线免费观看| 中文无码久久精品| 欧美亚洲色综久久精品国产| 最新成人av网站| 99国内精品久久久久久久软件| av在线播放亚洲| 色偷偷88888欧美精品久久久| 国产日韩在线不卡| 26uuu国产电影一区二区| 成人午夜电影网站| 色喇叭免费久久综合网| 成人性生交大片免费看网站| 97免费资源站| 日韩一级黄色av| 日本成在线观看| 日日骚一区二区网站| 色哟哟网站在线观看| 国产精品对白久久久久粗| 性感美女激情视频在线观看| 亚洲高清福利视频| 久久人人爽人人爽| 免费视频亚洲| 成人片黄网站色大片免费毛片| 中文字幕日韩三级片| 日日夜夜天堂| 韩国精品久久久| 国产精品二区一区二区aⅴ| 夜夜亚洲天天久久| 夜夜嗨av色一区二区不卡| 苍井空浴缸大战猛男120分钟| 五月婷婷视频在线观看| 亚洲乱码国产乱码精品精天堂| 亚洲黄色小视频在线观看| 黄色片网站在线| 日韩免费观看高清完整版| 中文字幕一区二区三| 日本不卡视频在线播放| 亚洲高清视频一区| 夜鲁夜鲁夜鲁视频在线播放| 国产精品毛片av| 无人区乱码一区二区三区| 在线视频1区2区| 国产欧美日韩综合| 久久久久久久免费视频| 欧美日韩亚洲视频| 日韩av影视在线| 另类小说综合欧美亚洲| 日韩欧美亚洲另类| 欧美视频日韩视频在线观看| www.日韩在线| 黄色录像1级片| a91a精品视频在线观看| 国产主播在线播放| 中文字幕剧情在线观看一区| 欧美xxxx黑人xyx性爽| 日韩你懂的电影在线观看| 日韩福利片在线观看| 国产精品chinese| 美女午夜精品| 色老头一区二区三区在线观看| 国产精品不卡一区| 欧美大片一区| 91精品国产欧美一区二区成人| 久久电影一区二区| 99热这里精品| 久久理论电影| 国内自拍欧美| 国内自拍亚洲| 少妇淫片在线影院| 黄色网页在线播放| 天堂91在线| 奇米色一区二区三区四区| 99精品一区二区三区| 国产丝袜一区二区三区免费视频| 日本女人性视频| 日韩久久一区二区| 国内精品一区视频| 美日韩精品免费| 波多野结衣在线观看一区二区| 中文字幕天堂在线| 97影视在线观看| 伊人免费在线观看| 99精品美女视频在线观看热舞| 日韩国产一级片| 搡老岳熟女国产熟妇| 国产a区久久久| 欧洲av一区二区三区| 91亚洲精品乱码久久久久久蜜桃| 91精品国产综合久久久久久久| 精品一级视频| 99久久国产免费免费| 久久精品欧美一区二区三区麻豆| 色老头在线一区二区三区| 精品在线观看一区二区| 欧美日精品一区视频| 免费精品视频一区二区三区| 久久五月精品| 国产一区二区高清在线| 日本不卡电影| 91网址在线观看精品| 麻豆蜜桃在线观看| 中文字幕人成不卡一区| 国产精品一区二区三区四区五区| 欧洲视频在线免费观看| 黄色在线小视频| 久久久久久久爱| 午夜激情小视频| 91香蕉视频污在线观看| 久久97久久97精品免视看秋霞| 久久国际精品| 久久精品这里都是精品| 亚洲精品一二三四区|