|
@@ -1,20 +1,65 @@
|
|
|
package main
|
|
|
|
|
|
-import log "github.com/donnie4w/go-logger/logger"
|
|
|
+import (
|
|
|
+ log "github.com/donnie4w/go-logger/logger"
|
|
|
+ qu "qfw/util"
|
|
|
+ "regexp"
|
|
|
+ "strings"
|
|
|
+)
|
|
|
|
|
|
-func hospitalSaveMysql() {
|
|
|
+var hp_levelReg = regexp.MustCompile(`^[一二三]级[甲乙丙]等`)
|
|
|
+
|
|
|
+func saveHospitalMysql() {
|
|
|
sess := save_mgo.GetMgoConn()
|
|
|
defer save_mgo.DestoryMongoConn(sess)
|
|
|
q,total:=map[string]interface{}{},0
|
|
|
- it := sess.DB(save_mgo.DbName).C("zktest_mysql_hospital").Find(&q).Iter()
|
|
|
+ it := sess.DB(save_mgo.DbName).C(o_hospital_coll).Find(&q).Iter()
|
|
|
for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
|
|
|
if total%10000==0 {
|
|
|
log.Debug("curent index ",total)
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+ tmpid := BsonTOStringId(tmp["_id"])
|
|
|
+ hospital_name := qu.ObjToString(tmp["name"])
|
|
|
+ data,alias_arr := updateHospitalData(tmp)
|
|
|
+ insertMysqlData("f_hospital",data,tmpid)
|
|
|
+ for _,v := range alias_arr{
|
|
|
+ if v=="" {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ insertMysqlData("f_hospital_history", map[string]interface{}{
|
|
|
+ "name":v,
|
|
|
+ "hospital_name":hospital_name,
|
|
|
+ },tmpid)
|
|
|
+ }
|
|
|
|
|
|
tmp = make(map[string]interface{})
|
|
|
}
|
|
|
+ log.Debug("is hospital over ",total)
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+func updateHospitalData(tmp map[string]interface{})(map[string]interface{},[]string) {
|
|
|
+ hospital := map[string]interface{}{}
|
|
|
+ alias := qu.ObjToString(tmp["alias"])
|
|
|
+ level := qu.ObjToString(tmp["level"])
|
|
|
+ level_str := hp_levelReg.FindString(level)
|
|
|
+ if level_str != "" {
|
|
|
+ level = level_str
|
|
|
+ }
|
|
|
+ hospital["level"] = level
|
|
|
+
|
|
|
+ hospital["name"] = qu.ObjToString(tmp["name"])
|
|
|
+ hospital["type"] = qu.ObjToString(tmp["type"])
|
|
|
+ hospital["address"] = qu.ObjToString(tmp["address"])
|
|
|
+ hospital["main_depart"] = qu.ObjToString(tmp["main_depart"])
|
|
|
+ hospital["business_type"] = qu.ObjToString(tmp["business_type"])
|
|
|
+ hospital["tel"] = qu.ObjToString(tmp["tel"])
|
|
|
+ hospital["fax_number"] = qu.ObjToString(tmp["fax_number"])
|
|
|
+ hospital["website"] = qu.ObjToString(tmp["website"])
|
|
|
+ hospital["area"] = qu.ObjToString(tmp["area"])
|
|
|
+ hospital["city"] = qu.ObjToString(tmp["city"])
|
|
|
+ hospital["district"] = qu.ObjToString(tmp["district"])
|
|
|
+ hospital["alias"] = alias
|
|
|
+ aliasArr := strings.Split(alias,",")
|
|
|
+ return hospital,aliasArr
|
|
|
+}
|