package customer import ( "context" "git.oa00.com/supply-chain/service/client" user2 "git.oa00.com/supply-chain/service/customer/user" "git.oa00.com/supply-chain/service/lib/bean" "github.com/shopspring/decimal" ) const ( UserStatusDisabled = 1 // 停用 UserStatusEnabled = 2 // 启用 UserTypeManage = 1 // 后台创建 UserTypeSelf = 2 // 自主创建 ) type user struct { user2.User } type UserSearch struct { Status uint // 状态 Name string // 客户名称 } type ArgsUserList struct { Search UserSearch Page bean.Page } type UserItem struct { Id uint `json:"id"` Name string `json:"name"` Account string `json:"account"` Liaison string `json:"liaison"` Phone string `json:"phone"` Amount decimal.Decimal `json:"amount"` Status uint `json:"status"` ServiceNames []string `json:"serviceNames"` CreatedType uint `json:"createdType"` CreatedUserId uint `json:"createdUserId"` CreatedAt int64 `json:"createdAt"` } type ReplyUserList struct { Lists []UserItem `json:"lists"` Total int64 `json:"total"` } // Lists @Title 获取客户列表 func (u *user) Lists(ctx context.Context, args ArgsUserList) (reply ReplyUserList, err error) { xClient, err := client.GetClient(u) if err != nil { return } err = xClient.Call(ctx, "Lists", args, &reply) return } type ArgsUserAdd struct { Name string // 名称 Account string // 账号 Liaison string // 联系人 Phone string // 手机号 Password string // 密码 CreatedType uint // 创建账号类型 1=后台创建 2=自主创建 UserType uint // 用户类型 1=企业 2=个人 CreatedUserId uint // 创建人Id } // Add @Title 添加客户 func (u *user) Add(ctx context.Context, args ArgsUserAdd) error { reply := 0 xClient, err := client.GetClient(u) if err != nil { return err } return xClient.Call(ctx, "Add", args, &reply) } type ReplyUserInfo struct { Id uint `json:"id"` Name string `json:"name"` Liaison string `json:"liaison"` Phone string `json:"phone"` Account string `json:"account"` } // Info @Title 客户详情 func (u *user) Info(ctx context.Context, userId uint) (result ReplyUserInfo, err error) { xClient, err := client.GetClient(u) if err != nil { return } err = xClient.Call(ctx, "Info", userId, &result) return } type ArgsUserEdit struct { Id uint // 客户id Name string // 名称 Liaison string // 联系人 Phone string // 手机号 Password string // 密码 空=不修改 } // Edit @Title 编辑客户 func (u *user) Edit(ctx context.Context, args ArgsUserEdit) error { reply := 0 xClient, err := client.GetClient(u) if err != nil { return err } return xClient.Call(ctx, "Edit", args, &reply) } // Enable @Title 启用 func (u *user) Enable(ctx context.Context, userId uint) error { reply := 0 xClient, err := client.GetClient(u) if err != nil { return err } return xClient.Call(ctx, "Enable", userId, &reply) } // Disable @Title 停用 func (u *user) Disable(ctx context.Context, userId uint) error { reply := 0 xClient, err := client.GetClient(u) if err != nil { return err } return xClient.Call(ctx, "Disable", userId, &reply) } type ArgsUserServiceInfo struct { ServiceId serviceId // 服务id AppKey string // 渠道appKey } type ReplyUserServiceInfo struct { CustomerId uint `json:"customerId"` AppKey string `json:"appKey"` AppSecret string `json:"appSecret"` ExpirationAt int64 `json:"expirationAt"` } // ServiceInfo @Title 获取服务信息 func (u *user) ServiceInfo(ctx context.Context, args ArgsUserServiceInfo) (reply ReplyUserServiceInfo, err error) { xClient, err := client.GetClient(u) if err != nil { return } err = xClient.Call(ctx, "ServiceInfo", args, &reply) return } type UserInfoItem struct { Id uint `json:"id"` Name string `json:"name"` Phone string `json:"phone"` Liaison string `json:"liaison"` } // FindByIds @Title 根据用户Ids查询用户信息 func (u *user) FindByIds(ctx context.Context, userIds []uint) (reply []UserInfoItem, err error) { xClient, err := client.GetClient(u) if err != nil { return } err = xClient.Call(ctx, "FindByIds", userIds, &reply) return } type UserSelectItem struct { Id uint `json:"id"` Name string `json:"name"` } // Select @Title 用户筛选 func (u *user) Select(ctx context.Context) (reply []UserSelectItem, err error) { xClient, err := client.GetClient(u) if err != nil { return } args := 0 err = xClient.Call(ctx, "Select", args, &reply) return }