服务层


约定

为了便于文件目录管理,我们约定app/service为服务层的根目录, 也就是MVC思想的M层

案例

文件所在位置:app/service/demoservice/demoservice.go

  1. package demoservice
  2. import (
  3. "context"
  4. "math/rand"
  5. logger "github.com/tal-tech/loggerX"
  6. )
  7. var SYSTEM_ERR logger.XesError = logger.XesError{110110, "系统异常"}
  8. func DoFun(ctx context.Context, param string) (ret map[string]interface{}, err error) {
  9. if rand.Intn(100)%2 == 0 {
  10. logger.Ex(ctx , "DoFun", "err:%v, param:%+v", SYSTEM_ERR, param)
  11. return nil, logger.NewError("", SYSTEM_ERR)
  12. } else {
  13. ret = make(map[string]interface{}, 2)
  14. ret["ret1"] = "dofun ok"
  15. ret["ret1"] = "Welcome to use myproject!"
  16. }
  17. return
  18. }

当然我们也可以把服务定义为一个结构体,然后为其添加各种method