main.go 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package main
  2. import (
  3. "encoding/json"
  4. "flag"
  5. "log"
  6. mu "mfw/util"
  7. "net"
  8. "os"
  9. )
  10. var ip, sid, eid, stype, infoid, pid, udpataField string
  11. var p int
  12. func main() {
  13. flag.StringVar(&sid, "sid", "", "开始id")
  14. flag.StringVar(&eid, "eid", "", "结束id")
  15. flag.StringVar(&infoid, "infoid", "", "修改的公告id")
  16. flag.StringVar(&pid, "pid", "", "修改的项目id")
  17. flag.StringVar(&udpataField, "field", "", "修改的字段信息")
  18. flag.StringVar(&ip, "ip", "127.0.0.1", "ip")
  19. flag.IntVar(&p, "p", 1482, "端口")
  20. flag.StringVar(&stype, "stype", "", "stype")
  21. flag.Parse()
  22. if stype != ""{
  23. addr := &net.UDPAddr{
  24. IP: net.ParseIP(ip),
  25. Port: p,
  26. }
  27. udp := mu.UdpClient{Local: ":50010", BufSize: 1024}
  28. udp.Listen(func(b byte, data []byte, add *net.UDPAddr) {
  29. switch b {
  30. case mu.OP_NOOP:
  31. log.Println(string(data))
  32. os.Exit(0)
  33. }
  34. })
  35. if stype == "updatePro" {
  36. udpatamap := make(map[string]interface{})
  37. err := json.Unmarshal([]byte(udpataField), &udpatamap)
  38. if err == nil {
  39. m1 := map[string]interface{}{
  40. "pid": pid,
  41. "updateField": udpatamap,
  42. "stype": stype,
  43. }
  44. by, _ := json.Marshal(m1)
  45. log.Println(string(by))
  46. udp.WriteUdp(by, mu.OP_TYPE_DATA, addr)
  47. }else {
  48. log.Println(err)
  49. }
  50. }else if stype == "deleteInfo" || stype == "updateInfo" {
  51. m1 := map[string]interface{}{
  52. "infoid": infoid,
  53. "stype": stype,
  54. }
  55. by, _ := json.Marshal(m1)
  56. log.Println(string(by))
  57. udp.WriteUdp(by, mu.OP_TYPE_DATA, addr)
  58. }else if sid != "" && eid != "" {
  59. m1 := map[string]interface{}{
  60. "gtid": sid,
  61. "lteid": eid,
  62. "stype": stype,
  63. }
  64. by, _ := json.Marshal(m1)
  65. log.Println(string(by))
  66. udp.WriteUdp(by, mu.OP_TYPE_DATA, addr)
  67. }
  68. } else {
  69. flag.PrintDefaults()
  70. log.Println("参数错误.")
  71. }
  72. }