wcj 5 år sedan
förälder
incheckning
61d8d64ead
2 ändrade filer med 12 tillägg och 4 borttagningar
  1. 2 2
      common/src/qfw/util/common.go
  2. 10 2
      common/src/qfw/util/mysql/mysql.go

+ 2 - 2
common/src/qfw/util/common.go

@@ -353,7 +353,7 @@ func ObjArrToStringArr(old []interface{}) []string {
 	if old != nil {
 		new := make([]string, len(old))
 		for i, v := range old {
-			new[i] = v.(string)
+			new[i], _ = v.(string)
 		}
 		return new
 	} else {
@@ -366,7 +366,7 @@ func ObjArrToMapArr(old []interface{}) []map[string]interface{} {
 	if old != nil {
 		new := make([]map[string]interface{}, len(old))
 		for i, v := range old {
-			new[i] = v.(map[string]interface{})
+			new[i], _ = v.(map[string]interface{})
 		}
 		return new
 	} else {

+ 10 - 2
common/src/qfw/util/mysql/mysql.go

@@ -207,7 +207,16 @@ func (m *Mysql) Find(tableName string, query map[string]interface{}, fields, ord
 
 //sql语句查询
 func (m *Mysql) SelectBySql(sql string, args ...interface{}) *[]map[string]interface{} {
-	stmtOut, err := m.DB.Prepare(sql)
+	return m.SelectBySqlByTx(nil, sql, args...)
+}
+func (m *Mysql) SelectBySqlByTx(tx *sql.Tx, q string, args ...interface{}) *[]map[string]interface{} {
+	var stmtOut *sql.Stmt
+	var err error
+	if tx == nil {
+		stmtOut, err = m.DB.Prepare(q)
+	} else {
+		stmtOut, err = tx.Prepare(q)
+	}
 	if err != nil {
 		log.Println(err)
 		return nil
@@ -252,7 +261,6 @@ func (m *Mysql) SelectBySql(sql string, args ...interface{}) *[]map[string]inter
 	}
 	return &list
 }
-
 func (m *Mysql) FindOne(tableName string, query map[string]interface{}, fields, order string) *map[string]interface{} {
 	list := m.Find(tableName, query, fields, order, 0, 1)
 	if list != nil && len(*list) == 1 {