# kpt-pasture

kpt-pasture- 科湃腾牧场管理系统

## Requirements

- Go >= 1.17
- MySQL >= 5.7
- Docker CE >= 19.03
- Docker compose

## Develops

本地开始开发前,请先阅读 README 和 Makefile,标准使用流程:

需要设置的环境变量:

- export APP_ENVIRONMENT=test
- export PASTURE_WORK_DIR=D:\project\golangNew\kpt-pasture

然后你可以尝试编译:
- make build

本地测试:
- make test

lint:
在开发完后请记得跑下make lint做代码检查(🤔: 你可能会有疑问,为啥不配置JOB跑呢?-->  因为golang-ci-lint跑本项目需要6G+的内存,会触发OOM😂)

需要更新 go-mock:
- 生成 mock 前,请确保你能够编译 & 编译完成
- make generate

todo列表:
- [x] module/crontab/crontab.go 中119行[Limit(100)] 待优化,case为产后日期类型待测试
- [ ] 后台添加配种数据时候,不知道该牛只是同期还是自然发情还是人工揭发?
- [ ] 青年牛转后备牛事件(到达主动停配期主动转?)
- [ ] 后备牛到达主动停配期后的牛只放在哪个模块(配种清单,发情清单)
- [ ] 发情清单和配种清单更新机制
- [ ] 前后端部署架构【k8s,docker-compose,docker-swarm】namespace隔离,需要考虑的问题【1.一次性任务,2. 定时任务 3. 数据收集,4. 日志收集 5. 报警介入】
- [x] 所有事件录入梳理【批量录入,excel导入,信息人员与操作人员统一规范】
- [ ] 药品优化成药品名称关联生产商
- [x] 框架logrus日志优化【未按照指定天数的日志自动删除,待验证】
- [x] 犊牛的牛只品种是根据母牛的品种来确定,还是根据公牛来确定?【目前是根据母牛品种来确定】

脖环发情算法梳理:
- [x] 处理异常上报数据(frameid > 12)