main.go 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package main
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "io/ioutil"
  6. "log"
  7. )
  8. func main() {
  9. // 使用for循环不断接收用户输入的指令
  10. for {
  11. // 定义一个变量存储输入的指令
  12. var command string
  13. fmt.Println("请输入指令:\n",
  14. "0、更新fileitme目录\n",
  15. "1、从fileitme表中获取所有项目数据(请先手动清除project_yusuan数据信息)\n",
  16. "2、从project_yusuan表中匹配客户数据(请输入对应客户配置文件名称)\n",
  17. "3、退出程序")
  18. fmt.Scanln(&command)
  19. // 根据输入的指令选择相应的操作
  20. switch command {
  21. case "0":
  22. fmt.Println("请输更新年份,如:2024")
  23. var year string
  24. fmt.Scanln(&year)
  25. getRemoteFilePath(
  26. cf.Wanpan.Webdav,
  27. cf.Wanpan.User,
  28. cf.Wanpan.Sercert,
  29. year+"年",
  30. )
  31. case "1":
  32. getProjectItemFromFilejx()
  33. fmt.Println("任务已执行完成")
  34. case "2":
  35. ucf = UserConfig{}
  36. fmt.Println("请输入客户配置文件:")
  37. var uconf string
  38. fmt.Scanln(&uconf)
  39. userdata, err := ioutil.ReadFile("rule/" + uconf)
  40. if err != nil {
  41. fmt.Println("rule/"+uconf, err)
  42. }
  43. err = json.Unmarshal(userdata, &ucf)
  44. if err != nil {
  45. fmt.Println("rule/"+uconf, err)
  46. }
  47. getCustomerMatchProject()
  48. fmt.Println("任务已执行完成")
  49. case "3":
  50. fmt.Println("退出程序")
  51. return // 退出程序
  52. default:
  53. fmt.Println("无效的指令")
  54. }
  55. }
  56. }
  57. func fileitem() {
  58. //读取网盘目录数据
  59. paths := []string{"2022年", "2023年", "2024年"}
  60. //paths := []string{"2021年"}
  61. for _, path := range paths {
  62. log.Println(path)
  63. getRemoteFilePath(
  64. cf.Wanpan.Webdav,
  65. cf.Wanpan.User,
  66. cf.Wanpan.Sercert,
  67. path,
  68. )
  69. }
  70. }