public static void PopulateNonNull(this ResultDTO identify, ResultDTO id2) { if (id2.model != null) identify.model = id2.model; if (id2.name != null) identify.name = id2.name; //if (id2.countcycles != null) identify.countcycles = id2.countcycles; if (id2.elapsedtime != null) identify.elapsedtime = id2.elapsedtime; if (id2.Variablenames != null) identify.Variablenames = id2.Variablenames; if (id2.Variablevalues != null) identify.Variablevalues = id2.Variablevalues; if (id2.Experimentalvalues != null) identify.Experimentalvalues = id2.Experimentalvalues; if (id2.Parameternames != null) identify.Parameternames = id2.Parameternames; if (id2.Parametervalues != null) identify.Parametervalues = id2.Parametervalues; if (id2.ParameterAssignment != null) identify.ParameterAssignment = id2.ParameterAssignment; }
private ResultDTO ValidateRegisterData(RegisterDTO obj) { ResultDTO resul = new ResultDTO(); resul.StatusCode = Common.ConvertErrorCodeToInt(RetCode.ECS0000); if (string.IsNullOrEmpty(obj.UserName)) { resul.StatusCode = Common.ConvertErrorCodeToInt(RetCode.ECS0001); resul.SetContentMsg(); } else if (string.IsNullOrEmpty(obj.FullName)) { resul.StatusCode = Common.ConvertErrorCodeToInt(RetCode.ECS0002); resul.SetContentMsg(); } else if (string.IsNullOrEmpty(obj.Email)) { resul.StatusCode = Common.ConvertErrorCodeToInt(RetCode.ECS0003); resul.SetContentMsg(); } /*[Start] TODO xu ly trong store * else if(Common.IsValidEmail(obj.Email)) * { * resul.StatusCode = Common.ConvertErrorCodeToInt(RetCode.ECS0004); * resul.StatusMsg = RetCodeMsg.ECS004; * } * else if (Common.IsExitsEmail(obj.Email)) * { * resul.StatusCode = Common.ConvertErrorCodeToInt(RetCode.ECS0005); * resul.StatusMsg = RetCodeMsg.ECS005; * } *********[End] TODO*/ else if (string.IsNullOrEmpty(obj.RefCode)) { resul.StatusCode = Common.ConvertErrorCodeToInt(RetCode.ECS0006); resul.SetContentMsg(); } /*xu ly trong store * else if (IsExitsEmail(obj.RefCode)) * { * resul.StatusCode = Common.ConvertErrorCodeToInt(RetCode.ECS0007); * resul.StatusMsg = RetCodeMsg.ECS007; * } */ else if (string.IsNullOrEmpty(obj.Phone)) { resul.StatusCode = Common.ConvertErrorCodeToInt(RetCode.ECS0008); resul.SetContentMsg(); } /*xu ly trong store * else if (IsExitsPhone(obj.Phone)) * { * resul.StatusCode = Common.ConvertErrorCodeToInt(RetCode.ECS0009); * resul.StatusMsg = RetCodeMsg.ECS009; * } */ /*xu ly them truong hop ko hop le*/ else if (string.IsNullOrEmpty(obj.Password)) { resul.StatusCode = Common.ConvertErrorCodeToInt(RetCode.ECS0010); resul.SetContentMsg(); } return(resul); }
public Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO <Jinher.AMP.BTP.Deploy.ExpressCodeDTO> SaveExt(Jinher.AMP.BTP.Deploy.ExpressCodeDTO dto) { ResultDTO <ExpressCodeDTO> result = new ResultDTO <ExpressCodeDTO>() { isSuccess = true }; if (dto == null || string.IsNullOrEmpty(dto.ExpCompanyName) || string.IsNullOrEmpty(dto.ExpCode)) { result.isSuccess = false; result.Message = "参数错误"; return(result); } try { dto.ExpCompanyName = dto.ExpCompanyName.Replace(" ", ""); var model = ExpressCode.ObjectSet().Where(d => (d.ExpCompanyName == dto.ExpCompanyName || d.ExpCode == dto.ExpCode) && d.Id != dto.Id).FirstOrDefault(); if (model != null) { result.isSuccess = false; result.Message = "重复名称或者编码"; } else { if (dto.Id != Guid.Empty) { model = ExpressCode.ObjectSet().Where(d => d.Id == dto.Id).FirstOrDefault(); if (model != null) { model.ExpCompanyName = dto.ExpCompanyName; model.ExpCode = dto.ExpCode; model.EntityState = EntityState.Modified; ContextFactory.CurrentThreadContext.SaveChanges(); } else { result.isSuccess = false; result.Message = "数据不存在"; } } else { dto.Id = Guid.NewGuid(); model.ExpCompanyName = dto.ExpCompanyName; model.ExpCode = dto.ExpCode; model.EntityState = EntityState.Added; ContextFactory.CurrentThreadContext.SaveObject(model); ContextFactory.CurrentThreadContext.SaveChanges(); } } result.Data = dto; } catch (Exception ex) { result.isSuccess = false; result.Message = "保存异常"; LogHelper.Error("保存快递异常", ex); } return(result); }
/// <summary> /// 获取特定app在电商中的扩展信息。 /// </summary> /// <param name="appId"></param> /// <returns></returns> public Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO <Jinher.AMP.BTP.Deploy.AppExtensionDTO> GetAppExtensionByAppIdExt(System.Guid appId) { Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO <Jinher.AMP.BTP.Deploy.AppExtensionDTO> resultAppExt = new ResultDTO <Jinher.AMP.BTP.Deploy.AppExtensionDTO>(); try { if (appId == Guid.Empty) { resultAppExt.Message = "参数错误,appId不能为空!"; resultAppExt.ResultCode = 1; } var aeList = (from ae in AppExtension.ObjectSet() where ae.Id == appId select ae).ToList(); if (aeList.Any()) { var aeFirst = aeList.FirstOrDefault(); Jinher.AMP.BTP.Deploy.AppExtensionDTO aeDto = aeFirst.ToEntityData(); resultAppExt.Data = aeDto; } } catch (Exception ex) { string str = string.Format("AppExtensionBP.GetAppExtensionByAppIdExt中发生异常,参数AppId:{0},异常信息:{1}", appId, ex); LogHelper.Error(str); resultAppExt.Message = "服务异常!"; resultAppExt.ResultCode = 2; } return(resultAppExt); }
private void AddExpressNew(List <ExpressTrace> ExpressList, ComOrderExpressNew ExpressNews, ResultDTO <ComOrderExpressNew> result) { var NewExpress = ExpressList.OrderByDescending(p => p.AcceptTime).FirstOrDefault(); if (NewExpress.AcceptStation.Contains("正在配送") || NewExpress.AcceptStation.Contains("自提")) { ExpressNews.shipmentsTime = NewExpress.AcceptTime; ExpressNews.state = "派件中"; ExpressNews.Remarked = "您的订单已开始派送,请保持电话畅通,确认商品外包装完好后签收~"; result.ResultCode = 0; result.isSuccess = true; } else if (NewExpress.AcceptStation.Contains("已签收")) { result.ResultCode = 1; result.isSuccess = false; } else if (NewExpress.AcceptStation.Contains("出库") || NewExpress != null) { ExpressNews.shipmentsTime = ExpressList.Min(p => p.AcceptTime); ExpressNews.state = "已发货"; ExpressNews.Remarked = "您的订单已发货,由京东快递配送,请注意物流信息~"; result.ResultCode = 0; result.isSuccess = true; } }
/// <summary> /// 按快递单号获取快递路由信息。 /// </summary> /// <returns></returns> public ResultDTO <OrderExpressRouteExtendDTO> GetExpressRouteByExpNoExt(Jinher.AMP.BTP.Deploy.OrderExpressRouteDTO express) { ResultDTO <OrderExpressRouteExtendDTO> result = new ResultDTO <OrderExpressRouteExtendDTO>(); try { if (express == null) { result.ResultCode = 1; result.Message = "参数错误,参数不能为空!"; return(result); } else if (string.IsNullOrWhiteSpace(express.ShipExpCo)) { result.ResultCode = 2; result.Message = "参数错误,物流公司名称不能为空!"; return(result); } else if (string.IsNullOrWhiteSpace(express.ExpOrderNo)) { result.ResultCode = 3; result.Message = "参数错误,运单号不能为空!"; return(result); } var cname = express.ShipExpCo.Replace("快递", "").Replace("速递", "").Replace("物流", "").Replace("配送", "").Replace("货运", "").Replace("快运", "").Replace("速运", "").ToUpper(); var ocInfo = ExpressCode.AllExpCodes.Where(ec => ec.ExpCompanyName.ToUpper().Contains(cname)); if (!ocInfo.Any()) { result.ResultCode = 4; result.Message = "暂不支持该物流公司的快递单号查询!"; return(result); } express.ShipperCode = ocInfo.First().ExpCode; var oerQuery = (from oer in OrderExpressRoute.ObjectSet() where oer.ShipperCode == express.ShipperCode && oer.ExpOrderNo == express.ExpOrderNo select oer).FirstOrDefault(); if (oerQuery == null) { return(result); } OrderExpressRouteExtendDTO oerDto = new OrderExpressRouteExtendDTO(); oerDto.FillWith(oerQuery); var etQuery = (from et in ExpressTrace.ObjectSet() where et.ExpRouteId == oerQuery.Id orderby et.AcceptTime descending select et).ToList(); if (etQuery.Any()) { List <ExpressTraceDTO> oerList = etQuery.ConvertAll <ExpressTraceDTO>(exp => exp.ToEntityData()); oerDto.Traces = oerList; } result.Data = oerDto; } catch (Exception ex) { result.ResultCode = -1; result.Message = string.Format("按快递单号获取快递路由信息异常,异常信息:{0}", ex); return(result); } return(result); }
/// <summary> /// 获取拼团信息(必传参数AppId、PageIndex、PageSize、State,可选参数ComNameSub) /// </summary> /// <param name="search"></param> /// <returns></returns> public Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO <Jinher.AMP.BTP.Deploy.CustomDTO.DiyGroupManageDTO> GetDiyGroupsExt(Jinher.AMP.BTP.Deploy.CustomDTO.DiyGroupSearchDTO search) { Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO <Jinher.AMP.BTP.Deploy.CustomDTO.DiyGroupManageDTO> result = new ResultDTO <DiyGroupManageDTO>(); if (search == null) { result.Message = "参数错误,appId不能为空!"; result.ResultCode = 1; return(result); } var resultData = new Jinher.AMP.BTP.Deploy.CustomDTO.DiyGroupManageDTO(); var diyQuery = (from diy in DiyGroup.ObjectSet() join c in Commodity.ObjectSet() on diy.CommodityId equals c.Id join ps in PromotionItems.ObjectSet() on c.Id equals ps.CommodityId join p in Promotion.ObjectSet() on ps.PromotionId equals p.Id where c.AppId == search.AppId && diy.State != 0 && diy.JoinNumber != 0 && diy.PromotionId == p.Id select new DiyGroupManageVM { DiyGroupNumber = diy.Code, DiyGroupName = c.Name, DiyGroupPrice = ps.DiscountPrice, DiyGroupCount = p.GroupMinVolume, DiyId = diy.Id, DiyGroupSubTime = diy.SubTime, DiyGroupState = diy.State }); if (!String.IsNullOrEmpty(search.ComNameSub)) { diyQuery = diyQuery.Where(c => c.DiyGroupName.Contains(search.ComNameSub)); } if (!String.IsNullOrEmpty(search.State)) { if (search.State.Contains(",")) { int[] arrystate = Array.ConvertAll <string, int>(search.State.Split(','), s => int.Parse(s)).ToArray(); diyQuery = diyQuery.Where(c => arrystate.Contains(c.DiyGroupState)); } else { diyQuery = diyQuery.Where(c => c.DiyGroupState == 1); } } else if (search.State == "") { } diyQuery = diyQuery.Distinct(); resultData.Count = diyQuery.Count(); var searchResult = diyQuery.OrderByDescending(c => c.DiyGroupNumber).Skip((search.PageIndex - 1) * search.PageSize).Take(search.PageSize).ToList(); var diygroupIdList = searchResult.Select(c => c.DiyId).ToList(); //构建拼团订单id数组 List <Guid> diyOrderIdList = new List <Guid>(); for (int i = 0; i < searchResult.Count; i++) { diyOrderIdList.Add(searchResult[i].DiyId); } List <DiyGroupManageMM> diyGroupManageMmList = (from diyo in DiyGroupOrder.ObjectSet() join co in CommodityOrder.ObjectSet() on diyo.OrderId equals co.Id where diyo.AppId == search.AppId && diygroupIdList.Contains(diyo.DiyGroupId) && diyo.State == 1 select new DiyGroupManageMM { DiyGroupOrderCode = diyo.OrderCode, DiyGroupPersonCode = diyo.SubCode, DiyGroupPersonRole = diyo.Role, DiyGroupOrderId = diyo.OrderId, DiyGroupId = diyo.DiyGroupId, DiyGroupPrice = (decimal)co.RealPrice } ).OrderBy(c => c.DiyGroupOrderCode).ToList(); foreach (DiyGroupManageVM vm in searchResult) { List <DiyGroupManageMM> diyorderItemslist = new List <DiyGroupManageMM>(); foreach (DiyGroupManageMM model in diyGroupManageMmList) { if (model.DiyGroupId == vm.DiyId) { diyorderItemslist.Add(model); } } vm.OrderDataList = diyorderItemslist; } resultData.Data = searchResult; result.Data = resultData; return(result); }
public async Task Invoke(HttpContext context, IGirisService girisService) { try { var sonuc = new ResultDTO(); var token = context.Request.Headers["Authorization"].ToString().Replace("Bearer ", string.Empty); if (!string.IsNullOrEmpty(token)) { var handler = new JwtSecurityTokenHandler(); var tokenS = handler.ReadToken(token) as JwtSecurityToken; var expDate = tokenS.ValidTo; if (expDate < DateTime.UtcNow) { context.Response.StatusCode = 200; context.Response.ContentType = "application/json"; context.Response.Headers.Add("exception", "Unauthorized"); sonuc.Message.Add(new MessageDTO() { Code = HttpStatusCode.Unauthorized, Description = "Your session has expired! Please sign in again..", Status = EDurum.ERROR }); sonuc.Status = EDurum.ERROR; var json = JsonConvert.SerializeObject(sonuc, _jsonSettings); await context.Response.WriteAsync(json); } else { var kullaniciId = Convert.ToInt32(tokenS.Claims.First(claim => claim.Type == "unique_name").Value); var girisDto = girisService.KullanicininSonTokenBilgisi(kullaniciId); if (girisDto != null && girisDto.Token == token) { await _next.Invoke(context); } else { context.Response.StatusCode = 200; context.Response.ContentType = "application/json"; context.Response.Headers.Add("exception", "Unauthorized"); sonuc.Message.Add(new MessageDTO() { Code = HttpStatusCode.Unauthorized, Description = "Your transaction has been terminated because another session has been opened for you!", Status = EDurum.ERROR }); sonuc.Status = EDurum.ERROR; var json = JsonConvert.SerializeObject(sonuc, _jsonSettings); await context.Response.WriteAsync(json); } } } else { await _next.Invoke(context); } } catch (Exception ex) { throw; } }
public static ResultDTO SummaryLeadsChartByAccount(this IEntityBaseRepository <Account> repository, SummaryRequestDTO obj) { var result = new ResultDTO(); var dbContext = new ApplicationContext(); var errorCode = new SqlParameter("ErrorCode", System.Data.SqlDbType.Int) { Direction = System.Data.ParameterDirection.Output }; LeadsChartOfMonthDTO LeadsChart = new LeadsChartOfMonthDTO(); int f*g = 0; LeadsChart.EnrolledItems = dbContext.Database.SqlQuery <LeadsOfMonthDTO>("EXEC [dbo].[sp_SummaryLeadsChartByAccount] @LeadType,@FunnalID,@SoloID,@StartList,@EndList, @UserName,@SessionKey,@errorCode out", new SqlParameter("LeadType", f*g), new SqlParameter("FunnalID", obj.FunnalID), new SqlParameter("SoloID", obj.SoloID), new SqlParameter("StartList", DB.SafeSQL(obj.StartList)), new SqlParameter("EndList", DB.SafeSQL(obj.EndList)), new SqlParameter("UserName", DB.SafeSQL(obj.UserName)), new SqlParameter("SessionKey", DB.SafeSQL(obj.SessionKey)), errorCode).ToList <LeadsOfMonthDTO>(); f*g++; var errorCode1 = new SqlParameter("ErrorCode", System.Data.SqlDbType.Int) { Direction = System.Data.ParameterDirection.Output }; LeadsChart.ColdItems = dbContext.Database.SqlQuery <LeadsOfMonthDTO>("EXEC [dbo].[sp_SummaryLeadsChartByAccount] @LeadType,@FunnalID,@SoloID,@StartList,@EndList, @UserName,@SessionKey,@errorCode out", new SqlParameter("LeadType", f*g), new SqlParameter("FunnalID", obj.FunnalID), new SqlParameter("SoloID", obj.SoloID), new SqlParameter("StartList", DB.SafeSQL(obj.StartList)), new SqlParameter("EndList", DB.SafeSQL(obj.EndList)), new SqlParameter("UserName", DB.SafeSQL(obj.UserName)), new SqlParameter("SessionKey", DB.SafeSQL(obj.SessionKey)), errorCode1).ToList <LeadsOfMonthDTO>(); f*g++; var errorCode2 = new SqlParameter("ErrorCode", System.Data.SqlDbType.Int) { Direction = System.Data.ParameterDirection.Output }; LeadsChart.WarmItems = dbContext.Database.SqlQuery <LeadsOfMonthDTO>("EXEC [dbo].[sp_SummaryLeadsChartByAccount] @LeadType,@FunnalID,@SoloID,@StartList,@EndList, @UserName,@SessionKey,@errorCode out", new SqlParameter("LeadType", f*g), new SqlParameter("FunnalID", obj.FunnalID), new SqlParameter("SoloID", obj.SoloID), new SqlParameter("StartList", DB.SafeSQL(obj.StartList)), new SqlParameter("EndList", DB.SafeSQL(obj.EndList)), new SqlParameter("UserName", DB.SafeSQL(obj.UserName)), new SqlParameter("SessionKey", DB.SafeSQL(obj.SessionKey)), errorCode2).ToList <LeadsOfMonthDTO>(); f*g++; var errorCode3 = new SqlParameter("ErrorCode", System.Data.SqlDbType.Int) { Direction = System.Data.ParameterDirection.Output }; LeadsChart.HotItems = dbContext.Database.SqlQuery <LeadsOfMonthDTO>("EXEC [dbo].[sp_SummaryLeadsChartByAccount] @LeadType,@FunnalID,@SoloID,@StartList,@EndList, @UserName,@SessionKey,@errorCode out", new SqlParameter("LeadType", f*g), new SqlParameter("FunnalID", obj.FunnalID), new SqlParameter("SoloID", obj.SoloID), new SqlParameter("StartList", DB.SafeSQL(obj.StartList)), new SqlParameter("EndList", DB.SafeSQL(obj.EndList)), new SqlParameter("UserName", DB.SafeSQL(obj.UserName)), new SqlParameter("SessionKey", DB.SafeSQL(obj.SessionKey)), errorCode3).ToList <LeadsOfMonthDTO>(); result.Details = LeadsChart; result.StatusCode = int.Parse(errorCode.Value.ToString(), 0); result.SetContentMsg(); return(result); }
/// <summary> /// 获取用户最新的订单物流信息 /// </summary> public Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO <Jinher.AMP.BTP.Deploy.CustomDTO.Commodity.ComOrderExpressNew> GetUserNewOrderExpressExt(System.Guid AppId, System.Guid Userid) { ComOrderExpressNew ExpressNews = new ComOrderExpressNew(); ResultDTO <ComOrderExpressNew> result = new ResultDTO <ComOrderExpressNew>() { ResultCode = 1, isSuccess = false, Data = ExpressNews }; string json = null; JObject obj = null; try { //获取已发货的订单信息 var ComOrder = CommodityOrder.ObjectSet().Where(p => p.State == 2 && p.UserId == Userid && p.EsAppId == AppId).OrderByDescending(p => p.ModifiedOn).FirstOrDefault(); if (ComOrder != null) { List <ExpressTrace> ExpressList = new List <ExpressTrace>(); var OrderItemDebug = OrderItem.ObjectSet().Where(p => p.CommodityOrderId == ComOrder.Id).FirstOrDefault(); ExpressNews.CommodityOrderId = ComOrder.Id; //订单id ExpressNews.Pic = OrderItemDebug.PicturesPath; //首条订单图片 ExpressTrace Express = new ExpressTrace(); //急速数据信息 if (!string.IsNullOrWhiteSpace(ComOrder.ExpOrderNo)) { var orderexpressroute = OrderExpressRoute.ObjectSet().FirstOrDefault(p => p.ExpOrderNo == ComOrder.ExpOrderNo); //根据快递编号获取急速数据信息 json = GetWuliuJson(orderexpressroute, ComOrder.AppId); LogHelper.Debug(string.Format("极速快递物流信息:{0}", JsonHelper.JsonSerializer(json))); obj = JObject.Parse(json); if (Convert.ToInt32(obj["status"]) != 0) { return(result); } JArray arr = (JArray)JsonConvert.DeserializeObject(obj["result"]["list"].ToString()); foreach (var item in arr) { Express.AcceptTime = Convert.ToDateTime(item["time"].ToString()); Express.AcceptStation = item["status"].ToString().Trim(); ExpressList.Add(Express); } var NewExpress = ExpressList.OrderByDescending(p => p.AcceptTime).FirstOrDefault(); if (Convert.ToInt32(obj["result"]["deliverystatus"]) == 1) { result.ResultCode = 0; result.isSuccess = true; ExpressNews.shipmentsTime = ComOrder.ModifiedOn; ExpressNews.state = "已发货"; ExpressNews.Remarked = "您的订单已发货,由" + ComOrder.ShipExpCo + "快递配送,请注意物流信息~"; } else if (Convert.ToInt32(obj["result"]["deliverystatus"]) == 2) { result.ResultCode = 0; result.isSuccess = true; ExpressNews.shipmentsTime = NewExpress.AcceptTime; ExpressNews.state = "派件中"; ExpressNews.Remarked = "您的订单已开始派送,请保持电话畅通,确认商品外包装完好后签收~"; } else { result.ResultCode = 1; result.isSuccess = false; } } else { //京东信息 var commodityOrderId = ComOrder.Id.ToString(); var jdOrderitem = JdOrderItem.ObjectSet().FirstOrDefault(p => p.CommodityOrderId.Contains(commodityOrderId)); if (jdOrderitem != null) { var jdwuliu = JdHelper.orderTrack(jdOrderitem.JdOrderId); LogHelper.Debug(string.Format("京东物流信息:{0}", JsonHelper.JsonSerializer(jdwuliu))); if (jdwuliu != null) { JArray objson = JArray.Parse(jdwuliu); foreach (var item in objson) { Express.AcceptTime = DateTime.Parse(item["msgTime"].ToString()); Express.AcceptStation = item["content"].ToString().Trim(); ExpressList.Add(Express); } var NewExpress = ExpressList.OrderByDescending(p => p.AcceptTime).FirstOrDefault(); if (NewExpress.AcceptStation.Contains("正在配送")) { result.ResultCode = 0; result.isSuccess = true; ExpressNews.shipmentsTime = NewExpress.AcceptTime; ExpressNews.state = "派件中"; ExpressNews.Remarked = "您的订单已开始派送,请保持电话畅通,确认商品外包装完好后签收~"; } else if (NewExpress.AcceptStation.Contains("订单已签收")) { result.ResultCode = 1; result.isSuccess = false; } else { result.ResultCode = 0; result.isSuccess = true; ExpressNews.shipmentsTime = ComOrder.ModifiedOn; ExpressNews.state = "已发货"; ExpressNews.Remarked = "您的订单已发货,由京东快递配送,请注意物流信息~"; } } } } result.Data = ExpressNews; LogHelper.Debug(string.Format("获取用户最新的订单物流信息返回数据:{0}", JsonHelper.JsonSerializer(result))); return(result); } else { return(result); } } catch (Exception ex) { LogHelper.Error(string.Format("获取用户最新的订单物流信息信息异常,异常信息:{0}", ex)); return(result); } }
/// <summary> /// 接收快递鸟推送的物流路由信息。 base.Do(false); /// </summary> public Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO ReceiveKdniaoExpressRouteExt(System.Collections.Generic.List <Jinher.AMP.BTP.Deploy.CustomDTO.OrderExpressRouteExtendDTO> oerList) { ResultDTO result = new ResultDTO { ResultCode = 0, Message = "Success" }; try { if (oerList == null || !oerList.Any()) { result.ResultCode = 1; result.Message = "参数错误,物流路由信息不能为空!"; return(result); } ContextSession contextSession = ContextFactory.CurrentThreadContext; List <OrderExpressRoute> oerReadyList = new List <OrderExpressRoute>(); var distinctOEList = (from oe in oerList select new { oe.ShipperCode, oe.ExpOrderNo }).Distinct(); foreach (var oe in distinctOEList) { var oerQuery = (from oer in OrderExpressRoute.ObjectSet() where oer.ShipperCode == oe.ShipperCode && oer.ExpOrderNo == oe.ExpOrderNo select oer).ToList(); if (!oerQuery.Any()) { continue; } oerReadyList.AddRange(oerQuery); //清理同一运单已有路由信息。 var erids = (from oer in oerQuery select oer.Id).Distinct(); var etQuery = (from et in ExpressTrace.ObjectSet() where erids.Contains(et.ExpRouteId) select et).ToList(); foreach (var etq in etQuery) { etq.EntityState = System.Data.EntityState.Deleted; } } //将运单路由信息保存到db. foreach (var oere in oerList) { OrderExpressRoute oerNew = (from oerr in oerReadyList where oerr.ShipperCode == oere.ShipperCode && oerr.ExpOrderNo == oere.ExpOrderNo select oerr).FirstOrDefault(); if (oerNew == null) { continue; } oerNew.ModifiedOn = DateTime.Now; oerNew.EntityState = System.Data.EntityState.Modified; if (oere.Traces != null && oere.Traces.Any()) { foreach (ExpressTraceDTO etDto in oere.Traces) { ExpressTrace et = ExpressTrace.CreateExpressTrace(); et.FillWith(etDto); et.ExpRouteId = oerNew.Id; et.Id = Guid.NewGuid(); et.EntityState = System.Data.EntityState.Added; contextSession.SaveObject(et); } } } contextSession.SaveChanges(); } catch (Exception ex) { string s = string.Format("保存快递鸟推送的物流路由信息异常,异常信息:{0}", ex); LogHelper.Error(s); return(new ResultDTO { ResultCode = 1, Message = "Error" }); } return(result); }
/// <summary> /// 向快递鸟订阅需要推送的快递单号(和bp中SubscribeOrderExpress实现相同) /// </summary> /// <returns></returns> public ResultDTO SubscribeOneOrderExpressExt(OrderExpressRoute oer) { ResultDTO result = new ResultDTO { ResultCode = 0, Message = "Success" }; Guid EsappId = Guid.Parse("8B4D3317-6562-4D51-BEF1-0C05694AC3A6"); //判断是否是中石化的订订单 var commoidtyorder = CommodityOrder.ObjectSet().Where(p => p.ExpOrderNo == oer.ExpOrderNo && p.EsAppId == EsappId).FirstOrDefault(); if (oer == null) { result.ResultCode = 1; result.Message = "参数错误,参数不能为空!"; return(result); } if (string.IsNullOrWhiteSpace(oer.ShipExpCo)) { //判断是否是中石化的订订单 if (commoidtyorder != null) { oer.ShipExpCo = "auto"; } else { result.ResultCode = 2; result.Message = "参数错误,物流公司名称不能为空!"; return(result); } } //校验快递公司简称(按快递公司名称找“快递鸟”编码) oer.ShipperCode = ""; var cname = oer.ShipExpCo.Replace("快递", "").Replace("速递", "").Replace("物流", "").Replace("配送", "").Replace("货运", "").Replace("快运", "").Replace("速运", "").ToUpper(); var ocDebug = ExpressCode.AllExpCodes.Where(ec => ec.ExpCompanyName.ToUpper().Contains(cname)); if (!ocDebug.Any()) { //判断是否是中石化的订订单 if (commoidtyorder != null) { oer.ShipperCode = "auto"; } else { result.ResultCode = 3; result.Message = "第三方“快递鸟”暂不支持该物流公司!"; return(result); } } else { oer.ShipperCode = ocDebug.First().ExpCode; } //检查 运单号 是否存在 var oerReady = from op in OrderExpressRoute.ObjectSet() where op.ShipperCode == oer.ShipperCode && op.ExpOrderNo == oer.ExpOrderNo select op; if (oerReady.Any()) { result.ResultCode = 4; result.Message = "运单号已存在!"; return(result); } oer.Id = Guid.NewGuid(); oer.State = 1; oer.SubTime = DateTime.Now; oer.ModifiedOn = DateTime.Now; oer.EntityState = System.Data.EntityState.Added; ContextFactory.CurrentThreadContext.SaveObject(oer); ContextFactory.CurrentThreadContext.SaveChanges(); return(result); }
private ResultDTO CreateWeChatQrCodeBatchExt(QrCodeCreateDTO dto) { if (dto == null || dto.AppId == Guid.Empty || dto.CreateNo <= 0) { return new ResultDTO() { ResultCode = 1, Message = "参数为空" } } ; try { WeChatQrCodeSV worker = new WeChatQrCodeSV(); var developerInfo = WCPSV.Instance.GetDeveloperInfo(dto.AppId); if (developerInfo == null || string.IsNullOrEmpty(developerInfo.WAppId) || string.IsNullOrEmpty(developerInfo.WSecret)) { return new ResultDTO() { ResultCode = 3, Message = "未配置公众号" } } ; var tokenInfo = worker.GetToken(dto.AppId); ResultDTO ret = new ResultDTO(); //获取token失败 if (tokenInfo == null) { ret.ResultCode = 2; ret.Message = "获取微信access_token失败"; return(ret); } if (!tokenInfo.isSuccess) { ret.ResultCode = 2; ret.Message = tokenInfo.Message; return(ret); } ContextSession contextSession = ContextFactory.CurrentThreadContext; int successCount = 0; bool hasError = false; string errorMess = string.Empty; for (int i = 0; i < dto.CreateNo; i++) { var id = Guid.NewGuid(); var createResult = worker.CreateForeverQrcode(new ForeverQrcodeDTO() { SceneStr = id.ToString() }, tokenInfo); if (createResult == null) { hasError = true; errorMess = ""; break; } if (!createResult.isSuccess) { hasError = true; errorMess = createResult.Message; break; } WeChatQRCode qrCode = new WeChatQRCode { Id = id, WeChatPublicCode = dto.WeChatPublicCode, WeChatAppId = developerInfo.WAppId, WeChatSecret = developerInfo.WSecret, AppId = dto.AppId, QRNo = GetWeChatQRNoExt(), QRType = { Value = dto.QrType }, SpreadInfoId = Guid.Empty, WeChatTicket = createResult.Data, Description = dto.Description, EntityState = EntityState.Added }; contextSession.SaveObject(qrCode); contextSession.SaveChanges(); successCount++; } if (hasError) { if (successCount > 0) { ret.ResultCode = 5; ret.isSuccess = true; ret.Message = string.Format("本次应生成二维码数量:{0},实际生成数量:{1},失败原因:{2}", dto.CreateNo, successCount, errorMess); } else { ret.ResultCode = 4; ret.Message = errorMess; } return(ret); } return(new ResultDTO { isSuccess = true, Message = "success" }); } catch (Exception ex) { LogHelper.Error(string.Format("WeChatQRCodeBP.CreateWeChatQrCodeBatchExt异常,入参:{0}", JsonHelper.JsSerializer(dto)), ex); return(new ResultDTO { Message = "异常,请重试!" }); } }
public ResultDTO OnPostUpload(IFormFile file, string testid) { ResultDTO res = new ResultDTO(); return(res); }
public HttpResponseMessage List(RequestDTO req) { try { IEnumerable<LuceneIndexItem> docs; var jpListQuery = BuildJpListQuery(req.StatusLst); if (!string.IsNullOrEmpty(req.folder) && jpListQuery.Filters.All(f => f.name != "Folder")) // If there is no "Folder" filter active, then add one { jpListQuery.Filters.Add(new FilterDTO() { name = "Folder", value = NormalizePath(req.folder) }); } else { foreach (var item in jpListQuery.Filters.Where(f => f.name == "Folder")) { item.path = NormalizePath(item.path); } } jpListQuery.Filters.Add(new FilterDTO() { name = "PortalId", path = PortalSettings.PortalId.ToString() }); string luceneQuery = BuildLuceneQuery(jpListQuery); if (string.IsNullOrEmpty(luceneQuery)) { docs = SearchEngine.GetAllIndexedRecords(); } else { docs = SearchEngine.Search(luceneQuery); } int total = docs.Count(); if (jpListQuery.Pagination.currentPage > 0) docs = docs.Skip(jpListQuery.Pagination.currentPage * jpListQuery.Pagination.number).Take(jpListQuery.Pagination.number); var fileManager = FileManager.Instance; var data = new List<FileDTO>(); foreach (var doc in docs) { var f = fileManager.GetFile(doc.FileId); if (f == null) { //file seems to have been deleted SearchEngine.RemoveDocument(doc.FileId); total -= 1; } else { data.Add(new FileDTO() { FileName = f.FileName, FolderName = f.Folder, Url = fileManager.GetUrl(f), ImageUrl = ImageHelper.GetImageUrl(f, new Ratio(100, 100)), Custom = GetCustomFileDataAsDynamic(f), IsImage = fileManager.IsImageFile(f), IconUrl = GetFileIconUrl(f.Extension) }); } } var res = new ResultDTO<FileDTO>() { data = data, count = total }; return Request.CreateResponse(HttpStatusCode.OK, res); } catch (Exception exc) { Utils.Logger.Error(exc); return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exc); } }
//result will contain ssq at last position private void BroadcastIdentifyResult(object result, TimeSpan elapsed, object ssq, object compcycles, object simtime) { var myresult = new List<double>(); foreach (var o in (Double[,])result) myresult.Add(o); //var ssq = myresult.Last(); //foreach (var o in ) //double myssq = 0; var myssq = ((MWArray) ssq).ToArray();//.GetValue(0)); var mycompcycles = ((MWArray) compcycles).ToArray(); var simulationtime = ((MWArray)simtime).ToArray(); //myssq = ssq; //var myssq = ((MWIndexArray) o). //TODO should it be implemented in MATLAB class instead of directly in here? //get workers url var myrepository = HostContext.Container.Resolve<WorkersRepository>(); //var workers = (List<Worker>) myrepository.GetByModelName(identify.model); var workers = (List<Worker>)myrepository.GetByModelName(modelname); //compute on the first worker (expected that first worker is in localhost) logger.Debug("masterservice url:"+masterserviceurl); var simulator = new GenericSimulator(modelname,masterserviceurl); var timepoints = new List<double>(); foreach (var row in variable_values) timepoints.Add(row[0]); //add first number - time from each experiment value var responseDto = new ResultDTO() { Ssq = (double)myssq.GetValue(0,0), //TODO debug countcycles = (long)mycompcycles.GetValue(0, 0), //TODO debug elapsedtime = elapsed.ToString()+" simulation: "+simulationtime.GetValue(0,0).ToString(), name= "Result of "+modelname+" at "+DateTime.Now, model = modelname, Parameternames = Enumerable.ToArray(parameters.Keys), Parametervalues = myresult.ToArray(), ParameterAssignment = Enumerable.ToArray(parameters.Values), Variablenames = variable_names, Variablevalues = simulator.Simulate(workers.Select(w => w.RestUrl).First(),Enumerable.ToArray(parameters.Keys),myresult.ToArray(),Enumerable.ToArray(variable_names),timepoints.ToArray()), //expected that in variable-values[0] is timepoints Experimentalvalues = variable_values }; //Clients.All.closeIdentifyProcess(responseDto); var repositoryResult = HostContext.Container.Resolve<ResultRepository>(); repositoryResult.Store(responseDto); Clients.All.closeIdentifyProcessandResultUpdate(responseDto,repositoryResult.GetAllResultsMeta()); }
public ResultDTO UpdateAPPManageExt(Jinher.AMP.BTP.Deploy.CustomDTO.APPManageDTO AppManageDTO) { ResultDTO result = new ResultDTO(); ContextSession contextSession = ContextFactory.CurrentThreadContext; //原来的appid string oldAppId = string.Empty; try { //检查添加是否存在 var query = APPManage.ObjectSet().Where(q => q.Id != AppManageDTO.Id && q.AppId == AppManageDTO.AppId).FirstOrDefault(); if (query != null) { result.ResultCode = 1; result.Message = "此应用已经存在"; return(result); } var appManage = APPManage.ObjectSet().Where(q => q.Id == AppManageDTO.Id).FirstOrDefault(); oldAppId = appManage.AppId.ToString(); if (appManage != null) { appManage.Id = AppManageDTO.Id; appManage.AppId = AppManageDTO.AppId; appManage.AppName = AppManageDTO.AppName; appManage.Remark = AppManageDTO.Remark; appManage.SubTime = AppManageDTO.SubTime; appManage.SubId = ContextDTO.LoginUserID; appManage.ModifiedOn = AppManageDTO.ModifiedOn; appManage.ModifiedId = AppManageDTO.ModifiedId; appManage.EntityState = System.Data.EntityState.Modified; contextSession.SaveObject(appManage); int num = contextSession.SaveChanges(); if (num > 0) { //如果没有修改appid if (oldAppId == AppManageDTO.AppId.ToString()) { GlobalCacheWrapper.Remove(RedisKeyConst.AppInZPH, AppManageDTO.AppId.ToString(), CacheTypeEnum.redisSS, "BTPCache"); } //如果修改了appid,则2个都要删除 else { GlobalCacheWrapper.Remove(RedisKeyConst.AppInZPH, AppManageDTO.AppId.ToString(), CacheTypeEnum.redisSS, "BTPCache"); GlobalCacheWrapper.Remove(RedisKeyConst.AppInZPH, oldAppId, CacheTypeEnum.redisSS, "BTPCache"); } result.ResultCode = 0; result.Message = "修改成功"; return(result); } else { result.ResultCode = 1; result.Message = "修改失败"; return(result); } } else { result.ResultCode = 0; result.Message = "Deled"; return(result); } } catch (Exception ex) { LogHelper.Error(string.Format("修改AppManage异常。AppManageDTO:{0}", JsonHelper.JsonSerializer(AppManageDTO)), ex); result.ResultCode = 1; result.Message = ex.Message; return(result); } }
/// <summary> /// 获取 未完成的拼团列表 /// </summary> /// <param name="inputDTO"></param> /// <returns></returns> public Deploy.CustomDTO.ResultDTO <List <UnfinishedDiyGroupOutputDTO> > UnfinishedDiyGrouplistExt(UnfinishedDiyGroupInputDTO inputDTO) { var appId = inputDTO.AppId; var outsidePromotionId = inputDTO.OutsidePromoId; var maxTakeCount = 10; var appinfos = ZPHSV.Instance.GetAppIdlist(new List <Guid>() { appId }); var appids = appinfos.Select(t => t.AppId).ToList(); appids.Add(appId); try { LogHelper.Debug(string.Format("查询到的未完成的拼团列表. Input:{0}", JsonHelper.JsonSerializer(inputDTO))); //计算未完成的拼团列表 var query = from g in DiyGroup.ObjectSet() join p in Promotion.ObjectSet() on g.PromotionId equals p.Id join go in (from o in DiyGroupOrder.ObjectSet() where o.State == 1 group o by o.DiyGroupId into og select new { Key = og.Key, MemberCount = og.Count() }) on g.Id equals go.Key where p.PromotionType == 3 && g.State == 1 && g.ExpireTime >= DateTime.Now && appids.Contains(g.AppId) && p.OutsideId == outsidePromotionId select new { GroupId = g.Id, OwnerId = g.SubId, LackMember = (p.GroupMinVolume ?? 0) - go.MemberCount, ExpireTime = g.ExpireTime }; var list = query .OrderByDescending(selector => selector.LackMember) .ThenBy(selector => selector.ExpireTime) .Take(maxTakeCount) .ToList(); //获取团长信息 var cbcFacade = new TPS.CBCSVFacade(); var userNameFunc = new Func <Guid, string>(userId => { var user = cbcFacade.GetUserNameIconDTO(userId); if (user != null) { return(user.Name); } return(string.Empty); }); var userIconFunc = new Func <Guid, string>(userId => { var user = cbcFacade.GetUserNameIconDTO(userId); if (user != null) { return(user.HeadIcon); } return(string.Empty); }); var data = list.Select(selector => new UnfinishedDiyGroupOutputDTO() { GroupId = selector.GroupId, LackMember = selector.LackMember, ExpireTime = selector.ExpireTime, OwnerIcon = userIconFunc(selector.OwnerId), OwnerName = userNameFunc(selector.OwnerId) }).ToList(); var result = new ResultDTO <List <UnfinishedDiyGroupOutputDTO> >() { isSuccess = true, ResultCode = 0, Data = data }; LogHelper.Debug(string.Format("查询到的未完成的拼团列表. Output:{0}", JsonHelper.JsonSerializer(result))); return(result); } catch (Exception ex) { LogHelper.Error(string.Format("查询未完成的拼团列表发生异常. {0}", ex.Message), ex); return(new ResultDTO <List <UnfinishedDiyGroupOutputDTO> > { Data = new List <UnfinishedDiyGroupOutputDTO>() }); } }
public static ResultDTO CreateDraft(RequestTransfer[] transferRequest, User user) { var result = new ResultDTO(); string transitWhs = String.Empty; var objectCode = BoObjectTypes.oInventoryTransferRequest; var item = String.Empty; FoodPlantDAO foodPlantDAO = new FoodPlantDAO(); try { var oStockTransferDraft = (Documents)DIApplication.Company.GetBusinessObject(BoObjectTypes.oDrafts); //ODRF oStockTransferDraft.CardCode = transferRequest[0].Code; oStockTransferDraft.DocObjectCode = BoObjectTypes.oStockTransfer; oStockTransferDraft.UserFields.Fields.Item("U_GLO_BusinessPartner").Value = transferRequest[0].Code; oStockTransferDraft.UserFields.Fields.Item("U_PL_WhsReq").Value = transferRequest[0].FromWhs; oStockTransferDraft.Series = user.Series; oStockTransferDraft.Comments = transferRequest[0].Observations; foreach (var line in transferRequest) { transitWhs = foodPlantDAO.GetAvailableTransitWarehouse(line.Item); if (String.IsNullOrEmpty(transitWhs)) { item = line.Item; break; } oStockTransferDraft.Lines.ItemCode = line.Item; oStockTransferDraft.Lines.BaseEntry = line.Folio; oStockTransferDraft.Lines.BaseLine = line.LineNum; oStockTransferDraft.Lines.WarehouseCode = foodPlantDAO.GetAvailableTransitWarehouse(line.Item); oStockTransferDraft.Lines.Quantity = line.Quantity; oStockTransferDraft.Lines.BaseType = (int)objectCode; oStockTransferDraft.Lines.CostingCode = user.Area; oStockTransferDraft.Lines.Add(); } if (String.IsNullOrEmpty(transitWhs)) { return(new ResultDTO() { Success = false, Message = String.Format("Error: No hay almacenes de transito disponibles para este artículo {0}", item) }); } if (oStockTransferDraft.Add() != 0) { UIApplication.ShowMessageBox(string.Format("Exception: {0}", DIApplication.Company.GetLastErrorDescription())); QsLog.WriteError("TransferDI (Draft) " + DIApplication.Company.GetLastErrorDescription()); result.Success = false; result.Message = "Error: " + DIApplication.Company.GetLastErrorDescription(); } else { result.Success = true; result.Message = DIApplication.Company.GetNewObjectKey(); } } catch (AggregateException ae) { ae.Handle(e => { HandleException(e, "TransferDI(Draft)"); result.Message = "Error: " + e.Message; result.Success = false; return(true); }); } catch (Exception ex) { HandleException(ex, "TransferDI(Draft)"); result.Message = "Error: " + ex.Message; result.Success = false; } return(result); }
/// <summary> /// 向快递鸟订阅需要推送的快递单号 /// </summary> /// <returns></returns> private ResultDTO SubscribeOrderExpressMultiple(List <OrderExpressRoute> expressList) { ResultDTO result = new ResultDTO { ResultCode = 0, Message = "Success" }; try { if (expressList == null || !expressList.Any()) { result.ResultCode = 1; result.Message = "参数错误,参数不能为空!"; return(result); } List <KdSubscribeDTO> kdSubList = new List <KdSubscribeDTO>(); var ecompany = (from exp in expressList select exp.ShipperCode).Distinct(); foreach (string g in ecompany) { KdSubscribeDTO kdSub = new KdSubscribeDTO(); kdSub.Code = g; kdSub.Item = new List <SubItem>(); var expNos = from exp in expressList where exp.ShipperCode == g select exp; foreach (var expNo in expNos) { //非法物流单号过滤掉。 if (string.IsNullOrWhiteSpace(expNo.ExpOrderNo) || expNo.ExpOrderNo.Length < 6 || expNo.ExpOrderNo.Length > 50) { expNo.State = 3; expNo.ModifiedOn = DateTime.Now; expNo.EntityState = System.Data.EntityState.Modified; continue; } kdSub.Item.Add(new SubItem() { No = expNo.ExpOrderNo, Bk = "" }); } kdSubList.Add(kdSub); } //发布订阅。 KdSubscribeResultDTO kdResult = KdApiSubscribeKit.Instance.orderTracesSubByJson(kdSubList); //发布订阅失败。 ContextSession contextSession = ContextFactory.CurrentThreadContext; //发布订阅完成。 if (!kdResult.Success) { //发布订阅失败,记录下来,job重发。 result.ResultCode = 2; result.Message = "订阅物流信息失败!"; List <string> errorExpNos = new List <string>(); if (!string.IsNullOrWhiteSpace(kdResult.Reason)) { string[] errorKD = kdResult.Reason.Split(";".ToCharArray()); foreach (string mi in errorKD) { int ind = mi.IndexOf("快递单号"); if (ind < 0) { continue; } string expNo = mi.Substring(0, ind).Trim(); errorExpNos.Add(expNo); } } if (errorExpNos != null && errorExpNos.Count > 0) { foreach (string eNo in errorExpNos) { var expList = from exp in expressList where exp.ExpOrderNo == eNo select exp; if (!expList.Any()) { continue; } foreach (OrderExpressRoute oer in expList) { oer.State = 3; oer.ModifiedOn = DateTime.Now; oer.EntityState = System.Data.EntityState.Modified; } } } } else { foreach (OrderExpressRoute oer in expressList) { if (oer.State == 1) { oer.State = 2; } oer.ModifiedOn = DateTime.Now; oer.EntityState = System.Data.EntityState.Modified; } } contextSession.SaveChanges(); } catch (Exception ex) { result.ResultCode = -1; result.Message = string.Format("向快递鸟订阅需要推送的快递单号异常,异常信息:{0}", ex); return(result); } return(result); }
/// <summary> /// 领取红包 /// </summary> /// <param name="userRedEnvelopeId"></param> /// <returns></returns> public Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO DrawRedEnvelopeExt(Guid userRedEnvelopeId) { ContextSession contextSession = ContextFactory.CurrentThreadContext; Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO result = new ResultDTO(); UserRedEnvelope query = null; lock (getRedLock) { //用户分红表 query = UserRedEnvelope.ObjectSet().Where(q => q.Id == userRedEnvelopeId).FirstOrDefault(); if (query == null) { result.ResultCode = 1; result.Message = "没有红包可领"; return(result); } else if (query.State == 0 && DateTime.Now > query.DueDate) { result.ResultCode = 1; result.Message = "红包已过期"; return(result); } else if (query.State == 1) { result.ResultCode = 1; result.Message = "红包已领"; return(result); } int num = UpdateRedState(query, 1); if (num > 0) { result.ResultCode = 0; result.Message = "领取红包成功"; } else { result.ResultCode = 1; result.Message = "领取红包失败"; return(result); } } MultiPayeeTradeByPasswordArg arg = new MultiPayeeTradeByPasswordArg(); ReturnInfoDTO gReturnDTO = new ReturnInfoDTO(); arg.PayeeComments = new List <string>(); arg.PayorComments = new List <string>(); arg.AppId = query.AppId; arg.Payees = new List <Tuple <Guid, bool> >(); arg.Payees.Add(new Tuple <Guid, bool>(query.UserId, true)); arg.BizSystem = "BTP"; arg.BizId = query.Id; arg.Golds = new List <long> { query.GoldCount }; arg.PayorPassword = CustomConfig.ShareGoldAccout.BTPShareAccountPwd; //众销 if (query.RedEnvelopeType == 0) { arg.PayorId = CustomConfig.ShareGoldAccout.BTPShareGoldAccount; arg.UsageId = CustomConfig.ShareGoldAccout.BTPGlodUsageId; arg.BizType = "BTP_ShareDividend_Auto"; arg.PayorComments.Add("电商分享红包支出"); arg.PayeeComments.Add("电商分享红包收益"); } else { //众筹 arg.PayorId = CustomConfig.CrowdfundingAccount.BTPCrowdfundingAcount; arg.UsageId = CustomConfig.CrowdfundingAccount.BTPCrowdfundingUsageId; arg.BizType = "BTP_CrowdfundingDividend"; arg.PayorComments.Add("电商众筹分红支出"); arg.PayeeComments.Add("电商众筹分红收益"); //计算用户已得分红 var uc = UserCrowdfunding.ObjectSet().Where(q => q.AppId == query.AppId && q.UserId == query.UserId).FirstOrDefault(); uc.RealGetDividend += query.GoldCount; uc.EntityState = EntityState.Modified; contextSession.SaveObject(uc); } try { gReturnDTO = Jinher.AMP.BTP.TPS.Finance.Instance.MultiPayeeTradeByPassword(arg); } catch (Exception ex) { int num = UpdateRedState(query, 0); LogHelper.Error(string.Format("获取我的红包UserRedEnvelopeSV-DrawRedEnvelopeExt-MultiPayeeTrade,参数redEnvelopeId:{0},红包状态恢复{1}", userRedEnvelopeId, (num > 0 ? "成功" : "失败")), ex); result.ResultCode = 1; result.Message = "调用金币接口失败"; return(result); } if (gReturnDTO == null || !gReturnDTO.IsSuccess) { int num = UpdateRedState(query, 0); result.ResultCode = 1; result.Message = "分享红包支付失败"; LogHelper.Error(string.Format("调用金币MultiPayeeTradeByPassword方法失败,code:{0},错误消息:{1},参数redEnvelopeId:{2},红包状态恢复{3}", gReturnDTO.Code, gReturnDTO.Info, userRedEnvelopeId, (num > 0 ? "成功" : "失败"))); return(result); } return(result); }
/// <summary> /// 获取用户最新的订单物流信息 /// 查询第一条数据 /// </summary> public Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO <Jinher.AMP.BTP.Deploy.CustomDTO.Commodity.ComOrderExpressNew> GetUserNewOrderExpressExt(System.Guid AppId, System.Guid Userid) { LogHelper.Info("【一条物流】====AppId-->[" + AppId + "]--->UserId=[" + Userid + "]"); ComOrderExpressNew ExpressNews = new ComOrderExpressNew(); ResultDTO <ComOrderExpressNew> result = new ResultDTO <ComOrderExpressNew>() { ResultCode = 1, isSuccess = false, Data = ExpressNews }; string json = null; JObject obj = null; try { //获取已发货的订单信息 var ComOrder = CommodityOrder.ObjectSet().Where(p => p.State == 2 && p.UserId == Userid && p.EsAppId == AppId).OrderByDescending(p => p.ModifiedOn).FirstOrDefault(); if (ComOrder != null) { List <ExpressTrace> ExpressList = new List <ExpressTrace>(); var OrderItemInfo = OrderItem.ObjectSet().Where(p => p.CommodityOrderId == ComOrder.Id).FirstOrDefault(); ExpressNews.CommodityOrderId = ComOrder.Id; //订单id ExpressNews.Pic = OrderItemInfo.PicturesPath; //首条订单图片 //京东信息 var commodityOrderId = ComOrder.Id; /* * var jdOrderitem = JdOrderItem.ObjectSet().FirstOrDefault(p => p.CommodityOrderId.Contains(commodityOrderId)); * LogHelper.Debug(string.Format("物流信息(订单信息),订单id{0}:", ComOrder.Id)); * //急速数据信息 * if (!string.IsNullOrWhiteSpace(ComOrder.ExpOrderNo) && jdOrderitem == null) * { * //根据快递编号获取急速数据信息 * json = GetWuliuJson(ComOrder.ExpOrderNo); * obj = JObject.Parse(json); * LogHelper.Info(string.Format("极速物流信息:订单Id:{0},物流信息:{1}", ComOrder.Id, obj)); * if (Convert.ToInt32(obj["status"]) != 0) * { * return result; * } * JArray arr = (JArray)JsonConvert.DeserializeObject(obj["result"]["list"].ToString()); * foreach (var item in arr) * { * ExpressTrace Express = new ExpressTrace(); * Express.AcceptTime = Convert.ToDateTime(item["time"].ToString()); * Express.AcceptStation = item["status"].ToString().Trim(); * ExpressList.Add(Express); * } * * if (Convert.ToInt32(obj["result"]["deliverystatus"]) == 1) * { * ExpressNews.shipmentsTime = ExpressList.Min(p => p.AcceptTime); * ExpressNews.state = "已发货"; * ExpressNews.Remarked = "您的订单已发货,由" + ComOrder.ShipExpCo + "快递配送,请注意物流信息~"; * result.ResultCode = 0; * result.isSuccess = true; * } * else if (Convert.ToInt32(obj["result"]["deliverystatus"]) == 2) * { * ExpressNews.shipmentsTime = ExpressList.OrderByDescending(p => p.AcceptTime).FirstOrDefault().AcceptTime; * ExpressNews.state = "派件中"; * ExpressNews.Remarked = "您的订单已开始派送,请保持电话畅通,确认商品外包装完好后签收~"; * result.ResultCode = 0; * result.isSuccess = true; * } * else * { * result.ResultCode = 1; * result.isSuccess = false; * } * } * else * { * if (jdOrderitem != null) * { * var jdwuliu = JdHelper.orderTrack(jdOrderitem.JdOrderId); * if (jdwuliu != null) * { * JArray objson = JArray.Parse(jdwuliu); * foreach (var item in objson) * { * ExpressTrace Express = new ExpressTrace(); * Express.AcceptTime = DateTime.Parse(item["msgTime"].ToString()); * Express.AcceptStation = item["content"].ToString().Trim(); * ExpressList.Add(Express); * } * var NewExpress = ExpressList.OrderByDescending(p => p.AcceptTime).FirstOrDefault(); * if (NewExpress.AcceptStation.Contains("正在配送") || NewExpress.AcceptStation.Contains("自提")) * { * ExpressNews.shipmentsTime = NewExpress.AcceptTime; * ExpressNews.state = "派件中"; * ExpressNews.Remarked = "您的订单已开始派送,请保持电话畅通,确认商品外包装完好后签收~"; * result.ResultCode = 0; * result.isSuccess = true; * } * else if (NewExpress.AcceptStation.Contains("已签收")) * { * result.ResultCode = 1; * result.isSuccess = false; * } * else if (NewExpress.AcceptStation.Contains("出库") || NewExpress != null) * { * ExpressNews.shipmentsTime = ExpressList.Min(p => p.AcceptTime); * ExpressNews.state = "已发货"; * ExpressNews.Remarked = "您的订单已发货,由京东快递配送,请注意物流信息~"; * result.ResultCode = 0; * result.isSuccess = true; * } * } * } * }*/ if (ThirdECommerceHelper.IsJingDongDaKeHu(ComOrder.AppId)) { string orderId = commodityOrderId.ToString().ToLower(); LogHelper.Info("IsJingDongDaKeHu1--->" + orderId); var jdOrderitem = JdOrderItem.ObjectSet().Where(p => p.CommodityOrderId.ToLower() == orderId).FirstOrDefault(); LogHelper.Info("IsJingDongDaKeHu2--->" + orderId); if (jdOrderitem != null) { LogHelper.Info("IsJingDongDaKeHu3--->" + orderId); var jdwuliu = JdHelper.orderTrack(jdOrderitem.JdOrderId); LogHelper.Info("【一条---京东】京东物流[" + JsonHelper.JsonSerializer(jdOrderitem) + "]====返回-->[" + jdwuliu + "]"); if (jdwuliu != null) { JArray objson = JArray.Parse(jdwuliu); foreach (var item in objson) { ExpressTrace Express = new ExpressTrace(); Express.AcceptTime = DateTime.Parse(item["msgTime"].ToString()); Express.AcceptStation = item["content"].ToString().Trim(); ExpressList.Add(Express); } AddExpressNew(ExpressList, ExpressNews, result); } } } else if (ThirdECommerceHelper.IsWangYiYanXuan(ComOrder.AppId))//网易严选或第三方电商 { var yxOrder = YXOrder.ObjectSet().FirstOrDefault(p => p.OrderId == commodityOrderId); if (yxOrder != null) { var express = ThirdECommerceHelper.GetOrderItemExpressTrace(AppId, yxOrder.Id); LogHelper.Info("【一条---严选】网易严选物流[" + JsonHelper.JsonSerializer(yxOrder) + "]===返回-->[" + JsonHelper.JsonSerializer(express) + "]"); if (express != null) { if (express.ExpressTraceList != null && express.ExpressTraceList.Count > 0) { express.ExpressTraceList.ForEach(p => { ExpressTrace Express = new ExpressTrace(); Express.AcceptTime = p.Time == null ? DateTime.Now : DateTime.Parse(p.Time); Express.AcceptStation = p.Desc; ExpressList.Add(Express); }); AddExpressNew(ExpressList, ExpressNews, result); } } } } else if (ThirdECommerceHelper.IsSuNingYiGou(ComOrder.AppId))//苏宁店铺 { var snOrderitem = SNOrderItem.ObjectSet().FirstOrDefault(p => p.OrderId == commodityOrderId); if (snOrderitem != null) { SNExpressTraceFacade snExpress = new SNExpressTraceFacade(); var SuningWuliu = snExpress.GetExpressTrace(commodityOrderId.ToString(), snOrderitem.Id.ToString()); LogHelper.Info("【一条---苏宁】苏宁物流[" + JsonHelper.JsonSerializer(snOrderitem) + "]===返回-->[" + JsonHelper.JsonSerializer(SuningWuliu) + "]"); if (SuningWuliu != null) { SuningWuliu.ForEach(p => { ExpressTrace Express = new ExpressTrace(); Express.AcceptTime = p.OperateTime == null ? DateTime.Now : p.OperateTime.Value; Express.AcceptStation = p.OperateState; ExpressList.Add(Express); }); AddExpressNew(ExpressList, ExpressNews, result); } } } else if (ThirdECommerceHelper.IsFangZheng(ComOrder.AppId))//方正店铺 { var FangZhengWuliu = FangZhengSV.FangZheng_Logistics_InfoList(commodityOrderId); LogHelper.Info("【一条---方正】方正物流[" + commodityOrderId + "]===返回-->[" + JsonHelper.JsonSerializer(FangZhengWuliu) + "]"); if (FangZhengWuliu != null) { FangZhengWuliu.ExpressTraceList.ForEach(p => { ExpressTrace Express = new ExpressTrace(); Express.AcceptTime = DateTime.Parse(p.Time); Express.AcceptStation = p.Desc; ExpressList.Add(Express); }); AddExpressNew(ExpressList, ExpressNews, result); } } else { json = Express100SV.GetExpressFromKD100(ComOrder.ExpOrderNo, ComOrder.ShipExpCo); obj = JObject.Parse(json); LogHelper.Info(string.Format("【一条---快递100】快递100:订单Id:{0},物流信息:{1}", commodityOrderId, obj)); if (obj["message"].ToString().ToLower().Equals("ok")) { JArray arr = (JArray)JsonConvert.DeserializeObject(obj["data"].ToString()); foreach (var item in arr) { ExpressTrace Express = new ExpressTrace(); Express.AcceptTime = Convert.ToDateTime(item["ftime"].ToString()); Express.AcceptStation = item["context"].ToString().Trim(); ExpressList.Add(Express); } //快递单当前签收状态,包括0在途中、1已揽收、2疑难、3已签收、4退签、5同城派送中、6退回、7转单等7个状态,其中4-7需要另外开通才有效 int deliverystatus = Convert.ToInt32(obj["state"].ToString()); if (deliverystatus == 0) { ExpressNews.shipmentsTime = ExpressList.Min(p => p.AcceptTime); ExpressNews.state = "已发货"; ExpressNews.Remarked = "您的订单已发货,由" + ComOrder.ShipExpCo + "快递配送,请注意物流信息~"; result.ResultCode = 0; result.isSuccess = true; } else if (deliverystatus == 5) { ExpressNews.shipmentsTime = ExpressList.OrderByDescending(p => p.AcceptTime).FirstOrDefault().AcceptTime; ExpressNews.state = "派件中"; ExpressNews.Remarked = "您的订单已开始派送,请保持电话畅通,确认商品外包装完好后签收~"; result.ResultCode = 0; result.isSuccess = true; } else if (deliverystatus == 3) { ExpressNews.shipmentsTime = ExpressList.OrderByDescending(p => p.AcceptTime).FirstOrDefault().AcceptTime; ExpressNews.state = "已签收"; ExpressNews.Remarked = "您的订单已签收"; result.ResultCode = 0; result.isSuccess = true; } } } result.Data = ExpressNews; LogHelper.Info("Express100--->result[" + JsonHelper.JsonSerializer(result) + "]"); return(result); } else { return(result); } } catch (Exception ex) { LogHelper.Error(string.Format("获取用户最新的订单物流信息信息异常,异常信息:{0}", ex)); return(result); } }
/// <summary> /// 修改商城信息状态 /// </summary> /// <returns></returns> public ResultDTO UpdateMallApplyExt(Jinher.AMP.BTP.Deploy.CustomDTO.MallApply.MallApplyDTO model) { ResultDTO dto = null; try { ContextSession contextSession = ContextFactory.CurrentThreadContext; var mallapply = MallApply.ObjectSet().FirstOrDefault(p => p.Id == model.Id); if (mallapply != null) { if (!string.IsNullOrWhiteSpace(model.AppId.ToString()) && (!model.AppId.ToString().Contains("00000000-0000-0000-0000-000000000000"))) { mallapply.AppId = model.AppId; } if (!string.IsNullOrWhiteSpace(model.EsAppId.ToString()) && (!model.EsAppId.ToString().Contains("00000000-0000-0000-0000-000000000000"))) { mallapply.EsAppId = model.EsAppId; } if (!string.IsNullOrWhiteSpace(model.UserId.ToString()) && (!model.UserId.ToString().Contains("00000000-0000-0000-0000-000000000000"))) { mallapply.UserId = model.UserId; } if (!string.IsNullOrWhiteSpace(model.AppName)) { mallapply.AppName = model.AppName; } if (!string.IsNullOrWhiteSpace(model.EsAppName)) { mallapply.EsAppName = model.EsAppName; } mallapply.ModifiedOn = DateTime.Now; if (!string.IsNullOrWhiteSpace(model.State.ToString())) { mallapply.State = new ApplyStateVO { Value = model.State }; } if (!string.IsNullOrWhiteSpace(model.ApplyContent)) { mallapply.ApplyContent = model.ApplyContent; } if (Convert.ToBoolean(model.CrcAppId)) { mallapply.CrcAppId = model.CrcAppId; } if (model.Type.HasValue) { mallapply.Type = model.Type.Value; } mallapply.EntityState = EntityState.Modified; // 同步Supplier表 if (model.Type.HasValue) { var supplier = Supplier.ObjectSet().Where(_ => _.EsAppId == mallapply.EsAppId && _.AppId == mallapply.AppId && !_.IsDel).FirstOrDefault(); if (supplier != null) { if (supplier.SupplierType != mallapply.Type) { supplier.SupplierType = mallapply.Type; supplier.EntityState = System.Data.EntityState.Modified; contextSession.SaveObject(supplier); } } } contextSession.SaveChanges(); dto = new ResultDTO() { ResultCode = 0, Message = "修改成功", isSuccess = true }; } else { dto = new ResultDTO() { ResultCode = 1, Message = "该信息不存在", isSuccess = false }; } } catch (Exception ex) { LogHelper.Error(string.Format("商家信息保存异常。MallApply:{0}", ex.Message)); dto = new ResultDTO() { ResultCode = 1, Message = ex.Message, isSuccess = false }; } return(dto); }
/// <summary> /// 获取用户最新的所有订单的物流信息 /// 查询前三条数据 /// </summary> /// <param name="AppId"></param> /// <param name="Userid"></param> /// <returns></returns> public ResultDTO <ListResult <ComOrderExpressNew> > GetUserAllNewOrderExpressExt(Guid AppId, Guid Userid) { ListResult <ComOrderExpressNew> expressNews = new ListResult <ComOrderExpressNew>(); expressNews.List = new List <ComOrderExpressNew>(); ResultDTO <ListResult <ComOrderExpressNew> > result = new ResultDTO <ListResult <ComOrderExpressNew> >() { isSuccess = false, ResultCode = 1, Data = expressNews }; string json = string.Empty; JObject obj = null; try { LogHelper.Info("【三条---京东】京东物流[开始调用]AppId=" + AppId + " Userid=" + Userid + ""); //获取已发货的订单信息 //var comOrders = CommodityOrder.ObjectSet().Where(p => p.State == 2 && p.UserId == Userid && p.EsAppId == AppId).OrderByDescending(p => p.ModifiedOn).ToList(); var comOrders = CommodityOrder.ObjectSet().Where(p => p.State != 0 && p.UserId == Userid && p.EsAppId == AppId).OrderByDescending(p => p.ModifiedOn).Take(3).ToList(); LogHelper.Info("【三条---京东】京东物流comOrders-->[" + comOrders.Count() + "]"); if (comOrders != null) { List <ExpressTrace> expressList = null; ComOrderExpressNew expressNew = null; foreach (var order in comOrders.ToList()) { expressList = new List <ExpressTrace>(); expressNew = new ComOrderExpressNew(); var OrderItemInfo = OrderItem.ObjectSet().Where(p => p.CommodityOrderId == order.Id).FirstOrDefault(); expressNew.CommodityOrderId = order.Id; //订单id expressNew.Pic = OrderItemInfo.PicturesPath; //首条订单图片 //京东信息 var commodityOrderId = order.Id.ToString(); if (ThirdECommerceHelper.IsJingDongDaKeHu(order.AppId)) { //var jdOrderitem = JdOrderItem.ObjectSet().FirstOrDefault(p => p.CommodityOrderId.Contains(commodityOrderId)); var query = JdOrderItem.ObjectSet().Where(p => p.CommodityOrderId.Contains(commodityOrderId)); //去重后的父单集合 var jdOrderList = query.Select(p => new { p.JdOrderId }).GroupBy(p => p.JdOrderId).ToList(); if (jdOrderList.Any()) { jdOrderList.ForEach(p => { var jdwuliu = JdHelper.orderTrack(p.Key); LogHelper.Info("【三条---京东】京东物流====返回-->[" + jdwuliu + "]"); if (jdwuliu != null) { JArray objson = JArray.Parse(jdwuliu); foreach (var item in objson) { ExpressTrace Express = new ExpressTrace(); Express.AcceptTime = DateTime.Parse(item["msgTime"].ToString()); Express.AcceptStation = item["content"].ToString().Trim(); expressList.Add(Express); } AddExpressNewAll(expressNews, expressList, expressNew, "京东"); } }); } } else if (ThirdECommerceHelper.IsWangYiYanXuan(order.AppId))//网易严选或第三方电商 { var orderItem = OrderItem.ObjectSet().FirstOrDefault(p => p.CommodityOrderId == order.Id); var express = ThirdECommerceHelper.GetOrderItemExpressTrace(order.AppId, orderItem.Id); LogHelper.Info("【三条---严选】网易严选物流-->[" + JsonHelper.JsonSerializer(express) + "]"); if (express != null) { if (express.ExpressTraceList != null && express.ExpressTraceList.Count > 0) { express.ExpressTraceList.ForEach(p => { ExpressTrace Express = new ExpressTrace(); Express.AcceptTime = p.Time == null ? DateTime.Now : DateTime.Parse(p.Time); Express.AcceptStation = p.Desc; expressList.Add(Express); }); string name = "严选"; var yxExpress = YXExpressTrace.ObjectSet().Where(p => p.OrderId == order.Id).FirstOrDefault(); if (yxExpress != null) { name = yxExpress.ExpressCompany; } AddExpressNewAll(expressNews, expressList, expressNew, name); } } } else if (ThirdECommerceHelper.IsSuNingYiGou(order.AppId))//苏宁店铺 { var snOrderitem = SNOrderItem.ObjectSet().FirstOrDefault(p => p.OrderId == order.Id); SNExpressTraceFacade snExpress = new SNExpressTraceFacade(); var SuningWuliu = snExpress.GetExpressTrace(order.Id.ToString(), snOrderitem.OrderItemId.ToString()); LogHelper.Info("【三条---苏宁】苏宁物流[" + order.Id.ToString() + "," + snOrderitem.OrderItemId.ToString() + "]===返回-->[" + JsonHelper.JsonSerializer(SuningWuliu) + "]"); if (SuningWuliu != null) { SuningWuliu.ForEach(p => { ExpressTrace Express = new ExpressTrace(); Express.AcceptTime = p.OperateTime == null ? DateTime.Now : p.OperateTime.Value; Express.AcceptStation = p.OperateState; expressList.Add(Express); }); AddExpressNewAll(expressNews, expressList, expressNew, "苏宁"); } } else if (ThirdECommerceHelper.IsFangZheng(order.AppId))//方正店铺 { var FangZhengWuliu = FangZhengSV.FangZheng_Logistics_InfoList(order.Id); LogHelper.Info("【三条---方正】方正物流[" + commodityOrderId + "]===返回-->[" + JsonHelper.JsonSerializer(FangZhengWuliu) + "]"); if (FangZhengWuliu != null) { FangZhengWuliu.ExpressTraceList.ForEach(p => { ExpressTrace Express = new ExpressTrace(); Express.AcceptTime = DateTime.Parse(p.Time); Express.AcceptStation = p.Desc; expressList.Add(Express); }); AddExpressNewAll(expressNews, expressList, expressNew, "方正"); } } else { if (order.ExpOrderNo != null) { json = Express100SV.GetExpressFromKD100(order.ExpOrderNo, order.ShipExpCo); obj = JObject.Parse(json); LogHelper.Info(string.Format("【三条---快递100】快递100:订单Id:{0},物流信息:{1}", order.Id, obj)); if (obj["message"].ToString().ToLower().Equals("ok")) { JToken arr = obj["data"]; foreach (var item in arr) { ExpressTrace Express = new ExpressTrace(); Express.AcceptTime = Convert.ToDateTime(item["ftime"].ToString()); Express.AcceptStation = item["context"].ToString().Trim(); expressList.Add(Express); } LogHelper.Info(string.Format("【三条---快递100】arr[{0}]--->expressList[{1}]", arr.Count(), expressList.Count)); //快递单当前签收状态,包括0在途中、1已揽收、2疑难、3已签收、4退签、5同城派送中、6退回、7转单等7个状态,其中4-7需要另外开通才有效 int deliverystatus = Convert.ToInt32(obj["state"].ToString()); LogHelper.Info("【三条---快递100】deliverystatus-->[" + deliverystatus + "]"); if (deliverystatus == 0) { expressNew.shipmentsTime = expressList.Min(p => p.AcceptTime); expressNew.state = "已发货"; expressNew.Remarked = "您的订单已发货,由" + order.ShipExpCo + "快递配送,请注意物流信息~"; expressNews.List.Add(expressNew); } else if (deliverystatus == 5) { expressNew.shipmentsTime = expressList.OrderByDescending(p => p.AcceptTime).FirstOrDefault().AcceptTime; expressNew.state = "派件中"; expressNew.Remarked = "您的订单已开始派送,请保持电话畅通,确认商品外包装完好后签收~"; expressNews.List.Add(expressNew); } else if (deliverystatus == 3) { expressNew.shipmentsTime = expressList.OrderByDescending(p => p.AcceptTime).FirstOrDefault().AcceptTime; expressNew.state = "已签收"; expressNew.Remarked = "您的订单已签收"; expressNews.List.Add(expressNew); } else { continue; } } } } } expressNews.Count = expressNews.List == null ? 0 : expressNews.List.Count(); if (expressNews.List.Any()) { ListResult <ComOrderExpressNew> express = new ListResult <ComOrderExpressNew>(); express.List = new List <ComOrderExpressNew>(); express.List = expressNews.List.Take(3).ToList(); //取前三条 result.Data = express; result.isSuccess = true; result.ResultCode = 0; } else { result.Data = expressNews; result.isSuccess = false; result.ResultCode = 1; } LogHelper.Info(string.Format("获取用户最新的所有订单物流信息返回数据:{0}", JsonHelper.JsonSerializer(result))); return(result); } else { return(result); } } catch (Exception ex) { LogHelper.Error(string.Format("获取用户最新的所有订单物流信息信息异常,异常信息:{0}", ex)); return(result); } }
public void DeleteResult(ResultDTO resultDTO) { Database.Result.Delete(resultDTO.Id); Database.Save(); }
public ResultDTO <List <Jinher.AMP.YJB.Deploy.CustomDTO.YJCBalanceResponseDTO> > YJCBalanceBatch(List <PayItem> yjcList) { ResultDTO <List <Jinher.AMP.YJB.Deploy.CustomDTO.YJCBalanceResponseDTO> > result = null; try { var facade = new Jinher.AMP.YJB.ISV.Facade.YJCardFacade(); result = facade.YJCBalanceBatch(yjcList); } catch (Exception ex) { LogHelper.Error("YJBSV.GetUserYJCouponItemByOrderId,获取用户已领取易捷抵用券(单品)失败。 输入:" + JsonHelper.JsonSerializer(yjcList), ex); } if (result != null) { return(result); } else { LogHelper.Error("YJBSV.GetUserYJCouponItemByOrderId服务失败,获取用户已领取易捷抵用券(单品)失败。 输入:" + JsonHelper.JsonSerializer(yjcList) + ",返回:" + JsonHelper.JsonSerializer(result)); return(null); } }
public void TestMethod1() { //查询 DistributorSearchDTO dto = new DistributorSearchDTO(); dto.page = 1; dto.rows = 1; string dtostr = Common.TransformHelper.ConvertDTOTOBase64JsonString(dto); var pp = DistributorManagermentController.GetDistributorList(dtostr); //新增 DistributorOperateDTO dto1 = new DistributorOperateDTO(); dto1.DistributorID = Guid.NewGuid(); dto1.DistributorCode = "csjxsTest"; dto1.DistributorName = "测试经销商Test"; dto1.InvoiceCode = "测试发票编号地址Test"; dto1.DeliverCode = "测试送货编号地址Test"; dto1.Office = "办事处"; dto1.CSRNameReagent = "CRS用户名SJ"; dto1.CSRNameD = "CRS用户名B"; dto1.CSRNameB = "CRS用户名D"; dto1.IsActive = true; dto1.CreateUser = "******"; dto1.CreateTime = DateTime.Now; var pp1 = DistributorManagermentController.AddDistributor(dto1); string strResult1 = pp1.Content.ReadAsStringAsync().Result; ResultDTO <object> bl = JsonConvert.DeserializeObject <ResultDTO <object> >(strResult1); Assert.IsTrue(bl.SubmitResult); //查询 DistributorSearchDTO dto2 = new DistributorSearchDTO(); dto2.SearchText = "测试经销商Test"; dto2.page = 1; dto2.rows = 1; string dto2str = Common.TransformHelper.ConvertDTOTOBase64JsonString(dto2); var pp2 = DistributorManagermentController.GetDistributorList(dto2str); string strResult2 = pp2.Content.ReadAsStringAsync().Result; ResultDTO <List <DistributorResultDTO> > result = JsonConvert.DeserializeObject <ResultDTO <List <DistributorResultDTO> > >(strResult2); List <DistributorResultDTO> list1 = result.Object; //修改 DistributorOperateDTO dto3 = new DistributorOperateDTO(); dto3.UpType = 1; dto3.DistributorID = list1.Select(s => s.DistributorID).FirstOrDefault(); dto3.DistributorCode = "csjxsTest"; dto3.DistributorName = "修改测试经销商Test"; dto3.InvoiceCode = "修改测试发票编号地址Test"; dto3.DeliverCode = "修改测试送货编号地址Test"; dto3.Office = "修改办事处"; dto3.CSRNameReagent = "修改CRS用户名SJ"; dto3.CSRNameD = "修改CRS用户名B"; dto3.CSRNameB = "修改CRS用户名D"; dto3.IsActive = true; dto3.ModifyUser = "******"; dto3.ModifyTime = DateTime.Now; var pp3 = DistributorManagermentController.UpdateDistributor(dto3); string strResult3 = pp3.Content.ReadAsStringAsync().Result; ResultDTO <object> bl1 = JsonConvert.DeserializeObject <ResultDTO <object> >(strResult3); Assert.IsTrue(bl1.SubmitResult); //停启用经销商 DistributorOperateDTO dto4 = new DistributorOperateDTO(); dto4.UpType = 2; dto4.DistributorID = list1.Select(s => s.DistributorID).FirstOrDefault(); dto4.IsActive = true; dto4.ModifyUser = "******"; dto4.ModifyTime = DateTime.Now; var pp4 = DistributorManagermentController.UpdateDistributor(dto4); string strResult4 = pp4.Content.ReadAsStringAsync().Result; ResultDTO <object> bl2 = JsonConvert.DeserializeObject <ResultDTO <object> >(strResult4); Assert.IsTrue(bl2.SubmitResult); //删除 DistributorOperateDTO dto5 = new DistributorOperateDTO(); dto5.DistributorID = list1.Select(s => s.DistributorID).FirstOrDefault(); string dto4str = Common.TransformHelper.ConvertDTOTOBase64JsonString(dto5); var pp5 = DistributorManagermentController.DeleteDistributor(dto4str); string strResult5 = pp5.Content.ReadAsStringAsync().Result; ResultDTO <object> bl3 = JsonConvert.DeserializeObject <ResultDTO <object> >(strResult5); Assert.IsTrue(bl3.SubmitResult); }
public HttpResponseMessage UpdateAvatar(HttpRequestMessage request) { ResultDTO result = new ResultDTO(); try { var requestContext = HttpContext.Current.Request; var pathFolder = System.Web.Hosting.HostingEnvironment.MapPath(Common.GetConfigValue("PathAvatarFolder")); string sessionKey = requestContext.Form.Get("SessionKey"); result = Common.CheckLogin(sessionKey); if (result.StatusCode != 0) { return(CreateHttpResponse(request, () => { var response = request.CreateResponse(HttpStatusCode.OK, result); return response; })); } if (requestContext.Files.Count < 1) { result.StatusCode = int.Parse(RetCodeMsg.ECS0028, 0); result.SetContentMsg(); } else { string fileName = requestContext.Files[0].FileName; string ext = System.IO.Path.GetExtension(fileName); string originalFileName = System.IO.Path.GetFileName(fileName); // Save to file temp var tempFileName = Guid.NewGuid() + ext; //To save file, use SaveAs method if (System.IO.File.Exists(pathFolder + tempFileName)) { System.IO.File.Delete(pathFolder + tempFileName); } //File will be saved in application root requestContext.Files[0].SaveAs(pathFolder + tempFileName); RequestUpdateAvatarDTO olalaObj = new RequestUpdateAvatarDTO(); olalaObj.SessionKey = sessionKey; olalaObj.AvatarFileName = tempFileName; return(CreateHttpResponse(request, () => { HttpResponseMessage response; response = request.CreateResponse(HttpStatusCode.OK, _service.UpdateAvatar(olalaObj)); return response; })); //result.StatusCode = 0; //result.SetContentMsg(); //result.Details = tempFileName; } } catch (Exception ex) { result.StatusCode = 9999; result.Details = ex.Message; return(CreateHttpResponse(request, () => { var response = request.CreateResponse(HttpStatusCode.OK, result); return response; })); } return(CreateHttpResponse(request, () => { var response = request.CreateResponse(HttpStatusCode.OK, result); return response; })); }
public ResultDTO CreateInvoic(ContextSession contextSession, CommodityOrder commodityOrder, int isRefund) { LogHelper.Info(string.Format("开始进入开票接口。订单ID(commodityOrder.id:{0}), 是否是开正票(isRefund:{1})", commodityOrder.Id, isRefund)); ResultDTO resultDto = new ResultDTO() { ResultCode = 1 }; try { string fMsgCode = ""; string fMsg = ""; string strXml = CreateXmlFile(commodityOrder, isRefund); if (strXml == "") { resultDto.Message = "保存失败"; return(resultDto); } //EInvoiceServiceClient eInvoice = new EInvoiceServiceClient("EInvoiceServicePort"); //var returnInfo = eInvoice.submitEInvoiceInfo(strXml); //LogHelper.Info(string.Format("开票接口返回xml结果。XML:{0}", returnInfo)); //<ReturnMsg> <msgCode>0000</msgCode> <msg>发票开具数据保存成功</msg> </ReturnMsg> Jinher.AMP.YJBJMQ.Deploy.CustomDTO.ResultDTO returnInfo = YJBJMQSV.CreateInvoic(strXml); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(returnInfo.Message); XmlNode rootNode = xmlDoc.SelectSingleNode("ReturnMsg"); if (rootNode != null) { foreach (XmlNode xxNode in rootNode.ChildNodes) { if ("msgCode".Equals(xxNode.Name)) { fMsgCode = xxNode.InnerText; } else if ("msg".Equals(xxNode.Name)) { fMsg = xxNode.InnerText; } } } LogHelper.Info(string.Format("开票接口返回xml结果。fMsgCode:{0},fMsg:{1}", fMsgCode, fMsg)); HTJSInvoice htjsInvoice = HTJSInvoice.FindByID(commodityOrder.Id); //新增 if (htjsInvoice == null) { htjsInvoice = new HTJSInvoice { Id = commodityOrder.Id, SubId = commodityOrder.SubId, SubTime = DateTime.Now, SwNo = "jh" + commodityOrder.Code, RefundType = 0, ModifiedOn = DateTime.Now, FMsgCode = fMsgCode, FMsg = fMsg, SMsgCode = "1111",//给下载发票一个默认错误码 EntityState = EntityState.Added }; } //补发 处理返回错误码的情况 else { if (isRefund == 0) { htjsInvoice.SwNo = "jh" + commodityOrder.Code; } else if (isRefund == 1) { htjsInvoice.SwNo = "tk" + commodityOrder.Code; htjsInvoice.SMsgCode = "1111"; //给下载发票一个默认错误码 } else if (isRefund == 2) { htjsInvoice.SwNo = "pr" + commodityOrder.Code; htjsInvoice.SMsgCode = "1111"; //给下载发票一个默认错误码 } htjsInvoice.RefundType = isRefund; htjsInvoice.ModifiedOn = DateTime.Now; htjsInvoice.FMsgCode = fMsgCode; htjsInvoice.FMsg = fMsg; htjsInvoice.EntityState = EntityState.Modified; } contextSession.SaveObject(htjsInvoice); } catch (Exception ex) { LogHelper.Error(string.Format("调用开票接口保存相关的返回信息异常。订单id:{0}", commodityOrder.Id), ex); resultDto.Message = "处理异常"; } return(resultDto); }
public ActionResult PetCreate([FromForm] PetCO request) { var sonuc = new ResultDTO(); if (request == null) { throw new PetClinicAppointmentBadRequestException("You have not sent any data!"); } if (string.IsNullOrEmpty(request.Name)) { throw new PetClinicAppointmentBadRequestException("Pet name cannot be empty!"); } if (string.IsNullOrEmpty(request.PlaceOfBirth)) { throw new PetClinicAppointmentBadRequestException("Pet place of birth cannot be empty!"); } if (string.IsNullOrEmpty(request.Birthdate.ToLongDateString())) { throw new PetClinicAppointmentBadRequestException("Pet birthdate cannot be empty!"); } if (request.UserGuid == null) { throw new PetClinicAppointmentBadRequestException("User guid cannot be empty!"); } var user = _userService.GetByGuid(request.UserGuid); if (user == null) { throw new PetClinicAppointmentNotFoundException("User not found!"); } var picturePath = Path.Combine("Assets", "defaultPet.jpeg"); var dto = new PetDTO() { Guid = Guid.NewGuid(), Deleted = false, Actived = true, CreatedDate = DateTime.Now, DogumTarihi = request.Birthdate, DogumYeri = request.PlaceOfBirth, Name = request.Name, User = null, UserId = user.Id, Resim = picturePath }; var durum = _petService.Create(dto); if (durum > 0) { sonuc.Status = EDurum.SUCCESS; sonuc.Message.Add(new MessageDTO() { Code = HttpStatusCode.OK, Status = EDurum.SUCCESS, Description = "Pet was created successfully." }); sonuc.Data = new { pet = new { dto.Guid } }; } else { throw new PetClinicAppointmentBadRequestException("Error adding pet!"); } return(Ok(sonuc)); }
public ResultDTO DownloadInvoic(CommodityOrder commodityOrder, int isRefund, ContextSession contextSession) { ResultDTO resultDto = new ResultDTO() { ResultCode = 1 }; try { string fpdm = ""; string fphm = ""; string kprq = ""; string pdfContent = ""; string pdfMd5 = ""; string msgCode = ""; string msg = ""; XmlDocument xmlDoc = new XmlDocument(); //创建类型声明节点 XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", ""); xmlDoc.AppendChild(node); //创建根节点 XmlNode root = xmlDoc.CreateElement("InvoInfo"); xmlDoc.AppendChild(root); if (isRefund == 0) { CreateNode(xmlDoc, root, "swno", "jh" + commodityOrder.Code); //流水号 } else if (isRefund == 1) { CreateNode(xmlDoc, root, "swno", "tk" + commodityOrder.Code); //流水号 } else if (isRefund == 2) { CreateNode(xmlDoc, root, "swno", "pr" + commodityOrder.Code); //流水号 } CreateNode(xmlDoc, root, "saleTax", CustomConfig.saleTax); //销方税号 测试税号:110101TRDX8RQU1 LogHelper.Info(string.Format("下载电子发票接口所需xml节点。电子发票订单号:{0},xmlContent:{1}", commodityOrder.Id, xmlDoc.InnerXml)); string strXml = xmlDoc.InnerXml; //EInvoiceServiceClient eInvoice = new EInvoiceServiceClient("EInvoiceServicePort"); //var returnInfo = eInvoice.downloadEInvoiceInfo(strXml); //LogHelper.Info(string.Format("下载电子发票接口返回xml结果。XML:{0}", returnInfo)); Jinher.AMP.YJBJMQ.Deploy.CustomDTO.ResultDTO returnInfo = YJBJMQSV.DownloadInvoic(strXml); xmlDoc = new XmlDocument(); xmlDoc.LoadXml(returnInfo.Message); XmlNode rootNode = xmlDoc.SelectSingleNode("DownloadInfo"); if (rootNode != null) { foreach (XmlNode xxNode in rootNode.ChildNodes) { if ("fpdm".Equals(xxNode.Name)) { fpdm = xxNode.InnerText; } else if ("fphm".Equals(xxNode.Name)) { fphm = xxNode.InnerText; } else if ("kprq".Equals(xxNode.Name)) { kprq = xxNode.InnerText; } else if ("pdfContent".Equals(xxNode.Name)) { pdfContent = xxNode.InnerText; } else if ("pdfMd5".Equals(xxNode.Name)) { pdfMd5 = xxNode.InnerText; } } } XmlNode returnMsgnode = xmlDoc.SelectSingleNode("DownloadInfo/returnMsg"); if (returnMsgnode != null) { foreach (XmlNode xxNode in returnMsgnode.ChildNodes) { if ("msgCode".Equals(xxNode.Name)) { msgCode = xxNode.InnerText; } else if ("msg".Equals(xxNode.Name)) { msg = xxNode.InnerText; } } } LogHelper.Info(string.Format( "下载电子发票接口返回xml结果。fpdm:{0},fphm:{1},kprq:{2},pdfContent:{3},pdfMd5:{4},msgCode:{5},msg:{6},电子发票订单号:{7}", fpdm, fphm, kprq, pdfContent, pdfMd5, msgCode, msg, commodityOrder.Id)); HTJSInvoice htjsInvoice = HTJSInvoice.FindByID(commodityOrder.Id); htjsInvoice.Fpdm = fpdm; htjsInvoice.Fphm = fphm; htjsInvoice.Kprq = Convert.ToDateTime(kprq); htjsInvoice.PdfContent = pdfContent; htjsInvoice.PdfMd5 = pdfMd5; htjsInvoice.SMsgCode = msgCode; htjsInvoice.SMsg = msg; htjsInvoice.EntityState = EntityState.Modified; contextSession.SaveObject(htjsInvoice); } catch (Exception ex) { LogHelper.Error(string.Format("调用下载电子发票接口保存相关的返回信息异常。订单id:{0}", commodityOrder.Id), ex); resultDto.Message = "处理异常"; } return(resultDto); }
public Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO <Jinher.AMP.BTP.Deploy.ExpressOrderTemplateDTO> SaveExt(Jinher.AMP.BTP.Deploy.ExpressOrderTemplateDTO dto) { ResultDTO <ExpressOrderTemplateDTO> result = new ResultDTO <ExpressOrderTemplateDTO>() { isSuccess = true }; if (dto == null || dto.AppId == Guid.Empty || string.IsNullOrEmpty(dto.TemplateName) || string.IsNullOrEmpty(dto.ExpressCode) || (string.IsNullOrEmpty(dto.ExpressImage) && dto.Id == Guid.Empty) || dto.Width < 0 || dto.Height < 0) { result.isSuccess = false; result.Message = "参数错误"; return(result); } try { dto.TemplateName = dto.TemplateName.Replace(" ", ""); var model = ExpressOrderTemplate.ObjectSet().Where(d => d.TemplateName == dto.TemplateName && d.AppId == dto.AppId && d.Status == 0 && d.TemplateType == 1 && d.Id != dto.Id).FirstOrDefault(); if (model != null) { result.isSuccess = false; result.Message = "重复名称"; } else { if (dto.Id != Guid.Empty) { model = ExpressOrderTemplate.ObjectSet().Where(d => d.Id == dto.Id).FirstOrDefault(); if (model != null) { model.TemplateName = dto.TemplateName; model.ExpressCode = dto.ExpressCode; model.Width = dto.Width; model.Height = dto.Height; if (!string.IsNullOrEmpty(dto.ExpressImage)) { model.ExpressImage = dto.ExpressImage; } model.ModifiedOn = DateTime.Now; model.EntityState = EntityState.Modified; ContextFactory.CurrentThreadContext.SaveChanges(); } else { result.isSuccess = false; result.Message = "数据不存在"; } } else { dto.Id = Guid.NewGuid(); dto.Status = 0; dto.TemplateType = 1; dto.CreateTime = DateTime.Now; dto.ModifiedOn = dto.CreateTime; model = ExpressOrderTemplate.FromDTO(dto); model.EntityState = EntityState.Added; ContextFactory.CurrentThreadContext.SaveObject(model); ContextFactory.CurrentThreadContext.SaveChanges(); } } if (model != null) { result.Data = model.ToEntityData(); } else { result.Data = dto; } } catch (Exception ex) { result.isSuccess = false; result.Message = "保存异常"; LogHelper.Error("保存模板异常", ex); } return(result); }
/// <summary> /// 获取易捷北京下所有店铺信息 /// </summary> /// <returns></returns> public Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO <System.Collections.Generic.List <Jinher.AMP.BTP.Deploy.CustomDTO.YJBJAppInfo> > GetYJAppInfoExt(int pageIndex) { LogHelper.Debug("进入客服服务,获取易捷北京下所有店铺信息:请求时间:" + DateTime.Now); ResultDTO <List <YJBJAppInfo> > Result = new ResultDTO <List <YJBJAppInfo> > { isSuccess = false, Message = "获取失败" }; try { int pageSize = 100; var YJAppInfo = MallApply.ObjectSet().Where(p => p.EsAppId == Jinher.AMP.YJB.Deploy.CustomDTO.YJBConsts.YJAppId).OrderBy(o => o.SubTime).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList(); if (!YJAppInfo.Any()) { Result.Message = "未获取到任何数据"; return(Result); } List <YJBJAppInfo> YJAppList = new List <YJBJAppInfo>(); foreach (var item in YJAppInfo) { YJBJAppInfo AppInfo = new YJBJAppInfo(); AppInfo.appId = item.AppId; AppInfo.AppName = item.AppName; if (item.State.Value == 2) { AppInfo.state = 0; } else { AppInfo.state = 1; } if (item.Type == 0) { AppInfo.type = "自营他配"; } else if (item.Type == 1) { AppInfo.type = "第三方"; } else if (item.Type == 2) { AppInfo.type = "自营自配自采"; } else if (item.Type == 3) { AppInfo.type = "自营自配统采"; } else { AppInfo.type = "未知类型"; } YJAppList.Add(AppInfo); } Result.Data = YJAppList; Result.isSuccess = true; Result.Message = "获取成功"; } catch (Exception ex) { Result.Message = "获取异常"; LogHelper.Error("CustomSV.GetAppSceneContentExt。根据appId获取商家的移动坐席数据:", ex); } return(Result); }