| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- package handler
- import (
- "bet24.com/log"
- pb "bet24.com/servers/micros/item_inventory/proto"
- "context"
- "encoding/json"
- "fmt"
- )
- var instance *ItemInventory
- func GetInstance() *ItemInventory {
- if instance == nil {
- instance = newHandler()
- }
- return instance
- }
- func Dump(cmd, param1, param2 string) {
- GetInstance().dump(cmd, param1, param2)
- }
- func newHandler() *ItemInventory {
- ret := new(ItemInventory)
- ret.ctor()
- return ret
- }
- type ItemInventory struct {
- }
- func (h *ItemInventory) ctor() {
- getItemManager()
- getInventoryManager()
- getGiftCardManager()
- }
- func (d *ItemInventory) dump(cmd, param1, param2 string) {
- switch cmd {
- case "sys":
- getInventoryManager().dumpSys(param1)
- case "user":
- getInventoryManager().dumpUser(param1)
- default:
- log.Release("ItemInventory.Dump unhandled cmd %s", cmd)
- }
- }
- func (h *ItemInventory) SayHello(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
- rsp.Data = fmt.Sprintf("Hello from %s:%s %d %s", pb.ServiceName, req.Name, req.UserId, req.ExtraData)
- return nil
- }
- // item handlers
- func (h *ItemInventory) GetItem(ctx context.Context, req *pb.Request_GetItem, rsp *pb.Response_GetItem) error {
- rsp.Itm = getItemManager().getItem(req.ItemId)
- return nil
- }
- func (h *ItemInventory) GetItems(ctx context.Context, req *pb.Request, rsp *pb.Response_GetItems) error {
- rsp.Itms = getItemManager().getItems()
- return nil
- }
- func (h *ItemInventory) CheckDecortaionType(ctx context.Context, req *pb.Request_CheckDecoration, rsp *pb.Response_CheckDecoration) error {
- rsp.Success = getInventoryManager().checkDecortaionType(req.ItemId, req.Type, req.UserId)
- return nil
- }
- func (h *ItemInventory) GetItemValue(ctx context.Context, req *pb.Request_GetItemValue, rsp *pb.Response_GetItemValue) error {
- rsp.Value = getItemManager().getItemValue(req.ItemId, req.Count)
- return nil
- }
- func (h *ItemInventory) ChangeItemCountToDuracion(ctx context.Context, req *pb.Request_ItemPack, rsp *pb.Request_ItemPack) error {
- rsp.Items = getItemManager().changeItemCountToDuracion(req.Items)
- return nil
- }
- // inventory handlers
- func (h *ItemInventory) AddUser(ctx context.Context, req *pb.Request_User, rsp *pb.Response) error {
- getInventoryManager().onUserEnter(req.UserId, req.IpAddress)
- return nil
- }
- func (h *ItemInventory) RemoveUser(ctx context.Context, req *pb.Request_User, rsp *pb.Response) error {
- getInventoryManager().onUserExit(req.UserId)
- return nil
- }
- func (h *ItemInventory) Consume(ctx context.Context, req *pb.Request_Consume, rsp *pb.Response_Consume) error {
- rsp.Success, rsp.ErrorMsg = getInventoryManager().consume(req.UserId, req.ItemId, req.BulletId, req.Count, req.IsGift)
- return nil
- }
- func (h *ItemInventory) Sell(ctx context.Context, req *pb.Request_Sell, rsp *pb.Response_Sell) error {
- rsp.Success, rsp.ErrorMsg = getInventoryManager().sell(req.UserId, req.ItemId, req.Count, req.LogType)
- return nil
- }
- func (h *ItemInventory) ConsumeBulk(ctx context.Context, req *pb.Request_ConsumeBulk, rsp *pb.Response_ConsumeBulk) error {
- rsp.Success = getInventoryManager().consumeBulk(req.UserId, req.Items, req.LogType)
- return nil
- }
- func (h *ItemInventory) ConsumeLottery(ctx context.Context, req *pb.Request_ConsumeLottery, rsp *pb.Response_ConsumeLottery) error {
- rsp.Success, rsp.ErrorMsg = getInventoryManager().consumeLottery(req.UserId, req.Count)
- return nil
- }
- func (h *ItemInventory) AddItems(ctx context.Context, req *pb.Request_AddItems, rsp *pb.Response_AddItems) error {
- rsp.Success = getInventoryManager().addItems(req.UserId, req.Items, req.Desc, req.LogType)
- return nil
- }
- func (h *ItemInventory) AddItemsWithExpireTime(ctx context.Context, req *pb.Request_AddItems, rsp *pb.Response_AddItems) error {
- rsp.Success = getInventoryManager().addItemsWithExpireTime(req.UserId, req.Items, req.Desc, req.LogType, req.ExpireTime)
- return nil
- }
- func (h *ItemInventory) GetUserItems(ctx context.Context, req *pb.Request, rsp *pb.Response_GetUserItems) error {
- itms := getInventoryManager().getUserItems(req.UserId)
- for _, v := range itms {
- rsp.Itms = append(rsp.Itms, *v)
- }
- return nil
- }
- func (h *ItemInventory) GetUserLottery(ctx context.Context, req *pb.Request, rsp *pb.Response_GetUserLottery) error {
- rsp.Itm = getInventoryManager().getUserLottery(req.UserId)
- return nil
- }
- func (h *ItemInventory) GetItemCount(ctx context.Context, req *pb.Request_GetItemCount, rsp *pb.Response_GetItemCount) error {
- rsp.Count = getInventoryManager().getItemCount(req.UserId, req.ItemId)
- return nil
- }
- func (h *ItemInventory) Gift(ctx context.Context, req *pb.Request_Gift, rsp *pb.Response_Gift) error {
- rsp.Success, rsp.ErrorMsg = getInventoryManager().gift(req.UserId, req.ToUserId, req.ItemId, req.Count)
- return nil
- }
- func (h *ItemInventory) ReduceItemByAdmin(ctx context.Context, req *pb.Request_DeduceByAdmin, rsp *pb.Response_DeduceByAdmin) error {
- rsp.Success, rsp.ErrorMsg = getInventoryManager().reduceItemByAdmin(req.OpUserId, req.OpName, req.UserId, req.ItemId, req.Count)
- return nil
- }
- func (h *ItemInventory) GetGiftCardHistory(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
- ret := getGiftCardManager().getHistory(req.UserId)
- d, _ := json.Marshal(ret)
- rsp.Data = string(d)
- return nil
- }
|