public async Task <IHttpActionResult> WxVerify([FromBody] AuthorizedOrNotInputDto dto)
        {
            var ret = await _aDVerifyService.WxVerify(dto);

            //if (ret.Success == false && ret.Msg == "NOT_LOGIN")
            //{
            //    return Content(HttpStatusCode.Unauthorized, new
            //    {
            //        success = false,
            //        errCode = "NOT_LOGIN",
            //        message = "No login id."
            //    });
            //}
            return(Ok(ret));
        }
        /// <summary>
        /// 验证小程序AD是否授权过
        /// </summary>
        /// <param name="openid"></param>
        /// <param name="username"></param>
        /// <returns></returns>
        public async Task <ReturnValueModel> WxVerify(AuthorizedOrNotInputDto dto)
        {
            ReturnValueModel rvm = new ReturnValueModel
            {
                Msg     = "success",
                Success = true
            };

            try
            {
                var configure = await _rep.FirstOrDefaultAsync <BotSaleConfigure>(o => o.IsDeleted == 0 && o.AppId == dto.appid);

                if (configure == null)
                {
                    rvm.Msg     = "fail";
                    rvm.Success = false;
                    rvm.Result  = "Bot配置异常,请联系管理员或在线客服。";
                    return(rvm);
                }
                if (string.IsNullOrEmpty(configure.AppId))
                {
                    rvm.Msg     = "fail";
                    rvm.Success = false;
                    rvm.Result  = "Bot配置异常,请联系管理员或在线客服。";
                    return(rvm);
                }
                if (string.IsNullOrEmpty(configure.AppSecret))
                {
                    rvm.Msg     = "fail";
                    rvm.Success = false;
                    rvm.Result  = "Bot配置异常,请联系管理员或在线客服。";
                    return(rvm);
                }

                var appId     = configure.AppId;
                var appSecret = configure.AppSecret;
                var url       = string.Format(WxUrls.UnionIdUrl, appId, appSecret, dto.code);
                var openModel = JsonConvert.DeserializeObject <OpenModel>(HttpUtils.HttpGet(url, ""));
                if (string.IsNullOrEmpty(openModel?.OpenId))
                {
                    rvm.Msg     = "fail";
                    rvm.Success = false;
                    rvm.Result  = new
                    {
                        sysTokenUrl = "",
                        sysToken    = "",
                        username    = "",
                        grant_type  = "",
                        verify      = false,
                        openId      = "openid失败,重新授权"
                    };
                    return(rvm);
                }
                var query = _rep.Where <WxSaleUserModel>(o => o != null && o.IsDeleted != 1);
                if (!string.IsNullOrEmpty(dto?.username))
                {
                    query = query.Where(o => o.Id == dto.username);
                }
                else
                {
                    query = query.Where(o => o.OpenId == openModel.OpenId);
                }

                var saleUser = query.FirstOrDefault <WxSaleUserModel>();

                if (saleUser == null)
                {
                    rvm.Success = true;
                    rvm.Msg     = "success";
                    rvm.Result  = new
                    {
                        sysTokenUrl = "",
                        sysToken    = "",
                        username    = "",
                        grant_type  = "",
                        verify      = false,
                        openId      = openModel.OpenId
                    };
                    return(rvm);
                }
                if (string.IsNullOrEmpty(saleUser.ADAccount))
                {
                    rvm.Msg     = "NOT_LOGIN";
                    rvm.Success = false;
                    rvm.Result  = new
                    {
                        sysTokenUrl = "",
                        sysToken    = "",
                        username    = "",
                        grant_type  = "",
                        verify      = false,
                        openId      = openModel.OpenId
                    };
                    return(rvm);
                }
                _wxRegisterService.CacheWxSaleUser(saleUser);//必须添加到内存

                string   _host    = ConfigurationManager.AppSettings["HostUrl"];
                var      authPath = $@"{_host}/api/auth/token/WxSale";
                var      postStr  = $@"username={saleUser.Id}&grant_type=password";
                SysToken sysToken = HttpUtils.PostResponse <SysToken>(authPath, postStr, "application/x-www-form-urlencoded");
                rvm.Success = true;
                rvm.Msg     = "success";
                rvm.Result  = new
                {
                    sysTokenUrl = authPath,
                    sysToken,//管理平台 token
                    username   = saleUser.Id,
                    grant_type = "password",
                    verify     = true,
                    openId     = openModel.OpenId
                };
            }
            catch (Exception ex)
            {
                rvm.Msg     = "fail";
                rvm.Success = false;
                rvm.Result  = ex.Message;
            }

            return(rvm);
        }