Customer Order
This commit is contained in:
@@ -15,6 +15,10 @@ type DiscoveryHomeParam struct {
|
||||
Discover string `form:"discover" json:"discover" example:"0"`
|
||||
}
|
||||
|
||||
type DiscoverySearchByID struct {
|
||||
ID int64 `form:"id" json:"id" example:"0"`
|
||||
}
|
||||
|
||||
func (d *DiscoveryHomeParam) ToEntity() *entity.DiscoverySearch {
|
||||
if d.Limit == 0 {
|
||||
d.Limit = 10
|
||||
|
||||
@@ -12,6 +12,30 @@ type Order struct {
|
||||
OrderItems []OrderItem `json:"order_items" validate:"required"`
|
||||
}
|
||||
|
||||
type CustomerOrder struct {
|
||||
PartnerID int64 `json:"partner_id" validate:"required"`
|
||||
PaymentMethod transaction.PaymentMethod `json:"payment_method" validate:"required"`
|
||||
OrderItems []OrderItem `json:"order_items" validate:"required"`
|
||||
}
|
||||
|
||||
func (o *CustomerOrder) ToEntity(createdBy int64) *entity.OrderRequest {
|
||||
orderItems := make([]entity.OrderItemRequest, len(o.OrderItems))
|
||||
for i, item := range o.OrderItems {
|
||||
orderItems[i] = entity.OrderItemRequest{
|
||||
ProductID: item.ProductID,
|
||||
Quantity: item.Quantity,
|
||||
}
|
||||
}
|
||||
|
||||
return &entity.OrderRequest{
|
||||
PartnerID: o.PartnerID,
|
||||
PaymentMethod: string(o.PaymentMethod),
|
||||
OrderItems: orderItems,
|
||||
CreatedBy: createdBy,
|
||||
Source: "ONLINE",
|
||||
}
|
||||
}
|
||||
|
||||
type OrderParam struct {
|
||||
PaymentType string `form:"payment_type" json:"payment_type" example:"CASH"`
|
||||
StartDate string `form:"start_date" json:"start_date"`
|
||||
@@ -56,6 +80,7 @@ func (o *Order) ToEntity(createdBy int64) *entity.OrderRequest {
|
||||
PaymentMethod: string(o.PaymentMethod),
|
||||
OrderItems: orderItems,
|
||||
CreatedBy: createdBy,
|
||||
Source: "POS",
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,3 +96,25 @@ func (e Execute) ToOrderExecuteRequest(createdBy int64) *entity.OrderExecuteRequ
|
||||
Token: e.Token,
|
||||
}
|
||||
}
|
||||
|
||||
type OrderParamCustomer struct {
|
||||
ID int64 `form:"id" json:"id" example:"10"`
|
||||
Limit int `form:"limit" json:"limit" example:"10"`
|
||||
Offset int `form:"offset" json:"offset" example:"0"`
|
||||
}
|
||||
|
||||
func (o *OrderParamCustomer) ToOrderEntity(ctx mycontext.Context) entity.OrderSearch {
|
||||
if o.Limit == 0 {
|
||||
o.Limit = 10
|
||||
}
|
||||
|
||||
return entity.OrderSearch{
|
||||
PartnerID: ctx.GetPartnerID(),
|
||||
SiteID: ctx.GetSiteID(),
|
||||
IsAdmin: ctx.IsAdmin(),
|
||||
Limit: o.Limit,
|
||||
Offset: o.Offset,
|
||||
CreatedBy: ctx.RequestedBy(),
|
||||
IsCustomer: true,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,3 +72,30 @@ func (p *UserParam) ToEntity(ctx mycontext.Context) entity.UserSearch {
|
||||
Offset: p.Offset,
|
||||
}
|
||||
}
|
||||
|
||||
type UserRegister struct {
|
||||
Name string `json:"name" validate:"required"`
|
||||
Email string `json:"email" validate:"required"`
|
||||
PhoneNumber string `json:"phone_number" validate:"required"`
|
||||
Password string `json:"password" validate:"required"`
|
||||
}
|
||||
|
||||
func (e *UserRegister) Validate() error {
|
||||
validate := validator.New()
|
||||
if err := validate.Struct(e); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (u *UserRegister) ToEntity() *entity.User {
|
||||
return &entity.User{
|
||||
Name: u.Name,
|
||||
Email: u.Email,
|
||||
PhoneNumber: u.PhoneNumber,
|
||||
Password: u.Password,
|
||||
RoleID: role.Customer,
|
||||
UserType: "CUSTOMER",
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user