|
|
|
@ -252,103 +252,110 @@ func (h *HealthReportStat) PostReportAnswerListAll(c *gin.Context) { |
|
|
|
func (d *dataLockStatistics) getUserAnswerList(jobid, tadayTime string, page int, pageSize int64, legalAreaList []locationing.LegalArea) { |
|
|
|
d.mutext.Lock() |
|
|
|
defer d.mutext.Unlock() |
|
|
|
_, reportAnswerInfoList, _, _ := commonus.GetUserWriteAnswer(jobid, tadayTime, page, pageSize) |
|
|
|
var AdmDivStruct []commonus.AdministrativeDivision |
|
|
|
var writeInfo []locationing.ReportAddress |
|
|
|
for _, v := range reportAnswerInfoList.Answers { |
|
|
|
for _, v_sun := range v.ReportValues { |
|
|
|
if v_sun.Text != "" { |
|
|
|
var writeInfoUser locationing.ReportAddress |
|
|
|
var AdmDiv commonus.AdministrativeDivision |
|
|
|
AdmDivMap := commonus.MapOut() |
|
|
|
countSplit := strings.Split(v_sun.Text, "省") |
|
|
|
if len(countSplit) >= 2 { |
|
|
|
writeInfoUser.WechatId = v.Userid |
|
|
|
writeInfoUser.Userid = v.Userid |
|
|
|
writeInfoUser.AddTime = time.Now().Unix() |
|
|
|
writeInfoUser.Address = v_sun.Text |
|
|
|
calCulTime := tadayTime + " 12:00:00" |
|
|
|
writeInfoUser.CalCulTime = commonus.DateToTimeStamp(calCulTime) |
|
|
|
|
|
|
|
AdmDiv.Userid = v.Userid |
|
|
|
AdmDiv.Province = countSplit[0] + "省" |
|
|
|
writeInfoUser.Province = countSplit[0] + "省" |
|
|
|
AdmDivMap["userid"] = v.Userid |
|
|
|
AdmDivMap["province"] = countSplit[0] + "省" |
|
|
|
|
|
|
|
AdmDivMap["id"] = v.IdType |
|
|
|
|
|
|
|
countSplitSun := strings.Split(countSplit[1], "市") |
|
|
|
if len(countSplitSun) > 2 { |
|
|
|
AdmDiv.City = countSplitSun[0] + "市" |
|
|
|
AdmDiv.County = countSplitSun[1] + "市" |
|
|
|
writeInfoUser.City = countSplitSun[0] + "市" |
|
|
|
writeInfoUser.County = countSplitSun[1] + "市" |
|
|
|
|
|
|
|
AdmDivMap["city"] = countSplitSun[0] + "市" |
|
|
|
AdmDivMap["county"] = countSplitSun[1] + "市" |
|
|
|
} else { |
|
|
|
AdmDiv.City = countSplitSun[0] + "市" |
|
|
|
writeInfoUser.City = countSplitSun[0] + "市" |
|
|
|
AdmDivMap["city"] = countSplitSun[0] + "市" |
|
|
|
if len(countSplitSun) == 2 { |
|
|
|
countSplitSunes := strings.Split(countSplitSun[1], "县") |
|
|
|
if len(countSplitSun) > 1 { |
|
|
|
AdmDiv.County = countSplitSunes[0] + "县" |
|
|
|
writeInfoUser.County = countSplitSunes[0] + "县" |
|
|
|
AdmDivMap["county"] = countSplitSunes[0] + "县" |
|
|
|
} |
|
|
|
countSplitSunesi := strings.Split(countSplitSun[1], "区") |
|
|
|
if len(countSplitSunesi) > 1 { |
|
|
|
AdmDiv.County = countSplitSunesi[0] + "区" |
|
|
|
writeInfoUser.County = countSplitSunes[0] + "区" |
|
|
|
AdmDivMap["county"] = countSplitSunesi[0] + "区" |
|
|
|
calCulTime := tadayTime + " 12:00:00" |
|
|
|
timeStamp := commonus.DateToTimeStamp(calCulTime) |
|
|
|
var judgeWriteInfoUser locationing.ReportAddress |
|
|
|
getReportAddressErr := global.GVA_DB_HealthReport.Where("calcultime = ?", timeStamp).Take(&judgeWriteInfoUser).Error |
|
|
|
if getReportAddressErr != nil { |
|
|
|
|
|
|
|
_, reportAnswerInfoList, _, _ := commonus.GetUserWriteAnswer(jobid, tadayTime, page, pageSize) |
|
|
|
var AdmDivStruct []commonus.AdministrativeDivision |
|
|
|
var writeInfo []locationing.ReportAddress |
|
|
|
for _, v := range reportAnswerInfoList.Answers { |
|
|
|
for _, v_sun := range v.ReportValues { |
|
|
|
if v_sun.Text != "" { |
|
|
|
var writeInfoUser locationing.ReportAddress |
|
|
|
var AdmDiv commonus.AdministrativeDivision |
|
|
|
AdmDivMap := commonus.MapOut() |
|
|
|
countSplit := strings.Split(v_sun.Text, "省") |
|
|
|
if len(countSplit) >= 2 { |
|
|
|
writeInfoUser.WechatId = v.Userid |
|
|
|
writeInfoUser.Userid = v.Userid |
|
|
|
writeInfoUser.AddTime = time.Now().Unix() |
|
|
|
writeInfoUser.Address = v_sun.Text |
|
|
|
|
|
|
|
writeInfoUser.CalCulTime = commonus.DateToTimeStamp(calCulTime) |
|
|
|
|
|
|
|
AdmDiv.Userid = v.Userid |
|
|
|
AdmDiv.Province = countSplit[0] + "省" |
|
|
|
writeInfoUser.Province = countSplit[0] + "省" |
|
|
|
AdmDivMap["userid"] = v.Userid |
|
|
|
AdmDivMap["province"] = countSplit[0] + "省" |
|
|
|
|
|
|
|
AdmDivMap["id"] = v.IdType |
|
|
|
|
|
|
|
countSplitSun := strings.Split(countSplit[1], "市") |
|
|
|
if len(countSplitSun) > 2 { |
|
|
|
AdmDiv.City = countSplitSun[0] + "市" |
|
|
|
AdmDiv.County = countSplitSun[1] + "市" |
|
|
|
writeInfoUser.City = countSplitSun[0] + "市" |
|
|
|
writeInfoUser.County = countSplitSun[1] + "市" |
|
|
|
|
|
|
|
AdmDivMap["city"] = countSplitSun[0] + "市" |
|
|
|
AdmDivMap["county"] = countSplitSun[1] + "市" |
|
|
|
} else { |
|
|
|
AdmDiv.City = countSplitSun[0] + "市" |
|
|
|
writeInfoUser.City = countSplitSun[0] + "市" |
|
|
|
AdmDivMap["city"] = countSplitSun[0] + "市" |
|
|
|
if len(countSplitSun) == 2 { |
|
|
|
countSplitSunes := strings.Split(countSplitSun[1], "县") |
|
|
|
if len(countSplitSun) > 1 { |
|
|
|
AdmDiv.County = countSplitSunes[0] + "县" |
|
|
|
writeInfoUser.County = countSplitSunes[0] + "县" |
|
|
|
AdmDivMap["county"] = countSplitSunes[0] + "县" |
|
|
|
} |
|
|
|
countSplitSunesi := strings.Split(countSplitSun[1], "区") |
|
|
|
if len(countSplitSunesi) > 1 { |
|
|
|
AdmDiv.County = countSplitSunesi[0] + "区" |
|
|
|
writeInfoUser.County = countSplitSunes[0] + "区" |
|
|
|
AdmDivMap["county"] = countSplitSunesi[0] + "区" |
|
|
|
} |
|
|
|
|
|
|
|
// fmt.Printf("%v切割地址%v-------------%v\n", v.Userid, countSplitSunes, len(countSplitSunes))
|
|
|
|
} |
|
|
|
|
|
|
|
// fmt.Printf("%v切割地址%v-------------%v\n", v.Userid, countSplitSunes, len(countSplitSunes))
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
//获取个人信息
|
|
|
|
weChatUserCont := getWechatUserInfo(v.Userid) |
|
|
|
// //获取个人信息
|
|
|
|
// weChatUserCont := getWechatUserInfo(v.Userid)
|
|
|
|
|
|
|
|
writeInfoUser.UserName = weChatUserCont.Name |
|
|
|
writeInfoUser.UserTel = weChatUserCont.Mobile |
|
|
|
// writeInfoUser.UserName = weChatUserCont.Name
|
|
|
|
// writeInfoUser.UserTel = weChatUserCont.Mobile
|
|
|
|
|
|
|
|
AdmDivMap["user_name"] = weChatUserCont.Name |
|
|
|
AdmDivMap["user_tel"] = weChatUserCont.Name |
|
|
|
// AdmDivMap["user_name"] = weChatUserCont.Name
|
|
|
|
// AdmDivMap["user_tel"] = weChatUserCont.Name
|
|
|
|
|
|
|
|
abnormalIsTrue := false |
|
|
|
for _, expVal := range legalAreaList { |
|
|
|
if expVal.ProvinceName == AdmDiv.Province { |
|
|
|
if expVal.CityName == AdmDiv.City { |
|
|
|
abnormalIsTrue = true |
|
|
|
abnormalIsTrue := false |
|
|
|
for _, expVal := range legalAreaList { |
|
|
|
if expVal.ProvinceName == AdmDiv.Province { |
|
|
|
if expVal.CityName == AdmDiv.City { |
|
|
|
abnormalIsTrue = true |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
AdmDivMap["abnormalIsTrue"] = abnormalIsTrue |
|
|
|
if abnormalIsTrue == true { |
|
|
|
writeInfoUser.IsDbnormal = 1 |
|
|
|
// fmt.Printf("报警1=====>%v", abnormalIsTrue)
|
|
|
|
} else { |
|
|
|
writeInfoUser.IsDbnormal = 2 |
|
|
|
d.baoJing = append(d.baoJing, AdmDivMap) |
|
|
|
// fmt.Printf("报警2=====>%v", abnormalIsTrue)
|
|
|
|
} |
|
|
|
AdmDivStruct = append(AdmDivStruct, AdmDiv) |
|
|
|
d.dataMap = append(d.dataMap, AdmDivMap) |
|
|
|
writeInfo = append(writeInfo, writeInfoUser) |
|
|
|
} |
|
|
|
AdmDivMap["abnormalIsTrue"] = abnormalIsTrue |
|
|
|
if abnormalIsTrue == true { |
|
|
|
writeInfoUser.IsDbnormal = 1 |
|
|
|
// fmt.Printf("报警1=====>%v", abnormalIsTrue)
|
|
|
|
} else { |
|
|
|
writeInfoUser.IsDbnormal = 2 |
|
|
|
d.baoJing = append(d.baoJing, AdmDivMap) |
|
|
|
// fmt.Printf("报警2=====>%v", abnormalIsTrue)
|
|
|
|
} |
|
|
|
AdmDivStruct = append(AdmDivStruct, AdmDiv) |
|
|
|
d.dataMap = append(d.dataMap, AdmDivMap) |
|
|
|
writeInfo = append(writeInfo, writeInfoUser) |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
errDb := global.GVA_DB_HealthReport.Create(&writeInfo).Error |
|
|
|
if errDb != nil { |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
// errDb := global.GVA_DB_HealthReport.Create(&writeInfo).Error
|
|
|
|
// if errDb != nil {
|
|
|
|
|
|
|
|
// }
|
|
|
|
// fmt.Printf("%v切割地址%v-------------%v\n", page, jhs, len(AdmDivStruct))
|
|
|
|
myStatisWg.Done() |
|
|
|
} |
|
|
|
|