package mw import ( "applet/app/svc" "applet/app/utils" "code.fnuoos.com/go_rely_warehouse/zyos_go_order_relate_rule.git/rule/mw" "errors" "fmt" "github.com/gin-gonic/gin" "strings" "applet/app/db" "applet/app/e" "applet/app/md" ) // DB is 中间件 用来检查master_id是否有对应的数据库engine func DB(c *gin.Context) { fmt.Println(c.Request.Header) masterID := mw.GetMasterId(db.Db, c) if masterID == "" { masterID = svc.GetWebSiteDomainMasterId("userStoreAgent", c.Request.Host) } if masterID == "" { masterID = svc.GetWebSiteDomainMasterId("userStoreStore", c.Request.Host) } _, ok := db.DBs[masterID] if !ok { e.OutErr(c, e.ERR_MASTER_ID, errors.New("not found master_id in DBs")) return } fmt.Println("master_id", masterID) c.Set("mid", masterID) //判断应用是不是过期了 isOverTime := svc.SysCfgGet(c, "is_over_time") if isOverTime == "1" { str := "应用已过期" overTimeStr := svc.SysCfgGet(c, "over_time_str") if overTimeStr != "" { str = overTimeStr } e.OutErr(c, 400, e.NewErr(400, str)) return } closeStation := svc.SysCfgGet(c, "close_station") closeAppVersion := svc.SysCfgGet(c, "close_app_version") platform := c.GetHeader("Platform") if strings.Contains(closeStation, platform) && closeStation != "" && utils.StrToInt64(c.GetHeader("app_version")) <= utils.StrToInt64(closeAppVersion) { str := "应用关闭" overTimeStr := svc.SysCfgGet(c, "over_time_str") if overTimeStr != "" { str = overTimeStr } e.OutErr(c, 400, e.NewErr(400, str)) return } //判断是否有独立域名 domainWapBase := svc.GetWebSiteDomainInfo(c, "wap") httpStr := "http://" if c.GetHeader("Platform") == md.PLATFORM_WX_APPLET || c.GetHeader("Platform") == md.PLATFORM_ALIPAY_APPLET || c.GetHeader("Platform") == md.PLATFORM_BAIDU_APPLET || c.GetHeader("Platform") == md.PLATFORM_TOUTIAO_APPLET || c.GetHeader("Platform") == md.PLATFORM_TIKTOK_APPLET { httpStr = "https://" domainWapBase = strings.Replace(domainWapBase, "http://", httpStr, 1) } c.Set("domain_wap_base", domainWapBase) c.Set("domain_wap_base_new", svc.GetWebSiteLiveBroadcastDomainInfo(c, "wap", masterID)) c.Set("domain_wap_base_second", svc.GetWebSiteDomainInfoSecond(c, "wap")) c.Set("http_host", httpStr) c.Set("h5_api_secret_key", svc.SysCfgGet(c, "h5_api_secret_key")) c.Set("app_api_secret_key", svc.SysCfgGet(c, "app_api_secret_key")) c.Set("applet_api_secret_key", svc.SysCfgGet(c, "applet_api_secret_key")) c.Set("integral_prec", svc.SysCfgGet(c, "integral_prec")) fanOrderCommissionPrec := svc.SysCfgGet(c, "fan_order_commission_prec") if fanOrderCommissionPrec == "" { fanOrderCommissionPrec = "2" } c.Set("fan_order_commission_prec", fanOrderCommissionPrec) areaOrderCommissionPrec := svc.SysCfgGet(c, "area_order_commission_prec") if areaOrderCommissionPrec == "" { areaOrderCommissionPrec = "2" } c.Set("area_order_commission_prec", areaOrderCommissionPrec) commissionPrec := svc.SysCfgGet(c, "commission_prec") c.Set("commission_prec", commissionPrec) pricePrec := svc.SysCfgGet(c, "price_prec") if pricePrec == "" { pricePrec = commissionPrec } dsChcek := svc.SysCfgGet(c, "ds_check") if dsChcek == "1" { pricePrec = commissionPrec } c.Set("price_prec", pricePrec) c.Set("is_show_point", svc.SysCfgGet(c, "is_show_point")) c.Set("appUserDefaultAvatar", svc.SysCfgGet(c, "app_user_default_avatar")) translateOpen := "" if strings.Contains(c.GetHeader("locale"), "zh_Hant_") { translateOpen = "zh_Hant_" } if strings.Contains(c.GetHeader("locale"), "ug_CN") { translateOpen = "ug_CN" } c.Set("translate_open", translateOpen) orderVirtualCoinType := db.SysCfgGet(c, "order_virtual_coin_type") c.Set("order_virtual_coin_type", orderVirtualCoinType) orderVirtualCoinName := db.SysCfgGet(c, "order_virtual_coin_name") if orderVirtualCoinName == "" { orderVirtualCoinName = "收益:¥" } c.Set("orderVirtualCoinName", orderVirtualCoinName) h5AppletMustSign := svc.SysCfgGet(c, "h5_applet_must_sign") c.Set("h5_applet_must_sign", h5AppletMustSign) androidMustSign := svc.SysCfgGet(c, "android_must_sign") c.Set("android_must_sign", androidMustSign) iosMustSign := svc.SysCfgGet(c, "ios_must_sign") c.Set("ios_must_sign", iosMustSign) c.Set("is_not_change_url", "0") smsType := svc.SysCfgGet(c, "sms_type") c.Set("sms_type", smsType) if utils.StrToInt64(c.GetHeader("app_version")) > 1678445020 { // || utils.StrToInt64(c.GetHeader("BuildVersion")) > 1678676004 c.Set("is_not_change_url", "1") } if utils.InArr(c.GetHeader("platform"), []string{md.PLATFORM_ANDROID, md.PLATFORM_IOS}) == false { c.Set("is_not_change_url", "1") } GetHeaderParam(c) c.Next() } func GetHeaderParam(c *gin.Context) { var appTypeList = []string{"app_type", "App_type", "AppType"} appType := "" for _, v := range appTypeList { val := c.GetHeader(v) if val != "" { appType = val } } c.Set("app_type", appType) var storeIdList = []string{"store_id", "Store_id", "StoreId"} storeId := "" for _, v := range storeIdList { val := c.GetHeader(v) if val != "" { storeId = val } } c.Set("store_id", storeId) }