Some checks failed
Go / build (push) Failing after 19s
- 新增联系人保存与删除逻辑处理 - 新增工厂信息保存逻辑,支持银行、财务等详细信息 - 部门与员工模块接口参数调整,统一使用实体对象返回 - 优化部门与员工的增删改查操作,去除冗余代码 - 统一使用 constant 包管理业务类型常量 - 增加性别转换与整型数组转字符串工具函数 - RPC 注册新增工厂与联系人服务路由 - 调整客户端调用参数结构,增强代码可读性与维护性
71 lines
1.6 KiB
Go
71 lines
1.6 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"ik3cloud"
|
|
"ik3cloud/app/config"
|
|
"ik3cloud/app/router"
|
|
"log"
|
|
"strings"
|
|
"time"
|
|
"unsafe"
|
|
|
|
jsoniter "github.com/json-iterator/go"
|
|
"github.com/smallnest/rpcx/server"
|
|
)
|
|
|
|
func main() {
|
|
// 初始化项目
|
|
closes := ik3cloud.InitApp()
|
|
// 关闭资源
|
|
for _, fn := range closes {
|
|
defer fn()
|
|
}
|
|
|
|
s := server.NewServer()
|
|
|
|
// 注册中心
|
|
//ik3cloud.AddRegistryPlugin(s)
|
|
|
|
// 设置路由
|
|
router.SetRouter(s)
|
|
|
|
// json处理
|
|
jsoniter.RegisterTypeEncoderFunc("time.Time", func(ptr unsafe.Pointer, stream *jsoniter.Stream) {
|
|
t := *((*time.Time)(ptr))
|
|
stream.WriteInt64(t.Unix())
|
|
}, nil)
|
|
// 去除首尾空格
|
|
jsoniter.RegisterTypeDecoderFunc("string", func(ptr unsafe.Pointer, iter *jsoniter.Iterator) {
|
|
*((*string)(ptr)) = strings.TrimSpace(iter.ReadString())
|
|
})
|
|
jsoniter.RegisterTypeDecoderFunc("*time.Time", func(ptr unsafe.Pointer, iter *jsoniter.Iterator) {
|
|
strTime := iter.ReadString()
|
|
if strTime == "" {
|
|
return
|
|
}
|
|
formatTime := "2006-01-02 15:04:05"
|
|
location, err := time.ParseInLocation(formatTime[0:len(strTime)], strTime, time.Local)
|
|
if err != nil {
|
|
iter.Error = err
|
|
return
|
|
}
|
|
*((**time.Time)(ptr)) = &location
|
|
})
|
|
|
|
jsoniter.RegisterTypeDecoderFunc("time.Time", func(ptr unsafe.Pointer, iter *jsoniter.Iterator) {
|
|
strTime := iter.ReadString()
|
|
formatTime := "2006-01-02 15:04:05"
|
|
location, err := time.ParseInLocation(formatTime[0:len(strTime)], strTime, time.Local)
|
|
if err != nil {
|
|
iter.Error = err
|
|
return
|
|
}
|
|
*((*time.Time)(ptr)) = location
|
|
})
|
|
log.Println(config.Config.Server.Port)
|
|
if err := s.Serve("tcp", fmt.Sprintf(":%d", config.Config.Server.Port)); err != nil {
|
|
return
|
|
}
|
|
}
|