由gopath形式改为module

This commit is contained in:
kongyuebin
2021-04-27 15:33:49 +08:00
parent aef4dbb33c
commit 77d895e83a
1117 changed files with 332447 additions and 20 deletions

View File

@@ -0,0 +1,40 @@
/***************************************************
** @Desc : This file for ...
** @Time : 2019/8/21 10:21
** @Author : yuebin
** @File : date_time
** @Last Modified by : yuebin
** @Last Modified time: 2019/8/21 10:21
** @Software: GoLand
****************************************************/
package utils
import "time"
func GetDateTimeNot() string {
return time.Now().Format("2006010215:04:05")
}
func GetDate() string {
return time.Now().Format("2006-01-02")
}
func GetBasicDateTime() string {
return time.Now().Format("2006-01-02 15:04:05")
}
func GetNowTimesTamp() string {
return time.Now().Format("20060102150405")
}
func GetDateTimeBeforeHours(hour int) string {
return time.Now().Add(-time.Hour * time.Duration(hour)).Format("2006-01-02 15:04:05")
}
func GetDateBeforeDays(days int) string {
return time.Now().Add(-time.Hour * time.Duration(days) * 24).Format("2006-01-02")
}
func GetDateTimeBeforeDays(days int) string {
return time.Now().Add(-time.Hour * time.Duration(days) * 24).Format("2006-01-02 15:04:05")
}

View File

@@ -0,0 +1,42 @@
/***************************************************
** @Desc : This file for 加密、解密方法
** @Time : 2018.12.28 14:10
** @Author : Joker
** @File : encryption
** @Last Modified by : Joker
** @Last Modified time: 2019-11-30 10:19:33
** @Software: GoLand
****************************************************/
package utils
import (
"crypto/md5"
"encoding/base64"
"encoding/hex"
"strings"
)
type Encrypt struct{}
//将字符串加密成 md5
func (*Encrypt) EncodeMd5(buf []byte) string {
hash := md5.New()
hash.Write(buf)
return hex.EncodeToString(hash.Sum(nil))
}
//base64编码
func (*Encrypt) Base64Encode(raw []byte) string {
t := base64.StdEncoding.EncodeToString(raw)
t = strings.TrimSpace(t)
t = strings.Replace(t, "\r", "", -1)
t = strings.Replace(t, "\n", "", -1)
t = strings.Replace(t, "\n\r", "", -1)
t = strings.Replace(t, "\r\n", "", -1)
return t
}
//base64解码
func (*Encrypt) Base64Decode(raw string) ([]byte, error) {
return base64.StdEncoding.DecodeString(raw)
}

147
merchant/utils/logs.go Normal file
View File

@@ -0,0 +1,147 @@
/***************************************************
** @Desc : This file for ...日志信息
** @Time : 2018-12-22 17:34:38
** @Author : Joker
** @File : DefaultTest.go
** @Last Modified by : Joker
** @Last Modified time: 2019-11-29 10:54:13
** @Software: GoLand
****************************************************/
package utils
import (
"github.com/beego/beego/v2/core/logs"
beego "github.com/beego/beego/v2/server/web"
"merchant/sys"
"strings"
)
// consoleLogs开发模式下日志
var consoleLogs *logs.BeeLogger
// fileLogs 生产环境下日志
var fileLogs *logs.BeeLogger
//运行方式
var runmode string
var pubMethod = sys.PublicMethod{}
func InitLogs() {
//日志输出调用的文件名和文件行号
logs.EnableFuncCallDepth(true)
//beego.SetLogFuncCall(true)
consoleLogs = logs.NewLogger(1)
_ = consoleLogs.SetLogger(logs.AdapterConsole)
consoleLogs.Async() //异步
fileLogs = logs.NewLogger(10000)
//读取配置信息
filepath, _ := beego.AppConfig.String("logs::filepath")
level, _ := beego.AppConfig.String("logs::level")
separate, _ := beego.AppConfig.String("logs::separate")
maxdays, _ := beego.AppConfig.String("logs::maxdays")
config := `{"filename":"` + filepath + `",
"separate":` + separate + `,
"level":` + level + `,
"daily":true,
"maxdays":` + maxdays + `}`
_ = fileLogs.SetLogger(logs.AdapterMultiFile, config)
fileLogs.Async(1e3) //异步,设置缓冲 chan 的大小
s, _ := beego.AppConfig.String("runmode")
runmode = strings.TrimSpace(strings.ToLower(s))
if runmode == "" {
runmode = "dev"
}
LogNotice("商户日志初始化成功!")
}
//根据错误/异常打印不同日志
func LogEmergency(v ...interface{}) {
log("emergency", v)
}
func LogAlert(v ...interface{}) {
log("alert", v)
}
func LogCritical(v ...interface{}) {
log("critical", v)
}
func LogError(v ...interface{}) {
log("error", v)
}
func LogWarning(v ...interface{}) {
log("warning", v)
}
func LogNotice(v ...interface{}) {
log("notice", v)
}
func LogInfo(v ...interface{}) {
log("info", v)
}
func LogDebug(v ...interface{}) {
log("debug", v)
}
func LogTrace(v ...interface{}) {
log("trace", v)
}
//Log 输出日志
func log(level string, v ...interface{}) {
format := "%s"
if level == "" {
level = "debug"
}
//若是开发者模式,则将日志同时输出到控制台
if runmode == "dev" {
switch level {
case "emergency":
consoleLogs.Emergency(format, v...)
case "alert":
consoleLogs.Alert(format, v...)
case "critical":
consoleLogs.Critical(format, v...)
case "warning":
consoleLogs.Warning(format, v...)
case "error":
consoleLogs.Error(format, v...)
case "notice":
consoleLogs.Notice(format, v...)
case "info":
consoleLogs.Info(format, v...)
case "debug":
consoleLogs.Debug(format, v...)
case "trace":
consoleLogs.Trace(format, v...)
default:
consoleLogs.Debug(format, v...)
}
}
switch level {
case "emergency":
fileLogs.Emergency(format, v...)
case "alert":
fileLogs.Alert(format, v...)
case "critical":
fileLogs.Critical(format, v...)
case "error":
fileLogs.Error(format, v...)
case "warning":
fileLogs.Warning(format, v...)
case "notice":
fileLogs.Notice(format, v...)
case "info":
fileLogs.Info(format, v...)
case "debug":
fileLogs.Debug(format, v...)
case "trace":
fileLogs.Trace(format, v...)
default:
fileLogs.Debug(format, v...)
}
}

44
merchant/utils/mysql.go Normal file
View File

@@ -0,0 +1,44 @@
/***************************************************
** @Desc : This file for 配置数据库连接
** @Time : 2018-12-22 13:55:26
** @Author : Joker
** @File : init_database.go
** @Last Modified by : Joker
** @Last Modified time:2018-12-22 13:55:26
** @Software: GoLand
****************************************************/
package utils
import (
"github.com/beego/beego/v2/client/orm"
beego "github.com/beego/beego/v2/server/web"
_ "github.com/go-sql-driver/mysql"
)
//初始化数据连接
func InitDatabase() bool {
//读取配置文件,设置数据库参数
dbType, _ := beego.AppConfig.String("db_type")
dbAlias, _ := beego.AppConfig.String(dbType + "::db_alias")
dbName, _ := beego.AppConfig.String(dbType + "::db_name")
dbUser, _ := beego.AppConfig.String(dbType + "::db_user")
dbPwd, _ := beego.AppConfig.String(dbType + "::db_pwd")
dbHost, _ := beego.AppConfig.String(dbType + "::db_host")
dbPort, _ := beego.AppConfig.String(dbType + "::db_port")
var err error
switch dbType {
case "sqlite3":
err = orm.RegisterDataBase(dbAlias, dbType, dbName)
case "mysql":
dbCharset, _ := beego.AppConfig.String(dbType + "::db_charset")
err = orm.RegisterDriver(dbType, orm.DRMySQL)
err = orm.RegisterDataBase(dbAlias, dbType, dbUser+":"+dbPwd+"@tcp("+dbHost+":"+
dbPort+")/"+dbName+"?charset="+dbCharset)
}
if err != nil {
return false
}
return true
}

View File

@@ -0,0 +1,34 @@
/***************************************************
** @Desc : This file for 发送短信验证码
** @Time : 2019.04.04 9:37
** @Author : Joker
** @File : send_messages
** @Last Modified by : Joker
** @Last Modified time: 2019-11-29 11:05:41
** @Software: GoLand
****************************************************/
package utils
import (
"fmt"
"merchant/sys/enum"
"net/http"
"net/url"
)
// 发送提现通知
func SendSmsForPay(mobile, code string) bool {
tplValue := url.Values{"#code#": {code}}.Encode()
dataTplSms := url.Values{
"apikey": {enum.ApiKey},
"mobile": {mobile},
"tpl_id": {fmt.Sprintf("%d", enum.TPL1)},
"tpl_value": {tplValue}}
_, err := http.PostForm(enum.SendSmsUrl, dataTplSms)
if err != nil {
LogError("sms send fail,err:", err)
return false
}
LogInfo(fmt.Sprintf("sms send to %s is success", mobile))
return true
}