main.go 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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表中获取所有项目数据(请先手动清除yusuan_project数据信息)\n",
  16. "2、从yusuan_project表中匹配客户数据(请输入对应客户配置文件名称)\n",
  17. "3、从fileitme表中获取所有项目数据(请先手动清除yusuan_purchasing数据信息)\n",
  18. "99、退出程序")
  19. fmt.Scanln(&command)
  20. // 根据输入的指令选择相应的操作
  21. switch command {
  22. case "0":
  23. fmt.Println("请输更新年份,如:2024")
  24. var year string
  25. fmt.Scanln(&year)
  26. getRemoteFilePath(
  27. cf.Wanpan.Webdav,
  28. cf.Wanpan.User,
  29. cf.Wanpan.Sercert,
  30. year+"年",
  31. )
  32. filenum = 0 //重置数量
  33. case "1":
  34. getProjectItemFromFilejx()
  35. fmt.Println("任务已执行完成")
  36. case "2":
  37. ucf = UserConfig{}
  38. fmt.Println("请输入客户配置文件:")
  39. var uconf string
  40. fmt.Scanln(&uconf)
  41. userdata, err := ioutil.ReadFile("rule/" + uconf)
  42. if err != nil {
  43. fmt.Println("rule/"+uconf, err)
  44. }
  45. err = json.Unmarshal(userdata, &ucf)
  46. if err != nil {
  47. fmt.Println("rule/"+uconf, err)
  48. }
  49. getCustomerMatchProject()
  50. fmt.Println("任务已执行完成")
  51. case "3":
  52. getYusuanPurchasing()
  53. fmt.Println("任务已执行完成")
  54. case "99":
  55. fmt.Println("退出程序")
  56. return // 退出程序
  57. default:
  58. fmt.Println("无效的指令")
  59. }
  60. }
  61. }
  62. func fileitem() {
  63. //读取网盘目录数据
  64. paths := []string{"2022年", "2023年", "2024年"}
  65. //paths := []string{"2021年"}
  66. for _, path := range paths {
  67. log.Println(path)
  68. getRemoteFilePath(
  69. cf.Wanpan.Webdav,
  70. cf.Wanpan.User,
  71. cf.Wanpan.Sercert,
  72. path,
  73. )
  74. }
  75. }