You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

52 lines
1.4 KiB

package api
import (
"yunyan/comm"
"yunyan/pb"
)
// 更新产品
func (this *apiComp) UpdateProduct(session comm.IUserSession, req *pb.ApiUpdateProductReq) (resp *pb.ApiUpdateProductResp, errdata *pb.ErrorData) {
var err error
if req.Product.Bassfilter > 1000 {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Message: "bassfilter 取值范围为 0-1000",
}
return
}
if _, err = this.module.model.product(req.Product.Id); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Message: pb.ErrorCode_ReqParameterError.String(),
}
return
}
// 指定了 versionid 时,从版本表同步版本/描述/升级包地址,前端无需重复传
if req.Product.Versionid != 0 {
ver, verr := this.module.model.productversion(req.Product.Versionid)
if verr != nil || ver == nil || ver.Productid != req.Product.Id {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Message: "versionid 无效",
}
return
}
req.Product.Version = ver.Version
req.Product.Updatedescription = ver.Description
req.Product.Updatepackageaddress = ver.Updatepackageaddress
}
if err = this.module.model.updateproducts(req.Product); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Message: pb.ErrorCode_DBError.String(),
}
return
}
resp = &pb.ApiUpdateProductResp{}
return
}