上传装备出售接口

This commit is contained in:
liwei1dao 2022-12-29 11:43:28 +08:00
parent 9eda74ffbf
commit 5306b1eb97
2 changed files with 56 additions and 0 deletions

View File

@ -140,6 +140,8 @@ type (
NewEquipment(uid, cid string) (code pb.ErrorCode, equip *pb.DB_Equipment)
//添加装备
AddEquipment(session IUserSession, equip *pb.DB_Equipment) (code pb.ErrorCode)
//出售装备
SellEquipments(session IUserSession, equs []string) (code pb.ErrorCode, atno []*pb.UserAtno)
}
IMainline interface {
ModifyMainlineDataByNanduID(uid string, nandu, id int32) (code pb.ErrorCode)

View File

@ -7,6 +7,7 @@ import (
"go_dreamfactory/modules"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
"math"
"github.com/go-redis/redis/v8"
)
@ -175,6 +176,59 @@ func (this *Equipment) AddEquipment(session comm.IUserSession, equip *pb.DB_Equi
return
}
///出售装备
func (this *Equipment) SellEquipments(session comm.IUserSession, equs []string) (code pb.ErrorCode, atno []*pb.UserAtno) {
var (
err error
equipments []*pb.DB_Equipment
confs []*cfg.GameEquipData
sale [][]*cfg.Gameatn
)
if equipments, err = this.modelEquipment.QueryUserEquipmentsByIds(session.GetUserId(), equs); err != nil {
code = pb.ErrorCode_ReqParameterError
return
}
confs = make([]*cfg.GameEquipData, len(equipments))
sale = make([][]*cfg.Gameatn, len(equipments))
for i, v := range equipments {
if v.HeroId != "" || v.Islock {
code = pb.ErrorCode_EquipmentNoCanSell
this.Errorf("NoCanSell %v", v)
return
}
if confs[i], err = this.configure.GetEquipmentConfigureById(v.CId); err != nil {
this.Errorln(err)
code = pb.ErrorCode_EquipmentOnFoundEquipment
return
}
if confs[i].Sale == nil || len(confs[i].Sale) == 0 {
code = pb.ErrorCode_EquipmentNoCanSell
return
}
sale[i] = make([]*cfg.Gameatn, len(confs[i].Sale))
for n, s := range confs[i].Sale {
_s := &cfg.Gameatn{
A: s.A,
T: s.T,
N: s.N + int32(math.Floor(float64(s.N*(v.Lv-1))*float64(confs[i].Salecoef))),
}
sale[i][n] = _s
}
}
sales := make([]*cfg.Gameatn, 0)
for _, v := range sale {
sales = append(sales, v...)
}
if code, atno = this.DispenseAtno(session, sales, true); code != pb.ErrorCode_Success {
return
}
if code = this.DelEquipments(session, equs, true); code != pb.ErrorCode_Success {
return
}
return
}
//Evens--------------------------------------------------------------------------------------------------------------------------------
//推送道具变化消息
func (this *Equipment) equipmentsChangePush(session comm.IUserSession, items []*pb.DB_Equipment) (err error) {