コード例 #1
0
        public static Response Process_Company_Search4Exhibit(Request request)
        {
            var pre_Ei = request.Preprocess2Either(true);

            if (pre_Ei.HasLeft)
            {
                return(pre_Ei.Left);
            }

            //ServiceImpl.Process_ExtQuery_Hot("31", "5");

            var request_Body = request.GetBody <Req_Info_Query>(); // get request body
            var op_Log       = pre_Ei.Right.To_AppOrgCompanyLog().Set_Uid(request_Body.u_id).Set_Uname(request_Body.u_name).Set_Action(Constants.Op_Exhibit_Query);

            DataAccess.AppOrgCompanyLog_Insert(op_Log);

            var res_mb = request.GetBody <Req_Info_Query>().ToMaybe()
                         .DoWhen(s => s.pg_index < 1, s => s.pg_index = 1)
                         .DoWhen(b => !string.IsNullOrEmpty(b.query_str), p => DataAccess.SearchHistoryExt_Insert(p.Type_Set(31), p.u_id.ToInt() > 0))
                         .Select(s => ESClient.Exhibit_Search(s).ToMaybe())
                         .Select(r => ResponseAdaptor.ExhibitSearch2List(r).ToMaybe());

            var body = res_mb.HasValue ? res_mb.Value : new Resp_Exhibit_List()
            {
                exhibits = new List <SearchExhibit>()
            };
            var response = Util.Normal_Resp_Create(body.ToJson(), EncryptType.AES | EncryptType.Gzip);

            return(response);
        }