package tysk import ( "gitea.cdlsxd.cn/self-tools/tysk/tysk_constant" "gitea.cdlsxd.cn/self-tools/tysk/tysk_entity" ) type Tysk struct { UserName string // 用户名 Env string // 环境,测试:dev,不传默认正式 } func NewTysk(userName string, opts ...Option) TyskFacade { tysk := &Tysk{UserName: userName} for _, opt := range opts { opt(tysk) // 应用选项 } return tysk } type Option func(*Tysk) func WithEnvTest() Option { return func(tysk *Tysk) { tysk.Env = "dev" } } func (g *Tysk) GetAccountBalance(accountList tysk_entity.GetAccountBalanceReq) (res map[tysk_constant.AccountNo]tysk_entity.GetAccountBalanceList, err error) { var result tysk_entity.AccountBalance err = g.handleRequest(tysk_constant.GetAccountBalance, g.handleReqStructToMap(accountList), &result) if err != nil { return } res = make(map[tysk_constant.AccountNo]tysk_entity.GetAccountBalanceList, len(result.List.Row)) for _, row := range result.List.Row { res[row.AccountNo] = row } return } func (g *Tysk) GetTodayTransHis(todayTransHisReq tysk_entity.TodayTransHisReq) (res tysk_entity.TodayTransHisResp, err error) { err = g.handleRequest(tysk_constant.GetTodayTransHis, g.handleReqStructToMap(todayTransHisReq), &res) if err != nil { return } return } func (g *Tysk) GetAccountInfo(accountInfoReq tysk_entity.AccountInfoReq) (res tysk_entity.AccountInfoResp, err error) { err = g.handleRequest(tysk_constant.GetAccountInfo, g.handleReqStructToMap(accountInfoReq), &res) if err != nil { return } return } func (g *Tysk) ReceiptApply(receiptApplyReq tysk_entity.ReceiptApplyReq) (success bool, err error) { err = g.handleRequest(tysk_constant.ReceiptApply, g.handleReqStructToMap(receiptApplyReq), nil) if err != nil { return } return true, nil } func (g *Tysk) ReceiptQuery(receiptQueryReq tysk_entity.ReceiptQueryReq) (res tysk_entity.ReceiptQueryResp, err error) { err = g.handleRequest(tysk_constant.ReceiptQuery, g.handleReqStructToMap(receiptQueryReq), &res) if err != nil { return } return } func (g *Tysk) ReceiptDownload(receiptDownloadReq tysk_entity.ReceiptDownloadReq) (res tysk_entity.ReceiptDownloadResp, err error) { err = g.handleRequest(tysk_constant.ReceiptDownload, g.handleReqStructToMap(receiptDownloadReq), &res) if err != nil { return } return }