123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- package material
- import (
- "reflect"
- "zhiyuan/models/calc"
- "zhiyuan/pkg/app"
- "zhiyuan/pkg/db"
- "zhiyuan/pkg/utils"
- "zhiyuan/services/calculate"
- "github.com/gin-gonic/gin"
- )
- func CalcList(c *gin.Context) {
- db.ModelList(reflect.TypeOf(calc.Calculate{}), map[string]interface{}{"state": 1}, c)
- }
- func CalcInfo(c *gin.Context) {
- id := utils.ToInt(c.Param("id"))
- if id <= 0 {
- app.ErrorMsg(c, "id must be a number", nil)
- return
- }
- calc := calc.GetCalculateModel(int64(id), false)
- app.Success(c, calc)
- }
- func Calc(c *gin.Context) {
- var form calculate.OrderFrom
- if app.Bind(c, &form) != nil {
- return
- }
- order, err := form.CreateOrder()
- if err != nil {
- app.ErrorMsg(c, err.Error(), nil)
- return
- }
- order.AdminId = int64(c.GetInt("adminID"))
- context := calculate.NewContext(order, c)
- context.Eval()
- err = order.Save()
- if err != nil {
- app.ErrorMsg(c, err.Error(), nil)
- return
- }
- app.Success(c, gin.H{"id": order.ID})
- }
- func OrderInfo(c *gin.Context) {
- id := utils.ToInt(c.Param("id"))
- if id <= 0 {
- app.ErrorMsg(c, "id must be a number", nil)
- return
- }
- var model calc.Order
- db.GetModel(map[string]interface{}{"id": id}, &model)
- if model.ID == 0 {
- app.ErrorMsg(c, "订单不存在", nil)
- return
- }
- order, err := calculate.LoadOrder(model)
- if err != nil {
- app.ErrorMsg(c, err.Error(), nil)
- return
- }
- calc := order.Calc.FilterShow()
- from := order.GetFrom(false)
- app.Success(c, gin.H{"calc": calc, "from": from})
- }
- func OrderEdit(c *gin.Context) {
- id := utils.ToInt(c.Param("id"))
- if id <= 0 {
- app.ErrorMsg(c, "id must be a number", nil)
- return
- }
- var form calculate.OrderFrom
- if app.Bind(c, &form) != nil {
- return
- }
- order, err := form.CreateOrder()
- if err != nil {
- app.ErrorMsg(c, err.Error(), nil)
- return
- }
- var model calc.Order
- db.GetModel(map[string]interface{}{"id": id}, &model)
- if model.ID == 0 {
- app.ErrorMsg(c, "订单不存在", nil)
- return
- }
- order.ID = model.ID
- order.AdminId = model.AdminId
- context := calculate.NewContext(order, c)
- context.Eval()
- err = order.Save()
- if err != nil {
- app.ErrorMsg(c, err.Error(), nil)
- return
- }
- app.Success(c, nil)
- }
|