Răsfoiți Sursa

feat:xiugai

wangchuanjin 2 luni în urmă
părinte
comite
56d2678d8d
1 a modificat fișierele cu 88 adăugiri și 37 ștergeri
  1. 88 37
      openPower/openPower.go

+ 88 - 37
openPower/openPower.go

@@ -141,6 +141,7 @@ func main() {
 	inputStartTime := flag.Int64("st", 0, "unix类型的开始时间")
 	inputEndTime := flag.Int64("et", 0, "unix类型的结束时间")
 	resetPower := flag.Bool("rp", false, "是否重新开通权益")
+	inputProductType := flag.String("pt", "", "订单的产品类型")
 	flag.Parse()
 	//*phone = "15037870753"
 	//*t = 22
@@ -149,6 +150,7 @@ func main() {
 	//*inputOrderCode = "259519348822"
 	//*inputStartTime = 1746028800
 	//*inputEndTime = 1747584000
+	//*inputProductType = "历史数据"
 	//*m = 2
 	//
 	if *phone == "" {
@@ -162,6 +164,9 @@ func main() {
 		if *inputEndTime == 0 {
 			log.Fatalln("-et 参数无效")
 		}
+		if *inputProductType == "" {
+			log.Fatalln("-pt 参数无效")
+		}
 	}
 	if *m != 2 {
 		*isCreateUser = false
@@ -447,45 +452,91 @@ func main() {
 		log.Fatalln("没有找到身份信息!")
 	}
 	if *inputOrderCode != "" && updateOrderUserId != "" {
-		orderData := MysqlMain.SelectBySql(`select user_id,vip_starttime,vip_endtime from jianyu.dataexport_order where order_code=?`, inputOrderCode)
-		if orderData == nil || len(*orderData) == 0 {
-			log.Fatalln("没有找到该订单,更新订单失败!")
-		} else if len(*orderData) > 1 {
-			log.Fatalln("找到多个订单,需要手动处理!")
-		}
-		updateArgs := []interface{}{}
-		odVar := gvar.New((*orderData)[0]).MapStrVar()
-		updateFields := []string{}
-		array := []string{}
-		if odVar["user_id"].IsEmpty() {
-			updateFields = append(updateFields, "用户id")
-			array = append(array, "user_id=?")
-			updateArgs = append(updateArgs, updateOrderUserId)
-		} else {
-			log.Println("订单表用户id存在,无需更新")
-		}
-		if odVar["vip_starttime"].IsEmpty() {
-			updateFields = append(updateFields, "服务开始时间")
-			array = append(array, "vip_starttime=?")
-			updateArgs = append(updateArgs, inputStartTimeStr)
-		} else {
-			log.Println("订单表服务开始时间存在,无需更新")
-		}
-		if odVar["vip_endtime"].IsEmpty() {
-			updateFields = append(updateFields, "服务截止时间")
-			array = append(array, "vip_endtime=?")
-			updateArgs = append(updateArgs, inputEndTimeStr)
-		} else {
-			log.Println("订单表服务截止时间存在,无需更新")
-		}
-		if len(array) > 0 {
-			updateArgs = append(updateArgs, *inputOrderCode)
-			if MysqlMain.UpdateOrDeleteBySql(`update jianyu.dataexport_order set `+strings.Join(array, ",")+` where order_code=?`, updateArgs...) < 0 {
-				log.Fatalln("更新订单表" + strings.Join(updateFields, "、") + "失败!")
+		//更新订单主表
+		func() {
+			orderData := MysqlMain.SelectBySql(`select user_id,vip_starttime,vip_endtime from jianyu.dataexport_order where order_code=?`, inputOrderCode)
+			if orderData == nil || len(*orderData) == 0 {
+				log.Fatalln("订单主表没有找到该订单,更新订单主表失败!")
+			} else if len(*orderData) > 1 {
+				log.Fatalln("订单主表找到多个订单,需要手动处理!")
+			}
+			updateArgs := []interface{}{}
+			odVar := gvar.New((*orderData)[0]).MapStrVar()
+			updateFields := []string{}
+			array := []string{}
+			if odVar["user_id"].IsEmpty() {
+				updateFields = append(updateFields, "用户id")
+				array = append(array, "user_id=?")
+				updateArgs = append(updateArgs, updateOrderUserId)
 			} else {
-				log.Fatalln("更新订单表" + strings.Join(updateFields, "、") + "成功!")
+				log.Println("订单主表用户id存在,无需更新")
 			}
-		}
+			if odVar["vip_starttime"].IsEmpty() {
+				updateFields = append(updateFields, "服务开始时间")
+				array = append(array, "vip_starttime=?")
+				updateArgs = append(updateArgs, inputStartTimeStr)
+			} else {
+				log.Println("订单主表服务开始时间存在,无需更新")
+			}
+			if odVar["vip_endtime"].IsEmpty() {
+				updateFields = append(updateFields, "服务截止时间")
+				array = append(array, "vip_endtime=?")
+				updateArgs = append(updateArgs, inputEndTimeStr)
+			} else {
+				log.Println("订单主表服务截止时间存在,无需更新")
+			}
+			if len(array) > 0 {
+				updateArgs = append(updateArgs, *inputOrderCode)
+				if MysqlMain.UpdateOrDeleteBySql(`update jianyu.dataexport_order set `+strings.Join(array, ",")+` where order_code=?`, updateArgs...) < 0 {
+					log.Fatalln("更新订单主表" + strings.Join(updateFields, "、") + "失败!")
+				} else {
+					log.Fatalln("更新订单主表" + strings.Join(updateFields, "、") + "成功!")
+				}
+			}
+		}()
+		//更新订单子表
+		func() {
+			orderData := MysqlMain.SelectBySql(`select id,user_id,service_starttime,service_endtime from jianyu.jy_order_detail where order_code=? and product_type=?`, *inputOrderCode, *inputProductType)
+			if orderData == nil || len(*orderData) == 0 {
+				log.Fatalln("订单子表没有找到该订单,更新订单子表失败!")
+			}
+			for _, v := range *orderData {
+				updateArgs := []interface{}{}
+				odVar := gvar.New(v).MapStrVar()
+				id := odVar["id"].Int64()
+				updateFields := []string{}
+				array := []string{}
+				if odVar["user_id"].IsEmpty() {
+					updateFields = append(updateFields, "用户id")
+					array = append(array, "user_id=?")
+					updateArgs = append(updateArgs, updateOrderUserId)
+				} else {
+					log.Println(id, "订单子表用户id存在,无需更新")
+				}
+				if odVar["service_starttime"].IsEmpty() {
+					updateFields = append(updateFields, "服务开始时间")
+					array = append(array, "service_starttime=?")
+					updateArgs = append(updateArgs, inputStartTimeStr)
+				} else {
+					log.Println(id, "订单子表服务开始时间存在,无需更新")
+				}
+				if odVar["service_endtime"].IsEmpty() {
+					updateFields = append(updateFields, "服务截止时间")
+					array = append(array, "service_endtime=?")
+					updateArgs = append(updateArgs, inputEndTimeStr)
+				} else {
+					log.Println(id, "订单子表服务截止时间存在,无需更新")
+				}
+				if len(array) > 0 {
+					updateArgs = append(updateArgs, id)
+					if MysqlMain.UpdateOrDeleteBySql(`update jianyu.jy_order_detail set `+strings.Join(array, ",")+` where id=?`, updateArgs...) < 0 {
+						log.Fatalln(id, "更新订单子表"+strings.Join(updateFields, "、")+"失败!")
+					} else {
+						log.Fatalln(id, "更新订单子表"+strings.Join(updateFields, "、")+"成功!")
+					}
+				}
+			}
+		}()
 	}
 }