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; }
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; }
/// <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); } }