go-tenancy icon indicating copy to clipboard operation
go-tenancy copied to clipboard

快速实现 SaaS 多租户平台项目

GoTenancy

Wercker status Code Coverage Go Report Card GoDoc Licenses
多商户管理平台

注意:项目已经转为公司内部项目,项目更新将会暂停. 如果有问题和建议,可以发布到issues

  • 基于 gin-vue-admin 项目二次开发
  • 生成 apidoc 文档
    cd resource/doc/ | apidoc -i v1/ -o apidoc/ -t template/
    
  • 访问 http://127.0.0.1/doc
价格逻辑

商品价格

  • 商品售价 price
  • 商品原价 ot_price
  • 商品成本价 cost

订单价格

  • 订单商品总价 total_price
  • 订单邮费 total_postage
  • 订单支付总价 pay_price = total_price+total_postage
  • 订单支付邮费 pay_postage = total_postage
  • 订单平台手续费 commission_rate
  • 订单成本价 cost = 商品成本价
支付宝沙箱调试
  • 需要设置 is-prod 为 false
  • 下载 https://sandbox.alipaydev.com/user/downloadApp.htm 对应客户端
  • 登录沙箱提供的账号
接口测试

GO TEST

在 tests 目录下增加 password.txt 文件,内容填写数据库密码,如果redis和mysql 密码不一样,需要处理一下获取到的文本内容;

 pwds := strings.Split(password, ";")
 // pwds[1] mysql密码
 // pwds[2] redis密码

全局测试

 go test -timeout 60s -run [^TestInitDB$] github.com/snowlyg/go-tenancy/tests 

迁移数据库,填充数据

使用 vscode 执行测试

  • 用 vscode 打开项目 =》 终端 =》 运行任务 =》 选择对应任务执行
  • init db 初始化数据库,填充数据
  • test all 执行接口单元测试
  • build linux 编译 linux 版本
  • apidoc 更新接口文档
使用第三方库