SJA APS后端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

131 lines
2.6 KiB

  1. package common
  2. import (
  3. "flag"
  4. "fmt"
  5. "leit.com/leit_seat_aps/glog"
  6. "reflect"
  7. "regexp"
  8. "strings"
  9. "testing"
  10. "time"
  11. )
  12. type User struct {
  13. Name string `json:"name"`
  14. Create_time string `json:"create_time"`
  15. }
  16. // 测试基于Struct某个字段值对Struct数组排序
  17. func TestSort(t *testing.T) {
  18. results := []interface{}{} //这里必须定义成[]interface{}{}
  19. u1 := User{
  20. Name:"lxw",
  21. Create_time:"2018-04-01",
  22. }
  23. u2 := User{
  24. Name:"zll",
  25. Create_time:"2018-03-01",
  26. }
  27. u3 := User{
  28. Name:"leo",
  29. Create_time:"2018-03-21",
  30. }
  31. u4 := User{
  32. Name:"sarah",
  33. Create_time:"2018-03-02",
  34. }
  35. results = append(results,u1)
  36. results = append(results,u2)
  37. results = append(results,u3)
  38. results = append(results,u4)
  39. // 使用自定义的字段排序
  40. SortBody(results,func(p,q * interface{}) bool{
  41. v :=reflect.ValueOf(*p)
  42. i := v.FieldByName("Create_time")
  43. v =reflect.ValueOf(*q)
  44. j := v.FieldByName("Create_time")
  45. return i.String() < j.String()
  46. })
  47. fmt.Println(results)
  48. }
  49. func TestSortFolderFile(t *testing.T) {
  50. dir := "D:\\Go\\gopath\\src\\lapp_-sja_-aps\\doc\\TOD\\outbox"
  51. listAll(dir, 0)
  52. }
  53. func TestTime(t *testing.T) {
  54. var (
  55. tm string
  56. )
  57. s := "abcdef"
  58. fmt.Println(s[1-1:4])
  59. tm = "20200204080000"
  60. fmt.Println(DateParse(tm, "YmdHis"))
  61. fmt.Println(int(time.Now().Month()))
  62. fmt.Println(ConvInt2FormatString(54321, 8))
  63. fmt.Println(Date(time.Now().Unix(), "YYMMDD:HHmmss"))
  64. }
  65. func TestOther(t *testing.T) {
  66. var(
  67. chareg *regexp.Regexp
  68. cha [][]string
  69. i,col,iloop,imod int
  70. uc []rune
  71. colname string
  72. retcol string
  73. )
  74. colname = "AZ"
  75. chareg = regexp.MustCompile("[a-zA-Z]")
  76. cha = chareg.FindAllStringSubmatch(colname, -1)
  77. // 获取字符的列值
  78. col = 0
  79. for i = 0; i < len(cha); i++ {
  80. uc = []rune(strings.ToUpper(cha[i][0]))
  81. col = col + i*26 + (int(uc[0]) - 65)
  82. }
  83. iloop = col / 26
  84. imod = col % 26
  85. retcol = strings.Repeat("A",iloop)
  86. retcol = retcol + string('A' + imod)
  87. fmt.Println(retcol)
  88. fmt.Println(AddExcelColLen("AB",5))
  89. }
  90. func TestGlog(t *testing.T) {
  91. baseDir := ""
  92. flag.StringVar(&baseDir, "dir", "log", "running in a directory")
  93. flag.Parse()
  94. defer glog.Flush()
  95. fmt.Println(baseDir)
  96. baseDir = EnsureDir(baseDir)
  97. fmt.Println(baseDir)
  98. //linux系统调用
  99. //pathLogDir := filepath.Join(baseDir, "glog")
  100. //备注,因为是打包成windows服务,路径需要转义
  101. //pathLogDir, _ = GetCurrentPath(pathLogDir)
  102. //fmt.Println("pathLogDir = ",pathLogDir)
  103. glog.DefaultInit(true, baseDir)
  104. glog.Infoln("启动日志", "InitDB return success")
  105. /*****
  106. *@param1:文件名称
  107. *@param2:参数key值
  108. *@param3:打印的变量值
  109. ****************/
  110. one := "测试"
  111. glog.Infoln("年缴费测试", "one := ", one)
  112. }