main.go 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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. filenum = 0 //重置数量
  32. case "1":
  33. getProjectItemFromFilejx()
  34. fmt.Println("任务已执行完成")
  35. case "2":
  36. ucf = UserConfig{}
  37. fmt.Println("请输入客户配置文件:")
  38. var uconf string
  39. fmt.Scanln(&uconf)
  40. userdata, err := ioutil.ReadFile("rule/" + uconf)
  41. if err != nil {
  42. fmt.Println("rule/"+uconf, err)
  43. }
  44. err = json.Unmarshal(userdata, &ucf)
  45. if err != nil {
  46. fmt.Println("rule/"+uconf, err)
  47. }
  48. getCustomerMatchProject()
  49. fmt.Println("任务已执行完成")
  50. case "3":
  51. fmt.Println("退出程序")
  52. return // 退出程序
  53. default:
  54. fmt.Println("无效的指令")
  55. }
  56. }
  57. }
  58. func fileitem() {
  59. //读取网盘目录数据
  60. paths := []string{"2022年", "2023年", "2024年"}
  61. //paths := []string{"2021年"}
  62. for _, path := range paths {
  63. log.Println(path)
  64. getRemoteFilePath(
  65. cf.Wanpan.Webdav,
  66. cf.Wanpan.User,
  67. cf.Wanpan.Sercert,
  68. path,
  69. )
  70. }
  71. }