Example #1
0
        public IActionResult GetModelImg(string modelVersionCode)
        {
            String baseDir        = AppDomain.CurrentDomain.BaseDirectory;
            string defaultImgPath = baseDir + GlobalSystemConfig.PATH_DEFAULT_IMG;
            string contentType    = "image/jpeg";

            byte[] bytes = null;

            DmeModelImg dmeModelImg = base.modelService.GetModelImg(modelVersionCode);

            if (null == dmeModelImg)
            {
                LOG.Warn($"模型版本[{modelVersionCode}]还没设置图片,使用默认图片");
                if (!System.IO.File.Exists(defaultImgPath))
                {
                    throw new BusinessException($"默认图片[{defaultImgPath}]不存在");
                }
                bytes = System.IO.File.ReadAllBytes(defaultImgPath);
            }
            else
            {
                //从mongodb中读取流,DownloadFileToStream有问题
                bytes = MongodbHelper <object> .DownloadFileAsByteArray(ServiceFactory.MongoDatabase, new ObjectId(dmeModelImg.ImgCode));

                //imgStream = FileUtil.BytesToStream(bytes);
                contentType = dmeModelImg.ContentType;
            }
            // byte[] buffer = new byte[imgStream.Length];
            //读取图片字节流
            // imgStream.Read(buffer, 0, Convert.ToInt32(imgStream.Length));
            var response = File(bytes, contentType);

            // imgStream.Close();
            return(response);
        }
Example #2
0
        static void Main(string[] args)
        {
            //MongodbHelper<Person> helper = new MongodbHelper<Person>();

            ////插入1000条数据
            //for (int i = 0; i < 10; i++)
            //{
            //    helper.Insert(new Person()
            //    {
            //        ID = Guid.NewGuid().ToString(),
            //        Name = "jack" + i,
            //        Age = i,
            //        CreateTime = DateTime.Now
            //    });
            //}

            //Console.WriteLine("插入成功");

            MongodbHelper<Person> helper = new MongodbHelper<Person>();

            //修改jack941改成mary
            var single = helper.Single(i => i.Name == "jack9");
            single.Name = "mary";
            helper.Update(single, i => i.ID == single.ID);

            Console.WriteLine("修改成功");

            Console.Read();
        }
Example #3
0
        /// <summary>
        /// 发送消息
        /// </summary>
        /// <param name="topic">主题</param>
        /// <param name="message"></param>
        /// <returns>是否发送成功,true/false</returns>
        public static Task <Boolean> Send(string topic, MessageBody message)
        {
            return(Task.Run(() => {
                if (string.IsNullOrWhiteSpace(message.SysCode))
                {
                    message.SysCode = GuidUtil.NewGuid();
                }
                // 发送之前先持久化
                MessageColl messageCollection = new MessageColl
                {
                    SysCode = message.SysCode,
                    From = message.From,
                    To = message.To,
                    ChannelType = (int)message.ChannelType,
                    MsgType = (int)message.MessageType,
                    Payload = message.Payload,
                    SendTime = DateUtil.CurrentTimeMillis,
                    Delivered = (int)EnumDeliverType.UNDELIVERED,
                    Read = (int)EnumReadType.UNREAD
                };

                MongodbHelper <MessageColl> .Add(ServiceFactory.MongoDatabase, messageCollection);

                var dr = producer.ProduceAsync(topic, null, JsonConvert.SerializeObject(message));
                if (dr.Result.Error.HasError)
                {
                    LOG.Error($" 发送失败,详情[{dr.Result.Error.Reason}]");
                    return false;
                }
                messageCollection.Delivered = (int)EnumDeliverType.DELIVERED;
                MongodbHelper <MessageColl> .Update(ServiceFactory.MongoDatabase, messageCollection, messageCollection._id);
                LOG.Info($"成功发送 '{dr.Result.Value}' to: {dr.Result.TopicPartitionOffset}");
                return true;
            }));
        }
Example #4
0
        public Result UploadModelImg(string modelVersionCode, [FromForm] IFormFile file)
        {
            if (file?.Length > 0)
            {
                string suffix               = file.FileName.Substring(file.FileName.LastIndexOf("."));
                string localFileName        = GuidUtil.NewGuid() + suffix;
                GridFSUploadOptions options = new GridFSUploadOptions
                {
                    Metadata = new BsonDocument(new Dictionary <string, object>()
                    {
                        ["ContentType"] = file.ContentType
                    })
                };
                ObjectId objectId = MongodbHelper <object> .UploadFileFromStream(ServiceFactory.MongoDatabase, localFileName, file.OpenReadStream(), options);

                try
                {
                    return(base.Success(base.modelService.AddModelImg(modelVersionCode, file.FileName, suffix, file.ContentType, objectId.ToString())));
                }
                catch (Exception ex)
                {
                    LOG.Error(ex, "模型图片数据库持久化失败,详情:" + ex.Message);
                    if (objectId != null)
                    {
                        LOG.Warn($"文件[{objectId}]撤销保存");
                        MongodbHelper <object> .DeleteFileById(ServiceFactory.MongoDatabase, objectId);
                    }
                }
            }
            return(base.Fail("上传失败,没有获取到图片数据"));
        }
Example #5
0
        public MongodbRepository(IMongoDatabase mongoDatabase)
        {
            this.RegisterAutoMap();

            string collectionName = MongodbHelper.GetCollectionName <T>();

            this._mongoCollection = mongoDatabase.GetCollection <T>(collectionName);
        }
Example #6
0
        public void MongoSetData(BugModel model)
        {
            MongodbHelper h = new MongodbHelper();

            model.BrowserInfo = JsonConvert.SerializeObject(model.BrowserInfo);
            model.exception = JsonConvert.SerializeObject(model.exception);
            var task = h.Add(model);
            //task.Wait();
        }
Example #7
0
        public object OperateTask(string taskCode, int operation)
        {
            var     db   = Repository.GetDbContext();
            DmeTask task = db.Queryable <DmeTask>().Single(t => t.SysCode == taskCode);

            if (null == task)
            {
                throw new BusinessException((int)EnumSystemStatusCode.DME_FAIL, $"任务[{taskCode}]不存在");
            }
            DmeModel model = db.Queryable <DmeModel>().InSingle(task.ModelId);

            switch (operation)
            {
            case 0:
                LOG.Info($"停止任务[{taskCode}]");
                task.Status   = EnumUtil.GetEnumDisplayName(EnumSystemStatusCode.DME_STOP);
                task.LastTime = DateUtil.CurrentTimeMillis;
                db.Updateable <DmeTask>(task).UpdateColumns(t => new { task.Status, task.LastTime }).ExecuteCommand();
                DmeQuartzScheduler <TaskRunnerJob> .PauseJob(task.SysCode, model.ModelTypeCode);

                break;

            case 1:
                // @TODO 有待完成
                LOG.Info($"重启任务[{taskCode}]");
                task.Status   = EnumUtil.GetEnumDisplayName(EnumSystemStatusCode.DME_RUNNING);
                task.LastTime = DateUtil.CurrentTimeMillis;
                db.Updateable <DmeTask>(task).UpdateColumns(t => new { task.Status, task.LastTime }).ExecuteCommand();
                DmeQuartzScheduler <TaskRunnerJob> .ResumeJob(task.SysCode, model.ModelTypeCode);

                break;

            case -1:
                LOG.Info($"删除任务[{taskCode}]");
                // 删除与任务相关的步骤记录和结果记录
                int count = db.Deleteable <DmeTaskRuleStep>(trs => trs.TaskId == task.Id).ExecuteCommand();
                LOG.Info($"删除任务[{taskCode}]关联的[{count}]个步骤记录");
                count = db.Deleteable <DmeTaskResult>(tr => tr.TaskId == task.Id).ExecuteCommand();
                LOG.Info($"删除任务[{taskCode}]关联的[{count}]个结果记录");
                // 从mongo中获取
                var filter = Builders <TaskResultColl> .Filter.And(
                    Builders <TaskResultColl> .Filter.Eq("TaskId", task.Id));

                MongodbHelper <TaskResultColl> .DeleteMany(ServiceFactory.MongoDatabase, filter);

                db.Deleteable <DmeTask>(task).ExecuteCommand();
                DmeQuartzScheduler <TaskRunnerJob> .DeleteJob(task.SysCode, model.ModelTypeCode);

                break;

            default:
                break;
            }
            return(true);
        }
Example #8
0
        public static void UnitTest()
        {
            MongodbHost host = null;
            //1.批量修改,修改的条件
            var time = DateTime.Now;
            var list = new List <FilterDefinition <PhoneEntity> >
            {
                Builders <PhoneEntity> .Filter.Lt("AddTime", time.AddDays(5)),
                Builders <PhoneEntity> .Filter.Gt("AddTime", time)
            };
            var filter = Builders <PhoneEntity> .Filter.And(list);

            //2.要修改的字段内容
            var dic = new Dictionary <string, string>
            {
                { "UseAge", "168" },
                { "Name", "朝阳" }
            };
            //3.批量修改
            var kk = MongodbHelper <PhoneEntity> .UpdateManay(host, dic, filter);


            //根据条件查询集合
            time = DateTime.Now;
            list = new List <FilterDefinition <PhoneEntity> >
            {
                Builders <PhoneEntity> .Filter.Lt("AddTime", time.AddDays(20)),
                Builders <PhoneEntity> .Filter.Gt("AddTime", time)
            };
            filter = Builders <PhoneEntity> .Filter.And(list);

            //2.查询字段
            var field = new[] { "Name", "Price", "AddTime" };
            //3.排序字段
            var sort = Builders <PhoneEntity> .Sort.Descending("AddTime");

            var res = MongodbHelper <PhoneEntity> .FindList(host, filter, field, sort);


            //分页查询,查询条件
            time = DateTime.Now;
            list = new List <FilterDefinition <PhoneEntity> >
            {
                Builders <PhoneEntity> .Filter.Lt("AddTime", time.AddDays(400)),
                Builders <PhoneEntity> .Filter.Gt("AddTime", time)
            };
            filter = Builders <PhoneEntity> .Filter.And(list);

            //排序条件
            sort = Builders <PhoneEntity> .Sort.Descending("AddTime");

            res = MongodbHelper <PhoneEntity> .FindListByPage(host, filter, 2, 10, out long count, null, sort);
        }
Example #9
0
        /// <summary>
        /// 异步保存输出
        /// </summary>
        /// <param name="outputParams"></param>
        protected void SaveOutput(IDictionary <string, Property> outputParams)
        {
            // 保存计算结果
            foreach (var item in outputParams)
            {
                DmeTaskResult taskResult = new DmeTaskResult
                {
                    TaskId     = this.taskId,
                    RuleStepId = this.step.Id,
                    ResultCode = item.Key,
                    ResultType = EnumUtil.GetEnumName <EnumValueMetaType>(item.Value.DataType)
                };
                switch (item.Value.DataType)
                {
                case (int)EnumValueMetaType.TYPE_BIGNUMBER:
                case (int)EnumValueMetaType.TYPE_BINARY:
                case (int)EnumValueMetaType.TYPE_BOOLEAN:
                case (int)EnumValueMetaType.TYPE_INTEGER:
                case (int)EnumValueMetaType.TYPE_NUMBER:
                case (int)EnumValueMetaType.TYPE_SERIALIZABLE:
                case (int)EnumValueMetaType.TYPE_STRING:
                case (int)EnumValueMetaType.TYPE_TIMESTAMP:
                case (int)EnumValueMetaType.TYPE_MDB_FEATURECLASS:
                    taskResult.ResultValue = item.Value.Value;
                    break;

                case (int)EnumValueMetaType.TYPE_JSON:
                    // 存储到mongodb
                    TaskResultColl taskResultColl = new TaskResultColl
                    {
                        TaskId       = this.taskId,
                        TaskCode     = this.task.SysCode,
                        RuleStepId   = this.step.Id,
                        RuleStepCode = this.step.SysCode,
                        Code         = item.Key,
                        Value        = JsonConvert.SerializeObject(item.Value.Value)
                    };
                    MongodbHelper <TaskResultColl> .Add(ServiceFactory.MongoDatabase, taskResultColl);

                    //taskResult.ResultValue = JsonConvert.SerializeObject(item.Value.Value);
                    break;

                case (int)EnumValueMetaType.TYPE_DATE:
                    // 日期类型,转换成毫秒存储
                    taskResult.ResultValue = ((DateTime)item.Value.Value).Millisecond;
                    break;

                default:
                    break;
                }
                this.repository.GetDbContext().Insertable <DmeTaskResult>(taskResult).ExecuteCommand();
            }
        }
    public override void createIndex(MongodbHelper db, string url)
    {
        MongoDatabase mdb = db.MongoDb;

        if (mdb == null)
        {
            return;
        }

//         var table = mdb.GetCollection(TableName.OPLOG);
//         table.CreateIndex(IndexKeys.Ascending("OpType"), IndexOptions.SetBackground(true));
    }
        public void DadoQueEuTenhoUmaTarefaComOsSeguintesAtributos(Table Dados)
        {
            mongo = new MongodbHelper();

            foreach (var item in Dados.Rows)
            {
                tarefa.Titulo = item["Titulo"];
                tarefa.Data   = item["Data"];
            }
            mongo.DeleteByTitle(tarefa.Titulo);
            taskPage.CadastrarTarefa2(tarefa);
        }
Example #12
0
        /// <summary>
        /// 连接Mongodb数据库
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                #region
                //var client = MongodbHelper.CreateInstance().CreateMongoClient(ConnString.Mongodb);//new MongoClient(ConnString.Mongodb);
                //var database = MongodbHelper.CreateInstance().CreateMongoDatabase(client, SystemSettingBase.CreateInstance().SysMongoDB.Database); //client.GetDatabase(SystemSettingBase.CreateInstance().SysMongoDB.Database);
                //var collection = database.GetCollection<BsonDocument>("Sensors");
                //var sensor = new BsonDocument();
                //sensor.Add("no", Guid.NewGuid());
                //sensor.Add("name", "CO传感器");
                //sensor.Add("sn", "ISB001009");
                //sensor.Add("position", "厨房");
                //sensor.Add("setdate", DateTime.Now);
                //sensor.Add("status", "1");
                //collection.InsertOneAsync(sensor);
                #endregion

                #region
                //var sensor = new BsonDocument();
                //sensor.Add("no", Guid.NewGuid());
                //sensor.Add("name", "温湿度传感器1");
                //sensor.Add("sn", "ISB001011");
                //sensor.Add("position", "卧室");
                //sensor.Add("setdate", DateTime.Now);
                //sensor.Add("status", "1");
                ////MongodbHelper.CreateInstance().InsertOneDocumentAsync(ConnString.Mongodb, SystemSettingBase.CreateInstance().SysMongoDB.Database, "Sensors", sensor);
                //MongodbHelper.CreateInstance().InsertOneDocument(ConnString.Mongodb, SystemSettingBase.CreateInstance().SysMongoDB.Database, "Sensors", sensor);
                #endregion

                #region
                List <BsonDocument> list = new List <BsonDocument>();
                for (int i = 1; i < 5; i++)
                {
                    var sensor = new BsonDocument();
                    sensor.Add("no", Guid.NewGuid());
                    sensor.Add("name", string.Format("温湿度传感器{0}", i + 1));
                    sensor.Add("sn", string.Format("ISB001011{0}", i));
                    sensor.Add("position", "卧室");
                    sensor.Add("setdate", DateTime.Now);
                    sensor.Add("status", "1");
                    list.Add(sensor);
                }
                MongodbHelper.CreateInstance().InsertManyDocumentAsync(ConnString.Mongodb, SystemSettingBase.CreateInstance().SysMongoDB.Database, "Sensors", list);
                #endregion
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Example #13
0
        /// <summary>
        /// Linq
        /// </summary>
        private static void LinqMethod()
        {
            string serverHost     = "mongodb://*****:*****@localhost/Sure_mongodbStudy";
            string databaseName   = "Sure_mongodbStudy";
            string collectionName = "People";
            MongodbHelper <People>            mongodb = new MongodbHelper <People>(serverHost, databaseName, collectionName);
            Expression <Func <People, bool> > func    = i => i.PeopleId > 0;
            List <People> list = null;

            list = mongodb.FindAll(func);

            list = mongodb.FindAll(func).Skip(10 * (1 - 1)).Take(10).ToList();
            list.ForEach((x) => { Console.WriteLine(x.PeopleAddress); });
            list = mongodb.FindAll(func).Where(i => i.PeopleAge <= 10).ToList();
        }
Example #14
0
        public Result UploadDmeFileSystem([FromForm][Required] string name, [FromForm] IFormFile[] files)
        {
            if (files?.Length > 0)
            {
                IList <DmeFileSystemMeta> metas = new List <DmeFileSystemMeta>();
                foreach (var file in files)
                {
                    try
                    {
                        string suffix = file.FileName.Substring(file.FileName.LastIndexOf("."));
                        GridFSUploadOptions options = new GridFSUploadOptions
                        {
                            Metadata = new BsonDocument(new Dictionary <string, object>()
                            {
                                ["ContentType"] = file.ContentType
                            })
                        };
                        ObjectId objectId = MongodbHelper <object> .UploadFileFromStream(ServiceFactory.MongoDatabase, file.FileName, file.OpenReadStream(), options);

                        metas.Add(new DmeFileSystemMeta()
                        {
                            Name        = file.FileName,
                            Suffix      = suffix,
                            ContentType = file.ContentType,
                            ObjectId    = objectId.ToString()
                        });
                    }
                    catch (Exception ex)
                    {
                        return(base.Fail($"文件数据库持久化失败,详情:{ex.Message}"));
                    }
                }
                try
                {
                    return(base.Success(base.dataSourceService.AddDmeFileSystemSource(name, metas)));
                }
                catch (Exception ex)
                {
                    foreach (var item in metas)
                    {
                        LOG.Warn($"文件[{item.ObjectId}]撤销保存");
                        MongodbHelper <object> .DeleteFileById(ServiceFactory.MongoDatabase, item.ObjectId);
                    }
                    return(base.Fail($"元数据数据库持久化失败,详情:{ex.Message}"));
                }
            }
            return(base.Fail("上传失败,没有获取到文件数据"));
        }
Example #15
0
    public override void createIndex(MongodbHelper db, string url)
    {
        MongoDatabase mdb = db.MongoDb;

        if (mdb == null)
        {
            return;
        }

        try
        {
        }
        catch (System.Exception ex)
        {
        }
    }
Example #16
0
    public void createIndex(DBServer dbSvr, string url)
    {
        string name = "";

        for (int i = 0; i < DbName.DB_NAME_MAX; i++)
        {
            MongodbHelper m = dbSvr.getDB(i);
            if (m != null)
            {
                name = DBServer.m_dbName[i];
                if (m_index.ContainsKey(name))
                {
                    m_index[name].createIndex(m, url);
                }
            }
        }
    }
    public override void createIndex(MongodbHelper db, string url)
    {
        MongoDatabase mdb = db.MongoDb;

        if (mdb == null)
        {
            return;
        }

        if (url == WebConfigurationManager.AppSettings["account"])
        {
            return;
        }

//         var table = mdb.GetCollection(TableName.PLAYER_INFO);
//         table.CreateIndex(IndexKeys.Ascending("gold"), IndexOptions.SetBackground(true));
//         table.CreateIndex(IndexKeys.Ascending("ticket"), IndexOptions.SetBackground(true));
    }
Example #18
0
        /// <summary>
        /// 广播消息
        /// </summary>
        /// <param name="message">消息体</param>
        public static Task Broadcast(string message)
        {
            LOG.Info($"广播消息:{message}");
            MessageBody messageBody = JsonConvert.DeserializeObject <MessageBody>(message);

            return(Task.Run(() => {
                foreach (var agent in appId_Agent_SocketsMap)
                {
                    foreach (var socket in agent.Value.Values)
                    {
                        try
                        {
                            if (socket.IsAvailable)
                            {
                                socket.Send(message);
                                // 设置为已读
                                try
                                {
                                    // 从mongo中获取
                                    var filter = Builders <MessageColl> .Filter.And(
                                        Builders <MessageColl> .Filter.Eq("SysCode", messageBody.SysCode));
                                    IList <MessageColl> colls = MongodbHelper <MessageColl> .FindList(ServiceFactory.MongoDatabase, filter);
                                    if (colls?.Count > 0)
                                    {
                                        colls[0].Read = (int)EnumReadType.READ;
                                        colls[0].ReadTime = DateUtil.CurrentTimeMillis;
                                        MongodbHelper <MessageColl> .Update(ServiceFactory.MongoDatabase, colls[0], colls[0]._id);
                                    }
                                }
                                catch (Exception ex)
                                {
                                    LOG.Error($"更新消息已读状态出错,详情:{ex.StackTrace + "\r\n" + ex.Message}");
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            LOG.Error($"发送到[{agent.Key}]的消息失败,详情:{ex.StackTrace + "\r\n" + ex.Message}");
                        }
                    }
                }
            }));
        }
Example #19
0
    // 返回下一条数据
    public static List <Dictionary <string, object> > nextData <T>(MongodbHelper <T> db,
                                                                   string table,
                                                                   IMongoQuery imq,
                                                                   ref int skip,
                                                                   int count,
                                                                   string[] fields = null,
                                                                   string sort     = "",
                                                                   bool asc        = true) where T : new()
    {
        List <Dictionary <string, object> > data =
            db.ExecuteGetListByQuery(table, imq, fields, sort, asc, skip, count);

        if (data == null || data.Count == 0)
        {
            return(null);
        }
        skip += count;
        return(data);
    }
        public void runtest(Object invokeEntity)
        {
            try
            {
                mongodbHelper = new ZC.DBUtils.MongodbHelper(System.Configuration.ConfigurationManager.AppSettings["mgdwhost"].ToString());
            }
            catch (Exception ex)
            {
                File.AppendAllText("error.txt", ex.Message);
            }

            //// 处理mongodb查询日志
            consumerQuery = RocketMqHelper.CreateDefaultMQPushConsumer <MongoDBQueryListener>("MongoDB_Query", MessageModel.CLUSTERING, "MongoDB", "Query");

            consumerUpdateVersion = RocketMqHelper.CreateDefaultMQPushConsumer <MongoDBUpdateVersionListener>("MongoDB_UpdateVersion", MessageModel.CLUSTERING, "MongoDB", "UpdateVersion");

            while (true)
            {
                Thread.Sleep(2000);
            }
        }
Example #21
0
    public override void createIndex(MongodbHelper db, string url)
    {
        MongoDatabase mdb = db.MongoDb;

        if (mdb == null)
        {
            return;
        }

        try
        {
            var table = mdb.GetCollection(TableName.PUMP_PLAYER_MONEY);
            table.CreateIndex(IndexKeys.Ascending("playerId"), IndexOptions.SetBackground(true));
            table.CreateIndex(IndexKeys.Ascending("gameId"), IndexOptions.SetBackground(true));
            table.CreateIndex(IndexKeys.Ascending("itemId"), IndexOptions.SetBackground(true));
            table.CreateIndex(IndexKeys.Ascending("reason"), IndexOptions.SetBackground(true));
        }
        catch (System.Exception ex)
        {
        }
    }
Example #22
0
 public static Task SendMsgAsync(string appId, MessageBody message)
 {
     return(Task.Run(() => {
         if (string.IsNullOrWhiteSpace(appId))
         {
             Broadcast(message.Payload);
         }
         else
         {
             // 发给指定的客户端
             if (appId_Agent_SocketsMap.ContainsKey(appId))
             {
                 IDictionary <string, IWebSocketConnection> agentConns = appId_Agent_SocketsMap[appId];
                 foreach (var item in agentConns)
                 {
                     LOG.Info($"给客户端[{item.Key}]发送消息");
                     item.Value.Send(message.Payload).GetAwaiter();
                     // 更改消息的可达标识
                     //修改条件
                     var filter = Builders <MessageColl> .Filter.And(
                         Builders <MessageColl> .Filter.Eq("SysCode", message.SysCode));
                     List <MessageColl> list = MongodbHelper <MessageColl> .FindList(ServiceFactory.MongoDatabase, filter);
                     if (list?.Count > 0)
                     {
                         list[0].Delivered = (int)EnumDeliverType.DELIVERED;
                     }
                     MongodbHelper <MessageColl> .UpdateAsync(ServiceFactory.MongoDatabase, list[0], list[0]._id.ToString()).GetAwaiter();
                 }
             }
             else
             {
                 LOG.Info($"客户端[{appId}]离线,发送离线消息");
                 // TODO 保存离线消息
             }
         }
     }));
 }
Example #23
0
 public HomeController()
 {
     _mongodbHelper = new MongodbHelper();
 }
Example #24
0
 public abstract void createIndex(MongodbHelper db, string url);
Example #25
0
        public object GetTaskResult(string taskCode, int ruleStepId)
        {
            SqlSugarClient db   = base.Repository.GetDbContext();
            DmeTask        task = db.Queryable <DmeTask>().Single(t => t.SysCode == taskCode);

            if (null == task)
            {
                throw new BusinessException((int)EnumSystemStatusCode.DME_FAIL, $"任务不存在[{taskCode}]");
            }
            // 查询任务的结果输出
            IList <DmeTaskResult> taskResults = null;

            if (-1 == ruleStepId)
            {
                // 全部步骤
                taskResults = db.Queryable <DmeTaskResult>().Where(tr => tr.TaskId == task.Id).ToList();
            }
            else
            {
                // 指定步骤
                taskResults = db.Queryable <DmeTaskResult>().Where(tr => tr.TaskId == task.Id && tr.RuleStepId == ruleStepId).ToList();
            }
            if (null == taskResults || 0 == taskResults.Count)
            {
                return(null);
            }
            IList <TaskResultRespDTO> taskResultRespDTOs = new List <TaskResultRespDTO>();
            TaskResultRespDTO         temp = null;

            foreach (var item in taskResults)
            {
                temp = new TaskResultRespDTO
                {
                    RuleStepId = item.RuleStepId,
                    Code       = item.ResultCode,
                    Type       = item.ResultType
                };
                // 解析步骤类型
                DmeRuleStep ruleStep = db.Queryable <DmeRuleStep>().Single(rs => rs.Id == item.RuleStepId);

                //   Value = item.ResultValue
                EnumValueMetaType @enum = EnumUtil.GetEnumObjByName <EnumValueMetaType>(temp.Type);
                switch (@enum)
                {
                case EnumValueMetaType.TYPE_UNKNOWN:
                case EnumValueMetaType.TYPE_NUMBER:
                case EnumValueMetaType.TYPE_STRING:
                case EnumValueMetaType.TYPE_INTEGER:
                case EnumValueMetaType.TYPE_BIGNUMBER:
                case EnumValueMetaType.TYPE_TIMESTAMP:
                case EnumValueMetaType.TYPE_INET:
                case EnumValueMetaType.TYPE_LOCAL_FILE:
                case EnumValueMetaType.TYPE_GDB_PATH:
                case EnumValueMetaType.TYPE_FOLDER:
                    temp.Value = item.ResultValue;
                    break;

                case EnumValueMetaType.TYPE_DATE:
                    // 要求格式:yyyy-MM-dd hh:mm:ss
                    temp.Value = Convert.ToDateTime(item.ResultValue?.ToString());
                    break;

                case EnumValueMetaType.TYPE_BOOLEAN:
                    temp.Value = Boolean.Parse(item.ResultValue?.ToString());
                    break;

                case EnumValueMetaType.TYPE_SERIALIZABLE:
                    break;

                case EnumValueMetaType.TYPE_BINARY:
                    break;

                case EnumValueMetaType.TYPE_MDB_FEATURECLASS:
                    break;

                case EnumValueMetaType.TYPE_STRING_LIST:
                    temp.Value = item.ResultValue?.ToString().Split(";");
                    break;

                case EnumValueMetaType.TYPE_SDE_FEATURECLASS:
                    break;

                case EnumValueMetaType.TYPE_FEATURECLASS:
                    break;

                case EnumValueMetaType.TYPE_JSON:
                    // 从mongo中获取
                    var filter = Builders <TaskResultColl> .Filter.And(
                        Builders <TaskResultColl> .Filter.Eq("TaskId", item.TaskId),
                        Builders <TaskResultColl> .Filter.Eq("RuleStepId", item.RuleStepId),
                        Builders <TaskResultColl> .Filter.Eq("Code", item.ResultCode));

                    IList <TaskResultColl> colls = MongodbHelper <TaskResultColl> .FindList(ServiceFactory.MongoDatabase, filter);

                    if (colls != null && colls.Count > 0)
                    {
                        temp.Value = colls[0].Value;
                    }
                    break;

                default:
                    break;
                }

                taskResultRespDTOs.Add(temp);
            }
            return(taskResultRespDTOs);
        }
 public Users Login(Users user)
 {
     return(MongodbHelper.GetOne <Users>("Users", Query.And(Query.EQ("account", user.account), Query.EQ("password", user.password))));
 }
        public static string Test3()
        {
            //1&2&3|(1&(4|5))
            QueryModel3 queryModel = new QueryModel3()
            {
                LogicalOperator = LogicalOperatorKind.Or,
                QueryModels     = new List <QueryModel3>()
                {
                    new QueryModel3()
                    {
                        QueryUnits = new List <QueryUnit>()
                        {
                            new QueryUnit()
                            {
                                Factors = new List <QueryFactor>()
                                {
                                    new QueryFactor()
                                    {
                                        Key            = "col_1",
                                        ValueOperators = new List <QueryFactorOperator>()
                                        {
                                            new QueryFactorOperator()
                                            {
                                                Value = "col_1_value"
                                            }
                                        }
                                    },
                                    new QueryFactor()
                                    {
                                        Key            = "col_2",
                                        ValueOperators = new List <QueryFactorOperator>()
                                        {
                                            new QueryFactorOperator()
                                            {
                                                Value = "col_2_value"
                                            }
                                        }
                                    },
                                    new QueryFactor()
                                    {
                                        Key            = "col_3",
                                        ValueOperators = new List <QueryFactorOperator>()
                                        {
                                            new QueryFactorOperator()
                                            {
                                                Value = "col_3_value"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    new QueryModel3()
                    {
                        QueryModels = new List <QueryModel3>()
                        {
                            new QueryModel3()
                            {
                                QueryUnits = new List <QueryUnit>()
                                {
                                    new QueryUnit()
                                    {
                                        Factors = new List <QueryFactor>()
                                        {
                                            new QueryFactor()
                                            {
                                                Key            = "col_1",
                                                ValueOperators = new List <QueryFactorOperator>()
                                                {
                                                    new QueryFactorOperator()
                                                    {
                                                        Value = "col_1_value"
                                                    }
                                                }
                                            },
                                        }
                                    }
                                }
                            },
                            new QueryModel3()
                            {
                                QueryUnits = new List <QueryUnit>()
                                {
                                    new QueryUnit()
                                    {
                                        LogicalOperator = LogicalOperatorKind.Or,
                                        Factors         = new List <QueryFactor>()
                                        {
                                            new QueryFactor()
                                            {
                                                Key            = "col_4",
                                                ValueOperators = new List <QueryFactorOperator>()
                                                {
                                                    new QueryFactorOperator()
                                                    {
                                                        Value = "col_4_value"
                                                    }
                                                }
                                            },
                                            new QueryFactor()
                                            {
                                                Key            = "col_5",
                                                ValueOperators = new List <QueryFactorOperator>()
                                                {
                                                    new QueryFactorOperator()
                                                    {
                                                        Value = "col_5_value"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            };
            var filter = QueryModel3Helper <BsonDocument> .ToMongodbFilter(queryModel);

            return(MongodbHelper.FilterDefinitionToJsonString(filter));
        }
Example #28
0
 public ReferralUserReportController()
 {
     _mongodbHelper = new MongodbHelper();
 }
        public static string Test4()
        {
            // { "$and" : [{ "FormId" : "CarInfo" }, { "Level1" : "Apple" }, { "CreateDate" : { "$gte" : "2010-01-01", "$lte" : "2020-12-31" } }, { "FormValues" : { "$elemMatch" : { "key" : "key1", "value" : { "$ne" : "", "$lte" : "2020" } } } }, { "FormValues" : { "$elemMatch" : { "key" : "key2", "value" : { "$gte" : "2000", "$lte" : "2020" } } } }] }
            QueryModel3 queryModel = new QueryModel3()
            {
                QueryUnits = new List <QueryUnit>()
                {
                    new QueryUnit()
                    {
                        Factors = new List <QueryFactor>()
                        {
                            new QueryFactor()
                            {
                                Key            = "FormId",
                                ValueOperators = new List <QueryFactorOperator>()
                                {
                                    new QueryFactorOperator()
                                    {
                                        Value = "CarInfo"
                                    }
                                }
                            },
                            new QueryFactor()
                            {
                                Key            = "Level1",
                                ValueOperators = new List <QueryFactorOperator>()
                                {
                                    new QueryFactorOperator()
                                    {
                                        Value = "Apple"
                                    }
                                }
                            },
                            new QueryFactor()
                            {
                                Key            = "CreateDate",
                                ValueOperators = new List <QueryFactorOperator>()
                                {
                                    new QueryFactorOperator()
                                    {
                                        Value = "2010-01-01", QueryOperator = QueryOperatorKind.GTE
                                    },
                                    new QueryFactorOperator()
                                    {
                                        Value = "2020-12-31", QueryOperator = QueryOperatorKind.LTE
                                    }
                                }
                            }
                        }
                    },
                    new QueryUnit()
                    {
                        ElemMatchName = "FormValues",
                        Factors       = new List <QueryFactor>()
                        {
                            new QueryFactor()
                            {
                                Key            = "key",
                                ValueOperators = new List <QueryFactorOperator>()
                                {
                                    new QueryFactorOperator()
                                    {
                                        Value = "key1"
                                    }
                                }
                            },
                            new QueryFactor()
                            {
                                Key            = "value",
                                ValueOperators = new List <QueryFactorOperator>()
                                {
                                    new QueryFactorOperator()
                                    {
                                        Value = "", QueryOperator = QueryOperatorKind.NE
                                    },
                                    new QueryFactorOperator()
                                    {
                                        Value = "2020", QueryOperator = QueryOperatorKind.LTE
                                    }
                                }
                            }
                        }
                    },
                    new QueryUnit()
                    {
                        ElemMatchName = "FormValues",
                        Factors       = new List <QueryFactor>()
                        {
                            new QueryFactor()
                            {
                                Key            = "key",
                                ValueOperators = new List <QueryFactorOperator>()
                                {
                                    new QueryFactorOperator()
                                    {
                                        Value = "key2"
                                    }
                                }
                            },
                            new QueryFactor()
                            {
                                Key            = "value",
                                ValueOperators = new List <QueryFactorOperator>()
                                {
                                    new QueryFactorOperator()
                                    {
                                        Value = "2000", QueryOperator = QueryOperatorKind.GTE
                                    },
                                    new QueryFactorOperator()
                                    {
                                        Value = "2020", QueryOperator = QueryOperatorKind.LTE
                                    }
                                }
                            }
                        }
                    }
                }
            };
            var filter = QueryModel3Helper <BsonDocument> .ToMongodbFilter(queryModel);

            return(MongodbHelper.FilterDefinitionToJsonString(filter));
        }
Example #30
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            MongodbHelper <String> .Test();
        }
Example #31
0
        public void Init()
        {
            MongodbHelper.SetDBConfig(false, "test", "mongodb://192.168.184.128:27017");
            Cleanup();
            var users   = new List <User>();
            var courses = new List <Course>();

            courses.Add(new Course()
            {
                Id   = Guid.NewGuid(),
                Name = "语文"
            });
            courses.Add(new Course()
            {
                Id   = Guid.NewGuid(),
                Name = "数学"
            });
            users.Add(new User
            {
                Id       = Guid.NewGuid(),
                CourseId = courses[0].Id,
                Name     = "aa",
                Age      = 19,
                //Address = new Address() { City = "重庆市", Province = "重庆" },
                Roles = new List <Role>()
                {
                    new Role()
                    {
                        Name = "admin",
                        Sort = 1
                    },
                    new Role()
                    {
                        Name = "customer",
                        Sort = 2
                    }
                }
            });
            users.Add(new User
            {
                Id       = Guid.NewGuid(),
                Name     = "bb",
                Age      = 30,
                CourseId = courses[0].Id,
                Address  = new Address()
                {
                    City = "北京市", Province = "北京"
                },
                Roles = new List <Role>()
                {
                    new Role()
                    {
                        Name = "customer",
                        Sort = 2
                    }
                }
            });
            users.Add(new User
            {
                Id       = Guid.NewGuid(),
                Name     = "cc",
                CourseId = courses[0].Id,
                Age      = 20,
                Address  = new Address()
                {
                    City = "成都", Province = "四川"
                },
                Roles = new List <Role>()
                {
                    new Role()
                    {
                        Name = "admin",
                        Sort = 1
                    }
                }
            });
            users.Add(new User
            {
                Id      = Guid.NewGuid(),
                Name    = "dd",
                Age     = 15,
                Address = new Address()
                {
                    City = "贵阳市", Province = "贵州"
                },
            });
            users.Add(new User
            {
                Id       = Guid.NewGuid(),
                Name     = "ee",
                CourseId = courses[1].Id,
                Age      = 19,
                Address  = new Address()
                {
                    City = "重庆市", Province = "重庆"
                },
                Roles = new List <Role>()
                {
                    new Role()
                    {
                        Name = "admin",
                        Sort = 1
                    },
                    new Role()
                    {
                        Name = "customer",
                        Sort = 2
                    }
                }
            });
            users.Add(new User
            {
                Id       = Guid.NewGuid(),
                Name     = "ff",
                Age      = 49,
                CourseId = courses[1].Id,
                Address  = new Address()
                {
                    City = "重庆市", Province = "重庆"
                },
                Roles = new List <Role>()
                {
                    new Role()
                    {
                        Name = "admin",
                        Sort = 1
                    },
                    new Role()
                    {
                        Name = "customer",
                        Sort = 2
                    }
                },
                Extend = new { p1 = "1", p2 = "2" }
            });

            MongodbHelper.Default.InsertBulk(users);
            MongodbHelper.Default.InsertBulk(courses);
        }
 public BounceUserReportController()
 {
     _mongodbHelper = new MongodbHelper();
 }