Ejemplo n.º 1
0
        private async Task ExpenseDetail(AppDto appInfo, ExpenseDetailEntity entity)
        {
            await UnitOfWorkService.Execute(async() =>
            {
                var id        = await _expenseDetailRepository.InsertAndGetIdAsync(entity);
                var orgId     = _staffRepository.GetOrgId(appInfo.SalesMan).OrgId;
                var dataInOrg = new DataInOrgEntity
                {
                    DataId   = id.ToString(),
                    DataType = (int)DataType.ExpenseDetail,
                    OrgId    = orgId,
                    RoleId   = ((int)UserType.Admin).ToString()
                };
                var dataRlt = _dataInOrgRepository.Inserts(dataInOrg);
                if (id <= 0 && !dataRlt)
                {
                    return(new Result {
                        Status = false, Message = "数据库操作失败"
                    });
                }

                return(new Result {
                    Status = true
                });
            });
        }
 private static void CreateEntity(SendCompleteCommand notification, ExpenseDetailEntity entity)
 {
     entity.Appkey       = notification.AppKey;
     entity.Description  = notification.Description;
     entity.Mobile       = notification.Mobile;
     entity.OperatorType = Convert.ToInt32(notification.OperatorType);
     entity.Remark       = "";
     entity.Success      = notification.Result;
     entity.UserId       = notification.UserId;
     entity.Value        = -1;
 }
Ejemplo n.º 3
0
 private static void CreateEntity(SendCompleteCommand notification, ExpenseDetailEntity entity)
 {
     entity.Appkey       = notification.AppKey;
     entity.Description  = notification.Description;
     entity.Mobile       = notification.Mobile;
     entity.OperatorType = OperatorCon(notification.OperatorType);
     entity.Remark       = "";
     entity.Success      = notification.Result;
     entity.UserId       = notification.UserId;
     entity.Value        = -1;
     entity.CreateDate   = DateTime.Now;
     entity.Description  = "";
     entity.SalesMan     = notification.SalesMan;
 }
Ejemplo n.º 4
0
        /// <summary>
        /// "phoneNum": "17621826129"
        //"operatorType": "CT"
        /// </summary>
        /// <param name="params"></param>
        /// <returns></returns>
        public async Task <RespResult> GetMobile(Params @params)
        {
            try
            {
                var nonce       = _guid.Create().ToString("N");
                var dateTime    = DateTimeOffset.UtcNow;
                var timeStamp   = DateTimeOffset.UtcNow.ToString("yyyy-MM-ddTHH:mm:ssZ");
                var appInfo     = ObjectContainer.Resolve <IAppService>().GetAppCache(@params.AppKey);
                var dataContent = AESAlgorithm.Decrypt(@params.DataContent, appInfo.MessageSecret);
                @params.DataContent = AESAlgorithm.Encrypt(dataContent, appInfo.MsgSecret);

                var url        = _config.GetValue("OneKeyLogin:Url", "https://feiyan.xinyan-ai.com/ocl/oclOrder/v1/getMobile");
                var respResult = await Send(@params, nonce, timeStamp, appInfo, url);

                if (!respResult.success)
                {
                    return(respResult);
                }
                var cmd = new SendCompleteCommand();
                CreateCompleteCommand(@params, nonce, dateTime, appInfo, respResult, cmd);

                //计费
                await Balance(appInfo);

                //redis
                await _redisHelper.StringIncrementAsync(RedisKeyName.CreateUserAmountKey(appInfo.UserId), -1);

                var entity = new ExpenseDetailEntity();
                CreateEntity(cmd, entity);

                //交易明细写数据库
                await ExpenseDetail(appInfo, entity);

                //await _mediator.Publish(cmd);
                return(respResult);
            }
            catch (Exception ex)
            {
                Logger.Error("GetMobile:", ex);
                Logger.Error($"json:{Serializer.Serialize(@params)}");
                return(new RespResult {
                    errorCode = TaskResultStatus.SystemError.ToString(), errorMsg = "系统错误", result = null, success = false
                });
            }
        }
        public async Task Handle(SendCompleteCommand notification, CancellationToken cancellationToken)
        {
            var entity = new ExpenseDetailEntity();

            CreateEntity(notification, entity);
            try
            {
                var unitOfWork = ObjectContainer.Resolve <IUnitOfWorkService>();
                unitOfWork.ExecuteNonQuery(async() => {
                    await _expenseDetailRepo.InsertAsync(entity);
                });
                await Task.CompletedTask;
            }
            catch (Exception ex)
            {
                var json = ObjectContainer.Resolve <ISerializer>().Serialize(entity);
                Logger.Error($"class:{nameof(SendCompleteExpenseDetailHandler)},json:{json},orcl,写入数据库失败:", ex);
            }
        }