Skip to content

Commit

Permalink
feat: improve workflows config and create metadata func (#13)
Browse files Browse the repository at this point in the history
* feat: create recharge and create merchant relation and create,modify,query store

* feat: improve workflows config

* feat: improve code workflows config
  • Loading branch information
houseme committed Jun 13, 2023
1 parent 4555195 commit 1af034d
Show file tree
Hide file tree
Showing 5 changed files with 188 additions and 13 deletions.
34 changes: 23 additions & 11 deletions .github/workflows/go.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,36 @@ name: ImDada-CI

on:
push:
branches: [ "main" ]
branches:
- main
- develop
- feature/**
- fix/**
pull_request:
branches: [ "main" ]
branches:
- main
- develop
- feature/**
- fix/**

jobs:

build:
runs-on: ubuntu-latest
# strategy set
strategy:
matrix:
go: [ "1.19", "1.20" ]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v3

- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: 1.19
- name: Set up Go ${{ matrix.go }}
uses: actions/setup-go@v4
with:
go-version: ${{ matrix.go }}

- name: Build
run: go build -v ./...
- name: Build
run: go build -v ./...

- name: Test
run: go test -v ./...
- name: Test
run: go test -v ./...
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,5 @@
# vendor/

*.log
*_test.go
*_test.go
logs
36 changes: 36 additions & 0 deletions constant.go
Original file line number Diff line number Diff line change
Expand Up @@ -114,3 +114,39 @@ const (
// fetchCodeModify 修改取货码
fetchCodeModify = "/api/order/fetchCode/update"
)

const (
// rechargeCateH5 H5充值
rechargeCateH5 = "H5"
// rechargeCatePC PC充值
rechargeCatePC = "PC"
)

const (
foodSnacks = 1 // 食品小吃
drink = 2 // 饮料
flowersAndGreenery = 3 // 鲜花绿植
other = 5 // 其他
printingTicketing = 8 // 文印票务
convenienceStores = 9 // 便利店
freshFruit = 13 // 水果生鲜
intraCityECommerce = 19 // 同城电商
medicine = 20 // 医药
cake = 21 // 蛋糕
wine = 24 // 酒品
smallCommodityMarkets = 25 // 小商品市场
clothing = 26 // 服装
autoRepairParts = 27 // 汽修零配
digitalAppliances = 28 // 数码家电
crayfishBBQ = 29 // 小龙虾/烧烤
supermarket = 31 // 超市
chafingDish = 51 // 火锅
personalCareMakeup = 53 // 个护美妆
mother = 55 // 母婴
homeTextiles = 57 // 家居家纺
cellPhone = 59 // 手机
home = 61 // 家装
adultProducts = 63 // 成人用品
campus = 65 // 校园
highEndMarket = 66 // 高端市场
)
90 changes: 89 additions & 1 deletion imdada.go
Original file line number Diff line number Diff line change
Expand Up @@ -235,14 +235,102 @@ func (c *Client) doRequest(ctx context.Context, method string) error {
}

// QueryBalance query balance.
// 查询账户余额 url: http://newopen.imdada.cn/#/development/file/balanceQuery
func (c *Client) QueryBalance(ctx context.Context, req *domain.QueryBalanceRequest) (resp *domain.QueryBalanceResponse, err error) {
if c.request.Body, err = sonic.MarshalString(req); err != nil {
return nil, err
}
c.log.CtxDebugf(ctx, "QueryBalance request data: %s", c.request.Body)
if err = c.doRequest(ctx, queryBalance); err != nil {
return nil, err
}
c.log.CtxDebugf(ctx, "response data: %s", string(c.response.Body()))
c.log.CtxDebugf(ctx, "QueryBalance response data: %s", string(c.response.Body()))
if err = sonic.Unmarshal(c.response.Body(), &resp); err != nil {
return nil, err
}
return
}

// Recharge account recharge.
// 获取充值链接 url: http://newopen.imdada.cn/#/development/file/recharge
func (c *Client) Recharge(ctx context.Context, req *domain.RechargeRequest) (resp *domain.RechargeResponse, err error) {
if c.request.Body, err = sonic.MarshalString(req); err != nil {
return nil, err
}
c.log.CtxDebugf(ctx, "Recharge request data: %s", c.request.Body)
if err = c.doRequest(ctx, recharge); err != nil {
return nil, err
}
c.log.CtxDebugf(ctx, "Recharge response data: %s", string(c.response.Body()))
if err = sonic.Unmarshal(c.response.Body(), &resp); err != nil {
return nil, err
}
return
}

// CreateMerchant create merchant.
// 添加商户 url: http://newopen.imdada.cn/#/development/file/merchantAdd
func (c *Client) CreateMerchant(ctx context.Context, req *domain.MerchantCreateRequest) (resp *domain.MerchantCreateResponse, err error) {
if c.request.Body, err = sonic.MarshalString(req); err != nil {
return nil, err
}
c.request.SourceID = ""
c.log.CtxDebugf(ctx, "CreateMerchant request data: %s", c.request.Body)
if err = c.doRequest(ctx, merchantCreate); err != nil {
return nil, err
}
c.log.CtxDebugf(ctx, "CreateMerchant response data: %s", string(c.response.Body()))
if err = sonic.Unmarshal(c.response.Body(), &resp); err != nil {
return nil, err
}
return
}

// CreateShop create shop.
// 添加门店 url: http://newopen.imdada.cn/#/development/file/shopAdd
func (c *Client) CreateShop(ctx context.Context, req *domain.ShopCreateRequest) (resp *domain.ShopCreateResponse, err error) {
if c.request.Body, err = sonic.MarshalString(req); err != nil {
return nil, err
}
c.log.CtxDebugf(ctx, "CreateShop request data: %s", c.request.Body)
if err = c.doRequest(ctx, shopCreate); err != nil {
return nil, err
}
c.log.CtxDebugf(ctx, "CreateShop response data: %s", string(c.response.Body()))
if err = sonic.Unmarshal(c.response.Body(), &resp); err != nil {
return nil, err
}
return
}

// ModifyShop modify shop.
// 编辑门店 url: http://newopen.imdada.cn/#/development/file/shopUpdate
func (c *Client) ModifyShop(ctx context.Context, req *domain.ShopUpdateRequest) (resp *domain.ShopUpdateResponse, err error) {
if c.request.Body, err = sonic.MarshalString(req); err != nil {
return nil, err
}
c.log.CtxDebugf(ctx, "ModifyShop request data: %s", c.request.Body)
if err = c.doRequest(ctx, shopUpdate); err != nil {
return nil, err
}
c.log.CtxDebugf(ctx, "ModifyShop response data: %s", string(c.response.Body()))
if err = sonic.Unmarshal(c.response.Body(), &resp); err != nil {
return nil, err
}
return
}

// QueryShop query shop.
// 门店详情 url: http://newopen.imdada.cn/#/development/file/shopDetail
func (c *Client) QueryShop(ctx context.Context, req *domain.ShopQueryRequest) (resp *domain.ShopQueryResponse, err error) {
if c.request.Body, err = sonic.MarshalString(req); err != nil {
return nil, err
}
c.log.CtxDebugf(ctx, "QueryShop request data: %s", c.request.Body)
if err = c.doRequest(ctx, shopQuery); err != nil {
return nil, err
}
c.log.CtxDebugf(ctx, "QueryShop response data: %s", string(c.response.Body()))
if err = sonic.Unmarshal(c.response.Body(), &resp); err != nil {
return nil, err
}
Expand Down
38 changes: 38 additions & 0 deletions metada.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
/*
* Copyright ImDaDa-Go Author(https://houseme.github.io/imdada-go/). All Rights Reserved.
*
* This Source Code Form is subject to the terms of the Apache-2.0 License.
* If a copy of the MIT was not distributed with this file,
* You can obtain one at https://github.com/houseme/imdada-go.
*/

package dada

import (
"context"

"github.com/bytedance/sonic"

"github.com/houseme/imdada-go/domain"
)

// QueryCity query city list
// 获取城市信息列表 http://newopen.imdada.cn/#/development/file/cityList
func (c *Client) QueryCity(ctx context.Context, req *domain.CityListQueryRequest) (resp *domain.CityListQueryResponse, err error) {
if req == nil {
c.request.Body = ""
} else {
if c.request.Body, err = sonic.MarshalString(req); err != nil {
return nil, err
}
}
c.log.CtxDebugf(ctx, "QueryCity request data: %s ", c.request.Body)
if err = c.doRequest(ctx, cityCodeList); err != nil {
return nil, err
}
c.log.CtxDebugf(ctx, "QueryCity response data: %s", string(c.response.Body()))
if err = sonic.Unmarshal(c.response.Body(), &resp); err != nil {
return nil, err
}
return
}

0 comments on commit 1af034d

Please sign in to comment.