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.

132 lines
2.6 KiB

package common
import (
"flag"
"fmt"
"leit.com/leit_seat_aps/glog"
"reflect"
"regexp"
"strings"
"testing"
"time"
)
type User struct {
Name string `json:"name"`
Create_time string `json:"create_time"`
}
// 测试基于Struct某个字段值对Struct数组排序
func TestSort(t *testing.T) {
results := []interface{}{} //这里必须定义成[]interface{}{}
u1 := User{
Name:"lxw",
Create_time:"2018-04-01",
}
u2 := User{
Name:"zll",
Create_time:"2018-03-01",
}
u3 := User{
Name:"leo",
Create_time:"2018-03-21",
}
u4 := User{
Name:"sarah",
Create_time:"2018-03-02",
}
results = append(results,u1)
results = append(results,u2)
results = append(results,u3)
results = append(results,u4)
// 使用自定义的字段排序
SortBody(results,func(p,q * interface{}) bool{
v :=reflect.ValueOf(*p)
i := v.FieldByName("Create_time")
v =reflect.ValueOf(*q)
j := v.FieldByName("Create_time")
return i.String() < j.String()
})
fmt.Println(results)
}
func TestSortFolderFile(t *testing.T) {
dir := "D:\\Go\\gopath\\src\\lapp_-sja_-aps\\doc\\TOD\\outbox"
listAll(dir, 0)
}
func TestTime(t *testing.T) {
var (
tm string
)
s := "abcdef"
fmt.Println(s[1-1:4])
tm = "20200204080000"
fmt.Println(DateParse(tm, "YmdHis"))
fmt.Println(int(time.Now().Month()))
fmt.Println(ConvInt2FormatString(54321, 8))
fmt.Println(Date(time.Now().Unix(), "YYMMDD:HHmmss"))
}
func TestOther(t *testing.T) {
var(
chareg *regexp.Regexp
cha [][]string
i,col,iloop,imod int
uc []rune
colname string
retcol string
)
colname = "AZ"
chareg = regexp.MustCompile("[a-zA-Z]")
cha = chareg.FindAllStringSubmatch(colname, -1)
// 获取字符的列值
col = 0
for i = 0; i < len(cha); i++ {
uc = []rune(strings.ToUpper(cha[i][0]))
col = col + i*26 + (int(uc[0]) - 65)
}
iloop = col / 26
imod = col % 26
retcol = strings.Repeat("A",iloop)
retcol = retcol + string('A' + imod)
fmt.Println(retcol)
fmt.Println(AddExcelColLen("AB",5))
}
func TestGlog(t *testing.T) {
baseDir := ""
flag.StringVar(&baseDir, "dir", "log", "running in a directory")
flag.Parse()
defer glog.Flush()
fmt.Println(baseDir)
baseDir = EnsureDir(baseDir)
fmt.Println(baseDir)
//linux系统调用
//pathLogDir := filepath.Join(baseDir, "glog")
//备注,因为是打包成windows服务,路径需要转义
//pathLogDir, _ = GetCurrentPath(pathLogDir)
//fmt.Println("pathLogDir = ",pathLogDir)
glog.DefaultInit(true, baseDir)
glog.Infoln("启动日志", "InitDB return success")
/*****
*@param1:文件名称
*@param2:参数key值
*@param3:打印的变量值
****************/
one := "测试"
glog.Infoln("年缴费测试", "one := ", one)
}