go_dreamfactory/modules/smithy/api_getCustomer.go
2023-06-06 11:08:14 +08:00

69 lines
1.7 KiB
Go

package smithy
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"go_dreamfactory/utils"
"go.mongodb.org/mongo-driver/mongo"
)
func (this *apiComp) CustomerCheck(session comm.IUserSession, req *pb.SmithyCustomerReq) (errdata *pb.ErrorData) {
return
}
func (this *apiComp) Customer(session comm.IUserSession, req *pb.SmithyCustomerReq) (errdata *pb.ErrorData) {
customerCount := this.module.ModuleTools.GetGlobalConf().SmithyMaxNpc
if customerCount <= 0 {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: err.Error(),
}
return
}
cus, err := this.module.modelTrade.getDBCustomer(session.GetUserId())
if err != nil {
if err == mongo.ErrNoDocuments {
c, err := this.module.modelTrade.addCustomer(session.GetUserId(), customerCount) //3个顾客
if err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
cus = c
} else {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
}
if utils.IsFirstTody(cus.LastRefreshTime) {
this.module.modelTrade.DelByUId(session.GetUserId())
c, err := this.module.modelTrade.addCustomer(session.GetUserId(), customerCount)
if err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
cus = c
}
rsp := &pb.SmithyCustomerResp{
Customers: cus.Customers,
}
session.SendMsg(string(this.module.GetType()), "customer", rsp)
return
}