package main import ( "encoding/json" "io" "net/http" "reflect" "time" "github.com/go-kit/kit/endpoint" "github.com/go-kit/kit/log" httptransport "github.com/go-kit/kit/transport/http" "xiaoniaokuaiyan.com/xiaoniao/cerror" "xiaoniaokuaiyan.com/xiaoniao/entity" "xiaoniaokuaiyan.com/xiaoniao/search" "xiaoniaokuaiyan.com/xiaoniao/server" ) type loggingMiddleware struct { server.UserService server.AuthService server.SearchService server.FileService server.OrderService server.SMSService server.CartService server.CouponService server.ProductivityService server.WeixinService server.CityService server.UserLinkerService server.ProductService server.DeliverUserService server.SystemService server.ActivityService server.GroupBloodService server.PayService server.JDLService log.Logger } //type ServiceMethod func(interface{}) (interface{}, error) func (m loggingMiddleware) Login(params map[string]string) (v interface{}, err error) { defer func(begin time.Time) { vbytes, _ := json.Marshal(v) m.Logger.Log( "method", "UserService.Login", "mobile", params["mobile"], "password", params["password"], "v", string(vbytes), "took", time.Since(begin), ) }(time.Now()) v, err = m.UserService.Login(params) return } func (m loggingMiddleware) LoginV2(params map[string]string) (v interface{}, err error) { defer func(begin time.Time) { vbytes, _ := json.Marshal(v) m.Logger.Log( "method", "UserService.LoginV2", "mobile", params["mobile"], "password", params["password"], "v", string(vbytes), "took", time.Since(begin), ) }(time.Now()) v, err = m.UserService.LoginV2(params) return } func (m loggingMiddleware) GetHomeInvite(params map[string]string) (v interface{}, err error) { defer func(begin time.Time) { vbytes, _ := json.Marshal(v) m.Logger.Log( "method", "UserService.GetHomeInvite", "mobile", params["mobile"], "password", params["password"], "v", string(vbytes), "took", time.Since(begin), ) }(time.Now()) v, err = m.UserService.GetHomeInvite(params) return } func (m loggingMiddleware) Regist(mobile, password, vcode string) (v interface{}, err error) { defer func(begin time.Time) { m.Logger.Log( "method", "UserService.Regist", "mobile", mobile, "took", time.Since(begin), ) }(time.Now()) v, err = m.UserService.Regist(mobile, password, vcode) return } func (m loggingMiddleware) ResetPwd(userName, password, newPassword string) (interface{}, error) { defer func(begin time.Time) { m.Logger.Log( "method", "UserService.ResetPwd", "mobile", userName, "took", time.Since(begin), ) }(time.Now()) return m.UserService.ResetPwd(userName, password, newPassword) } func (m loggingMiddleware) ForgetPwd(userName, vcode, newPassword string) (interface{}, error) { defer func(begin time.Time) { m.Logger.Log( "method", "UserService.ForgetPwd", "mobile", userName, "took", time.Since(begin), ) }(time.Now()) return m.UserService.ForgetPwd(userName, vcode, newPassword) } func (m loggingMiddleware) SetOpenid(mobile, openid string, wxType string) (interface{}, error) { defer func(begin time.Time) { m.Logger.Log( "method", "UserService.SetOpenid", "mobile", mobile, "Openid", openid, "took", time.Since(begin), ) }(time.Now()) return m.UserService.SetOpenid(mobile, openid, wxType) } func (m loggingMiddleware) GetQueueNotice(mobile string) (interface{}, error) { return m.UserService.GetQueueNotice(mobile) } func (m loggingMiddleware) UpdateQueueNotice(notice *entity.QueueNotice) (interface{}, error) { return m.UserService.UpdateQueueNotice(notice) } func (m loggingMiddleware) SendSMS(mobile string, smsType int, params map[string]string) (interface{}, error) { defer func(begin time.Time) { m.Logger.Log( "method", "SMSService.SendSMS", "mobile", mobile, "type", smsType, "took", time.Since(begin), ) }(time.Now()) return m.SMSService.SendSMS(mobile, smsType, params) } func (m loggingMiddleware) ValidateCode(mobile, code string, codeType int) (interface{}, error) { return m.SMSService.ValidateCode(mobile, code, codeType) } func (m loggingMiddleware) GetAccessToken(tokenStr string) (v interface{}, err error) { defer func(begin time.Time) { vbuf, _ := json.Marshal(v) m.Logger.Log( "method", "AuthService.GetAccessToken", "tokenStr", tokenStr, "v", string(vbuf), "took", time.Since(begin), ) }(time.Now()) v, err = m.AuthService.GetAccessToken(tokenStr) return } func (m loggingMiddleware) Query(param *search.QueryParam, uid int) (interface{}, error) { defer func(begin time.Time) { m.Logger.Log( "method", "SearchService.Query", "text", param.Text, "user_id", uid, "took", time.Since(begin), ) }(time.Now()) return m.SearchService.Query(param, uid) } func (m loggingMiddleware) Upload(rd io.Reader) (interface{}, error) { return m.FileService.Upload(rd) } // 订单相关接口开始 func (m loggingMiddleware) AddOrder(orderItem *entity.Order, cityId int, city string) (result interface{}, err error) { defer func(begin time.Time) { errStr := "" if err != nil { errStr = err.Error() } m.Logger.Log( "method", "OrderService.AddOrder", "orderid", orderItem.Id, "took", time.Since(begin), "error", errStr, ) }(time.Now()) result, err = m.OrderService.AddOrder(orderItem, cityId, city) return } func (m loggingMiddleware) Pay(orderItem *entity.Order, extra map[string]string) (data interface{}, err error) { defer func(begin time.Time) { var errStr string if err != nil { errStr = err.Error() } m.Logger.Log( "method", "OrderService.Pay", "orderid", orderItem.Id, "took", time.Since(begin), "error", errStr, ) }(time.Now()) data, err = m.OrderService.Pay(orderItem, extra) return } func (m loggingMiddleware) UpdateOrder(orderItem *entity.Order, upType string) (interface{}, error) { defer func(begin time.Time) { m.Logger.Log( "method", "OrderService.UpdateOrder", "orderid", orderItem.Id, "took", time.Since(begin), ) }(time.Now()) return m.OrderService.OrderUpdate(orderItem, upType) } func (m loggingMiddleware) CancelOrder(oid string) (bool, error) { defer func(begin time.Time) { m.Logger.Log( "method", "OrderService.CancelOrder", "orderid", oid, "took", time.Since(begin), ) }(time.Now()) return m.OrderService.CancelOrder(oid) } func (m loggingMiddleware) DelOrder(oid string) (bool, error) { defer func(begin time.Time) { m.Logger.Log( "method", "OrderService.DelOrder", "orderid", oid, "took", time.Since(begin), ) }(time.Now()) return m.OrderService.DelOrder(oid) } func (m loggingMiddleware) FailedOrder(oid string) (bool, error) { defer func(begin time.Time) { m.Logger.Log( "method", "OrderService.FailedOrder", "orderid", oid, "took", time.Since(begin), ) }(time.Now()) return m.OrderService.FailedOrder(oid) } func (m loggingMiddleware) ListOrder(customId, pageIndex, pageSize, status int, mobile string, isZFB, isHis bool) (interface{}, error) { defer func(begin time.Time) { m.Logger.Log( "method", "OrderService.ListOrder", "customid", customId, "status", status, "took", time.Since(begin), ) }(time.Now()) return m.OrderService.ListOrder(customId, pageIndex, pageSize, status, mobile, isZFB, isHis) } func (m loggingMiddleware) OrderDetail(orderId string) (interface{}, error) { defer func(begin time.Time) { m.Logger.Log( "method", "OrderService.OrderDetail", "orderid", orderId, "took", time.Since(begin), ) }(time.Now()) return m.OrderService.OrderDetail(orderId) } func (m loggingMiddleware) OrderReport(orderId string, otype string) (interface{}, error) { defer func(begin time.Time) { m.Logger.Log( "method", "OrderService.OrderReport", "orderid", orderId, "took", time.Since(begin), ) }(time.Now()) return m.OrderService.OrderReport(orderId, otype) } func (m loggingMiddleware) Refund(params map[string]string) (interface{}, error) { defer func(begin time.Time) { m.Logger.Log( "method", "OrderService.Refund", "params", params, "took", time.Since(begin), ) }(time.Now()) return m.OrderService.Refund(params) } //订单相关接口结束 // 购物车相关接口开始 func (m loggingMiddleware) CartList(customId int) (interface{}, error) { return m.CartService.CartList(customId) } func (m loggingMiddleware) CartAdd(customId int, productId int, quantity int, isAdd bool) (interface{}, error) { defer func(begin time.Time) { m.Logger.Log( "method", "CartService.CartAdd", "customid", customId, "productId", productId, "quantity", quantity, "took", time.Since(begin), ) }(time.Now()) return m.CartService.CartAdd(customId, productId, quantity, isAdd) } func (m loggingMiddleware) CartRemove(customId int, productIds []int) (interface{}, error) { defer func(begin time.Time) { m.Logger.Log( "method", "CartService.CartRemove", "customid", customId, "productId", productIds, "took", time.Since(begin), ) }(time.Now()) return m.CartService.CartRemove(customId, productIds) } //购物车相关接口结束 func (m loggingMiddleware) ListCoupon(mobile string, status, pageIndex, pageSize int) (interface{}, error) { defer func(begin time.Time) { m.Logger.Log( "method", "CouponService.ListCoupon", "mobile", mobile, "took", time.Since(begin), ) }(time.Now()) return m.CouponService.ListCoupon(mobile, status, pageIndex, pageSize) } func (m loggingMiddleware) Exchange(codeStr string, customId int, mobile string) (interface{}, cerror.CError) { defer func(begin time.Time) { m.Logger.Log( "method", "CouponService.Exchange", "mobile", mobile, "codeStr", codeStr, "took", time.Since(begin), ) }(time.Now()) return m.CouponService.Exchange(codeStr, customId, mobile) } func (m loggingMiddleware) GetCoupon(id int) (interface{}, error) { return m.CouponService.GetCoupon(id) } // 产能相关接口 func (m loggingMiddleware) PtList(cityId int, fromDay string, ptType int, kongFuType int) (interface{}, error) { defer func(begin time.Time) { m.Logger.Log( "method", "ProductivityService.PtList", "fromDay", fromDay, "pttype", ptType, "kongFuType", kongFuType, "took", time.Since(begin), ) }(time.Now()) return m.ProductivityService.PtList(cityId, fromDay, ptType, kongFuType) } // 微信相关接口 func (m loggingMiddleware) GetWXAccessToken(accountType string) (interface{}, error) { defer func(begin time.Time) { m.Logger.Log( "method", "WeixinService.GetAccessToken", "took", time.Since(begin), ) }(time.Now()) return m.WeixinService.GetWXAccessToken(accountType) } func (m loggingMiddleware) GetJSAPITicket(accountType string) (interface{}, error) { defer func(begin time.Time) { m.Logger.Log( "method", "WeixinService.GetJSAPITicket", "took", time.Since(begin), ) }(time.Now()) return m.WeixinService.GetJSAPITicket(accountType) } func (m loggingMiddleware) SendTpl(msg string, accountType string) (result interface{}, err error) { defer func(begin time.Time) { errStr := "" if err != nil { errStr = err.Error() } m.Logger.Log( "method", "WeixinService.SendTpl", "took", time.Since(begin), "msg", msg, "error", errStr, ) }(time.Now()) result, err = m.WeixinService.SendTpl(msg, accountType) return } func (m loggingMiddleware) GetOpenCityList() (interface{}, error) { return m.CityService.GetOpenCityList() } func (m loggingMiddleware) GetCityAllList() (interface{}, error) { return m.CityService.GetCityAllList() } // 订单联系人相关接口 func (m loggingMiddleware) LinkerGet(id, cid int) (interface{}, error) { return m.UserLinkerService.LinkerGet(id, cid) } func (m loggingMiddleware) LinkerAdd(linker *entity.UserLinker) (interface{}, error) { return m.UserLinkerService.LinkerAdd(linker) } func (m loggingMiddleware) LinkerUpdate(linker *entity.UserLinker) (interface{}, error) { return m.UserLinkerService.LinkerUpdate(linker) } func (m loggingMiddleware) LinkerList(cid int) (interface{}, error) { return m.UserLinkerService.LinkerList(cid) } func (m loggingMiddleware) LinkerDefault(cid int) (interface{}, error) { return m.UserLinkerService.LinkerDefault(cid) } func (m loggingMiddleware) LinkerDel(linker *entity.UserLinker) (interface{}, error) { return m.UserLinkerService.LinkerDel(linker) } func (m loggingMiddleware) ProductGet(pids []int) (interface{}, error) { return m.ProductService.ProductGet(pids) } func (m loggingMiddleware) GetTags(level, cityId int) (interface{}, error) { return m.ProductService.GetTags(level, cityId) } func (m loggingMiddleware) GetByTags(tags []string, pageIndex, pageSize uint, cityId int) (interface{}, error) { return m.ProductService.GetByTags(tags, pageIndex, pageSize, cityId) } func (m loggingMiddleware) makeHandler(payloadType reflect.Type, endpointFunc interface{}, decodeFunc httptransport.DecodeRequestFunc, shouldLogin ...bool) http.Handler { vf := reflect.ValueOf(endpointFunc) vp := reflect.ValueOf(m) y := vf.Call([]reflect.Value{vp})[0] if decodeFunc == nil { decodeFunc = server.MakeDecodeRequest(payloadType, shouldLogin...) } return httptransport.NewServer( y.Interface().(endpoint.Endpoint), decodeFunc, server.EncodeResponse, httptransport.ServerErrorLogger(log.With(m.Logger, "transport", "HTTP/JSON")), ) } // 20220719 不打印日志,部分信息并没有太大意义。免得日志文件增长过快, func (m loggingMiddleware) makeHandlerNoLog(payloadType reflect.Type, endpointFunc interface{}, decodeFunc httptransport.DecodeRequestFunc, shouldLogin ...bool) http.Handler { vf := reflect.ValueOf(endpointFunc) vp := reflect.ValueOf(m) y := vf.Call([]reflect.Value{vp})[0] if decodeFunc == nil { decodeFunc = server.MakeDecodeRequest(payloadType, shouldLogin...) } return httptransport.NewServer( y.Interface().(endpoint.Endpoint), decodeFunc, server.EncodeResponseNoLog, httptransport.ServerErrorLogger(log.With(m.Logger, "transport", "HTTP/JSON")), ) } func (m loggingMiddleware) GetMeta() map[string]http.Handler { return map[string]http.Handler{ "/user/login": m.makeHandler(reflect.TypeOf(LoginParam{}), makeLoginEndpoint, nil), "/user/loginV2": m.makeHandler(reflect.TypeOf(LoginV2Param{}), makeLoginV2Endpoint, nil), "/user/logincoupon": m.makeHandler(reflect.TypeOf(LoginParam{}), makeLoginCouponsEndpoint, nil), "/user/homeinvite": m.makeHandler(reflect.TypeOf(LoginV2Param{}), makeGetHomeInviteEndpoint, nil), "/user/saveinfo": m.makeHandler(reflect.TypeOf(entity.User{}), makeSaveInfoEndpoint, nil, true), "/user/savehobby": m.makeHandler(reflect.TypeOf(entity.User{}), makeSaveHobbyEndpoint, nil, true), "/user/gethobby": m.makeHandler(nil, makeGetHobbyEndpoint, nil, false), "/user/regist": m.makeHandler(reflect.TypeOf(RegistParam{}), makeRegistEndpoint, nil), "/user/resetpwd": m.makeHandler(reflect.TypeOf(ResetPwdParam{}), makeResetPwdEndpoint, nil, true), "/user/forgetpwd": m.makeHandler(reflect.TypeOf(RegistParam{}), makeForgetPwdEndpoint, nil), "/user/setopenid": m.makeHandler(reflect.TypeOf(SetOpenidParam{}), makeSetOpenidEndpoint, nil, true), "/user/notice/get": m.makeHandler(reflect.TypeOf(entity.QueueNotice{}), makeGetQueueNoticeEndpoint, nil, true), "/user/notice/update": m.makeHandler(reflect.TypeOf(entity.QueueNotice{}), makeUpdateQueueNoticeEndpoint, nil, true), "/user/relationship": m.makeHandler(nil, makeGetRelationshipEndpoint, nil, false), "/user/update": m.makeHandler(reflect.TypeOf(entity.User{}), makeUpdateUinfoEndpoint, nil, true), "/user/wxinfo": m.makeHandler(reflect.TypeOf(""), makeGetUserWxEndpoint, nil, false), "/auth/token": m.makeHandler(nil, makeAuthEndpoint, server.DecodeAuthRequest), "/search": m.makeHandler(nil, makeSearchEndpoint, nil, false), "/file/upload": m.makeHandler(nil, makeFileUploadEndpoint, server.DecodeFileRequest), "/order/add": m.makeHandler(reflect.TypeOf(entity.Order{}), makeAddOrderEndpoint, nil, true), "/order/pay": m.makeHandler(reflect.TypeOf(entity.Order{}), makePayEndpoint, nil, true), "/order/inner/add": m.makeHandler(reflect.TypeOf(entity.Order{}), makeAddOrderEndpoint, nil, false), "/order/inner/pay": m.makeHandler(reflect.TypeOf(entity.Order{}), makePayEndpoint, nil, false), "/order/list": m.makeHandler(reflect.TypeOf(ListOrderParam{}), makeListOrderEndpoint, nil, true), "/order/detail": m.makeHandler(reflect.TypeOf(DetailOrderParam{}), makeOrderDetailEndpoint, nil, true), "/order/detail/code": m.makeHandler(reflect.TypeOf(DetailOrderParam{}), makeOrderDetailEndpoint, nil, false), "/order/cancel": m.makeHandler(reflect.TypeOf(DetailOrderParam{}), makeCancelOrderEndpoint, nil, true), "/order/del": m.makeHandler(reflect.TypeOf(DetailOrderParam{}), makeDelOrderEndpoint, nil, true), "/order/failed": m.makeHandler(reflect.TypeOf(DetailOrderParam{}), makeFailedOrderEndpoint, nil, true), "/order/report": m.makeHandler(reflect.TypeOf(DetailOrderParam{}), makeOrderReportEndpoint, nil), "/order/update": m.makeHandler(reflect.TypeOf(entity.Order{}), makeOrderUpdateEndpoint, nil, true), "/order/refund": m.makeHandler(reflect.TypeOf(map[string]string{}), makeRefundEndpoint, nil), "/order/survey": m.makeHandler(reflect.TypeOf(entity.OrderSurvey{}), makeOrderSurveyEndpoint, nil), "/order/savecbinfo": m.makeHandler(reflect.TypeOf(entity.OrderCallbackInfo{}), makeSaveCallbackInfoEndpoint, nil), "/order/getcbinfo": m.makeHandler(reflect.TypeOf(""), makeGetCallbackInfoEndpoint, nil), "/order/payquery": m.makeHandler(reflect.TypeOf(""), makeOrderPayQueryEndpoint, nil, true), "/order/vaildcount": m.makeHandler(reflect.TypeOf(ListOrderParam{}), makeOrderVaildCountEndpoint, nil), "/sms/send": m.makeHandler(reflect.TypeOf(SMSParam{}), makeSMSSendEndpoint, nil), "/sms/sendworld": m.makeHandler(reflect.TypeOf(SMSParam{}), makeSMSSendWorldEndpoint, nil), "/sms/validatecode": m.makeHandler(reflect.TypeOf(VcodeParam{}), makeValidateCodeEndpoint, nil), "/cart/list": m.makeHandler(reflect.TypeOf(entity.Cart{}), makeCartListEndpoint, nil, true), "/cart/add": m.makeHandler(reflect.TypeOf(entity.Cart{}), makeCartAddEndpoint, nil, true), "/cart/remove": m.makeHandler(reflect.TypeOf(CartParam{}), makeCartRemoveEndpoint, nil, true), "/coupon/list": m.makeHandler(reflect.TypeOf(CouponListParam{}), makeCouponListEndpoint, nil, true), "/coupon/getbyorderid": m.makeHandler(reflect.TypeOf(""), makeCouponGetByOrderIdEndpoint, nil, true), "/coupon/exchange": m.makeHandler(reflect.TypeOf(ExchangeParam{}), makeExchangeEndpoint, nil, true), "/coupon/detail": m.makeHandler(reflect.TypeOf(int(1)), makeCouponGetEndpoint, nil, true), "/coupon/add": m.makeHandler(reflect.TypeOf(entity.DiscountTicket{}), makeCouponAddEndpoint, nil, true), "/coupon/queryfcode": m.makeHandler(reflect.TypeOf(""), makeQueryFcodeEndpoint, nil), "/coupon/actlist": m.makeHandler(reflect.TypeOf(entity.DiscountActParams{}), makeCouponActListEndpoint, nil), "/coupon/receive": m.makeHandler(reflect.TypeOf(entity.DiscountReceiveParams{}), makeCouponActReceiveEndpoint, nil), "/wx/token": m.makeHandler(nil, makeWXAccessTokenEndpoint, nil), "/wx/jsapi_ticket": m.makeHandler(nil, makeWXApiTicketEndpoint, nil), "/wx/sendtpl": m.makeHandler(nil, makeSendTplEndpoint, nil), "/wx/jssdksign": m.makeHandler(reflect.TypeOf(""), makeWXJsSdkSignEndpoint, nil), "/wx/scanpay": m.makeHandler(reflect.TypeOf(map[string]string{}), makeWxScanPayEndpoint, nil), "/wx/payreason": m.makeHandler(nil, makeGetPayReasonEndpoint, nil), "/city/openlist": m.makeHandler(nil, makeCityOpenListEndpoint, nil), "/city/all": m.makeHandlerNoLog(nil, makeCityAllEndpoint, nil), "/city/opencounty": m.makeHandler(nil, makeCityOpenCountyEndpoint, nil), "/city/infobyid": m.makeHandler(reflect.TypeOf([]int{}), makeGetCityByIdEndpoint, nil), "/city/county": m.makeHandler(reflect.TypeOf(int(1)), makeGetCountyByCityIdEndpoint, nil), "/userlinker/get": m.makeHandler(reflect.TypeOf(entity.UserLinker{}), makeLinkerGetEndpoint, nil, true), "/userlinker/add": m.makeHandler(reflect.TypeOf(entity.UserLinker{}), makeLinkerAddEndpoint, nil, true), "/userlinker/save": m.makeHandler(reflect.TypeOf(entity.UserLinker{}), makeLinkerUpdateEndpoint, nil, true), "/userlinker/list": m.makeHandler(reflect.TypeOf(entity.UserLinker{}), makeLinkerListEndpoint, nil, true), "/userlinker/default": m.makeHandler(reflect.TypeOf(entity.UserLinker{}), makeLinkerDefaultEndpoint, nil, true), "/userlinker/del": m.makeHandler(reflect.TypeOf(entity.UserLinker{}), makeLinkerDelEndpoint, nil, true), "/userlinker/relationships": m.makeHandler(nil, makeLinkerRelEndpoint, nil, true), "/productivity/list": m.makeHandler(reflect.TypeOf(PtListParam{}), makeiPtListEndpoint, nil), "/product/get": m.makeHandler(reflect.TypeOf([]int{}), makeProductGetEndpoint, nil), "/product/getcoordinates": m.makeHandler(reflect.TypeOf(ProductCoordinatesParam{}), makeProductGetCoordinates, nil), "/product/checkcoordinates": m.makeHandler(reflect.TypeOf(ProductCoordinatesParam{}), makeProductCheckCoordinates, nil), "/product/getbycateid": m.makeHandler(reflect.TypeOf(GetProductByCateParam{}), makeProductGetByCatIdEndpoint, nil), "/product/cate": m.makeHandler(reflect.TypeOf(int(1)), makeGetProductCateEndpoint, nil), "/product/recommend": m.makeHandler(reflect.TypeOf(GetProductByCateParam{}), makeGetRecommendProductEndpoint, nil), "/product/tag": m.makeHandler(nil, makeGetTagsEndpoint, nil), "/product/getbytag": m.makeHandler(reflect.TypeOf(GetProductParam{}), makeGetProductByTagsEndpoint, nil), "/product/savegenesign": m.makeHandler(reflect.TypeOf(entity.ConsumerGeneSign{}), makeSaveConsumerGeneSignEndpoint, nil), "/product/addingcate": m.makeHandler(reflect.TypeOf(0), makeGetProductAddingCateEndpoint, nil), "/product/addbydpids": m.makeHandler(reflect.TypeOf([]int{}), makeAddProductByDpidsEndpoint, nil, true), "/product/top": m.makeHandler(reflect.TypeOf(TopProductParam{}), makeGetProductTopEndpoint, nil), "/product/guess": m.makeHandler(reflect.TypeOf(ProductGuessParam{}), makeProductGuess, nil), "/duser/orderlist": m.makeHandler(reflect.TypeOf(GetOrderListParam{}), makeGetOrderListEndpoint, nil), "/duser/orderlist/v2": m.makeHandler(reflect.TypeOf(GetOrderListParam{}), makeGetOrderListV2Endpoint, nil), "/duser/ordersign": m.makeHandler(reflect.TypeOf(""), makeGetOrderSignEndpoint, nil), "/duser/saveordersign": m.makeHandler(reflect.TypeOf(entity.OrderSign{}), makeSaveOrderSignEndpoint, nil), "/duser/regist": m.makeHandler(reflect.TypeOf(entity.DeliverUser{}), makeRegistDUEndpoint, nil), "/duser/exam": m.makeHandler(reflect.TypeOf(NourseExamParam{}), makeNurseExamEndpoint, nil), "/system/piclist": m.makeHandler(nil, makeGetFirstPagePicListEndpoint, nil), "/system/workdays": m.makeHandler(reflect.TypeOf(int(0)), makeGetWorkdaysEndpoint, nil), "/system/question": m.makeHandler(reflect.TypeOf(int(0)), makeGetQuestionEndpoint, nil), //"/system/dictlist": m.makeHandler(reflect.TypeOf(""), makeGetDictListEndpoint, nil), "/system/dictlist": m.makeHandler(reflect.TypeOf(DictParam{}), makeGetDictListEndpoint, nil), "/act/addreporter": m.makeHandler(reflect.TypeOf(entity.ActReporter{}), makeAddReporterEndpoint, nil), "/act/addinfo": m.makeHandler(reflect.TypeOf(entity.ActInfo{}), makeAddActInfoEndpoint, nil), "/act/getinfo": m.makeHandler(reflect.TypeOf(entity.ActInfo{}), makeGetActInfoEndpoint, nil), "/act/upinfo": m.makeHandler(reflect.TypeOf(entity.ActInfo{}), makeUpdateActinfoEndpoint, nil), "/act/withdraw": m.makeHandler(reflect.TypeOf(entity.ActInfo{}), makeWithdrawActinfoEndpoint, nil), "/act/addinvoice": m.makeHandler(reflect.TypeOf(entity.ActInfo{}), makeAddInvoice, nil), "/act/getinvoice": m.makeHandler(reflect.TypeOf(entity.ActInfo{}), makeGetInvoice, nil), "/jicai/gbinfo": m.makeHandler(reflect.TypeOf(GroupBloodParam{}), makeGetGroupBloodInfoEndpoint, nil, true), "/jicai/enqueue": m.makeHandler(reflect.TypeOf(GroupBloodParam{}), makeGroupBloodEnqueueEndpoint, nil, true), "/jicai/next": m.makeHandler(reflect.TypeOf(GroupBloodParam{}), makeGroupBloodNextEndpoint, nil, false), "/jicai/subjectqueue": m.makeHandler(reflect.TypeOf(GroupBloodParam{}), makeGroupBloodSubjectQueueEndpoint, nil, false), "/jicai/orderinfo": m.makeHandler(reflect.TypeOf(""), makeGroupBloodGetOrderinfoEndpoint, nil), "/jicai/checkprogress": m.makeHandler(reflect.TypeOf(""), makeGroupBloodGetProgressinfoEndpoint, nil), "/jicai/confirmchecked": m.makeHandler(reflect.TypeOf(entity.GPParam{}), makeGroupBloodConfirmCheckEndpoint, nil), "/pay/prepay/get": m.makeHandler(reflect.TypeOf(map[string]string{}), makeGetPrepayInfoEndpoint, nil, false), "/user/customfile/list": m.makeHandler(reflect.TypeOf(int(1)), makeGetCustomFilelist, nil, true), "/user/customfile/get": m.makeHandler(reflect.TypeOf(int(1)), makeGetCustomFile, nil, true), "/user/customfile/updatelabel": m.makeHandler(reflect.TypeOf(entity.CustomInfoLabelsDto{}), makeUpdateCustomFileLabel, nil, true), "/user/customfile/add": m.makeHandler(reflect.TypeOf(entity.CustomFile{}), makeAddCustomFile, nil, true), "/user/customfile/modify": m.makeHandler(reflect.TypeOf(entity.CustomFile{}), makeModifyCustomFile, nil, true), "/user/customfile/del": m.makeHandler(reflect.TypeOf(int(1)), makeDelCustomFile, nil, true), "/user/customattachment/add": m.makeHandler(reflect.TypeOf(entity.CustomAttachment{}), makeAddCustomAttachment, nil, true), "/user/customattachment/count": m.makeHandler(reflect.TypeOf(entity.CustomFileParam{}), makeGetCustomAttachmentCount, nil, true), "/user/customattachment/list": m.makeHandler(reflect.TypeOf(entity.CustomFileParam{}), makeGetCustomAttachmentList, nil, true), "/user/customrisk/list": m.makeHandler(reflect.TypeOf(int(1)), makeGetCustomRiskList, nil, true), "/user/yidian/list": m.makeHandler(reflect.TypeOf(int(1)), makeGetYiDianList, nil, true), "/user/doctorrecommend/list": m.makeHandler(reflect.TypeOf(int(1)), makeGetDoctorRecommendList, nil, true), "/order/list/customfileid": m.makeHandler(reflect.TypeOf(ListOrderParam{}), makeListFileOrderEndpoint, nil, true), "/system/dictlist/list": m.makeHandler(reflect.TypeOf([]DictParam{}), makeGetDictListsEndpoint, nil), //京东物流 "/order/jdl/calendar": m.makeHandler(reflect.TypeOf(entity.JDLParams{}), makeJDLCalendar, nil), "/order/jdl/add": m.makeHandler(reflect.TypeOf(entity.JDLParams{}), makeJDLAdd, nil), "/order/jdl/cancel": m.makeHandler(reflect.TypeOf(entity.JDLCheck{}), makeJDLCancel, nil), "/order/jdl/trace": m.makeHandler(reflect.TypeOf(entity.JDLCheck{}), makeJDLTrace, nil), } }