| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 | 
							- package sheep
 
- import (
 
- 	"context"
 
- 	"net/http"
 
- 	"tmr-watch/module"
 
- 	operationPb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/operation"
 
- 	"gitee.com/xuyiping_admin/pkg/xerr"
 
- )
 
- func UpdateOrCreateTmrGear(ctx context.Context, req *operationPb.UpdateOrCreateTmrGearRequest) error {
 
- 	if len(req.Params) <= 0 {
 
- 		return xerr.Customf("参数错误: params")
 
- 	}
 
- 	if len(req.TmrId) <= 0 {
 
- 		return xerr.Customf("参数错误: tmr_id")
 
- 	}
 
- 	// revList := make(map[int32]struct{})
 
- 	// for _, v := range req.Params {
 
- 	// 	if _, ok := revList[v.Rev]; ok {
 
- 	// 		return xerr.Customf("不能出现同样转速的数据")
 
- 	// 	}
 
- 	// 	revList[v.Rev] = struct{}{}
 
- 	// }
 
- 	if err := module.CreateOrUpdateTmrGear(ctx, req); err != nil {
 
- 		return xerr.WithStack(err)
 
- 	}
 
- 	return nil
 
- }
 
- func UseGear(ctx context.Context, req *operationPb.UseGearRequest) (*operationPb.UseGearResponse, error) {
 
- 	list, err := module.UseTmrGear(ctx, req)
 
- 	if err != nil {
 
- 		return nil, xerr.WithStack(err)
 
- 	}
 
- 	tmrGearList, err := module.TmrGearListByTmrId(int64(req.TmrId))
 
- 	if err != nil {
 
- 		return nil, xerr.WithStack(err)
 
- 	}
 
- 	gear := "0"
 
- 	useGearDataList := make([]*operationPb.UseGearDataList, 0)
 
- 	for _, v := range list {
 
- 		if len(tmrGearList) > 0 {
 
- 			// for i := 0; i < len(tmrGearList)-1; i++ {
 
- 			// 	if v.GearRate > float64(tmrGearList[i].Rev) && v.GearRate <= float64(tmrGearList[i+1].Rev) {
 
- 			// 		gear = tmrGearList[i+1].Gear
 
- 			// 	}
 
- 			// }
 
- 			// if v.GearRate <= float64(tmrGearList[0].Rev) {
 
- 			// 	gear = tmrGearList[0].Gear
 
- 			// }
 
- 			// if v.GearRate >= float64(tmrGearList[len(tmrGearList)-1].Rev) {
 
- 			// 	gear = tmrGearList[len(tmrGearList)-1].Gear
 
- 			// }
 
- 			gear = v.Gear
 
- 		}
 
- 		newData := &operationPb.UseGearDataList{
 
- 			Bcode:    v.BCode,
 
- 			Fname:    v.FName,
 
- 			Length:   v.Length,
 
- 			Sort:     v.Sort,
 
- 			Speed:    float32(v.Speed),
 
- 			Useinbar: v.UseInBar,
 
- 			Weight:   float32(v.Weight),
 
- 			Gear:     gear,
 
- 			Ccount:   v.CCount,
 
- 			GearRate: float32(v.GearRate),
 
- 			Pid:      v.Pid,
 
- 			Fbarid:   v.FBarid,
 
- 		}
 
- 		useGearDataList = append(useGearDataList, newData)
 
- 	}
 
- 	return &operationPb.UseGearResponse{
 
- 		Code: http.StatusOK,
 
- 		Msg:  "ok",
 
- 		Data: &operationPb.UseGearData{List: useGearDataList},
 
- 	}, nil
 
- }
 
 
  |