Skip to content

Serendipity-sw/gutil

Repository files navigation

gutil

go 公共类
golang.org/x/crypto 无法下载,可以在下面地中获取所需要的crypto包.并存放到对应的golang.org文件夹的x目录下
https://github.com/swgloomy/crypto.git

文档

提供common基础类库
    asyncThreadProcess.go 提供异步线程处理类,待完善

const.go

1.WithNanos 时间格式化字符串 2006-01-02 15:04:05

fileProcess.go

1. CreateFileProcess
    文件夹创建方法 接收参数文件夹路径  返回错误对象
    根据文件夹路径创建文件,如文件存在则不做任何操作
    
2. PathExists
    判断文件或文件夹是否存在 接收参数文件或文件夹路径 返回是否存在及错误对象 true表示存在

3. FileCreateAndWrite
    写文件
    输入参数:文件内容 写入文件的路劲(包含文件名) 是否追加写入
    输出参数:错误对象
    
4. ReadFileByLine
    文件读取逐行进行读取
    输入参数: 文件路劲
    输出参数: 字符串数组(数组每一项对应文件的每一行) 错误对象
    
5. FileOpen
    文件打开
    输入参数:文件路径 是否追加
    输出参数:文件对象 错误对象
    
6. RWFileByWhere
    根据条件读写文件
    输入参数:文件路径 文件写入对象 条件平判断方法
    输出参数:错误对象
    
7. ReadFileLineNumber
    读取文件行数
        文件路径
        输出行数与错误对象
        
8. GetMyFileName
    获取文件名称及后缀名 未防止文件无后缀名,固这里返回值为数组对象
        输入参数: 文件路劲或文件名称
        输出参数: 文件名 文件后缀名 数组 第一项为文件名称 第二项为文件后缀名

9. GetMyAllFileByDir
    根据文件夹路径获取文件夹下所有文件
    输入参数: 文件夹路径
    输出参数: 文件名列表 错误对象
    
10. GetMyAllDirByDir
    根据文件夹路径获取文件夹下所有文件夹
    输入参数:文件夹路径
    输出参数:文件夹列表 错误对象

mysqlDB.go

1. MySqlDBStruct
    数据库连接对象
    type MySqlDBStruct struct {
    	DbUser string //数据库用户名
    	DbHost string //数据库地址
    	DbPort int    //数据库端口
    	DbPass string //数据库密码
    	DbName string //数据库库名
        MaxOpenConns int    // 用于设置最大打开的连接数,默认值为0表示不限制
        MaxIdleConns int    // 用于设置闲置的连接数
    }

2. MySqlSQlConntion
    数据库连接
    输入参数:数据库对象
    输出对象:数据库连接对象
    
3. MySqlClose
    数据库关闭
    输入参数:数据库连接对象
    
4. MySqlSelect
    查询方法
    输入参数: dbs数据库连接对象 model数据库对象 sqlStr 要执行的sql语句 param执行SQL的语句参数化传递
    输出参数: 查询返回条数  错误对象输出
    
5. MySqlSqlExec
    数据库运行方法
    输入参数: dbs数据库连接对象 model数据库对象 sqlStr 要执行的sql语句  param执行SQL的语句参数化传递
    输出参数: 执行结果对象  错误对象输出
    
6. MysqlSelectUnknowColumn
    查询所有字段值
    字段名称 字段值数组 错误对象

servicePIDProcess.go

const ProgramServicePIDPath = "./programRunPID.pid" // PID文件生成路径
当下列方法接收到的传入参数为空时,将使用默认的PID文件路径

1. WritePid
    写PID文件
    输入参数:文件路径
    
2. CheckPid
    检查pid文件是否存在,pid文件中的进程是否存在
    输入参数:pid文件路径
    输出参数:bool类型(true: 文件不存在或者进程不存在 false: 进程已存在)
    
3. RmPidFile
    删除PID文件
    输入参数:pid文件路径

dateProcess.go

1.DateFormat
    时间格式化处理
    输入参数:需要格式化的时间 格式化方式 示例yyyy-MM-dd hh:mm:ss.tttttt   2017-03-22 10:21:55.379415

redisHelp.go

1. OpenRedis
    redis通道开启
    addr IP地址+端口     idx 仓库数  
    
2. CloseRedis
    redis通道关闭
    
3. SetRedisCache
    设置redis缓存
    key 存储键名    value 存储值    cacheBssSeconds 存储时间(单位秒)
    
4. GetRedisCache
    获取redis缓存
    key 存储键名

decryptionProcess.go

1. AesEncrypt
    字符串加密
    输入参数: 需要加密的字符串
    输出参数: 加密后字符串 错误对象
    
2. AesDecrypt
    字符串解密
    输入参数: 需要解密的字符串  解密后字符串长度
    输出参数: 解密后字符串  错误对象

gpDB.go

// GP数据库连接对象
// create by gloomy 2017-3-30 15:27:26
type GpDBStruct struct {
	DbUser string //数据库用户名
	DbHost string //数据库地址
	DbPort int    //数据库端口
	DbPass string //数据库密码
	DbName string //数据库库名
    MaxOpenConns int    // 用于设置最大打开的连接数,默认值为0表示不限制
    MaxIdleConns int    // 用于设置闲置的连接数
}

其余同mysql类

提供方法:
    GpSqlConntion GP数据库连接
    GpSqlClose GP数据库关闭
    GpSqlSelect 查询方法
    GpSqlExec 数据库运行方法
    GPSelectUnknowColumn 查询所有字段值

mathProcess.go

1. Rounding
    四舍五入取舍
    
2. RoundingByInt
    四舍五入取舍
    除数 被除数 取舍几位
    
3. RoundingPercentageByInt
    四舍五入取舍 百分比
    除数 被除数 取舍几位
    
4. MustCompileMatch
    匹配字符串是否包含
    输入参数:
        matchStr 匹配字符串(例: match*  则匹配任何match开头的. *为全匹配)
        str 被匹配字符串

ftpHelpProcess.go

FTP帮助类实体
type FtpHelpStruct struct {
	IpAddr string // ip 地址
	Port int // 端口
	TimeOut time.Duration // 超时时间
	UserName string // 用户名
	PassWord string // 密码
	FilePaths string // 目标服务器路径
}

1. FtpFileStor
     FTP文件传输        
     FTP配置实体 文件内容 创建目标服务器的文件名
     错误对象
     
2. FtpRemoveFile
     FTP文件删除
     文件名 ftp配置对象
     错误对象
     
3. FtpRenameFile
    ftp修正远程服务器文件名称
    源文件 修正后的文件名称 ftp配置对象
    错误对象

fileDataRecording.go

 切块文件写入,防止文件过大 (编写缘由用于文件load进入数据库)
 文件数据记录对象
type FileDataRecording struct {
	sync.Mutex                         // 锁
	F                         *os.File // 文件对象
	FilePre                   string   // 文件开头字符串
	Fn                        string   // 文件路径
	Bytes                     int      // 文件大小
	Seq                       int      // 第几个
	FileProgram               string   // 文件存放路径
	MaxFileDataRecordingBytes int      // 文件大小
}

const maxFileDataRecordingBytes = 1000000 // 默认文件大小

1. OpenLoadFile
     打开文件数据记录
     文件存放目录地址 文件开头字符串 文件大小
     文件数据对象
    
2. Exit
     文件退出
    
3. Close
    文件关闭
    
4. Rotate
    文件切换
    
5. CreateNewFile
    创建新文件
    错误对象
    
6. WriteData
    写入数据
    需要写入的数据
    错误对象
    
7. FileList
    获取所有完成的文件列表
    文件列表
    
8. RemoveOldFileList
    删除过期文件
    几天前

excelUtil.go

1. ReadExcel
   excel数据获取
   sheet名称 数据内容 错误对象
   
2. ExcelSave
   excel保存

sftpUtil.go

// sftp配置
type SftpConfigStruct struct {
	Account      string // 登录用户名
	Password     string // 登录密码
	Port         int    // 服务器端口
	ConntionSize int    // MaxPacket sets the maximum size of the payload
	Addr         string // 连接地址
}

1. SftpClose 
    sftp 关闭
    
2. SftpReadDir
    sftp读取文件夹内容

XML帮助类

1.XmlContentReplace
    生成xml文件修正xml节点内容

watchFileUtil.go

如文件上传完成,统一使用文件修改回调方法.watchFile方法会保证文件上传完毕进行回调
1.WatchFile
    文件夹监控方法
        监控文件夹路径
        匹配字段(例: match*  则匹配任何match开头的. *为全匹配)
        删除文件回调方法
        文件修改回调方法
        文件改名回调方法
        文件创建回调方法

fileSendUtil.go

http文件上传
1.HttpSendFile
    文件发送处理方法
        发送http地址
        文件路径
        文件存放变量名

zipUtil.go

1. UnZip
   压缩包解压 (方法暂时遗弃,解压会出现数据丢失)
   输入参数:
    zipPathStr 压缩包路径
    dirPathStr 压缩包解压后路径
   输出参数:
    解压后存放文件的文件夹路径  错误对象
    
2. UnGzip
    gz压缩包解压 (暂时可能不支持压缩包内有多个文件的情况.未做测试)
    输入参数:
        zipPathStr 压缩包地址
        filePathStr 压缩包解压后文件路径
    输出参数:
        错误对象

fileDownLoad.go

1. HttpGetDownFile
    文件下载
    输入参数:
        urlPathStr url请求路径
        saveFilePath 下载文件保存路径
    输出参数:
        错误对象

arrayUtil.go

1. UniqueSlice
    字符串数组去重
    输入参数:
        数组指针

ginUtil.go

因gin更新,该方法暂停使用

1.GinInit
    gin初始化
    输入参数:
        debug 是否为调试模式
        serverListeningPort gin监听端口
        setGinRouter 设置gin路由方法.传入参数*gin.Engine及服务运行所需要的二级目录名称(如:程序运行使用http://www.baidu.com/map  其中map为二级目录名称)
    输出参数:
        *gin.Engine

logUtil.go

1. LogInit
  日志初始化
  当程序停止前需将glog进行关闭 调用glog.Close方法
  输入参数:
    debug 是否为调试模式,如果为调试模式,则在控制台进行日志输出,否则输出到日志文件中
    logsDir 日志存放目录

captcha

增加golang验证码图片生成方法,修正自https://github.com/dchest/captcha 
删除内部自验证.
New 方法返回验证码
WriteImage 输出验证码图片,通过http方式
WriteAudio 输出音频,通过http方式

emailUtil.go

增加邮件发送类
1.SendEmail
    输入参数
        用户邮箱地址
        用户密码
        smtp服务器地址
        发送端口
        邮件标题
        邮件内容
        收件人邮箱集合
        邮件类型(默认为:text/plain) 可以采用text/html的方式,这样可以在邮件内容中画表格html页面等(ps:别画的太前卫^_^)

cmdUtil.go

windows cmd命令
1. ExecCommand
    输入参数: 需要执行的命令
    输出参数:
        命令行回馈字符串
        错误对象

pictureUtil.go

base64图片转图片文件
1.PictureBase64ToFile
    输入参数:
        图片base64字符串
        路径(为空则默认在运行目录下创建文件)
    输出参数:
        图片路径
        错误对象     

cpuUtil.go

设置CPU核心使用数
1.SetCPUUseNumber
    输入参数:
        CPU核心数量(如果超出当前CPU核心数量则使用当前CPU最大核心数.参数为0时则使用最大核心数量)

Releases

No releases published

Packages

 
 
 

Languages