text:
package proto // import "./"

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"

import (
	context "golang.org/x/net/context"
	grpc "google.golang.org/grpc"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package

type FavoriteQueryRequest struct {
	MemberId             int64    `protobuf:"varint,1,opt,name=memberId,proto3" json:"memberId"`
	Begin                int64    `protobuf:"varint,2,opt,name=begin,proto3" json:"begin"`
	End                  int64    `protobuf:"varint,3,opt,name=end,proto3" json:"end"`
	Where                string   `protobuf:"bytes,4,opt,name=where,proto3" json:"where"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *FavoriteQueryRequest) Reset()         { *m = FavoriteQueryRequest{} }
func (m *FavoriteQueryRequest) String() string { return proto.CompactTextString(m) }
func (*FavoriteQueryRequest) ProtoMessage()    {}
func (*FavoriteQueryRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_query_service_8e6a093884e55b4a, []int{0}
}
func (m *FavoriteQueryRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_FavoriteQueryRequest.Unmarshal(m, b)
}
func (m *FavoriteQueryRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_FavoriteQueryRequest.Marshal(b, m, deterministic)
}
func (dst *FavoriteQueryRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_FavoriteQueryRequest.Merge(dst, src)
}
func (m *FavoriteQueryRequest) XXX_Size() int {
	return xxx_messageInfo_FavoriteQueryRequest.Size(m)
}
func (m *FavoriteQueryRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_FavoriteQueryRequest.DiscardUnknown(m)
}

var xxx_messageInfo_FavoriteQueryRequest proto.InternalMessageInfo

func (m *FavoriteQueryRequest) GetMemberId() int64 {
	if m != nil {
		return m.MemberId
	}
	return 0
}

func (m *FavoriteQueryRequest) GetBegin() int64 {
	if m != nil {
		return m.Begin
	}
	return 0
}

func (m *FavoriteQueryRequest) GetEnd() int64 {
	if m != nil {
		return m.End
	}
	return 0
}

func (m *FavoriteQueryRequest) GetWhere() string {
	if m != nil {
		return m.Where
	}
	return ""
}

type PagingShopFavoriteResponse struct {
	Total                int64                  `protobuf:"varint,1,opt,name=total,proto3" json:"total"`
	Data                 []*SPagingShopFavorite `protobuf:"bytes,2,rep,name=data,proto3" json:"data"`
	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
	XXX_unrecognized     []byte                 `json:"-"`
	XXX_sizecache        int32                  `json:"-"`
}

func (m *PagingShopFavoriteResponse) Reset()         { *m = PagingShopFavoriteResponse{} }
func (m *PagingShopFavoriteResponse) String() string { return proto.CompactTextString(m) }
func (*PagingShopFavoriteResponse) ProtoMessage()    {}
func (*PagingShopFavoriteResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_query_service_8e6a093884e55b4a, []int{1}
}
func (m *PagingShopFavoriteResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PagingShopFavoriteResponse.Unmarshal(m, b)
}
func (m *PagingShopFavoriteResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PagingShopFavoriteResponse.Marshal(b, m, deterministic)
}
func (dst *PagingShopFavoriteResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PagingShopFavoriteResponse.Merge(dst, src)
}
func (m *PagingShopFavoriteResponse) XXX_Size() int {
	return xxx_messageInfo_PagingShopFavoriteResponse.Size(m)
}
func (m *PagingShopFavoriteResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_PagingShopFavoriteResponse.DiscardUnknown(m)
}

var xxx_messageInfo_PagingShopFavoriteResponse proto.InternalMessageInfo

func (m *PagingShopFavoriteResponse) GetTotal() int64 {
	if m != nil {
		return m.Total
	}
	return 0
}

func (m *PagingShopFavoriteResponse) GetData() []*SPagingShopFavorite {
	if m != nil {
		return m.Data
	}
	return nil
}

type SPagingShopFavorite struct {
	Id                   int64    `protobuf:"varint,1,opt,name=Id,proto3" json:"Id"`
	ShopId               int64    `protobuf:"varint,2,opt,name=ShopId,proto3" json:"ShopId"`
	ShopName             string   `protobuf:"bytes,3,opt,name=ShopName,proto3" json:"ShopName"`
	Logo                 string   `protobuf:"bytes,4,opt,name=Logo,proto3" json:"Logo"`
	UpdateTime           int64    `protobuf:"varint,5,opt,name=UpdateTime,proto3" json:"UpdateTime"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SPagingShopFavorite) Reset()         { *m = SPagingShopFavorite{} }
func (m *SPagingShopFavorite) String() string { return proto.CompactTextString(m) }
func (*SPagingShopFavorite) ProtoMessage()    {}
func (*SPagingShopFavorite) Descriptor() ([]byte, []int) {
	return fileDescriptor_query_service_8e6a093884e55b4a, []int{2}
}
func (m *SPagingShopFavorite) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SPagingShopFavorite.Unmarshal(m, b)
}
func (m *SPagingShopFavorite) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SPagingShopFavorite.Marshal(b, m, deterministic)
}
func (dst *SPagingShopFavorite) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SPagingShopFavorite.Merge(dst, src)
}
func (m *SPagingShopFavorite) XXX_Size() int {
	return xxx_messageInfo_SPagingShopFavorite.Size(m)
}
func (m *SPagingShopFavorite) XXX_DiscardUnknown() {
	xxx_messageInfo_SPagingShopFavorite.DiscardUnknown(m)
}

var xxx_messageInfo_SPagingShopFavorite proto.InternalMessageInfo

func (m *SPagingShopFavorite) GetId() int64 {
	if m != nil {
		return m.Id
	}
	return 0
}

func (m *SPagingShopFavorite) GetShopId() int64 {
	if m != nil {
		return m.ShopId
	}
	return 0
}

func (m *SPagingShopFavorite) GetShopName() string {
	if m != nil {
		return m.ShopName
	}
	return ""
}

func (m *SPagingShopFavorite) GetLogo() string {
	if m != nil {
		return m.Logo
	}
	return ""
}

func (m *SPagingShopFavorite) GetUpdateTime() int64 {
	if m != nil {
		return m.UpdateTime
	}
	return 0
}

type PagingGoodsFavoriteResponse struct {
	Total                int64                   `protobuf:"varint,1,opt,name=total,proto3" json:"total"`
	Data                 []*SPagingGoodsFavorite `protobuf:"bytes,2,rep,name=data,proto3" json:"data"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

func (m *PagingGoodsFavoriteResponse) Reset()         { *m = PagingGoodsFavoriteResponse{} }
func (m *PagingGoodsFavoriteResponse) String() string { return proto.CompactTextString(m) }
func (*PagingGoodsFavoriteResponse) ProtoMessage()    {}
func (*PagingGoodsFavoriteResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_query_service_8e6a093884e55b4a, []int{3}
}
func (m *PagingGoodsFavoriteResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PagingGoodsFavoriteResponse.Unmarshal(m, b)
}
func (m *PagingGoodsFavoriteResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PagingGoodsFavoriteResponse.Marshal(b, m, deterministic)
}
func (dst *PagingGoodsFavoriteResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PagingGoodsFavoriteResponse.Merge(dst, src)
}
func (m *PagingGoodsFavoriteResponse) XXX_Size() int {
	return xxx_messageInfo_PagingGoodsFavoriteResponse.Size(m)
}
func (m *PagingGoodsFavoriteResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_PagingGoodsFavoriteResponse.DiscardUnknown(m)
}

var xxx_messageInfo_PagingGoodsFavoriteResponse proto.InternalMessageInfo

func (m *PagingGoodsFavoriteResponse) GetTotal() int64 {
	if m != nil {
		return m.Total
	}
	return 0
}

func (m *PagingGoodsFavoriteResponse) GetData() []*SPagingGoodsFavorite {
	if m != nil {
		return m.Data
	}
	return nil
}

type SPagingGoodsFavorite struct {
	Id                   int64    `protobuf:"varint,1,opt,name=Id,proto3" json:"Id"`
	SkuId                int64    `protobuf:"varint,2,opt,name=SkuId,proto3" json:"SkuId"`
	GoodsName            string   `protobuf:"bytes,3,opt,name=GoodsName,proto3" json:"GoodsName"`
	Image                string   `protobuf:"bytes,4,opt,name=Image,proto3" json:"Image"`
	OnShelves            bool     `protobuf:"varint,5,opt,name=OnShelves,proto3" json:"OnShelves"`
	StockNum             int32    `protobuf:"varint,6,opt,name=StockNum,proto3" json:"StockNum"`
	SalePrice            string   `protobuf:"bytes,7,opt,name=SalePrice,proto3" json:"SalePrice"`
	UpdateTime           int64    `protobuf:"varint,8,opt,name=UpdateTime,proto3" json:"UpdateTime"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SPagingGoodsFavorite) Reset()         { *m = SPagingGoodsFavorite{} }
func (m *SPagingGoodsFavorite) String() string { return proto.CompactTextString(m) }
func (*SPagingGoodsFavorite) ProtoMessage()    {}
func (*SPagingGoodsFavorite) Descriptor() ([]byte, []int) {
	return fileDescriptor_query_service_8e6a093884e55b4a, []int{4}
}
func (m *SPagingGoodsFavorite) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SPagingGoodsFavorite.Unmarshal(m, b)
}
func (m *SPagingGoodsFavorite) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SPagingGoodsFavorite.Marshal(b, m, deterministic)
}
func (dst *SPagingGoodsFavorite) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SPagingGoodsFavorite.Merge(dst, src)
}
func (m *SPagingGoodsFavorite) XXX_Size() int {
	return xxx_messageInfo_SPagingGoodsFavorite.Size(m)
}
func (m *SPagingGoodsFavorite) XXX_DiscardUnknown() {
	xxx_messageInfo_SPagingGoodsFavorite.DiscardUnknown(m)
}

var xxx_messageInfo_SPagingGoodsFavorite proto.InternalMessageInfo

func (m *SPagingGoodsFavorite) GetId() int64 {
	if m != nil {
		return m.Id
	}
	return 0
}

func (m *SPagingGoodsFavorite) GetSkuId() int64 {
	if m != nil {
		return m.SkuId
	}
	return 0
}

func (m *SPagingGoodsFavorite) GetGoodsName() string {
	if m != nil {
		return m.GoodsName
	}
	return ""
}

func (m *SPagingGoodsFavorite) GetImage() string {
	if m != nil {
		return m.Image
	}
	return ""
}

func (m *SPagingGoodsFavorite) GetOnShelves() bool {
	if m != nil {
		return m.OnShelves
	}
	return false
}

func (m *SPagingGoodsFavorite) GetStockNum() int32 {
	if m != nil {
		return m.StockNum
	}
	return 0
}

func (m *SPagingGoodsFavorite) GetSalePrice() string {
	if m != nil {
		return m.SalePrice
	}
	return ""
}

func (m *SPagingGoodsFavorite) GetUpdateTime() int64 {
	if m != nil {
		return m.UpdateTime
	}
	return 0
}

type QueryPagingShopRequest struct {
	// 参数
	Params *SPagingParams `protobuf:"bytes,1,opt,name=Params,proto3" json:"Params"`
	// 是否只查询营业中的店铺
	OnlyBusiness         bool     `protobuf:"varint,2,opt,name=OnlyBusiness,proto3" json:"OnlyBusiness"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *QueryPagingShopRequest) Reset()         { *m = QueryPagingShopRequest{} }
func (m *QueryPagingShopRequest) String() string { return proto.CompactTextString(m) }
func (*QueryPagingShopRequest) ProtoMessage()    {}
func (*QueryPagingShopRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_query_service_8e6a093884e55b4a, []int{5}
}
func (m *QueryPagingShopRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_QueryPagingShopRequest.Unmarshal(m, b)
}
func (m *QueryPagingShopRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_QueryPagingShopRequest.Marshal(b, m, deterministic)
}
func (dst *QueryPagingShopRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_QueryPagingShopRequest.Merge(dst, src)
}
func (m *QueryPagingShopRequest) XXX_Size() int {
	return xxx_messageInfo_QueryPagingShopRequest.Size(m)
}
func (m *QueryPagingShopRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_QueryPagingShopRequest.DiscardUnknown(m)
}

var xxx_messageInfo_QueryPagingShopRequest proto.InternalMessageInfo

func (m *QueryPagingShopRequest) GetParams() *SPagingParams {
	if m != nil {
		return m.Params
	}
	return nil
}

func (m *QueryPagingShopRequest) GetOnlyBusiness() bool {
	if m != nil {
		return m.OnlyBusiness
	}
	return false
}

type QueryPagingShopsResponse struct {
	Total                int64              `protobuf:"zigzag64,1,opt,name=total,proto3" json:"total"`
	Value                []*QueryPagingShop `protobuf:"bytes,2,rep,name=value,proto3" json:"value"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (m *QueryPagingShopsResponse) Reset()         { *m = QueryPagingShopsResponse{} }
func (m *QueryPagingShopsResponse) String() string { return proto.CompactTextString(m) }
func (*QueryPagingShopsResponse) ProtoMessage()    {}
func (*QueryPagingShopsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_query_service_8e6a093884e55b4a, []int{6}
}
func (m *QueryPagingShopsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_QueryPagingShopsResponse.Unmarshal(m, b)
}
func (m *QueryPagingShopsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_QueryPagingShopsResponse.Marshal(b, m, deterministic)
}
func (dst *QueryPagingShopsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_QueryPagingShopsResponse.Merge(dst, src)
}
func (m *QueryPagingShopsResponse) XXX_Size() int {
	return xxx_messageInfo_QueryPagingShopsResponse.Size(m)
}
func (m *QueryPagingShopsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_QueryPagingShopsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_QueryPagingShopsResponse proto.InternalMessageInfo

func (m *QueryPagingShopsResponse) GetTotal() int64 {
	if m != nil {
		return m.Total
	}
	return 0
}

func (m *QueryPagingShopsResponse) GetValue() []*QueryPagingShop {
	if m != nil {
		return m.Value
	}
	return nil
}

type QueryPagingShop struct {
	Id                   int64    `protobuf:"zigzag64,1,opt,name=Id,proto3" json:"Id"`
	Name                 string   `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name"`
	Alias                string   `protobuf:"bytes,3,opt,name=Alias,proto3" json:"Alias"`
	Host                 string   `protobuf:"bytes,4,opt,name=Host,proto3" json:"Host"`
	Logo                 string   `protobuf:"bytes,5,opt,name=Logo,proto3" json:"Logo"`
	CreateTime           int64    `protobuf:"zigzag64,6,opt,name=CreateTime,proto3" json:"CreateTime"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *QueryPagingShop) Reset()         { *m = QueryPagingShop{} }
func (m *QueryPagingShop) String() string { return proto.CompactTextString(m) }
func (*QueryPagingShop) ProtoMessage()    {}
func (*QueryPagingShop) Descriptor() ([]byte, []int) {
	return fileDescriptor_query_service_8e6a093884e55b4a, []int{7}
}
func (m *QueryPagingShop) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_QueryPagingShop.Unmarshal(m, b)
}
func (m *QueryPagingShop) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_QueryPagingShop.Marshal(b, m, deterministic)
}
func (dst *QueryPagingShop) XXX_Merge(src proto.Message) {
	xxx_messageInfo_QueryPagingShop.Merge(dst, src)
}
func (m *QueryPagingShop) XXX_Size() int {
	return xxx_messageInfo_QueryPagingShop.Size(m)
}
func (m *QueryPagingShop) XXX_DiscardUnknown() {
	xxx_messageInfo_QueryPagingShop.DiscardUnknown(m)
}

var xxx_messageInfo_QueryPagingShop proto.InternalMessageInfo

func (m *QueryPagingShop) GetId() int64 {
	if m != nil {
		return m.Id
	}
	return 0
}

func (m *QueryPagingShop) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *QueryPagingShop) GetAlias() string {
	if m != nil {
		return m.Alias
	}
	return ""
}

func (m *QueryPagingShop) GetHost() string {
	if m != nil {
		return m.Host
	}
	return ""
}

func (m *QueryPagingShop) GetLogo() string {
	if m != nil {
		return m.Logo
	}
	return ""
}

func (m *QueryPagingShop) GetCreateTime() int64 {
	if m != nil {
		return m.CreateTime
	}
	return 0
}

type MemberOrderPagingRequest struct {
	MemberId             int64          `protobuf:"zigzag64,1,opt,name=memberId,proto3" json:"memberId"`
	Params               *SPagingParams `protobuf:"bytes,2,opt,name=Params,proto3" json:"Params"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (m *MemberOrderPagingRequest) Reset()         { *m = MemberOrderPagingRequest{} }
func (m *MemberOrderPagingRequest) String() string { return proto.CompactTextString(m) }
func (*MemberOrderPagingRequest) ProtoMessage()    {}
func (*MemberOrderPagingRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_query_service_8e6a093884e55b4a, []int{8}
}
func (m *MemberOrderPagingRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MemberOrderPagingRequest.Unmarshal(m, b)
}
func (m *MemberOrderPagingRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MemberOrderPagingRequest.Marshal(b, m, deterministic)
}
func (dst *MemberOrderPagingRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MemberOrderPagingRequest.Merge(dst, src)
}
func (m *MemberOrderPagingRequest) XXX_Size() int {
	return xxx_messageInfo_MemberOrderPagingRequest.Size(m)
}
func (m *MemberOrderPagingRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_MemberOrderPagingRequest.DiscardUnknown(m)
}

var xxx_messageInfo_MemberOrderPagingRequest proto.InternalMessageInfo

func (m *MemberOrderPagingRequest) GetMemberId() int64 {
	if m != nil {
		return m.MemberId
	}
	return 0
}

func (m *MemberOrderPagingRequest) GetParams() *SPagingParams {
	if m != nil {
		return m.Params
	}
	return nil
}

type MemberOrderPagingResponse struct {
	Total                int64                  `protobuf:"zigzag64,1,opt,name=total,proto3" json:"total"`
	Value                []*PagedMemberSubOrder `protobuf:"bytes,2,rep,name=value,proto3" json:"value"`
	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
	XXX_unrecognized     []byte                 `json:"-"`
	XXX_sizecache        int32                  `json:"-"`
}

func (m *MemberOrderPagingResponse) Reset()         { *m = MemberOrderPagingResponse{} }
func (m *MemberOrderPagingResponse) String() string { return proto.CompactTextString(m) }
func (*MemberOrderPagingResponse) ProtoMessage()    {}
func (*MemberOrderPagingResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_query_service_8e6a093884e55b4a, []int{9}
}
func (m *MemberOrderPagingResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MemberOrderPagingResponse.Unmarshal(m, b)
}
func (m *MemberOrderPagingResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MemberOrderPagingResponse.Marshal(b, m, deterministic)
}
func (dst *MemberOrderPagingResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MemberOrderPagingResponse.Merge(dst, src)
}
func (m *MemberOrderPagingResponse) XXX_Size() int {
	return xxx_messageInfo_MemberOrderPagingResponse.Size(m)
}
func (m *MemberOrderPagingResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_MemberOrderPagingResponse.DiscardUnknown(m)
}

var xxx_messageInfo_MemberOrderPagingResponse proto.InternalMessageInfo

func (m *MemberOrderPagingResponse) GetTotal() int64 {
	if m != nil {
		return m.Total
	}
	return 0
}

func (m *MemberOrderPagingResponse) GetValue() []*PagedMemberSubOrder {
	if m != nil {
		return m.Value
	}
	return nil
}

type PagedMemberSubOrder struct {
	OrderId              int64         `protobuf:"zigzag64,1,opt,name=OrderId,proto3" json:"OrderId"`
	OrderNo              string        `protobuf:"bytes,2,opt,name=OrderNo,proto3" json:"OrderNo"`
	ParentNo             string        `protobuf:"bytes,3,opt,name=ParentNo,proto3" json:"ParentNo"`
	VendorId             int64         `protobuf:"zigzag64,4,opt,name=VendorId,proto3" json:"VendorId"`
	ShopId               int64         `protobuf:"zigzag64,5,opt,name=ShopId,proto3" json:"ShopId"`
	ShopName             string        `protobuf:"bytes,6,opt,name=ShopName,proto3" json:"ShopName"`
	ItemAmount           float64       `protobuf:"fixed64,7,opt,name=ItemAmount,proto3" json:"ItemAmount"`
	DiscountAmount       float64       `protobuf:"fixed64,8,opt,name=DiscountAmount,proto3" json:"DiscountAmount"`
	ExpressFee           float64       `protobuf:"fixed64,9,opt,name=ExpressFee,proto3" json:"ExpressFee"`
	PackageFee           float64       `protobuf:"fixed64,10,opt,name=PackageFee,proto3" json:"PackageFee"`
	IsPaid               bool          `protobuf:"varint,11,opt,name=IsPaid,proto3" json:"IsPaid"`
	FinalAmount          float64       `protobuf:"fixed64,12,opt,name=FinalAmount,proto3" json:"FinalAmount"`
	State                int32         `protobuf:"zigzag32,13,opt,name=State,proto3" json:"State"`
	StateText            string        `protobuf:"bytes,14,opt,name=StateText,proto3" json:"StateText"`
	CreateTime           int64         `protobuf:"zigzag64,15,opt,name=CreateTime,proto3" json:"CreateTime"`
	Items                []*SOrderItem `protobuf:"bytes,16,rep,name=Items,proto3" json:"Items"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func (m *PagedMemberSubOrder) Reset()         { *m = PagedMemberSubOrder{} }
func (m *PagedMemberSubOrder) String() string { return proto.CompactTextString(m) }
func (*PagedMemberSubOrder) ProtoMessage()    {}
func (*PagedMemberSubOrder) Descriptor() ([]byte, []int) {
	return fileDescriptor_query_service_8e6a093884e55b4a, []int{10}
}
func (m *PagedMemberSubOrder) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PagedMemberSubOrder.Unmarshal(m, b)
}
func (m *PagedMemberSubOrder) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PagedMemberSubOrder.Marshal(b, m, deterministic)
}
func (dst *PagedMemberSubOrder) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PagedMemberSubOrder.Merge(dst, src)
}
func (m *PagedMemberSubOrder) XXX_Size() int {
	return xxx_messageInfo_PagedMemberSubOrder.Size(m)
}
func (m *PagedMemberSubOrder) XXX_DiscardUnknown() {
	xxx_messageInfo_PagedMemberSubOrder.DiscardUnknown(m)
}

var xxx_messageInfo_PagedMemberSubOrder proto.InternalMessageInfo

func (m *PagedMemberSubOrder) GetOrderId() int64 {
	if m != nil {
		return m.OrderId
	}
	return 0
}

func (m *PagedMemberSubOrder) GetOrderNo() string {
	if m != nil {
		return m.OrderNo
	}
	return ""
}

func (m *PagedMemberSubOrder) GetParentNo() string {
	if m != nil {
		return m.ParentNo
	}
	return ""
}

func (m *PagedMemberSubOrder) GetVendorId() int64 {
	if m != nil {
		return m.VendorId
	}
	return 0
}

func (m *PagedMemberSubOrder) GetShopId() int64 {
	if m != nil {
		return m.ShopId
	}
	return 0
}

func (m *PagedMemberSubOrder) GetShopName() string {
	if m != nil {
		return m.ShopName
	}
	return ""
}

func (m *PagedMemberSubOrder) GetItemAmount() float64 {
	if m != nil {
		return m.ItemAmount
	}
	return 0
}

func (m *PagedMemberSubOrder) GetDiscountAmount() float64 {
	if m != nil {
		return m.DiscountAmount
	}
	return 0
}

func (m *PagedMemberSubOrder) GetExpressFee() float64 {
	if m != nil {
		return m.ExpressFee
	}
	return 0
}

func (m *PagedMemberSubOrder) GetPackageFee() float64 {
	if m != nil {
		return m.PackageFee
	}
	return 0
}

func (m *PagedMemberSubOrder) GetIsPaid() bool {
	if m != nil {
		return m.IsPaid
	}
	return false
}

func (m *PagedMemberSubOrder) GetFinalAmount() float64 {
	if m != nil {
		return m.FinalAmount
	}
	return 0
}

func (m *PagedMemberSubOrder) GetState() int32 {
	if m != nil {
		return m.State
	}
	return 0
}

func (m *PagedMemberSubOrder) GetStateText() string {
	if m != nil {
		return m.StateText
	}
	return ""
}

func (m *PagedMemberSubOrder) GetCreateTime() int64 {
	if m != nil {
		return m.CreateTime
	}
	return 0
}

func (m *PagedMemberSubOrder) GetItems() []*SOrderItem {
	if m != nil {
		return m.Items
	}
	return nil
}

type MemberListRequest struct {
	IdList               []int64  `protobuf:"varint,1,rep,packed,name=IdList,proto3" json:"IdList"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *MemberListRequest) Reset()         { *m = MemberListRequest{} }
func (m *MemberListRequest) String() string { return proto.CompactTextString(m) }
func (*MemberListRequest) ProtoMessage()    {}
func (*MemberListRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_query_service_8e6a093884e55b4a, []int{11}
}
func (m *MemberListRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MemberListRequest.Unmarshal(m, b)
}
func (m *MemberListRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MemberListRequest.Marshal(b, m, deterministic)
}
func (dst *MemberListRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MemberListRequest.Merge(dst, src)
}
func (m *MemberListRequest) XXX_Size() int {
	return xxx_messageInfo_MemberListRequest.Size(m)
}
func (m *MemberListRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_MemberListRequest.DiscardUnknown(m)
}

var xxx_messageInfo_MemberListRequest proto.InternalMessageInfo

func (m *MemberListRequest) GetIdList() []int64 {
	if m != nil {
		return m.IdList
	}
	return nil
}

type MemberSearchRequest struct {
	// 手机号/邮箱/用户名关键词
	Keyword              string   `protobuf:"bytes,1,opt,name=Keyword,proto3" json:"Keyword"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *MemberSearchRequest) Reset()         { *m = MemberSearchRequest{} }
func (m *MemberSearchRequest) String() string { return proto.CompactTextString(m) }
func (*MemberSearchRequest) ProtoMessage()    {}
func (*MemberSearchRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_query_service_8e6a093884e55b4a, []int{12}
}
func (m *MemberSearchRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MemberSearchRequest.Unmarshal(m, b)
}
func (m *MemberSearchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MemberSearchRequest.Marshal(b, m, deterministic)
}
func (dst *MemberSearchRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MemberSearchRequest.Merge(dst, src)
}
func (m *MemberSearchRequest) XXX_Size() int {
	return xxx_messageInfo_MemberSearchRequest.Size(m)
}
func (m *MemberSearchRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_MemberSearchRequest.DiscardUnknown(m)
}

var xxx_messageInfo_MemberSearchRequest proto.InternalMessageInfo

func (m *MemberSearchRequest) GetKeyword() string {
	if m != nil {
		return m.Keyword
	}
	return ""
}

type MemberListResponse struct {
	Value                []*MemberListSingle `protobuf:"bytes,1,rep,name=value,proto3" json:"value"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *MemberListResponse) Reset()         { *m = MemberListResponse{} }
func (m *MemberListResponse) String() string { return proto.CompactTextString(m) }
func (*MemberListResponse) ProtoMessage()    {}
func (*MemberListResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_query_service_8e6a093884e55b4a, []int{13}
}
func (m *MemberListResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MemberListResponse.Unmarshal(m, b)
}
func (m *MemberListResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MemberListResponse.Marshal(b, m, deterministic)
}
func (dst *MemberListResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MemberListResponse.Merge(dst, src)
}
func (m *MemberListResponse) XXX_Size() int {
	return xxx_messageInfo_MemberListResponse.Size(m)
}
func (m *MemberListResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_MemberListResponse.DiscardUnknown(m)
}

var xxx_messageInfo_MemberListResponse proto.InternalMessageInfo

func (m *MemberListResponse) GetValue() []*MemberListSingle {
	if m != nil {
		return m.Value
	}
	return nil
}

// 会员概览信息
type MemberListSingle struct {
	// 会员编号
	MemberId int64 `protobuf:"varint,1,opt,name=memberId,proto3" json:"memberId"`
	// 用户名
	User string `protobuf:"bytes,2,opt,name=user,proto3" json:"user"`
	// 昵称
	NickName string `protobuf:"bytes,3,opt,name=NickName,proto3" json:"NickName"`
	// 头像
	Avatar string `protobuf:"bytes,4,opt,name=Avatar,proto3" json:"Avatar"`
	// 等级
	Level int32 `protobuf:"varint,5,opt,name=Level,proto3" json:"Level"`
	// 积分
	Integral int64 `protobuf:"varint,6,opt,name=Integral,proto3" json:"Integral"`
	// 账户余额
	Balance float64 `protobuf:"fixed64,7,opt,name=Balance,proto3" json:"Balance"`
	// 钱包余额
	WalletBalance        float64  `protobuf:"fixed64,8,opt,name=WalletBalance,proto3" json:"WalletBalance"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *MemberListSingle) Reset()         { *m = MemberListSingle{} }
func (m *MemberListSingle) String() string { return proto.CompactTextString(m) }
func (*MemberListSingle) ProtoMessage()    {}
func (*MemberListSingle) Descriptor() ([]byte, []int) {
	return fileDescriptor_query_service_8e6a093884e55b4a, []int{14}
}
func (m *MemberListSingle) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MemberListSingle.Unmarshal(m, b)
}
func (m *MemberListSingle) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MemberListSingle.Marshal(b, m, deterministic)
}
func (dst *MemberListSingle) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MemberListSingle.Merge(dst, src)
}
func (m *MemberListSingle) XXX_Size() int {
	return xxx_messageInfo_MemberListSingle.Size(m)
}
func (m *MemberListSingle) XXX_DiscardUnknown() {
	xxx_messageInfo_MemberListSingle.DiscardUnknown(m)
}

var xxx_messageInfo_MemberListSingle proto.InternalMessageInfo

func (m *MemberListSingle) GetMemberId() int64 {
	if m != nil {
		return m.MemberId
	}
	return 0
}

func (m *MemberListSingle) GetUser() string {
	if m != nil {
		return m.User
	}
	return ""
}

func (m *MemberListSingle) GetNickName() string {
	if m != nil {
		return m.NickName
	}
	return ""
}

func (m *MemberListSingle) GetAvatar() string {
	if m != nil {
		return m.Avatar
	}
	return ""
}

func (m *MemberListSingle) GetLevel() int32 {
	if m != nil {
		return m.Level
	}
	return 0
}

func (m *MemberListSingle) GetIntegral() int64 {
	if m != nil {
		return m.Integral
	}
	return 0
}

func (m *MemberListSingle) GetBalance() float64 {
	if m != nil {
		return m.Balance
	}
	return 0
}

func (m *MemberListSingle) GetWalletBalance() float64 {
	if m != nil {
		return m.WalletBalance
	}
	return 0
}

func init() {
	proto.RegisterType((*FavoriteQueryRequest)(nil), "FavoriteQueryRequest")
	proto.RegisterType((*PagingShopFavoriteResponse)(nil), "PagingShopFavoriteResponse")
	proto.RegisterType((*SPagingShopFavorite)(nil), "SPagingShopFavorite")
	proto.RegisterType((*PagingGoodsFavoriteResponse)(nil), "PagingGoodsFavoriteResponse")
	proto.RegisterType((*SPagingGoodsFavorite)(nil), "SPagingGoodsFavorite")
	proto.RegisterType((*QueryPagingShopRequest)(nil), "QueryPagingShopRequest")
	proto.RegisterType((*QueryPagingShopsResponse)(nil), "QueryPagingShopsResponse")
	proto.RegisterType((*QueryPagingShop)(nil), "QueryPagingShop")
	proto.RegisterType((*MemberOrderPagingRequest)(nil), "MemberOrderPagingRequest")
	proto.RegisterType((*MemberOrderPagingResponse)(nil), "MemberOrderPagingResponse")
	proto.RegisterType((*PagedMemberSubOrder)(nil), "PagedMemberSubOrder")
	proto.RegisterType((*MemberListRequest)(nil), "MemberListRequest")
	proto.RegisterType((*MemberSearchRequest)(nil), "MemberSearchRequest")
	proto.RegisterType((*MemberListResponse)(nil), "MemberListResponse")
	proto.RegisterType((*MemberListSingle)(nil), "MemberListSingle")
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4

// QueryServiceClient is the client API for QueryService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type QueryServiceClient interface {
	// 获取分页店铺数据
	PagingShops(ctx context.Context, in *QueryPagingShopRequest, opts ...grpc.CallOption) (*QueryPagingShopsResponse, error)
	// 查询分页普通订单
	MemberNormalOrders(ctx context.Context, in *MemberOrderPagingRequest, opts ...grpc.CallOption) (*MemberOrderPagingResponse, error)
	// 查询分页批发订单
	QueryWholesaleOrders(ctx context.Context, in *MemberOrderPagingRequest, opts ...grpc.CallOption) (*MemberOrderPagingResponse, error)
	// 查询分页交易/服务类订单
	QueryTradeOrders(ctx context.Context, in *MemberOrderPagingRequest, opts ...grpc.CallOption) (*MemberOrderPagingResponse, error)
	// 查询会员列表
	QueryMemberList(ctx context.Context, in *MemberListRequest, opts ...grpc.CallOption) (*MemberListResponse, error)
	// 查询会员列表
	SearchMembers(ctx context.Context, in *MemberSearchRequest, opts ...grpc.CallOption) (*MemberListResponse, error)
	// 获取分页店铺收藏
	QueryMemberFavoriteShops(ctx context.Context, in *FavoriteQueryRequest, opts ...grpc.CallOption) (*PagingShopFavoriteResponse, error)
	// 获取分页店铺收藏
	QueryMemberFavoriteGoods(ctx context.Context, in *FavoriteQueryRequest, opts ...grpc.CallOption) (*PagingGoodsFavoriteResponse, error)
}

type queryServiceClient struct {
	cc *grpc.ClientConn
}

func NewQueryServiceClient(cc *grpc.ClientConn) QueryServiceClient {
	return &queryServiceClient{cc}
}

func (c *queryServiceClient) PagingShops(ctx context.Context, in *QueryPagingShopRequest, opts ...grpc.CallOption) (*QueryPagingShopsResponse, error) {
	out := new(QueryPagingShopsResponse)
	err := c.cc.Invoke(ctx, "/QueryService/PagingShops", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryServiceClient) MemberNormalOrders(ctx context.Context, in *MemberOrderPagingRequest, opts ...grpc.CallOption) (*MemberOrderPagingResponse, error) {
	out := new(MemberOrderPagingResponse)
	err := c.cc.Invoke(ctx, "/QueryService/MemberNormalOrders", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryServiceClient) QueryWholesaleOrders(ctx context.Context, in *MemberOrderPagingRequest, opts ...grpc.CallOption) (*MemberOrderPagingResponse, error) {
	out := new(MemberOrderPagingResponse)
	err := c.cc.Invoke(ctx, "/QueryService/QueryWholesaleOrders", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryServiceClient) QueryTradeOrders(ctx context.Context, in *MemberOrderPagingRequest, opts ...grpc.CallOption) (*MemberOrderPagingResponse, error) {
	out := new(MemberOrderPagingResponse)
	err := c.cc.Invoke(ctx, "/QueryService/QueryTradeOrders", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryServiceClient) QueryMemberList(ctx context.Context, in *MemberListRequest, opts ...grpc.CallOption) (*MemberListResponse, error) {
	out := new(MemberListResponse)
	err := c.cc.Invoke(ctx, "/QueryService/QueryMemberList", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryServiceClient) SearchMembers(ctx context.Context, in *MemberSearchRequest, opts ...grpc.CallOption) (*MemberListResponse, error) {
	out := new(MemberListResponse)
	err := c.cc.Invoke(ctx, "/QueryService/SearchMembers", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryServiceClient) QueryMemberFavoriteShops(ctx context.Context, in *FavoriteQueryRequest, opts ...grpc.CallOption) (*PagingShopFavoriteResponse, error) {
	out := new(PagingShopFavoriteResponse)
	err := c.cc.Invoke(ctx, "/QueryService/QueryMemberFavoriteShops", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryServiceClient) QueryMemberFavoriteGoods(ctx context.Context, in *FavoriteQueryRequest, opts ...grpc.CallOption) (*PagingGoodsFavoriteResponse, error) {
	out := new(PagingGoodsFavoriteResponse)
	err := c.cc.Invoke(ctx, "/QueryService/QueryMemberFavoriteGoods", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// QueryServiceServer is the server API for QueryService service.
type QueryServiceServer interface {
	// 获取分页店铺数据
	PagingShops(context.Context, *QueryPagingShopRequest) (*QueryPagingShopsResponse, error)
	// 查询分页普通订单
	MemberNormalOrders(context.Context, *MemberOrderPagingRequest) (*MemberOrderPagingResponse, error)
	// 查询分页批发订单
	QueryWholesaleOrders(context.Context, *MemberOrderPagingRequest) (*MemberOrderPagingResponse, error)
	// 查询分页交易/服务类订单
	QueryTradeOrders(context.Context, *MemberOrderPagingRequest) (*MemberOrderPagingResponse, error)
	// 查询会员列表
	QueryMemberList(context.Context, *MemberListRequest) (*MemberListResponse, error)
	// 查询会员列表
	SearchMembers(context.Context, *MemberSearchRequest) (*MemberListResponse, error)
	// 获取分页店铺收藏
	QueryMemberFavoriteShops(context.Context, *FavoriteQueryRequest) (*PagingShopFavoriteResponse, error)
	// 获取分页店铺收藏
	QueryMemberFavoriteGoods(context.Context, *FavoriteQueryRequest) (*PagingGoodsFavoriteResponse, error)
}

func RegisterQueryServiceServer(s *grpc.Server, srv QueryServiceServer) {
	s.RegisterService(&_QueryService_serviceDesc, srv)
}

func _QueryService_PagingShops_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(QueryPagingShopRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServiceServer).PagingShops(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/QueryService/PagingShops",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServiceServer).PagingShops(ctx, req.(*QueryPagingShopRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _QueryService_MemberNormalOrders_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(MemberOrderPagingRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServiceServer).MemberNormalOrders(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/QueryService/MemberNormalOrders",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServiceServer).MemberNormalOrders(ctx, req.(*MemberOrderPagingRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _QueryService_QueryWholesaleOrders_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(MemberOrderPagingRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServiceServer).QueryWholesaleOrders(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/QueryService/QueryWholesaleOrders",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServiceServer).QueryWholesaleOrders(ctx, req.(*MemberOrderPagingRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _QueryService_QueryTradeOrders_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(MemberOrderPagingRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServiceServer).QueryTradeOrders(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/QueryService/QueryTradeOrders",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServiceServer).QueryTradeOrders(ctx, req.(*MemberOrderPagingRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _QueryService_QueryMemberList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(MemberListRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServiceServer).QueryMemberList(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/QueryService/QueryMemberList",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServiceServer).QueryMemberList(ctx, req.(*MemberListRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _QueryService_SearchMembers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(MemberSearchRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServiceServer).SearchMembers(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/QueryService/SearchMembers",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServiceServer).SearchMembers(ctx, req.(*MemberSearchRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _QueryService_QueryMemberFavoriteShops_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FavoriteQueryRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServiceServer).QueryMemberFavoriteShops(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/QueryService/QueryMemberFavoriteShops",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServiceServer).QueryMemberFavoriteShops(ctx, req.(*FavoriteQueryRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _QueryService_QueryMemberFavoriteGoods_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FavoriteQueryRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServiceServer).QueryMemberFavoriteGoods(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/QueryService/QueryMemberFavoriteGoods",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServiceServer).QueryMemberFavoriteGoods(ctx, req.(*FavoriteQueryRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _QueryService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "QueryService",
	HandlerType: (*QueryServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "PagingShops",
			Handler:    _QueryService_PagingShops_Handler,
		},
		{
			MethodName: "MemberNormalOrders",
			Handler:    _QueryService_MemberNormalOrders_Handler,
		},
		{
			MethodName: "QueryWholesaleOrders",
			Handler:    _QueryService_QueryWholesaleOrders_Handler,
		},
		{
			MethodName: "QueryTradeOrders",
			Handler:    _QueryService_QueryTradeOrders_Handler,
		},
		{
			MethodName: "QueryMemberList",
			Handler:    _QueryService_QueryMemberList_Handler,
		},
		{
			MethodName: "SearchMembers",
			Handler:    _QueryService_SearchMembers_Handler,
		},
		{
			MethodName: "QueryMemberFavoriteShops",
			Handler:    _QueryService_QueryMemberFavoriteShops_Handler,
		},
		{
			MethodName: "QueryMemberFavoriteGoods",
			Handler:    _QueryService_QueryMemberFavoriteGoods_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "query_service.proto",
}

func init() { proto.RegisterFile("query_service.proto", fileDescriptor_query_service_8e6a093884e55b4a) }

var fileDescriptor_query_service_8e6a093884e55b4a = []byte{
	// 1082 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0x5f, 0x6f, 0xdb, 0x36,
	0x10, 0x8f, 0xfc, 0x2f, 0xce, 0x39, 0x49, 0x13, 0xda, 0x6d, 0x15, 0xb7, 0xe8, 0x3c, 0x61, 0xc8,
	0xbc, 0x0d, 0x50, 0x80, 0xec, 0x71, 0xdb, 0x43, 0xb2, 0x2d, 0x9b, 0xd1, 0xd4, 0x71, 0xe5, 0x6c,
	0x1d, 0x86, 0xad, 0x05, 0x6d, 0x1d, 0x64, 0x21, 0x92, 0xe8, 0x8a, 0xb4, 0xdb, 0x7c, 0x88, 0x3d,
	0xed, 0x03, 0xee, 0xb5, 0x4f, 0xfb, 0x0c, 0x03, 0x49, 0xd1, 0x96, 0x1d, 0x39, 0x18, 0xd0, 0x27,
	0xf1, 0x77, 0x3f, 0xf2, 0xc8, 0xbb, 0xfb, 0xf1, 0x44, 0x68, 0xbe, 0x9d, 0x61, 0x7a, 0xfb, 0x86,
	0x63, 0x3a, 0x0f, 0xc7, 0xe8, 0x4e, 0x53, 0x26, 0x58, 0x7b, 0x37, 0x88, 0xd8, 0x88, 0x46, 0x19,
	0x7a, 0x1c, 0x23, 0xe7, 0x34, 0xc0, 0x13, 0x96, 0xfa, 0x98, 0xbe, 0xf1, 0x05, 0xd3, 0x84, 0x33,
	0x85, 0xd6, 0x05, 0x9d, 0xb3, 0x34, 0x14, 0xf8, 0x52, 0x7a, 0xf1, 0xf0, 0xed, 0x0c, 0xb9, 0x20,
	0x6d, 0xa8, 0xc7, 0x18, 0x8f, 0x30, 0xed, 0xf9, 0xb6, 0xd5, 0xb1, 0xba, 0x65, 0x6f, 0x81, 0x49,
	0x0b, 0xaa, 0x23, 0x0c, 0xc2, 0xc4, 0x2e, 0x29, 0x42, 0x03, 0x72, 0x00, 0x65, 0x4c, 0x7c, 0xbb,
	0xac, 0x6c, 0x72, 0x28, 0xe7, 0xbd, 0x9b, 0x60, 0x8a, 0x76, 0xa5, 0x63, 0x75, 0x77, 0x3c, 0x0d,
	0x9c, 0x3f, 0xa0, 0x3d, 0xa0, 0x41, 0x98, 0x04, 0xc3, 0x09, 0x9b, 0x9a, 0xbd, 0x3d, 0xe4, 0x53,
	0x96, 0x70, 0x94, 0x6b, 0x04, 0x13, 0x34, 0xca, 0x36, 0xd5, 0x80, 0x74, 0xa1, 0xe2, 0x53, 0x41,
	0xed, 0x52, 0xa7, 0xdc, 0x6d, 0x9c, 0xb6, 0xdc, 0x61, 0x81, 0x07, 0x35, 0xc3, 0xf9, 0xcb, 0x82,
	0x66, 0x01, 0x4b, 0xf6, 0xa1, 0xb4, 0x88, 0xa4, 0xd4, 0xf3, 0xc9, 0x23, 0xa8, 0x49, 0xbe, 0xe7,
	0x67, 0x41, 0x64, 0x48, 0xc6, 0x2d, 0x47, 0x7d, 0x1a, 0xa3, 0x0a, 0x65, 0xc7, 0x5b, 0x60, 0x42,
	0xa0, 0x72, 0xc9, 0x02, 0x96, 0x85, 0xa3, 0xc6, 0xe4, 0x19, 0xc0, 0x2f, 0x53, 0x9f, 0x0a, 0xbc,
	0x0e, 0x63, 0xb4, 0xab, 0xca, 0x57, 0xce, 0xe2, 0xbc, 0x86, 0x27, 0xfa, 0x34, 0x3f, 0x31, 0xe6,
	0xf3, 0xff, 0x19, 0xee, 0x17, 0x2b, 0xe1, 0x3e, 0x34, 0xe1, 0xae, 0xba, 0xd0, 0xf1, 0x7e, 0xb0,
	0xa0, 0x55, 0x44, 0xdf, 0x09, 0xb8, 0x05, 0xd5, 0xe1, 0xcd, 0x6c, 0x11, 0xaf, 0x06, 0xe4, 0x29,
	0xec, 0xa8, 0x65, 0xb9, 0x78, 0x97, 0x06, 0xb9, 0xa6, 0x17, 0xd3, 0x60, 0x51, 0x40, 0x05, 0xe4,
	0x9a, 0xab, 0x64, 0x38, 0xc1, 0x68, 0x8e, 0x5c, 0x45, 0x5c, 0xf7, 0x96, 0x06, 0x95, 0x40, 0xc1,
	0xc6, 0x37, 0xfd, 0x59, 0x6c, 0xd7, 0x3a, 0x56, 0xb7, 0xea, 0x2d, 0xb0, 0x5c, 0x39, 0xa4, 0x11,
	0x0e, 0xd2, 0x70, 0x8c, 0xf6, 0xb6, 0xde, 0x6d, 0x61, 0x58, 0x4b, 0x65, 0xfd, 0x4e, 0x2a, 0x7d,
	0x78, 0xa4, 0x24, 0xba, 0xac, 0xae, 0x11, 0xeb, 0x31, 0xd4, 0x06, 0x34, 0xa5, 0x31, 0x57, 0xf1,
	0x36, 0x4e, 0xf7, 0x4d, 0xc6, 0xb4, 0xd5, 0xcb, 0x58, 0xe2, 0xc0, 0xee, 0x55, 0x12, 0xdd, 0x9e,
	0xcf, 0x78, 0x98, 0x20, 0xe7, 0x2a, 0x15, 0x75, 0x6f, 0xc5, 0xe6, 0xfc, 0x06, 0xf6, 0xda, 0x2e,
	0xbc, 0xb8, 0x5a, 0xc4, 0x54, 0xeb, 0x18, 0xaa, 0x73, 0x1a, 0xcd, 0x30, 0x2b, 0xd7, 0x81, 0xbb,
	0x7e, 0x4a, 0x4d, 0x3b, 0x7f, 0x5b, 0xf0, 0x60, 0x8d, 0xca, 0x55, 0x89, 0xa8, 0x2a, 0x11, 0xa8,
	0xa8, 0x52, 0x94, 0xb4, 0xc4, 0x4c, 0x15, 0xce, 0xa2, 0x90, 0xf2, 0xac, 0x3e, 0x1a, 0xc8, 0x99,
	0x3f, 0x33, 0x2e, 0x8c, 0x18, 0xe5, 0x78, 0x21, 0xd0, 0xea, 0xaa, 0x40, 0xbf, 0x4f, 0xd1, 0x64,
	0xb5, 0xa6, 0x76, 0xca, 0x59, 0x9c, 0xd7, 0x60, 0xbf, 0x50, 0x17, 0xfb, 0x4a, 0x76, 0x06, 0x7d,
	0xb4, 0x4d, 0x4d, 0x80, 0xe4, 0x9a, 0xc0, 0x32, 0xe7, 0xa5, 0xfb, 0x72, 0xee, 0xfc, 0x09, 0x47,
	0x05, 0xfe, 0xef, 0x4d, 0xe8, 0x97, 0xab, 0x09, 0x6d, 0xb9, 0x03, 0x1a, 0xa0, 0xaf, 0xbd, 0x0c,
	0x67, 0x23, 0xe5, 0xc8, 0x24, 0xf5, 0xdf, 0x32, 0x34, 0x0b, 0x68, 0x62, 0xc3, 0xb6, 0x1a, 0x2c,
	0x4e, 0x6e, 0xe0, 0x82, 0xe9, 0xb3, 0x2c, 0xcb, 0x06, 0xca, 0x70, 0x07, 0x34, 0xc5, 0x44, 0xf4,
	0x99, 0xb9, 0xfb, 0x06, 0x4b, 0xee, 0x57, 0x4c, 0x7c, 0x26, 0x1d, 0x56, 0x74, 0x2a, 0x0c, 0xce,
	0xf5, 0x92, 0xaa, 0x62, 0x8a, 0x7a, 0x49, 0x6d, 0xad, 0x97, 0x3c, 0x03, 0xe8, 0x09, 0x8c, 0xcf,
	0x62, 0x36, 0x4b, 0x84, 0xba, 0x0b, 0x96, 0x97, 0xb3, 0x90, 0x63, 0xd8, 0xff, 0x21, 0xe4, 0x63,
	0x39, 0xce, 0xe6, 0xd4, 0xd5, 0x9c, 0x35, 0xab, 0xf4, 0xf3, 0xe3, 0xfb, 0x69, 0x8a, 0x9c, 0x5f,
	0x20, 0xda, 0x3b, 0xda, 0xcf, 0xd2, 0x22, 0xf9, 0x01, 0x1d, 0xdf, 0xd0, 0x00, 0x25, 0x0f, 0x9a,
	0x5f, 0x5a, 0xe4, 0xd9, 0x7b, 0x7c, 0x40, 0x43, 0xdf, 0x6e, 0xa8, 0xcb, 0x90, 0x21, 0xd2, 0x81,
	0xc6, 0x45, 0x98, 0xd0, 0x28, 0xdb, 0x7c, 0x57, 0x2d, 0xcc, 0x9b, 0x54, 0x43, 0x11, 0x54, 0xa0,
	0xbd, 0xd7, 0xb1, 0xba, 0x87, 0x9e, 0x06, 0xea, 0x8a, 0xcb, 0xc1, 0x35, 0xbe, 0x17, 0xf6, 0x7e,
	0x76, 0xc5, 0x8d, 0x61, 0x4d, 0x8c, 0x0f, 0xd6, 0xc5, 0x48, 0x3e, 0x85, 0xaa, 0xcc, 0x01, 0xb7,
	0x0f, 0x54, 0xe5, 0x1b, 0xee, 0x50, 0x57, 0x4d, 0x60, 0xec, 0x69, 0xc6, 0xf9, 0x0a, 0x0e, 0x75,
	0xa9, 0x2f, 0x43, 0x2e, 0x8c, 0x50, 0x65, 0x14, 0xbe, 0x34, 0xd8, 0x56, 0xa7, 0x2c, 0xbb, 0xb9,
	0x46, 0xce, 0x09, 0x34, 0x33, 0x5d, 0x20, 0x4d, 0xc7, 0x13, 0x33, 0xdd, 0x86, 0xed, 0xe7, 0x78,
	0xfb, 0x8e, 0xa5, 0x5a, 0x1c, 0x3b, 0x9e, 0x81, 0xce, 0x77, 0x40, 0xf2, 0xde, 0x33, 0x99, 0x7e,
	0x6e, 0x04, 0x69, 0xa9, 0x63, 0x1d, 0xba, 0xcb, 0x39, 0xc3, 0x30, 0x09, 0x22, 0x34, 0x6a, 0xfc,
	0x60, 0xc1, 0xc1, 0x3a, 0x77, 0xef, 0xaf, 0x94, 0x40, 0x65, 0xc6, 0x31, 0x35, 0xf7, 0x5d, 0x8e,
	0xe5, 0xfc, 0x7e, 0x38, 0xbe, 0xc9, 0xff, 0x82, 0x0c, 0x96, 0x81, 0x9e, 0xcd, 0xa9, 0xa0, 0x69,
	0x76, 0xef, 0x33, 0x24, 0x8b, 0x71, 0x89, 0x73, 0x8c, 0x94, 0x02, 0xab, 0x9e, 0x06, 0xd2, 0x53,
	0x2f, 0x11, 0x18, 0xa4, 0x34, 0x52, 0x02, 0x2c, 0x7b, 0x0b, 0x2c, 0x73, 0x70, 0x4e, 0x23, 0x9a,
	0x64, 0x9d, 0xd8, 0xf2, 0x0c, 0x24, 0x9f, 0xc1, 0xde, 0x2b, 0x1a, 0x45, 0x28, 0x0c, 0xaf, 0x95,
	0xb7, 0x6a, 0x3c, 0xfd, 0xa7, 0x02, 0xbb, 0xaa, 0x9b, 0x0d, 0xf5, 0xb3, 0x83, 0x9c, 0x41, 0x23,
	0xd7, 0x33, 0xc9, 0x63, 0xb7, 0xb8, 0x59, 0xb7, 0x8f, 0xdc, 0x8d, 0xfd, 0xf5, 0x85, 0xc9, 0x7e,
	0x9f, 0xa5, 0x31, 0x8d, 0x54, 0xed, 0x39, 0x39, 0x72, 0x37, 0x35, 0xa8, 0x76, 0xdb, 0xdd, 0xd8,
	0x5b, 0x9c, 0x2d, 0x72, 0x05, 0x2d, 0xb5, 0xd5, 0xab, 0x09, 0x8b, 0x90, 0xd3, 0x08, 0x3f, 0xd6,
	0xe1, 0x73, 0x38, 0x50, 0x0e, 0xaf, 0x53, 0xea, 0x7f, 0xb4, 0xb3, 0x6f, 0xb3, 0xbf, 0xc1, 0x52,
	0x2f, 0x84, 0xb8, 0x77, 0xa4, 0xdd, 0x6e, 0xba, 0x77, 0x05, 0xa9, 0x56, 0xef, 0x69, 0x4d, 0x6b,
	0x96, 0x93, 0x96, 0x5b, 0xa0, 0xf4, 0x4d, 0xab, 0x07, 0xd9, 0x4f, 0x4e, 0x93, 0xe6, 0xcd, 0xa0,
	0x0b, 0xf7, 0xd0, 0x2d, 0x7a, 0x10, 0xb6, 0x9f, 0xb8, 0x9b, 0x5f, 0x6d, 0xce, 0x16, 0x79, 0x59,
	0xe8, 0x51, 0x3d, 0x25, 0x36, 0x79, 0x7c, 0xea, 0xde, 0xf3, 0x32, 0x72, 0xb6, 0xce, 0x3f, 0x81,
	0xe6, 0x98, 0xc5, 0x6e, 0x10, 0x8a, 0xc9, 0x6c, 0xe4, 0x06, 0xec, 0x94, 0xb9, 0xe9, 0x74, 0xfc,
	0x7b, 0xdd, 0x3d, 0xf9, 0x46, 0xbd, 0x5d, 0x47, 0x35, 0xf5, 0xf9, 0xfa, 0xbf, 0x00, 0x00, 0x00,
	0xff, 0xff, 0xcf, 0x66, 0x40, 0x37, 0x00, 0x0b, 0x00, 0x00,
}


text:
A simple PHP package for sending notifications from laravel via [Slack](https://slack.com) with [incoming webhooks](https://my.slack.com/services/new/incoming-webhook) or via email.
This package will automatically format an instance of exception object, string text, or an array for a message.
While sending an exception as a message, it will attach an information of "user agent", "request uri", and "ip address.
For Laravel, using this class in a Exceptions\Handler.php class is prefered.

## Requirements

* PHP >=7.0
* laravel/framework >=5.3
* laravel/slack-notification-channel: "^2.3.1"

## Installation
### 1. Use composer to install this package.

```
composer require tdx/notify-laravel
```

### 2. Add 'provider' and 'alias' for config\app.php. (No need above Laravel 5.5. Thanks to Auto-Discovery feature! YaY)
```
'providers' => [ ...
        Notify\Laravel\NotifyServiceProvider::class,
        ...],

'aliases' => [ ...
        'Notify' => Notify\Laravel\Facades\Notify::class,
        ...],
```

### 3. Publish necessary config and view files.
```
php artisan vendor:publish --tag='notify-laravel'
```
add `--force` option to overwrite previously published files.

These commands should create
```
/config/notify.php,
/resources/views/vendor/notify/mail.blade.php
```

If these publish commands does not work, try
```
php artisan config:clear
```
It will clear the config cache.

### 4. [Create an incoming webhook](https://my.slack.com/services/new/incoming-webhook) on your Slack account. You need to write Webhook URL in config\slack.php file to send a message via Slack.

## Settings
Write values for some config files.

### In config\slack.php,
```
'endpoint'= (e.g.) 'https://hooks.slack.com/services/xxx/yyy/zzz' //webhook URL for your incoming webhook
'channel'= (e.g.) '#general' // channnel or username where you want to send a message. null for default
'username'= (e.g.) 'Robot' // username that is going to be displayed on the message. null for default
'link_names' = (e.g.) true // needs to be true to send with mention <- NEW
```

### In .env, set suitable values for mail,
```
MAIL_DRIVER= (e.g.) smtp
MAIL_HOST= (e.g.) smtp.gmail.com
MAIL_PORT= (e.g.) 465
MAIL_USERNAME= (e.g.) YOUR_EMAIL_ADDRESS
MAIL_PASSWORD= (e.g.) YOUR_EMAIL_PASSWORD
MAIL_ENCRYPTION= (e.g.) ssl
```

and add
```
NOTIFY_SLACK=(e.g.) true
NOTIFY_MAIL=(e.g.) true
NOTIFY_SLACK_MENTION=(e.g.) @here
```
If the value = true, the adapter is turned on (The adapter can send a message). If the value = false, the adapter is turned off (The adapter cannot send a message). If there is no value defined in .env file, false is used as default.
Mention will be attached at the beginning of the content.

## How to send Messages
This class automatically formats and sends an message. The content can be an exception object, string, or an array.

* Sending messages from Facade.
```
\Notify::send($content); // sends an exception with default setting.
\Notify::send($content, $options, 'slack'); // keys of options array for Slack =['from', 'to', 'icon', 'fields', 'max_retry', 'force']
\Notify::send($content, $options, 'mail'); // keys of options array for Mail =['from', 'to', 'subject', 'fields', 'max_retry', 'force']
\Notify::force($content); // force method forces to send the content regardless of what the active value is.
\Notify::send($content, ['mention' => '@here']); // sends an exception with mention.

```

* Sending messages from Instance.

```
$notify = new \Notify\Laravel\Notify(); // instance of Notify with default setting.
$notify->setTo($address); // change address. (channel or username for slack)
$notify->setFrom($username); // change username on the message.
$notify->setAdapter($adapter_name); // set adapter to 'slack' or 'mail'
$notify->send($content); // send message
// or use $notify->force($content) to force to send.
```

## Options for Adapters
For SlackAdapter,

Parameter | Type | Description
----- | ---- | -----------
`to` | string | channel or username that messages is going to be sent to.
`from` | string | username for the message.
`icon` | string | The icon URL or stamp string. (e.g.) `:smile:`
`fields` | array | has UserAgent and RequestUri if there exist.
`max_retry` | bool | maximum number of retries. (default `max_retry = 3`)
`force` | bool | forces to send if it is true. Otherwise, do not force (follows to config/active values).
`mention` | string | mention is attached at the beginning of the content. (e.g.) '@channel'
`raw` | bool | send text without formatting if it is true.

For MailAdapter,

Parameter | Type | Description
----- | ---- | -----------
`to` | string | email address that messages is going to be sent to.
`from` | string | username for the email. This does not need to be actual email address.
`subject` | string | subject for the email.
`fields` | array | has UserAgent and RequestUri if there exist.
`max_retry` | bool | maximum number of retries. (default `max_retry = 3`)
`force` | bool | force to send if it is true. Otherwise, do not force (follow to active values).

## Example of Implementation using Laravel Exception Handler

In App\Exceptions\Handler class,
```
use Notify\Laravel\Exception\NotifyException;

    public function report(Exception $exception)
    {
        if ($this->shouldntReport($e)) {
            return;
        }

        parent::report($exception);

        try {
            try {
                // Use Notify class here.
                \Notify::send($exception);  // Send with default settings.

            } catch (NotifyException $ne) {
                try {
                    // send via mail. (Another way to send a notification if first one failed.)
                    \Notify::send($ne, ['to' => 'YOUR_EMAIL_ADDRESS'], 'mail');
                    parent::report($ne);
                } catch (NotifyException $ne2) {
                    // Problem of mail settings. Dont't use Notify class here to avoid loop.
                    parent::report($ne2);
                }
            }
        } catch (Exception $e) {
            // Notify class should throw only NotifyException, but just in case, catch other Exception here to avoid loop.
            parent::report($e);
        }
    }
```

## How to Create Other Adapter

1. Create a class which implements AdapterInterface in an Adapters folder.
2. Name the class to xxxAdapter. xxx will be an adapter name that is going to be called.
3. Modify config/config.php file to define default values for the adapter.

## Notes
If an adapter failed to send a message, it will automatically retry to send it. Write ['max_retry' = SOME_NUMBER] in the options array to change the number of attempts (default max_retry = 3). If all attempts failed, it will throw NotifyException. To get more specific info about the error, you should check laravel.log file (The log file captures errors for all attempts).

redpajama_set_name: RedPajamaGithub


text:
<?php
################################################################################
#                                  CHANGELOG                                   #
################################################################################
#  7/22/99 - Keith Schoenefeld:	Cleaned up code, converted all IF(): to if(){. #
################################################################################

include_once("../include/irm_conf.php");
include_once("../include/class.user");
include_once("../include/func.irm");
include_once("../include/func.header_footer");

include_once("../include/func.showitem");

AuthCheck("tech");

$message = '';
if ( $submit == 'Surplus' ) {
   $message = "<font color=\"red\"> - Please Verify to Surplus Item </font>";
}

commonHeader("Daedalus Surplus $message");

//logevent(-1, "IRM", 5, "surplus", "$IRMName surplussed $tablename $ID");

if ( $submit == 'Surplus' ) {
showItem($ID, $tablename, $col1, $col2);

   echo "<form method=POST action=\"general-surplus-move.php\">";
   echo "<input type=hidden name=ID value=$ID>";
   echo "<input type=hidden name=tablename value=$tablename>";
   echo "<input type=hidden name=col1 value=$col1>";
   echo "<input type=hidden name=col2 value=$col2>";
   echo "<input type=submit name='submit' value=Verify>";
   echo "</form>";
}

commonFooter();
?>


text:
#pragma once

#include <math.h>

#include <MathLib/MathLibDll.h>

#include <MathLib/Point3d.h>
#include <MathLib/Matrix.h>

//class Matrix4x4;

/*================================================================================================================================================================*
 | This class implements a Vector3d in a three dimensional space. Note that the w-coordinate of a vector expressed in homogenous coordinates is 0.                  |
 *================================================================================================================================================================*/
class MATHLIB_DECLSPEC Vector3d : public ThreeTuple {
public:
	/**
		A bunch of useful constructors.
	*/
	Vector3d();
	Vector3d(double x, double y, double z);
	Vector3d(double x, double y);
	Vector3d(const Vector3d &other);
	/**
		This vector points from the origin to the point p
	*/
	Vector3d(const Point3d &p);
	/**
		This vector points from p1 to p2.
	*/
	Vector3d(const Point3d &p1, const Point3d &p2);

	/**
		Destructor
	*/
	~Vector3d();

	/**
		a copy operator
	*/
	inline Vector3d& operator = (const Vector3d &other){
		this->x = other.x;
		this->y = other.y;
		this->z = other.z;
		return *this;
	}

	/**
		a fast add function: *this = a+b
	*/
	inline void setToSum(const Vector3d& a, const Vector3d& b){
		this->x = a.x + b.x;
		this->y = a.y + b.y;
		this->z = a.z + b.z;
	}

	/**
		a fast add function: *this = a x b
	*/
	inline void setToCrossProduct(const Vector3d& a, const Vector3d& b){
		this->x = a.y * b.z - a.z * b.y;
		this->y = a.z * b.x - a.x * b.z;
		this->z = a.x * b.y - a.y * b.x;
	}

	/**
		addition of two vectors - results in a new vector.
	*/
	inline Vector3d operator + (const Vector3d &v) const{
		return Vector3d(this->x + v.x, this->y + v.y,this->z + v.z);
	}

	/**
		a fast subtraction function: *this = a - b
	*/
	inline void setToDifference(const Vector3d& a, const Vector3d& b){
		this->x = a.x - b.x;
		this->y = a.y - b.y;
		this->z = a.z - b.z;
	}

	/**
		subtraction of two vectors - results in a new vector.
	*/
	inline Vector3d operator - (const Vector3d &v) const{
		return Vector3d(this->x - v.x, this->y - v.y, this->z - v.z);
	}

	/**
		a fast multiplication by a constant function *this *= n
	*/
	inline void multiplyBy(double n){
		this->x *= n;
		this->y *= n;
		this->z *= n;
	}

	/**
		this method is used to compute two vectors that are orhtogonal to the current vector.
		It is assumed that the current vector is a unit vector.
	*/
	inline void getOrthogonalVectors(Vector3d* a, Vector3d* b){
		//try to choose a vector in the y-z plane, if the z-coordinate is significant enough
		if (z*z > 0.5){
			double tmp1 = y*y+z*z;
			double tmp = 1/sqrt(tmp1);
			a->x = 0;
			a->y = -z*tmp;
			a->z = y*tmp;
			//and the third vector is the cross product of *this and a - but take advantage of the fact that we know the two vectors
			b->x = tmp1*tmp;
			b->y = -x * a->z;
			b->z = x * a->y;
		}else{	//otherwise, the other two components must be significant enough - so choose a vector in the x-y plane
			double tmp1 = x*x+y*y;
			double tmp = 1/sqrt(tmp1);
			a->x = -y*tmp;
			a->y = x*tmp;
			a->z = 0;
			//and again, set the last one to the cross product...
			b->x = -z*a->y;
			b->y = z*a->x;
			b->z = tmp*tmp1;
		}
	}

	/**
		another fast multiplication by a constant: *this = a * n
	*/
	inline void setToProduct(const Vector3d& a, double n){
		this->x = a.x * n;
		this->y = a.y * n;
		this->z = a.z * n;
	}

	/**
		a fast addition of a vector multiplied by scalar
	*/
	inline void addScaledVector(const Vector3d& a, double s){
		this->x += a.x * s;
		this->y += a.y * s;
		this->z += a.z * s;
	}

	/**
		a fast addition of a vector
	*/
	inline void addVector(const Vector3d& a){
		this->x += a.x;
		this->y += a.y;
		this->z += a.z;
	}

	/**
		computes the vector between the two points
	*/
	inline void setToVectorBetween(const Point3d& a, const Point3d& b){
		this->x = b.x - a.x;
		this->y = b.y - a.y;
		this->z = b.z - a.z;
	}

	/**
		multiplication by a constant - results in a new vector.
	*/
	inline Vector3d operator * (double n) const{
		return Vector3d(n*this->x, n*this->y, n*this->z);
	}
	/**
		dividing by a constant - results in a new vector
	*/
	inline Vector3d operator / (double n) const{
		double m = 1.0/n;
		return Vector3d(this->x*m, this->y*m, this->z*m);
	}
	/**
		add a new vector to the current one.
	*/
	inline Vector3d& operator += (const Vector3d &v){
		this->x += v.x;
		this->y += v.y;
		this->z += v.z;
		return (*this);
	}
	/**
		subtract a new vector to the current one.
	*/
	inline Vector3d& operator -= (const Vector3d &v){
		this->x -= v.x;
		this->y -= v.y;
		this->z -= v.z;
		return (*this);
	}
	/**
		multiply the current vector by a constant
	*/
	inline Vector3d& operator *= (double n){
		this->x *= n;
		this->y *= n;
		this->z *= n;

		return (*this);
	}
	/**
		divide the current vector by a constant.
	*/
	inline Vector3d& operator /= (double n){
		double m = 1.0/n;
		this->x *= m;
		this->y *= m;
		this->z *= m;
		return (*this);
	}

	/**
		Returns a vector that has all its components multiplied by -1.
	*/
	inline Vector3d operator - (){
		return Vector3d(-this->x, -this->y, -this->z);
	}

	/**
		computes the dot product of this vector with v.
	*/
	inline double dotProductWith(const Vector3d &v) const{
		return (this->x * v.x + this->y*v.y + this->z * v.z);
	}
	/**
		computes the cross product of this vector with v (*this x v).
	*/
	inline Vector3d crossProductWith(const Vector3d &v) const{
		/*
			Easiest way to figure it out is to set it up like this:
								___________________
							Ux | Uy   Uz   Ux   Uy | Uz
							Vx | Vy   Vz   Vx   Vy | Vz
								-------------------
			Cross product is given by cross multiplying the items in the box, and subing the other
			diagonal
		*/
		Vector3d result;
		const Vector3d& u = *this;
		result.x = u.y * v.z - u.z * v.y;
		result.y = u.z * v.x - u.x * v.z;
		result.z = u.x * v.y - u.y * v.x;

		return result;
	}
	/**
		computes the two norm (length) of the current vector
	*/
	inline double length() const{
		return sqrt(x*x+y*y+z*z);
	}

	/**
		computes the projection of the current vector on the vector v.
	*/
	Vector3d projectionOn(const Vector3d &v) const {
	/*  Here's how it goes...
		proj = V/|V| * |U| * cos(angle) = V/|V| * |U| * U.V / |U| / |V|
		after simplifying we get:
				U.V
		proj = ------- * V
			   |V|*|V|
	*/
		Vector3d u = *this;
		return v*(u.dotProductWith(v)/(v.length()*v.length()));
	}

	/**
		This method returns the angle between compute angle between this vector and vector v - this method only returns angles between 0 and PI.
		The angle returned is measured in radians.
	*/
	inline double angleWith(const Vector3d &v) const {
		// U.V = |U|*|V|*cos(angle)
		// therefore angle = inverse cos (U.V/(|U|*|V|))
		double result = this->dotProductWith(v) / (this->length() * v.length());
		return safeACOS(result);
	}

	/**
		This method changes the current vector to a unit vector.
	*/
	Vector3d& toUnit(){
		double d = this->length();
		if (IS_ZERO(d))
			return *this;
		*this /= d;
		return (*this);
	}

	/**
		This method returns a unit vector in the direction of the current vector.
	*/
	inline Vector3d unit() const{
		Vector3d v(this->x, this->y, this->z);
		v.toUnit();
		return v;
	}

	/**
		returns true if the vector is a zero length vector, false otherwise
	*/
	bool isZeroVector() const{
		return (*this == Vector3d(0,0,0));
	}

	/**
		this method returns the cross product matrix - r*
	*/
	void setCrossProductMatrix(Matrix *m) const;

	/**
		this method returns a vector that is the current vector, rotated by an angle alpha (in radians) around the axis given as parameter.
		IT IS ASSUMED THAT THE VECTOR PASSED IN IS A UNIT VECTOR!!!
	*/
	Vector3d rotate(double alpha, const Vector3d &axis);

};

MATHLIB_TEMPLATE( DynamicArray<Vector3d> )


text:
/**
 * Callback.java
 *
 * This file was auto-generated from WSDL
 * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
 */

package org.tandembrowsing.io.soap.out;

public interface Callback extends java.rmi.Remote {
    public java.lang.String displayEvent(java.lang.String eventType) throws java.rmi.RemoteException;
}


text:
layout: post
title: Encrypt App.config section using PowerShell as a Post-build event
date: 2009-03-24 14:51:35.000000000 +01:00
categories: []
tags:
- App.config
- Post-build event
- PowerShell
- Visual Studio
status: publish
type: post
published: true
meta:
  _edit_last: '1'
author:
  login: admin
  email: pvlerick@gmail.com
  display_name: Philippe
  first_name: Philippe
  last_name: Vlérick
excerpt: !ruby/object:Hpricot::Doc
  options: {}
---

It is very easy to encrypt a section of the Web.config file using Aspnet_regiis.exe tool, but there is no equivalent tool to encrypt a section of an application configuration file (App.config). It can be done very easily in code, as explained in this post, but there is now way to do that automatically. So I decided to write a PowerShell script that would encode a section of the given application's configuration file.

Here is what it looks like:

param(
  [String] $appPath = $(throw "Application exe file path is mandatory"),
  [String] $sectionName = $(throw "Configuration section is mandatory"),
  [String] $dataProtectionProvider = "DataProtectionConfigurationProvider"
)

#The System.Configuration assembly must be loaded
$configurationAssembly = "System.Configuration, Version=2.0.0.0, Culture=Neutral, PublicKeyToken=b03f5f7f11d50a3a"
[void] [Reflection.Assembly]::Load($configurationAssembly)

Write-Host "Encrypting configuration section..."

$configuration = [System.Configuration.ConfigurationManager]::OpenExeConfiguration($appPath)
$section = $configuration.GetSection($sectionName)

if (-not $section.SectionInformation.IsProtected)
{
  $section.SectionInformation.ProtectSection($dataProtectionProvider);
  $section.SectionInformation.ForceSave = [System.Boolean]::True;
  $configuration.Save([System.Configuration.ConfigurationSaveMode]::Modified);
}

Write-Host "Succeeded!"

Some explanation on the script:

System.Configuration assembly must be loaded. To do this, I use a technique described in a post from Lee Holmes.

The default data protection provider is DataProtectionConfigurationProvider. Still, you can specify another provider (for example, RSAProtectedConfigurationProvider) as a third argument.

Believe it or not, that was the easy part.

The next step is to run this script automatically as a Post-build event in Visual Studio, so the .config file that is "built" is encrypted. Sounds very easy, but is actually tricky, I had to try many times to get it right.

I will give it straight away, here is the command to put in the Post-build event:

powershell "& ""C:\Documents and Settings\VlericP\My Documents\WindowsPowerShell\EncryptAppConfigSection.ps1""" '$(TargetPath)' 'connectionStrings'

There are lot of quotes, but this is the only way to get it working. For detailed explanations on why, see this post: Invoking a PowerShell script from cmd.exe (or Start | Run).

Using this, you can have your App.config file unencrypted in your solution, and when you build the output .config file is encrypted.


text:
'use strict';

/**
 * Module dependencies.
 */
var should = require('should'),
	mongoose = require('mongoose'),
	User = mongoose.model('User'),
	Candidate = mongoose.model('Candidate');

/**
 * Globals
 */
var user, candidate;

/**
 * Unit tests
 */
describe('Candidate Model Unit Tests:', function() {
	beforeEach(function(done) {
		user = new User({
			firstName: 'Full',
			lastName: 'Name',
			displayName: 'Full Name',
			email: 'test@test.com',
			username: 'username',
			password: 'password'
		});

		user.save(function() {
			candidate = new Candidate({
				name: 'Candidate Name',
				user: user
			});

			done();
		});
	});

	describe('Method Save', function() {
		it('should be able to save without problems', function(done) {
			return candidate.save(function(err) {
				should.not.exist(err);
				done();
			});
		});

		it('should be able to show an error when try to save without name', function(done) {
			candidate.name = '';

			return candidate.save(function(err) {
				should.exist(err);
				done();
			});
		});
	});

	afterEach(function(done) {
		Candidate.remove().exec();
		User.remove().exec();

		done();
	});
});


text:
<?xml version="1.0" encoding="utf-8"?>
<geo:GeodesyML gml:id="TEHN00IRN" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:geo="urn:xml-gov-au:icsm:egeodesy:0.4" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <geo:siteLog gml:id="tehn_20160524.log">
        <geo:formInformation>
            <geo:preparedBy>Hamid Reza Nankali</geo:preparedBy>
            <geo:datePrepared>2016-05-24</geo:datePrepared>
            <geo:reportType>UPDATE</geo:reportType>
        </geo:formInformation>
        <geo:siteIdentification>
            <geo:siteName>TEHRAN</geo:siteName>
            <geo:fourCharacterID>TEHN</geo:fourCharacterID>
            <geo:monumentInscription></geo:monumentInscription>
            <geo:iersDOMESNumber>20404M002</geo:iersDOMESNumber>
            <geo:cdpNumber></geo:cdpNumber>
            <geo:monumentDescription codeSpace="urn:ga-gov-au:monument-description-type">PILLAR</geo:monumentDescription>
            <geo:heightOfTheMonument>0.8</geo:heightOfTheMonument>
            <geo:monumentFoundation>CONCRETE BLOCK ABOVE ROOF</geo:monumentFoundation>
            <geo:foundationDepth>0.4</geo:foundationDepth>
            <geo:markerDescription>BRASS PLATE</geo:markerDescription>
            <geo:dateInstalled>1999-10-01T00:00:00Z</geo:dateInstalled>
            <geo:geologicCharacteristic codeSpace="urn:ga-gov-au:geologic-characteristic-type">CONGLOMERATE</geo:geologicCharacteristic>
            <geo:bedrockType>SEDIMENTARY</geo:bedrockType>
            <geo:bedrockCondition></geo:bedrockCondition>
            <geo:fractureSpacing></geo:fractureSpacing>
            <geo:faultZonesNearby codeSpace="urn:ga-gov-au:fault-zones-type">YES NORTH TEHRAN FAULT</geo:faultZonesNearby>
            <geo:notes></geo:notes>
        </geo:siteIdentification>
        <geo:siteLocation>
            <geo:city>TEHRAN</geo:city>
            <geo:state>TEHRAN</geo:state>
            <geo:countryCodeISO codeList="http://xml.gov.au/icsm/geodesyml/codelists/country-codes-codelist.xml#GeodesyML_CountryCode" codeListValue="Islamic Republic of Iran" codeSpace="urn:xml-gov-au:icsm:egeodesy:0.4">IRN</geo:countryCodeISO>
            <geo:tectonicPlate codeSpace="urn:ga-gov-au:plate-type">EURASIAN</geo:tectonicPlate>
            <geo:approximatePositionITRF>
                <geo:cartesianPosition>
                    <gml:Point gml:id="itrf_cartesian" srsName="EPSG:7789">
                        <gml:pos>3240499.403 4049740.323 3701663.005</gml:pos>
                    </gml:Point>
                </geo:cartesianPosition>
                <geo:geodeticPosition>
                    <gml:Point gml:id="itrf_geodetic" srsName="EPSG:7912">
                        <gml:pos>35.6972805556 51.3340916667 1194.57</gml:pos>
                    </gml:Point>
                </geo:geodeticPosition>
            </geo:approximatePositionITRF>
            <geo:notes></geo:notes>
        </geo:siteLocation>
        <geo:gnssReceiver>
            <geo:GnssReceiver gml:id="gnss-receiver-1">
                <geo:manufacturerSerialNumber>3722A19461</geo:manufacturerSerialNumber>
                <geo:igsModelCode codeList="http://xml.gov.au/icsm/geodesyml/codelists/antenna-receiver-codelists.xml#GeodesyML_GNSSReceiverTypeCode" codeListValue="TRIMBLE 4000SSI" codeSpace="urn:xml-gov-au:icsm:egeodesy:0.4">TRIMBLE 4000SSI</geo:igsModelCode>
                <geo:satelliteSystem codeSpace="urn:ga-gov-au:satellite-system-type">GPS</geo:satelliteSystem>
                <geo:firmwareVersion>7.29</geo:firmwareVersion>
                <geo:elevationCutoffSetting>10.0</geo:elevationCutoffSetting>
                <geo:dateInstalled>1999-12-01T00:00:00Z</geo:dateInstalled>
                <geo:dateRemoved>2004-01-16T00:00:00Z</geo:dateRemoved>
                <geo:temperatureStabilization xsi:nil="true"></geo:temperatureStabilization>
            </geo:GnssReceiver>
            <geo:dateInserted>1999-12-01T00:00:00Z</geo:dateInserted>
        </geo:gnssReceiver>
        <geo:gnssReceiver>
            <geo:GnssReceiver gml:id="gnss-receiver-2">
                <geo:manufacturerSerialNumber>UC2200325003</geo:manufacturerSerialNumber>
                <geo:igsModelCode codeList="http://xml.gov.au/icsm/geodesyml/codelists/antenna-receiver-codelists.xml#GeodesyML_GNSSReceiverTypeCode" codeListValue="ASHTECH UZ-12" codeSpace="urn:xml-gov-au:icsm:egeodesy:0.4">ASHTECH UZ-12</geo:igsModelCode>
                <geo:satelliteSystem codeSpace="urn:ga-gov-au:satellite-system-type">GPS</geo:satelliteSystem>
                <geo:firmwareVersion>CN00</geo:firmwareVersion>
                <geo:elevationCutoffSetting>10.0</geo:elevationCutoffSetting>
                <geo:dateInstalled>2004-01-17T00:00:00Z</geo:dateInstalled>
                <geo:dateRemoved>2006-02-04T10:03:00Z</geo:dateRemoved>
                <geo:temperatureStabilization xsi:nil="true"></geo:temperatureStabilization>
            </geo:GnssReceiver>
            <geo:dateInserted>2004-01-17T00:00:00Z</geo:dateInserted>
        </geo:gnssReceiver>
        <geo:gnssReceiver>
            <geo:GnssReceiver gml:id="gnss-receiver-3">
                <geo:manufacturerSerialNumber>IR2200517006</geo:manufacturerSerialNumber>
                <geo:igsModelCode codeList="http://xml.gov.au/icsm/geodesyml/codelists/antenna-receiver-codelists.xml#GeodesyML_GNSSReceiverTypeCode" codeListValue="ASHTECH UZ-12" codeSpace="urn:xml-gov-au:icsm:egeodesy:0.4">ASHTECH UZ-12</geo:igsModelCode>
                <geo:satelliteSystem codeSpace="urn:ga-gov-au:satellite-system-type">GPS</geo:satelliteSystem>
                <geo:firmwareVersion>CQ00</geo:firmwareVersion>
                <geo:elevationCutoffSetting>10.0</geo:elevationCutoffSetting>
                <geo:dateInstalled>2006-02-04T10:03:00Z</geo:dateInstalled>
                <geo:dateRemoved>2016-05-24T06:25:00Z</geo:dateRemoved>
                <geo:temperatureStabilization xsi:nil="true"></geo:temperatureStabilization>
            </geo:GnssReceiver>
            <geo:dateInserted>2006-02-04T10:03:00Z</geo:dateInserted>
        </geo:gnssReceiver>
        <geo:gnssReceiver>
            <geo:GnssReceiver gml:id="gnss-receiver-4">
                <geo:manufacturerSerialNumber>5035k69752</geo:manufacturerSerialNumber>
                <geo:igsModelCode codeList="http://xml.gov.au/icsm/geodesyml/codelists/antenna-receiver-codelists.xml#GeodesyML_GNSSReceiverTypeCode" codeListValue="TRIMBLE NETR9" codeSpace="urn:xml-gov-au:icsm:egeodesy:0.4">TRIMBLE NETR9</geo:igsModelCode>
                <geo:satelliteSystem codeSpace="urn:ga-gov-au:satellite-system-type">GPS</geo:satelliteSystem>
                <geo:satelliteSystem codeSpace="urn:ga-gov-au:satellite-system-type">GLO</geo:satelliteSystem>
                <geo:firmwareVersion>4.7</geo:firmwareVersion>
                <geo:elevationCutoffSetting>10.0</geo:elevationCutoffSetting>
                <geo:dateInstalled>2016-05-24T06:30:00Z</geo:dateInstalled>
                <geo:dateRemoved></geo:dateRemoved>
                <geo:temperatureStabilization xsi:nil="true"></geo:temperatureStabilization>
            </geo:GnssReceiver>
            <geo:dateInserted>2016-05-24T06:30:00Z</geo:dateInserted>
        </geo:gnssReceiver>
        <geo:gnssAntenna>
            <geo:GnssAntenna gml:id="gnss-antenna-1">
                <geo:manufacturerSerialNumber>CR0220088298</geo:manufacturerSerialNumber>
                <geo:igsModelCode codeList="http://xml.gov.au/icsm/geodesyml/codelists/antenna-receiver-codelists.xml#GeodesyML_GNSSAntennaTypeCode" codeListValue="TRM29659.00 NONE" codeSpace="urn:xml-gov-au:icsm:egeodesy:0.4">TRM29659.00     NONE</geo:igsModelCode>
                <geo:antennaReferencePoint codeSpace="urn:ga-gov-au:antenna-reference-point-type">BPA</geo:antennaReferencePoint>
                <geo:marker-arpUpEcc.>0.0</geo:marker-arpUpEcc.>
                <geo:marker-arpNorthEcc.>0.0</geo:marker-arpNorthEcc.>
                <geo:marker-arpEastEcc.>0.0</geo:marker-arpEastEcc.>
                <geo:alignmentFromTrueNorth>3.0</geo:alignmentFromTrueNorth>
                <geo:antennaRadomeType codeSpace="urn:igs-org:gnss-radome-model-code">NONE</geo:antennaRadomeType>
                <geo:radomeSerialNumber></geo:radomeSerialNumber>
                <geo:antennaCableType></geo:antennaCableType>
                <geo:antennaCableLength>30.0</geo:antennaCableLength>
                <geo:dateInstalled>1999-12-01T00:00:00Z</geo:dateInstalled>
                <geo:dateRemoved>2004-01-16T00:00:00Z</geo:dateRemoved>
            </geo:GnssAntenna>
            <geo:dateInserted>1999-12-01T00:00:00Z</geo:dateInserted>
        </geo:gnssAntenna>
        <geo:gnssAntenna>
            <geo:GnssAntenna gml:id="gnss-antenna-2">
                <geo:manufacturerSerialNumber>CR520031632</geo:manufacturerSerialNumber>
                <geo:igsModelCode codeList="http://xml.gov.au/icsm/geodesyml/codelists/antenna-receiver-codelists.xml#GeodesyML_GNSSAntennaTypeCode" codeListValue="ASH701945B_M SNOW" codeSpace="urn:xml-gov-au:icsm:egeodesy:0.4">ASH701945B_M    SNOW</geo:igsModelCode>
                <geo:antennaReferencePoint codeSpace="urn:ga-gov-au:antenna-reference-point-type">BPA</geo:antennaReferencePoint>
                <geo:marker-arpUpEcc.>0.0</geo:marker-arpUpEcc.>
                <geo:marker-arpNorthEcc.>0.0</geo:marker-arpNorthEcc.>
                <geo:marker-arpEastEcc.>0.0</geo:marker-arpEastEcc.>
                <geo:alignmentFromTrueNorth>3.0</geo:alignmentFromTrueNorth>
                <geo:antennaRadomeType codeSpace="urn:igs-org:gnss-radome-model-code">SNOW</geo:antennaRadomeType>
                <geo:radomeSerialNumber></geo:radomeSerialNumber>
                <geo:antennaCableType></geo:antennaCableType>
                <geo:antennaCableLength>30.0</geo:antennaCableLength>
                <geo:dateInstalled>2004-01-17T00:00:00Z</geo:dateInstalled>
                <geo:dateRemoved>2016-05-24T06:25:00Z</geo:dateRemoved>
            </geo:GnssAntenna>
            <geo:dateInserted>2004-01-17T00:00:00Z</geo:dateInserted>
        </geo:gnssAntenna>
        <geo:gnssAntenna>
            <geo:GnssAntenna gml:id="gnss-antenna-3">
                <geo:manufacturerSerialNumber>1441017406</geo:manufacturerSerialNumber>
                <geo:igsModelCode codeList="http://xml.gov.au/icsm/geodesyml/codelists/antenna-receiver-codelists.xml#GeodesyML_GNSSAntennaTypeCode" codeListValue="TRM57971.00 NONE" codeSpace="urn:xml-gov-au:icsm:egeodesy:0.4">TRM57971.00     NONE</geo:igsModelCode>
                <geo:antennaReferencePoint codeSpace="urn:ga-gov-au:antenna-reference-point-type">BAM</geo:antennaReferencePoint>
                <geo:marker-arpUpEcc.>0.0</geo:marker-arpUpEcc.>
                <geo:marker-arpNorthEcc.>0.0</geo:marker-arpNorthEcc.>
                <geo:marker-arpEastEcc.>0.0</geo:marker-arpEastEcc.>
                <geo:alignmentFromTrueNorth>3.0</geo:alignmentFromTrueNorth>
                <geo:antennaRadomeType codeSpace="urn:igs-org:gnss-radome-model-code">NONE</geo:antennaRadomeType>
                <geo:radomeSerialNumber></geo:radomeSerialNumber>
                <geo:antennaCableType></geo:antennaCableType>
                <geo:antennaCableLength>30.0</geo:antennaCableLength>
                <geo:dateInstalled>2016-05-24T06:30:00Z</geo:dateInstalled>
                <geo:dateRemoved></geo:dateRemoved>
            </geo:GnssAntenna>
            <geo:dateInserted>2016-05-24T06:30:00Z</geo:dateInserted>
        </geo:gnssAntenna>
        <geo:frequencyStandard>
            <geo:FrequencyStandard gml:id="frequency-standard-1">
                <geo:standardType codeSpace="urn:ga-gov-au:frequency-standard-type">INTERNAL</geo:standardType>
                <geo:inputFrequency xsi:nil="true"></geo:inputFrequency>
                <gml:validTime>
                    <gml:TimePeriod gml:id="frequency-standard-1--time-period-1">
                        <gml:beginPosition>1999-12-01</gml:beginPosition>
                        <gml:endPosition></gml:endPosition>
                    </gml:TimePeriod>
                </gml:validTime>
                <geo:notes></geo:notes>
            </geo:FrequencyStandard>
            <geo:dateInserted>1999-12-01</geo:dateInserted>
        </geo:frequencyStandard>
        <geo:collocationInformation>
            <geo:CollocationInformation gml:id="instrumentation-type-1">
                <geo:instrumentationType codeSpace="urn:ga-gov-au:instrumentation-type">FG5 ABSOLUT GRAVIMETER</geo:instrumentationType>
                <geo:status codeSpace="urn:ga-gov-au:status-type">MOBILE</geo:status>
                <gml:validTime>
                    <gml:TimePeriod gml:id="instrumentation-type-1--time-period-2">
                        <gml:beginPosition>2000-09-17</gml:beginPosition>
                        <gml:endPosition>2000-09-24</gml:endPosition>
                    </gml:TimePeriod>
                </gml:validTime>
                <geo:notes>2001-09-15/2001-09-20 2002-09-10/2002-09-14</geo:notes>
            </geo:CollocationInformation>
            <geo:dateInserted>2000-09-17</geo:dateInserted>
        </geo:collocationInformation>
        <geo:siteContact gml:id="agency-1">
            <gmd:MD_SecurityConstraints>
                <gmd:classification gco:nilReason="missing"/>
            </gmd:MD_SecurityConstraints>
            <gmd:CI_ResponsibleParty>
                <gmd:individualName>
                    <gco:CharacterString>HAMID REZA NANKALI</gco:CharacterString>
                </gmd:individualName>
                <gmd:organisationName>
                    <gco:CharacterString>NATIONAL CARTOGRAPHIC CENTER oF IRAN</gco:CharacterString>
                </gmd:organisationName>
                <gmd:contactInfo>
                    <gmd:CI_Contact>
                        <gmd:phone>
                            <gmd:CI_Telephone>
                                <gmd:voice>
                                    <gco:CharacterString>009821 63182465</gco:CharacterString>
                                </gmd:voice>
                                <gmd:voice>
                                    <gco:CharacterString>009821 66071098</gco:CharacterString>
                                </gmd:voice>
                                <gmd:facsimile>
                                    <gco:CharacterString>00982166071000</gco:CharacterString>
                                </gmd:facsimile>
                            </gmd:CI_Telephone>
                        </gmd:phone>
                        <gmd:address>
                            <gmd:CI_Address>
                                <gmd:deliveryPoint>
                                    <gco:CharacterString>GEODSEY AND GEODYNAMIC DEPT</gco:CharacterString>
                                </gmd:deliveryPoint>
                                <gmd:city>
                                    <gco:CharacterString></gco:CharacterString>
                                </gmd:city>
                                <gmd:postalCode>
                                    <gco:CharacterString></gco:CharacterString>
                                </gmd:postalCode>
                                <gmd:country>
                                    <gco:CharacterString></gco:CharacterString>
                                </gmd:country>
                                <gmd:electronicMailAddress>
                                    <gco:CharacterString>reza2156@yahoo.com</gco:CharacterString>
                                </gmd:electronicMailAddress>
                            </gmd:CI_Address>
                        </gmd:address>
                    </gmd:CI_Contact>
                </gmd:contactInfo>
                <gmd:role>
                    <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_RoleCode" codeListValue="pointOfContact"></gmd:CI_RoleCode>
                </gmd:role>
            </gmd:CI_ResponsibleParty>
        </geo:siteContact>
        <geo:siteContact gml:id="agency-2">
            <gmd:MD_SecurityConstraints>
                <gmd:classification gco:nilReason="missing"/>
            </gmd:MD_SecurityConstraints>
            <gmd:CI_ResponsibleParty>
                <gmd:individualName>
                    <gco:CharacterString></gco:CharacterString>
                </gmd:individualName>
                <gmd:organisationName>
                    <gco:CharacterString>NATIONAL CARTOGRAPHIC CENTER oF IRAN</gco:CharacterString>
                </gmd:organisationName>
                <gmd:contactInfo>
                    <gmd:CI_Contact>
                        <gmd:phone>
                            <gmd:CI_Telephone>
                                <gmd:voice>
                                    <gco:CharacterString></gco:CharacterString>
                                </gmd:voice>
                                <gmd:voice>
                                    <gco:CharacterString>009821 66071098</gco:CharacterString>
                                </gmd:voice>
                                <gmd:facsimile>
                                    <gco:CharacterString></gco:CharacterString>
                                </gmd:facsimile>
                            </gmd:CI_Telephone>
                        </gmd:phone>
                        <gmd:address>
                            <gmd:CI_Address>
                                <gmd:deliveryPoint>
                                    <gco:CharacterString>GEODSEY AND GEODYNAMIC DEPT</gco:CharacterString>
                                </gmd:deliveryPoint>
                                <gmd:city>
                                    <gco:CharacterString></gco:CharacterString>
                                </gmd:city>
                                <gmd:postalCode>
                                    <gco:CharacterString></gco:CharacterString>
                                </gmd:postalCode>
                                <gmd:country>
                                    <gco:CharacterString></gco:CharacterString>
                                </gmd:country>
                                <gmd:electronicMailAddress>
                                    <gco:CharacterString></gco:CharacterString>
                                </gmd:electronicMailAddress>
                            </gmd:CI_Address>
                        </gmd:address>
                    </gmd:CI_Contact>
                </gmd:contactInfo>
                <gmd:role>
                    <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_RoleCode" codeListValue="pointOfContact"></gmd:CI_RoleCode>
                </gmd:role>
            </gmd:CI_ResponsibleParty>
        </geo:siteContact>
        <geo:siteMetadataCustodian gml:id="agency-3">
            <gmd:MD_SecurityConstraints>
                <gmd:classification gco:nilReason="missing"/>
            </gmd:MD_SecurityConstraints>
            <gmd:CI_ResponsibleParty>
                <gmd:individualName>
                    <gco:CharacterString></gco:CharacterString>
                </gmd:individualName>
                <gmd:organisationName>
                    <gco:CharacterString></gco:CharacterString>
                </gmd:organisationName>
                <gmd:contactInfo>
                    <gmd:CI_Contact>
                        <gmd:phone>
                            <gmd:CI_Telephone>
                                <gmd:voice>
                                    <gco:CharacterString></gco:CharacterString>
                                </gmd:voice>
                                <gmd:voice>
                                    <gco:CharacterString></gco:CharacterString>
                                </gmd:voice>
                                <gmd:facsimile>
                                    <gco:CharacterString></gco:CharacterString>
                                </gmd:facsimile>
                            </gmd:CI_Telephone>
                        </gmd:phone>
                        <gmd:address>
                            <gmd:CI_Address>
                                <gmd:deliveryPoint>
                                    <gco:CharacterString></gco:CharacterString>
                                </gmd:deliveryPoint>
                                <gmd:city>
                                    <gco:CharacterString></gco:CharacterString>
                                </gmd:city>
                                <gmd:postalCode>
                                    <gco:CharacterString></gco:CharacterString>
                                </gmd:postalCode>
                                <gmd:country>
                                    <gco:CharacterString></gco:CharacterString>
                                </gmd:country>
                                <gmd:electronicMailAddress>
                                    <gco:CharacterString></gco:CharacterString>
                                </gmd:electronicMailAddress>
                            </gmd:CI_Address>
                        </gmd:address>
                    </gmd:CI_Contact>
                </gmd:contactInfo>
                <gmd:role>
                    <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_RoleCode" codeListValue="pointOfContact"></gmd:CI_RoleCode>
                </gmd:role>
            </gmd:CI_ResponsibleParty>
        </geo:siteMetadataCustodian>
        <geo:moreInformation>
            <geo:dataCenter>CDDIS</geo:dataCenter>
            <geo:dataCenter>BKG</geo:dataCenter>
            <geo:urlForMoreInformation></geo:urlForMoreInformation>
            <geo:siteMap></geo:siteMap>
            <geo:siteDiagram></geo:siteDiagram>
            <geo:horizonMask></geo:horizonMask>
            <geo:monumentDescription></geo:monumentDescription>
            <geo:sitePictures>(Y or URL)Y</geo:sitePictures>
            <geo:notes></geo:notes>
            <geo:antennaGraphicsWithDimensions></geo:antennaGraphicsWithDimensions>
            <geo:insertTextGraphicFromAntenna></geo:insertTextGraphicFromAntenna>
            <geo:DOI codeSpace="urn:ga-gov-au:self.moreInformation-type">TODO</geo:DOI>
        </geo:moreInformation>
    </geo:siteLog>
</geo:GeodesyML>


text:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <title>Drakonas</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
    <link rel="stylesheet" href="css/animate.css" />
    <link rel="stylesheet" href="css/main.css" />
    <link rel="stylesheet" href="css/menu.css" />
    <link rel="stylesheet" href="css/game.css" />

Loading...


text:
namespace content {
namespace {

const float kDefaultSpeedInPixelsS = 800;

}  // namespace

SyntheticSmoothScrollGestureParams::SyntheticSmoothScrollGestureParams()
    : prevent_fling(true), speed_in_pixels_s(kDefaultSpeedInPixelsS) {}

SyntheticSmoothScrollGestureParams::SyntheticSmoothScrollGestureParams(
      const SyntheticSmoothScrollGestureParams& other)
    : SyntheticGestureParams(other),
      anchor(other.anchor),
      distances(other.distances),
      prevent_fling(other.prevent_fling),
      speed_in_pixels_s(other.speed_in_pixels_s) {}

SyntheticSmoothScrollGestureParams::~SyntheticSmoothScrollGestureParams() {}

SyntheticGestureParams::GestureType
SyntheticSmoothScrollGestureParams::GetGestureType() const {
  return SMOOTH_SCROLL_GESTURE;
}

const SyntheticSmoothScrollGestureParams*
SyntheticSmoothScrollGestureParams::Cast(
    const SyntheticGestureParams* gesture_params) {
  DCHECK(gesture_params);
  DCHECK_EQ(SMOOTH_SCROLL_GESTURE, gesture_params->GetGestureType());
  return static_cast<const SyntheticSmoothScrollGestureParams*>(gesture_params);
}

}  // namespace content


text:
from __future__ import print_function
from __future__ import division
from builtins import range
from past.utils import old_div
import datetime

import pytz
from django.core.management.base import BaseCommand

from realtime.models.flood import Flood

__author__ = 'Rizky Maulana Nugraha "lucernae" <lana.pcfre@gmail.com>'
__date__ = '07/09/15'

class Command(BaseCommand):
    """Script to check indicator status. Can be executed via cronjob

    """
    help = 'Command to re-execute flood process on existing event id'

    def add_arguments(self, parser):
        parser.add_argument(
            'flood_event_ids',
            nargs='*',
            type=str)

        parser.add_argument(
            '--range',
            action='store_true',
        )

    def handle(self, *args, **options):
        using_range = options.get('range')
        flood_event_ids = options.get('flood_event_ids')
        if using_range and len(flood_event_ids) == 2:
            Command.regenerate_flood_from_range(
                flood_event_ids[0], flood_event_ids[1])

        if len(flood_event_ids) > 0 and not using_range:
            for event_id in flood_event_ids:
                print('Process using celery broker : {}'.format(event_id))
                flood = Flood.objects.get(event_id=event_id)
                flood.rerun_analysis()

        elif not using_range:
            floods = Flood.objects.all().order_by('-time')
            print(
                'Process using celery broker. '
                'Total number of events ({})'.format(len(floods)))
            for flood in floods:
                event_id = flood.event_id
                print('Process using celery broker : {}'.format(event_id))
                flood.rerun_analysis()

    @staticmethod
    def regenerate_flood_from_range(start_event_id, end_event_id):
        format_str = '%Y%m%d%H-6-rw'
        start_time = datetime.datetime.strptime(start_event_id, format_str)
        if not end_event_id == 'now':
            end_time = datetime.datetime.strptime(end_event_id, format_str)
        else:
            end_time = datetime.datetime.utcnow()
        # convert to UTC
        start_time = start_time.replace(tzinfo=pytz.UTC)
        end_time = end_time.replace(tzinfo=pytz.UTC)
        time_diff = end_time - start_time
        total_hours = int(old_div(time_diff.total_seconds(), 3600))
        total_events = 0
        for i in range(0, total_hours):
            hour_diff = datetime.timedelta(hours=i + 1)
            target_time = start_time + hour_diff
            event_id = target_time.strftime(format_str)
            try:
                print('Processing flood: {}'.format(event_id))
                flood = Flood.objects.get(event_id=event_id)
                flood.rerun_analysis()
                total_events += 1
            except Flood.DoesNotExist:
                pass

        print('Regenerate process done')
        print('Total processed events: {}'.format(total_events))