/marisfrolg_utils

玛丝菲尔-自用帮助库

Primary LanguageGo

marisfrolg_utils

玛丝菲尔golang项目帮助类库

项目引用

go get github.com/lulouis/marisfrolg_utils

使用案例

帮助类分为10个部分

1、Convert


2、数据库类(DBHelper)

1、ExecuteNonQueryByTran func ExecuteNonQueryByTran(db *sql.DB, SqlList []string) error  批量执行 含事务 nil 成功 err 失败 MongoDB 禁止使用,其他数据库自行斟酌(目前支持Oracle)
   测试指令: go test -v -run TestExecuteNonQueryByTran DB_test.go
   参数说明:db: 数据库链接 Sql: 语句集合
2、AssemblyParameters(IdList, Field string) (condition string) SQL IN()的查询里不能超过1000列,将大于1000列的以900为间隔分开组装
   测试指令: go test -v -run TestAssemblyParameters DB_test.go
   参数说明:IdList:数据列 例如:"'987654321','123456789'"  Field:字段名
3、GetSqlList(Parameters string, Field string) string  对数据库查询请求参数的优化
   测试指令:go test -v -run TestGetSqlList DB_test.go
   参数说明:Parameters:数据查询参数; Field: 字段名
4、StringToRuneArr(Parameters string) []string 对HANA查询结果的特殊符号优化
   测试指令:go test -v -run TestStringToRuneArr DB_test.go
   参数说明:Parameters  数据结果列请求参数

3、发送邮件相关操作(EmailHelper)

1、(emailServer EmailServer) SendMail(emailRequest EmailRequest) error 发送邮件
  测试指令:go test -v -run TestSendMail Email_test.go
  参数说明:emailServer:配置发件邮箱账号和密码端口号,emailRequest 配置收件人、标题、主题、正文、附加路径

4、文件相关操作(FileHelper)

1、PathlogExistsFile(path string) (bool, error)检查制定路径下是否存在文件如果不存在直接创建文件夹
 测试指令:go test -v -run TestPathlogExistsFile File_test.go
 参数说明:path:文件夹路径
2、CreateImg(filename string, img image.Image) error 创建图片
 测试指令:go test -v -run TestCreateImg  File_test.go
 参数说明: filePath:文件路径
         fileName:文件名称
         img:图片属性
3、FileToByte(f *os.File) ([]byte,error)将文件转换成byte[]
 测试指令:go test -v -run FileToByte  File_test.go
 参数说明:f *os.File:文件相关信息

5、Http相关操作(HttpHelper)

1、HttpPostOnlyBody(apiURL string, parmbody string, token string) (rs []byte, err error) POST请求带token验证的URL
  测试指令:go test -v -run TestHttpPostOnlyBody Http_test.go
  参数说明:apiURL:请求路径;parmbody:Body参数;token:需要验证的token
2、HttpGet(ApiURL string, Params url.Values) (rs []byte, err error) get请求链接接参数分离
  测试指令:go test -v -run TestHttpGet Http_test.go
  参数说明:ApiURL:请求路径;Parm:请求参数
3、HttpGetToUrl(ApiURL string) (rs []byte, err error) get请求链接接参数不分离
    测试指令:go test -v -run TestHttpGetToUrl Http_test.go
    参数说明:ApiURL:请求路径

6、文本日志相关操作类(LogUtil)

1、AddOperationLog(Type string, Title string, Message string,Filepath string) 添加操作日志 
   测试指令: go test -v -run TestLog Log_test.go
   参数说明:Type:文件名称(可以为空) Title:函数名称 Message:要记录在日志的内容 Filepath 日志文件要存放的路径
   日志格式: 日期:[2020-05-29 17:29:02]    IP:169.254.126.100
            标题:测试
            内容:消息内容
2、PrintMyName() 获取此函数被哪一个函数调用的上一级函数名称
   测试指令:go test -v -run TestPrintMyName Log_test.go
   参数说明:参数无
3、GetFileName() 获取当前文件名称
   测试指令:go test -v -run TestGetFileName Log_test.go
   参数说明:参数无

7、Redis缓存相关操作类(RedisHelper)


8、字符串相关操作类(StringHelper)

1、PadLeft(str string, totalWidth int, paddingChar string) (r string)位数不够自动左补全
   测试指令:go test -v -run TestPadLeft StringHelper_test.go
   参数说明:str 传入的字符串 ,totalWidth 补的长度 ,paddingChar 补全的字符
2、PadRight(str string, totalWidth int, paddingChar string) (r string)位数不够自动右补全
   测试指令:go test -v -run TestPadRight StringHelper_test.go
   参数说明:str 传入的字符串 ,totalWidth 补的长度 ,paddingChar 补全的字符
3、GetRandomString(Length int) string 随机生成指定位数的大写字母
   测试指令:go test -v -run TestGetRandomString StringHelper_test.go
   参数说明:Length:位数
4、ValidateMobile(mobileNum string) bool 验证手机号是否符合要求
   测试指令:go test -v -run TestValidateMobile StringHelper_test.go
   参数说明:mobileNum:手机号码
5、RemoveRepeatedElement(arr []string) (newArr []string)  移除string数组中重复数据,返回已经处理好的无重复的string数组
   测试指令:go test -v -run TestRemoveRepeatedElement StringHelper_test.go
   参数说明:arr 带有重复的string数组

9、发短信相关操作类(SendMessageHelper)

1、SendShortMessage(regionId string, accessKeyId string, accessKeySecret string,PhoneNumbers string, SignName string, TemplateCode string, TemplateParam string) 阿里云发短信相关操作
   测试指令:go test -v -run TestSendMessage SendMessage_test.go
   参数说明:regionId:区域ID;accessKeyId:访问者身份;accessKeySecret:;SignName:加密签名字符串和服务器端验证签名字符串的密钥,必须严格保密谨防泄露;短信签名;TemplateCode:短信模板ID;TemplateParam:短信模板变量替换JSON串,友情提示:如果JSON中需要带换行符

10、时间函数相关操作类(TimeHelper)


测试案例 Usage 参考网站:http://c.biancheng.net/view/124.html

新建xxx_test.go文件 1.测试整个文件:

go test -v Convert_test.go

2.指定某个库某个方法进行测试:

go test -v -run TestPadRight StringHelper_test.go

案例1:字符串函数

package main

import (
	"fmt"
	"testing"

	convert "github.com/lulouis/marisfrolg_utils"
)

func TestConvert(t *testing.T) {
	substring := convert.Substr("marisfrolg_utils", 0, 10)
	fmt.Println(substring)

}
go test -v Convert_test.go

案例2:请查看example里面的 StringHelper_test.go

运行测试案例

cd example 
go test -v StringHelper_test.go