本文整理汇总了Golang中github.com/featen/utils/log.Fatal函数的典型用法代码示例。如果您正苦于以下问题:Golang Fatal函数的具体用法?Golang Fatal怎么用?Golang Fatal使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Fatal函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: dbSearchProducts
func dbSearchProducts(t string, p int) ([]Product, int) {
dbHandler, err := sql.Open("sqlite3", config.GetValue("DbFile"))
if err != nil {
log.Fatal("%v", err)
}
defer dbHandler.Close()
offset := productPageLimit * (p - 1)
querySql := fmt.Sprintf("select id, nav_name, status, en_name, cover_photo, price from product WHERE en_name like '%%%s%%' order by id limit %d offset %d", t, productPageLimit, offset)
stmt, err := dbHandler.Prepare(querySql)
if err != nil {
log.Debug("querySql: %s", querySql)
log.Error("Prepare failed : %v", err)
return nil, http.StatusInternalServerError
}
defer stmt.Close()
rows, err := stmt.Query()
if err != nil {
log.Fatal("Query products failed, something changed on db schema? : %v ", err)
return nil, http.StatusNotFound
}
defer rows.Close()
products := make([]Product, 0)
for rows.Next() {
var productId, status sql.NullInt64
var navName, enName, coverPhoto sql.NullString
var price sql.NullFloat64
rows.Scan(&productId, &navName, &status, &enName, &coverPhoto, &price)
products = append(products, Product{productId.Int64, navName.String, status.Int64, enName.String, "", coverPhoto.String, "", "", price.Float64, 0, nil, nil, nil, nil, nil, nil})
}
return products, http.StatusOK
}
开发者ID:henrydo,项目名称:ags,代码行数:35,代码来源:product.go
示例2: dbGetAllArticles
func dbGetAllArticles() ([]Article, int) {
log.Debug("get all articles")
dbHandler, err := sql.Open("sqlite3", config.GetValue("DbFile"))
if err != nil {
log.Fatal("%v", err)
}
defer dbHandler.Close()
stmt, err := dbHandler.Prepare("SELECT a.id, a.title, a.navname,a.cover_photo, a.intro, a.content, a.create_by_user_id, u.name, a.create_time, a.last_modify_time from article a, user u WHERE a.create_by_user_id=u.id ORDER BY a.id DESC")
if err != nil {
log.Error("%v", err)
return nil, http.StatusInternalServerError
}
defer stmt.Close()
rows, err := stmt.Query()
if err != nil {
log.Fatal("%v", err)
return nil, http.StatusInternalServerError
}
defer rows.Close()
allarticles := make([]Article, 10)
for rows.Next() {
var title, navname, cover_photo, intro, content, username sql.NullString
var articleid, userid sql.NullInt64
var createtime, modifytime time.Time
rows.Scan(&articleid, &title, &navname, &cover_photo, &intro, &content, &userid, &username, &createtime, &modifytime)
allarticles = append(allarticles, Article{strconv.FormatInt(articleid.Int64, 10), title.String, navname.String, intro.String, content.String, userid.Int64, username.String, "", createtime.Format(timeLayout), modifytime.Format(timeLayout), cover_photo.String})
}
rows.Close()
return allarticles, http.StatusOK
}
开发者ID:henrydo,项目名称:ags,代码行数:33,代码来源:articles.go
示例3: dbSearchEnquires
func dbSearchEnquires(t string, p int) ([]Enquire, int) {
dbHandler, err := sql.Open("sqlite3", config.GetValue("DbFile"))
if err != nil {
log.Fatal("%v", err)
}
defer dbHandler.Close()
offset := enquirePageLimit * (p - 1)
querySql := fmt.Sprintf("select id, status, customer_id, customer_name, subject, message, followup, create_time, last_modify_time from enquires where subject like '%%%s%%' or customer_name like '%%%s%%' order by id desc limit %d offset %d", t, t, enquirePageLimit, offset)
stmt, err := dbHandler.Prepare(querySql)
if err != nil {
log.Debug("querySql: %s", querySql)
log.Error("Prepare failed : %v", err)
return nil, http.StatusInternalServerError
}
defer stmt.Close()
rows, err := stmt.Query()
if err != nil {
log.Fatal("Query products failed, something changed on db schema? : %v ", err)
return nil, http.StatusNotFound
}
defer rows.Close()
es := make([]Enquire, 0)
for rows.Next() {
var enquire_id, status, customer_id sql.NullInt64
var customer_name, subject, message, followup sql.NullString
var create_time, last_modify_time time.Time
rows.Scan(&enquire_id, &status, &customer_id, &customer_name, &subject, &message, &followup, &create_time, &last_modify_time)
es = append(es, Enquire{auth.Encode(strconv.FormatInt(enquire_id.Int64, 10)), status.Int64, customer_id.Int64, customer_name.String, subject.String, message.String, 1, followup.String, nil, create_time.Format(timeLayout), last_modify_time.Format(timeLayout)})
}
return es, http.StatusOK
}
开发者ID:henrydo,项目名称:ags,代码行数:35,代码来源:enquire.go
示例4: getConfigs
func getConfigs() {
b, err := ioutil.ReadFile(configFile)
if err != nil {
log.Fatal("Read test configuration file failed: ", err)
fmt.Println("read file failed")
}
err = json.Unmarshal(b, &sysConfig)
if err != nil {
log.Fatal("Unmarshal test configuration failed: ", err)
fmt.Println("unmarshal failed")
}
}
开发者ID:henrydo,项目名称:ags,代码行数:13,代码来源:config.go
示例5: dbCreateArticle
func dbCreateArticle(article *Article) int {
log.Debug("try to create article %v", article)
dbHandler, err := sql.Open("sqlite3", config.GetValue("DbFile"))
if err != nil {
log.Fatal("%v", err)
}
defer dbHandler.Close()
stmt, err := dbHandler.Prepare("INSERT INTO article (title, navname, cover_photo, intro, content, create_by_user_id, last_modify_time) VALUES (?,?,?,?,?,?, datetime('now','localtime','utc'))")
if err != nil {
log.Error("%v", err)
return http.StatusInternalServerError
}
defer stmt.Close()
r, err := stmt.Exec(article.Title, article.NavName, article.CoverPhoto, article.Intro, article.Content, article.UserId)
if err != nil {
log.Error("%v", err)
return http.StatusBadRequest
}
id, _ := r.LastInsertId()
article.Id = strconv.FormatInt(id, 10)
return http.StatusOK
}
开发者ID:henrydo,项目名称:ags,代码行数:26,代码来源:articles.go
示例6: saveConfigs
func saveConfigs() {
b, err := json.MarshalIndent(sysConfig, "", " ")
if err != nil {
log.Fatal("not be able to save configs")
}
ioutil.WriteFile(configFile, b, 0644)
}
开发者ID:henrydo,项目名称:ags,代码行数:7,代码来源:config.go
示例7: dbGetReviewboardDetail
//usertype: 1:customer, 2:visitor
func dbGetReviewboardDetail(usertype int, userid int64) ([]ReviewboardProduct, int) {
dbHandler, err := sql.Open("sqlite3", config.GetValue("DbFile"))
if err != nil {
log.Fatal("%v", err)
}
defer dbHandler.Close()
querySql := "SELECT id, product_id, product_navname, product_name, cover_photo, price FROM reviewboard WHERE customer_type=? AND customer_id=? "
stmt, err := dbHandler.Prepare(querySql)
if err != nil {
log.Debug("querySql: %s", querySql)
log.Error("Prepare failed: %v", err)
return nil, http.StatusInternalServerError
}
defer stmt.Close()
rows, err := stmt.Query(usertype, userid)
if err != nil {
log.Error("Query reviewboard detail failed, error : %v", err)
return nil, http.StatusNotFound
}
defer rows.Close()
ps := make([]ReviewboardProduct, 0)
for rows.Next() {
var id, product_id sql.NullInt64
var product_name, product_navname, cover_photo sql.NullString
var price sql.NullFloat64
rows.Scan(&id, &product_id, &product_navname, &product_name, &cover_photo, &price)
ps = append(ps, ReviewboardProduct{product_id.Int64, product_navname.String, product_name.String, cover_photo.String, price.Float64})
}
return ps, http.StatusOK
}
开发者ID:henrydo,项目名称:ags,代码行数:34,代码来源:enquire.go
示例8: dbGetEnquireProducts
func dbGetEnquireProducts(id string) []ReviewboardProduct {
dbHandler, err := sql.Open("sqlite3", config.GetValue("DbFile"))
if err != nil {
log.Fatal("%v", err)
}
defer dbHandler.Close()
querySql := "SELECT id, product_id, product_navname, product_name, cover_photo, price FROM enquire_product WHERE enquire_id=?"
stmt, err := dbHandler.Prepare(querySql)
if err != nil {
log.Debug("querySql: %s", querySql)
log.Error("Prepare failed: %v", err)
return nil
}
defer stmt.Close()
rows, err := stmt.Query(id)
if err != nil {
log.Error("Query enquire products failed, error : %v", err)
return nil
}
defer rows.Close()
ps := make([]ReviewboardProduct, 0)
for rows.Next() {
var id, product_id sql.NullInt64
var product_name, product_navname, cover_photo sql.NullString
var price sql.NullFloat64
rows.Scan(&id, &product_id, &product_navname, &product_name, &cover_photo, &price)
ps = append(ps, ReviewboardProduct{product_id.Int64, product_navname.String, product_name.String, cover_photo.String, price.Float64})
}
return ps
}
开发者ID:henrydo,项目名称:ags,代码行数:33,代码来源:enquire.go
示例9: dbGetAllProducts
func dbGetAllProducts() ([]Product, int) {
dbHandler, err := sql.Open("sqlite3", config.GetValue("DbFile"))
if err != nil {
log.Fatal("%v", err)
}
defer dbHandler.Close()
var getSql = "SELECT count(*) FROM product ORDER BY id DESC "
var product_count sql.NullInt64
err = dbHandler.QueryRow(getSql).Scan(&product_count)
if err != nil {
if err == sql.ErrNoRows {
log.Info("sql error")
return nil, http.StatusInternalServerError
} else {
log.Error("DB query failed: %v", err)
return nil, http.StatusInternalServerError
}
}
if product_count.Int64 == 0 {
log.Error("No product in db")
return nil, http.StatusNotFound
}
stmt, err := dbHandler.Prepare("SELECT id, nav_name, status, en_name, cn_name, cover_photo, introduction, spec, price, discount FROM product ORDER BY id desc ")
if err != nil {
log.Error("Prepare all product failed : %v", err)
return nil, http.StatusInternalServerError
}
defer stmt.Close()
rows, err := stmt.Query()
if err != nil {
log.Fatal("Query all product failed, something changed on db schema? : %v ", err)
return nil, http.StatusNotFound
}
defer rows.Close()
products := make([]Product, 0, product_count.Int64)
for rows.Next() {
var productId, status sql.NullInt64
var navName, enName, cnName, coverPhoto, introduction, spec sql.NullString
var price, discount sql.NullFloat64
rows.Scan(&productId, &navName, &status, &enName, &cnName, &coverPhoto, &introduction, &spec, &price, &discount)
products = append(products, Product{productId.Int64, navName.String, status.Int64, enName.String, cnName.String, coverPhoto.String, introduction.String, spec.String, price.Float64, discount.Float64, nil, nil, nil, nil, nil, nil})
}
return products, http.StatusOK
}
开发者ID:henrydo,项目名称:ags,代码行数:47,代码来源:product.go
示例10: dbAddProduct
func dbAddProduct(p *Product) int {
log.Debug("try to add new product %v", p)
dbHandler, err := sql.Open("sqlite3", config.GetValue("DbFile"))
if err != nil {
log.Fatal("%v", err)
}
defer dbHandler.Close()
if p.Photos != nil && len(p.Photos) > 0 {
p.CoverPhoto = p.Photos[0]
}
tx, err := dbHandler.Begin()
insertSql := "INSERT INTO product (nav_name, status, en_name, cn_name, cover_photo, introduction, spec, price, discount) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"
r, err := dbHandler.Exec(insertSql, p.NavName, p.Status, p.EnName, p.CnName, p.CoverPhoto, p.Introduction, p.Spec, p.Price, p.Discount)
if err != nil {
tx.Rollback()
log.Error("SQL: %s, err: %v", insertSql, err)
return http.StatusInternalServerError
}
id, _ := r.LastInsertId()
stmt, err := dbHandler.Prepare("INSERT INTO product_photo (product_id, url) VALUES (?,?)")
if err != nil {
tx.Rollback()
log.Error("prepare failed : %v", err)
return http.StatusInternalServerError
}
defer stmt.Close()
for _, url := range p.Photos {
_, err = stmt.Exec(id, url)
if err != nil {
tx.Rollback()
log.Error("insert product_photo failed: %v", err)
return http.StatusInternalServerError
}
}
stmt2, err := dbHandler.Prepare("INSERT INTO product_saleurl (product_id, url) VALUES (?,?)")
if err != nil {
tx.Rollback()
log.Error("prepare product_saleurl failed : %v", err)
return http.StatusInternalServerError
}
defer stmt2.Close()
for _, url := range p.SaleURL {
_, err = stmt2.Exec(id, url)
if err != nil {
tx.Rollback()
log.Error("insert product_photo failed: %v", err)
return http.StatusInternalServerError
}
}
tx.Commit()
return http.StatusOK
}
开发者ID:henrydo,项目名称:ags,代码行数:59,代码来源:product.go
示例11: dbGenDataSaleAmount
func dbGenDataSaleAmount(reportData *ReportData) (*ReportData, int) {
dbHandler, err := sql.Open("sqlite3", config.GetValue("DbFile"))
if err != nil {
log.Fatal("%v", err)
}
defer dbHandler.Close()
var querySql string
switch reportData.Timeframe {
case "0":
querySql = "SELECT sum(paid_amount), date(create_time) from orders WHERE status>0 AND create_time >= (SELECT date(julianday(date('now'))-7)) AND create_time <= (SELECT date(julianday(date('now')))) group by date(create_time)"
case "1":
querySql = "SELECT sum(paid_amount), date(create_time) from orders WHERE status>0 AND create_time >= (SELECT date(julianday(date('now'))-30)) AND create_time <= (SELECT date(julianday(date('now')))) group by date(create_time)"
case "2":
querySql = "SELECT sum(paid_amount), date(create_time) from orders WHERE status>0 AND create_time >= (SELECT date(julianday(date('now'))-180)) AND create_time <= (SELECT date(julianday(date('now')))) group by date(create_time)"
case "3":
querySql = "SELECT sum(paid_amount), date(create_time) from orders WHERE status>0 group by date(create_time)"
}
stmt, err := dbHandler.Prepare(querySql)
if err != nil {
log.Debug("querySql: %s", querySql)
log.Error("Prepare failed : %v", err)
return nil, http.StatusInternalServerError
}
defer stmt.Close()
rows, err := stmt.Query()
if err != nil {
log.Fatal("Query orders failed, something changed on db schema? : %v ", err)
return nil, http.StatusNotFound
}
defer rows.Close()
for rows.Next() {
//var id_count sql.NullInt64
var saleamount sql.NullFloat64
var date_day sql.NullString
rows.Scan(&saleamount, &date_day)
reportData.Xvalues = append(reportData.Xvalues, date_day.String)
reportData.Yvalues = append(reportData.Yvalues, saleamount.Float64)
}
return reportData, http.StatusOK
}
开发者ID:henrydo,项目名称:ags,代码行数:45,代码来源:report.go
示例12: dbGetPageArticles
func dbGetPageArticles(pagenumber int64) ([]Article, int) {
log.Debug("get page articles for %d", pagenumber)
dbHandler, err := sql.Open("sqlite3", config.GetValue("DbFile"))
if err != nil {
log.Fatal("%v", err)
}
defer dbHandler.Close()
pageArticlesLimit, err := strconv.ParseInt(config.GetValue("DealsPerPage"), 10, 64)
if err != nil {
return nil, http.StatusInternalServerError
}
if pagenumber <= 0 {
return nil, http.StatusBadRequest
}
offset := (pagenumber - 1) * pageArticlesLimit
stmt, err := dbHandler.Prepare("SELECT a.id, a.title, a.navname, a.cover_photo, a.intro, a.create_by_user_id, u.name, a.create_time, a.last_modify_time from article a, user u WHERE a.create_by_user_id=u.id ORDER BY a.id DESC limit ? offset ?")
if err != nil {
log.Error("%v", err)
return nil, http.StatusInternalServerError
}
defer stmt.Close()
rows, err := stmt.Query(pageArticlesLimit, offset)
if err != nil {
log.Fatal("%v", err)
return nil, http.StatusInternalServerError
}
defer rows.Close()
allarticles := make([]Article, 0)
for rows.Next() {
var title, navname, cover_photo, intro, username sql.NullString
var articleid, userid sql.NullInt64
var createtime, modifytime time.Time
rows.Scan(&articleid, &title, &navname, &cover_photo, &intro, &userid, &username, &createtime, &modifytime)
allarticles = append(allarticles, Article{strconv.FormatInt(articleid.Int64, 10), title.String, navname.String, intro.String, "", userid.Int64, username.String, "", createtime.Format(timeLayout), modifytime.Format(timeLayout), cover_photo.String})
}
rows.Close()
return allarticles, http.StatusOK
}
开发者ID:henrydo,项目名称:ags,代码行数:43,代码来源:articles.go
示例13: addAdminUser
func addAdminUser() {
dbHandler, err := sql.Open("sqlite3", config.GetValue("DbFile"))
if err != nil {
log.Fatal("%v", err)
fmt.Println("dbHandler failed", err)
}
defer dbHandler.Close()
addAdminSql := fmt.Sprintf("INSERT INTO user (name, type, pass, email) VALUES ('%s', 0, '%s', '%s')", config.GetValue("AdminName"), config.GetValue("AdminPassword"), config.GetValue("AdminEmail"))
dbHandler.Exec(addAdminSql)
}
开发者ID:henrydo,项目名称:ags,代码行数:10,代码来源:init.go
示例14: updateAdminUser
func updateAdminUser() {
dbHandler, err := sql.Open("sqlite3", config.GetValue("DbFile"))
if err != nil {
log.Fatal("%v", err)
fmt.Println("dbHandler failed", err)
}
defer dbHandler.Close()
updateAdminSql := fmt.Sprintf("UPDATE user set name=?, pass=?, email=? WHERE type=0")
dbHandler.Exec(updateAdminSql, config.GetValue("AdminName"), config.GetValue("AdminPassword"), config.GetValue("AdminEmail"))
}
开发者ID:henrydo,项目名称:ags,代码行数:10,代码来源:init.go
示例15: dbGetPageDeals
func dbGetPageDeals(pagenumber int64) ([]Product, int) {
log.Debug("get page deals for %d", pagenumber)
dbHandler, err := sql.Open("sqlite3", config.GetValue("DbFile"))
if err != nil {
log.Fatal("%v", err)
}
defer dbHandler.Close()
pageDealsLimit, err := strconv.ParseInt(config.GetValue("DealsPerPage"), 10, 64)
if err != nil {
return nil, http.StatusInternalServerError
}
if pagenumber <= 0 {
return nil, http.StatusBadRequest
}
//show latest deals only
//offset := (pagenumber - 1) * pageDealsLimit
offset := 0
stmt, err := dbHandler.Prepare("SELECT id, nav_name, status, en_name, cn_name, cover_photo, price, discount FROM product WHERE status!=0 ORDER BY id desc limit ? offset ?")
if err != nil {
log.Error("Prepare to get page deal failed : %v", err)
return nil, http.StatusInternalServerError
}
defer stmt.Close()
rows, err := stmt.Query(pageDealsLimit, offset)
if err != nil {
log.Fatal("Query page deals failed: %v ", err)
return nil, http.StatusNotFound
}
defer rows.Close()
products := make([]Product, 0)
for rows.Next() {
var productId, status sql.NullInt64
var navName, enName, cnName, coverPhoto sql.NullString
var price, discount sql.NullFloat64
rows.Scan(&productId, &navName, &status, &enName, &cnName, &coverPhoto, &price, &discount)
products = append(products, Product{productId.Int64, navName.String, status.Int64, enName.String, cnName.String, coverPhoto.String, "", "", price.Float64, discount.Float64, nil, nil, nil, nil, nil, nil})
}
return products, http.StatusOK
}
开发者ID:henrydo,项目名称:ags,代码行数:42,代码来源:product.go
示例16: createDb
func createDb() {
dbHandler, err := sql.Open("sqlite3", config.GetValue("DbFile"))
if err != nil {
log.Fatal("%v", err)
fmt.Println("dbHandler failed", err)
}
defer dbHandler.Close()
sqls := []string{
/*
user -> type : 0: admin, 1: customer, 2: customer without email, 3: employee
user -> phone: phone1, phone2, mobile1...
user_tag is for employee access control
*/
"CREATE TABLE IF NOT EXISTS visitor (id integer NOT NULL PRIMARY KEY, create_time timestamp default current_timestamp, session_time timestamp)",
"CREATE TABLE IF NOT EXISTS user (id integer NOT NULL PRIMARY KEY, name text, username text, type integer, pass text, cover_photo text, desc text, phone text, phone_2 text, email text unique, create_time timestamp default current_timestamp, session_time timestamp)",
"CREATE TABLE IF NOT EXISTS user_address (id integer NOT NULL PRIMARY KEY, user_id integer, address text, city text, province text, country text, postal text, receiver text, phone text, is_default integer)",
"CREATE TABLE IF NOT EXISTS user_payment (id integer NOT NULL PRIMARY KEY, user_id integer, payment_type integer, name_on_card text, card_number text, security_code text)",
"CREATE TABLE IF NOT EXISTS user_log (id integer NOT NULL PRIMARY KEY, user_id integer, operation_type text, operation_detail text, operation_time timestamp default current_timestamp)",
"CREATE TABLE IF NOT EXISTS user_recover_pass (id integer PRIMARY KEY, email text unique, temp_password text, magic text)",
"CREATE TABLE IF NOT EXISTS product (id integer PRIMARY KEY, nav_name varchar unique, status integer, en_name varchar, cn_name varchar, cover_photo varchar, introduction varchar, spec varchar, price real, discount real)",
"CREATE TABLE IF NOT EXISTS product_photo (id integer PRIMARY KEY, product_id integer, url string, unique(product_id, url) on conflict replace)",
"CREATE TABLE IF NOT EXISTS product_saleurl (id integer PRIMARY KEY, product_id integer, url string, unique(product_id, url) on conflict replace)",
"CREATE TABLE IF NOT EXISTS enquires (id integer NOT NULL PRIMARY KEY, status integer, customer_id integer, customer_name text, subject text, message text, employee_id integer, followup text, shipping_address_id integer default 0, create_time timestamp default current_timestamp, last_modify_time timestamp)",
"CREATE TABLE IF NOT EXISTS enquire_product (id integer NOT NULL PRIMARY KEY, enquire_id integer, user_id integer, product_id integer, product_navname text, product_name text, cover_photo text, price real)",
"CREATE TABLE IF NOT EXISTS reviewboard (id integer NOT NULL PRIMARY KEY, customer_type integer, customer_id integer, status integer, product_id integer, product_navname text, product_name text, cover_photo text, price real)",
"CREATE TABLE IF NOT EXISTS article (id integer NOT NULL PRIMARY KEY, title text, navname text unique, cover_photo text, intro text, content text, create_by_user_id integer, create_time timestamp default current_timestamp, last_modify_time timestamp)",
}
for _, s := range sqls {
_, err := dbHandler.Exec(s)
if err != nil {
log.Fatal("%q: %s\n", err, s)
}
}
}
开发者ID:henrydo,项目名称:ags,代码行数:37,代码来源:init.go
示例17: dbFindEnquiresByCond
func dbFindEnquiresByCond(cond string) ([]Enquire, int) {
dbHandler, err := sql.Open("sqlite3", config.GetValue("DbFile"))
if err != nil {
log.Fatal("%v", err)
}
defer dbHandler.Close()
sqlCond, limit, offset := buildSqlCond(cond)
log.Debug("get enquires for %s, %d, %d", sqlCond, limit, offset)
querySql := fmt.Sprintf("SELECT id, status, customer_id, customer_name, subject, message, employee_id, followup, create_time, last_modify_time FROM enquires WHERE %s ORDER BY id DESC LIMIT %d OFFSET %d ", sqlCond, limit, offset)
stmt, err := dbHandler.Prepare(querySql)
if err != nil {
log.Debug("querySql: %s", querySql)
log.Error("Prepare failed : %v", err)
return nil, http.StatusInternalServerError
}
defer stmt.Close()
rows, err := stmt.Query()
if err != nil {
log.Fatal("Query enquire failed, something changed on db schema? : %v ", err)
return nil, http.StatusNotFound
}
defer rows.Close()
es := make([]Enquire, 0)
for rows.Next() {
var enquire_id, status, customer_id, employee_id sql.NullInt64
var customer_name, subject, message, followup sql.NullString
var create_time, last_modify_time time.Time
rows.Scan(&enquire_id, &status, &customer_id, &customer_name, &subject, &message, &employee_id, &followup, &create_time, &last_modify_time)
es = append(es, Enquire{auth.Encode(strconv.FormatInt(enquire_id.Int64, 10)), status.Int64, customer_id.Int64, customer_name.String, subject.String, message.String, employee_id.Int64, followup.String, nil, create_time.Format(timeLayout), last_modify_time.Format(timeLayout)})
}
return es, http.StatusOK
}
开发者ID:henrydo,项目名称:ags,代码行数:36,代码来源:enquire.go
示例18: setSessionUploadFileUrls
func setSessionUploadFileUrls(session, file_urls string) int {
dbHandler, err := sql.Open("sqlite3", config.GetValue("DbFile"))
if err != nil {
log.Fatal("%v", err)
}
defer dbHandler.Close()
var setSql = "INSERT OR REPLACE INTO session_upload_files (session, urls) VALUES (?,?) "
_, err = dbHandler.Exec(setSql, session, file_urls)
if err != nil {
log.Error("SQL: %s", setSql)
log.Error("DB exec failed, insert session: %s, urls %s, failed : %v", session, file_urls, err)
return http.StatusInternalServerError
}
return http.StatusOK
}
开发者ID:henrydo,项目名称:ags,代码行数:16,代码来源:share.go
示例19: dbFollowupEnquire
func dbFollowupEnquire(e *Enquire) int {
dbHandler, err := sql.Open("sqlite3", config.GetValue("DbFile"))
if err != nil {
log.Fatal("%v", err)
}
defer dbHandler.Close()
updateSql := "UPDATE enquires SET employee_id=?, status=?, followup=? where id=?"
_, err = dbHandler.Exec(updateSql, e.EmployeeId, e.Status, e.Followup, e.Id)
if err != nil {
log.Error("Sql: %s", updateSql)
log.Error("DB followup enquire failed, %v", err)
return http.StatusInternalServerError
}
return http.StatusOK
}
开发者ID:henrydo,项目名称:ags,代码行数:16,代码来源:enquire.go
示例20: dbGetEnquire
func dbGetEnquire(e *Enquire, userId int64) int {
log.Debug("get enquire detail for %s", e.Id)
dbHandler, err := sql.Open("sqlite3", config.GetValue("DbFile"))
if err != nil {
log.Fatal("%v", err)
}
defer dbHandler.Close()
querySql := "SELECT id, status, customer_id, customer_name, subject, message, employee_id, followup, create_time, last_modify_time FROM enquires WHERE id=?"
var enquire_id, status, customer_id, employee_id sql.NullInt64
var customer_name, subject, message, followup sql.NullString
var create_time, last_modify_time time.Time
err = dbHandler.QueryRow(querySql, e.Id).Scan(&enquire_id, &status, &customer_id, &customer_name, &subject, &message, &employee_id, &followup, &create_time, &last_modify_time)
if err != nil {
if err == sql.ErrNoRows {
log.Info("No enquire found for %s", e.Id)
return http.StatusNotFound
} else {
log.Debug("sql : %s", querySql)
log.Error("DB query failed: %v", err)
return http.StatusInternalServerError
}
}
if userId != customer_id.Int64 {
u := users.DbFindUser(strconv.FormatInt(userId, 10))
if u == nil || (u.Type == 1 || u.Type == 2) {
return http.StatusForbidden
}
}
if !status.Valid {
return http.StatusNotFound
} else {
e.Products = dbGetEnquireProducts(e.Id)
e.Status = status.Int64
e.CustomerId = customer_id.Int64
e.CustomerName = customer_name.String
e.Subject = subject.String
e.Message = message.String
e.EmployeeId = employee_id.Int64
e.Followup = followup.String
e.CreateTime = create_time.Format(timeLayout)
e.ModifyTime = last_modify_time.Format(timeLayout)
return http.StatusOK
}
}
开发者ID:henrydo,项目名称:ags,代码行数:47,代码来源:enquire.go
注:本文中的github.com/featen/utils/log.Fatal函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论