コード例 #1
0
        /// <summary>
        /// 推送业务服务 Rest 请求接 入口
        /// </summary>
        /// <param name="proEventMessage"></param>
        /// <returns></returns>
        public Task <bool> PushBusinessServiceEntrance(ProcessEventMessage proEventMessage)
        {
            _logger.Info(LogSource, $"Start PushBusinessServiceEntrance Data:{ JsonConvert.SerializeObject(proEventMessage) }");

            return(Task.Factory.StartNew(() =>
            {
                var returnInfo = new ResponseResultInfo();

                CheckProcessEventMessage(proEventMessage, returnInfo);
                if (returnInfo.returnStatus != 200)
                {
                    _logger.Warn(LogSource, $"End PushBusinessServiceEntrance Data:{ JsonConvert.SerializeObject(proEventMessage) },RequestMessage:{ JsonConvert.SerializeObject(returnInfo) }");
                    throw new Exception(returnInfo.returnMsg);
                }

                returnInfo = CallBusinessService(proEventMessage);
                //如果接口出错,则抛出来给队列
                if (returnInfo.returnStatus != 200)
                {
                    _logger.Warn(LogSource, $"End PushBusinessServiceEntrance Data:{ JsonConvert.SerializeObject(proEventMessage) },RequestMessage:{ JsonConvert.SerializeObject(returnInfo) }");
                    throw new Exception(returnInfo.returnMsg);
                }

                _logger.Info(LogSource, $"End PushBusinessServiceEntrance Data:{ JsonConvert.SerializeObject(proEventMessage) }");
                return true;
            }));
        }
コード例 #2
0
 /// <summary>
 /// 校验推送消息
 /// </summary>
 /// <param name="proEventMessage"></param>
 /// <param name="returnInfo"></param>
 /// <returns></returns>
 private void CheckProcessEventMessage(ProcessEventMessage proEventMessage, ResponseResultInfo returnInfo)
 {
     if (!_prcEventInterfaceService.IsEnableEventInterface(proEventMessage.EventInterfaceId))
     {
         returnInfo.returnMsg = string.Format("FormId:{0},EventInterfaceId:{1},未获取到流程事件接口配置。", proEventMessage.FormId, proEventMessage.EventInterfaceId);
         ReturnErrorInfo(proEventMessage, returnInfo);
     }
 }
コード例 #3
0
        public async Task <ResponseResultInfo> AddWordTemplate(string userId, string organizationId, TemplateType type, [FromBody] WordTemplateInfo item)
        {
            ResponseResultInfo respResult = new ResponseResultInfo();

            try
            {
                item.Id         = Guid.NewGuid().ToString();
                item.CreateTime = DateTime.Now;
                _context.WordTemplateInfoes.Add(item);
                //根据类型添加到不同的数据库
                switch (type)
                {
                case TemplateType.Private:
                    PrivateTemplateInfo priTmp = new PrivateTemplateInfo();
                    priTmp.CreateTime = DateTime.Now;
                    priTmp.Id         = Guid.NewGuid().ToString();
                    priTmp.TemplateId = item.Id;
                    priTmp.UserId     = userId;
                    await _context.PrivateTemplateInfoes.AddAsync(priTmp);

                    break;

                case TemplateType.Public:
                    break;

                case TemplateType.Organization:
                    OrganizationTemplateInfo orgTmp = new OrganizationTemplateInfo();
                    orgTmp.CreateTime     = DateTime.Now;
                    orgTmp.Id             = Guid.NewGuid().ToString();
                    orgTmp.TemplateId     = item.Id;
                    orgTmp.OrganizationId = organizationId;
                    await _context.OrganizationTemplateInfoes.AddAsync(orgTmp);

                    break;

                default:
                    break;
                }
                _context.SaveChanges();

                respResult.Message = "OK";
                return(respResult);
            }
            catch (Exception ex)
            {
                respResult.IsSuccess = false;
                respResult.Message   = string.Format("Something wrong. The exception message::{0}", ex.Message);
                return(respResult);
            }
        }
コード例 #4
0
        public async Task <ResponseResultInfo <List <WordTemplateInfo> > > SearchWordTemplateList(string keyword)
        {
            ResponseResultInfo <List <WordTemplateInfo> > respResult = new ResponseResultInfo <List <WordTemplateInfo> >();

            try
            {
                List <WordTemplateInfo> list = await _context.WordTemplateInfoes.Where(x => x.Type == TemplateType.Public && x.Name.Contains(keyword)).OrderByDescending(x => x.CreateTime).ToListAsync();

                respResult.IsSuccess = true;
                respResult.Result    = list;
                return(respResult);
            }
            catch (Exception ex)
            {
                //LogHelper.ErrorWriteLine("Something wrong. The exception message::{0}", ex);
                respResult.IsSuccess = false;
                respResult.Message   = string.Format("Something wrong. The exception message::{0}", ex.Message);
                return(respResult);
            }
        }
コード例 #5
0
        public async Task <ResponseResultInfo <List <WordTemplateInfo> > > GetOrganizationTemplateList(string orgId)
        {
            ResponseResultInfo <List <WordTemplateInfo> > respResult = new ResponseResultInfo <List <WordTemplateInfo> >();

            try
            {
                List <string>           listIds = _context.OrganizationTemplateInfoes.Where(x => x.OrganizationId == orgId).OrderByDescending(x => x.CreateTime).Select(x => x.TemplateId).ToList();
                List <WordTemplateInfo> list    = await _context.WordTemplateInfoes.Where(x => listIds.Contains(x.Id)).ToListAsync();

                respResult.IsSuccess = true;
                respResult.Result    = list;
                return(respResult);
            }
            catch (Exception ex)
            {
                respResult.IsSuccess = false;
                respResult.Message   = string.Format("Something wrong. The exception message::{0}", ex.Message);
                return(respResult);
            }
        }
コード例 #6
0
        /// <summary>
        /// 错误信息返回信息、记录错误日志
        /// </summary>
        /// <param name="proEventMsgInfo"></param>
        /// <param name="resResultInfo"></param>
        private void ReturnErrorInfo(ProcessEventMessage proEventMsgInfo, ResponseResultInfo resResultInfo)
        {
            resResultInfo.returnStatus = 500;
            resResultInfo.returnCode   = "E0001";
            var logItem = new Domain.Models.PrcServer_BusinessInterfaceLog()
            {
                Status           = 500,
                FormID           = proEventMsgInfo.FormId,
                ActivityName     = proEventMsgInfo.ActivityName,
                EventInterfaceId = proEventMsgInfo.EventInterfaceId.ToString(),
                RequstID         = proEventMsgInfo.RequstID,

                RequestTime     = DateTime.Now,
                Parameters      = Newtonsoft.Json.JsonConvert.SerializeObject(proEventMsgInfo),
                ResponseMessage = Newtonsoft.Json.JsonConvert.SerializeObject(resResultInfo),
                ResponseTime    = DateTime.Now,
                IsRetry         = 0
            };

            _interfaceLogService.AddBusInterfaceLog(logItem);
        }
コード例 #7
0
        public async Task <ResponseResultInfo> AddOrganizationTemplate(string orgId, [FromBody] WordTemplateInfo item)
        {
            ResponseResultInfo respResult = new ResponseResultInfo();

            try
            {
                OrganizationTemplateInfo info = new OrganizationTemplateInfo();
                info.Id             = Guid.NewGuid().ToString();
                info.TemplateId     = item.Id;
                info.OrganizationId = orgId;
                await _context.OrganizationTemplateInfoes.AddAsync(info);

                _context.SaveChanges();
                respResult.IsSuccess = true;
                return(respResult);
            }
            catch (Exception ex)
            {
                respResult.IsSuccess = false;
                respResult.Message   = string.Format("Something wrong. The exception message::{0}", ex.Message);
                return(respResult);
            }
        }