/// <summary> /// 微盟-查询订单列表(ec/order/queryOrderList) /// </summary> public void QueryOrderListFromWm(DateTime startDate, DateTime endDate) { string preMsg = "微盟 查询订单列表 "; QueryOrderListRequest request = new QueryOrderListRequest(); request.pageNum = 1; request.pageSize = 100; request.queryParameter = new QueryOrderListRequest.QueryParameter { orderTypes = new List <int> { 1 }, orderStatuses = new List <int> { 1 }, channelTypes = new List <int> { 1 }, deliveryStatuses = new List <int> { 0 } }; QueryOrderListResponse response = HttpPostToWm <QueryOrderListResponse>("ec/order/queryOrderList", request, preMsg); }
public async Task <IActionResult> TradeSummary(QueryOrderListRequest req) { if (!await HttpContext.IsSystem()) { req.createby = await HttpContext.LoginUserId(); } var res = await cmsDaily.GetAgentTradeSummary(req); return(Ok(new { code = 0, msg = "success", count = res.data.TotalItems, data = res.data.Items })); }
public async Task <PageResult <IEnumerable <RefundOrder> > > Refund(QueryOrderListRequest req) { var res = new PageResult <IEnumerable <RefundOrder> >(); if (req.start_time == null) { req.start_time = DateTime.Now.Date; } if (req.end_time == null) { req.end_time = DateTime.Now.AddDays(1).Date; } req.order_type = OrderType.退款单; var mch = await merchantService.GetModelAsync(p => p.out_sub_mch_id == req.out_sub_mch_id); if (mch == null || mch.data == null || mch.data.id == 0) { res.Code = ApiEnum.Error; res.Msg = "请选择商户查询"; return(res); } req.AuthenKey = mch.data.authen_key; var data = await wx.QueryAsync(req); if (data.Status != 0) { res.Msg = data.Description; res.Code = ApiEnum.Error; return(res); } if (data.Data == null) { res.Msg = "查询结果为空"; res.Code = ApiEnum.Error; return(res); } res.Msg = "success"; res.Count = data.Data.total_count; if (data.Data.order_details != null) { res.Data = data.Data.order_details.Select(p => p.refund_order); } return(res); }
public async Task <PageResult <IEnumerable <CmsOrderOverview> > > DailyReport(QueryOrderListRequest req) { var res = new PageResult <IEnumerable <CmsOrderOverview> >(); var mch = await merchantService.GetModelAsync(p => p.out_sub_mch_id == req.out_sub_mch_id); if (mch == null || mch.data == null || mch.data.id == 0) { res.Code = ApiEnum.Error; res.Msg = "请选择商户查询"; return(res); } req.createby = await HttpContext.LoginUserId(); var data = await cmsDaily.GetShopDailyReport(req); if (data.statusCode != 200) { res.Msg = data.message; res.Code = ApiEnum.Error; return(res); } if (data.data.Items == null) { res.Msg = "查询结果为空"; res.Code = ApiEnum.Error; return(res); } res.Msg = "success"; res.Count = data.data.TotalItems; res.Data = data.data.Items; return(res); }
public async Task <ApiResult <Page <CmsOrderOverview> > > GetAgentTradeSummary(QueryOrderListRequest parm) { var res = new ApiResult <Page <CmsOrderOverview> >(); var query = Db.Queryable <CmsOrderOverview, CmsMerchant>((ds, mch) => new object[] { JoinType.Left, ds.out_sub_mch_id == mch.out_sub_mch_id }); query.WhereIF(!string.IsNullOrEmpty(parm.createby), (ds, mch) => mch.agent_admin_guid == parm.createby) .WhereIF(!string.IsNullOrEmpty(parm.out_sub_mch_id), (ds, mch) => ds.out_sub_mch_id == parm.out_sub_mch_id) .WhereIF(parm.sub_pay_platforms.Length > 0, (ds, mch) => parm.sub_pay_platforms.Contains(ds.sub_pay_platform)) .WhereIF(parm.start_time != null, (ds, mch) => ds.business_date >= parm.start_time) .WhereIF(parm.end_time != null, (ds, mch) => ds.business_date <= parm.end_time); var data = await query.Select((ds, mch) => new CmsOrderOverview { out_sub_mch_id = ds.out_sub_mch_id, success_count = SqlFunc.AggregateSum(ds.success_count), //交易笔数 success_amount = SqlFunc.AggregateSum(ds.success_amount), //交易金额 refund_create_count = SqlFunc.AggregateSum(ds.refund_create_count), //退货笔数 refund_create_amount = SqlFunc.AggregateSum(ds.refund_create_amount), //退货金额 sub_mch_non_recharge_coupon_amount = SqlFunc.AggregateSum(ds.sub_mch_non_recharge_coupon_amount), platform_non_recharge_coupon_amount = SqlFunc.AggregateSum(ds.platform_non_recharge_coupon_amount), others_non_recharge_coupon_amount = SqlFunc.AggregateSum(ds.others_non_recharge_coupon_amount), sub_mch_recharge_coupon_amount = SqlFunc.AggregateSum(ds.sub_mch_recharge_coupon_amount), platform_recharge_coupon_amount = SqlFunc.AggregateSum(ds.platform_recharge_coupon_amount), others_recharge_coupon_amount = SqlFunc.AggregateSum(ds.others_recharge_coupon_amount), }).GroupBy(ds => ds.out_sub_mch_id).ToPageAsync(parm.page_num, parm.page_size); if (data.Items.Count > 0) { var ids = data.Items.Select(p => p.out_sub_mch_id).ToArray(); var shopInfos = await Db.Queryable <CmsMerchant>().In(p => p.out_sub_mch_id, ids).ToListAsync(); data.Items.ForEach(shop => { var shopInfo = shopInfos.FirstOrDefault(m => shop.out_sub_mch_id == m.out_sub_mch_id); if (shopInfo != null) { shop.shop_name = shopInfo.name; } //免充值优惠金额 shop.others_non_recharge_coupon_amount = shop.sub_mch_non_recharge_coupon_amount + shop.platform_non_recharge_coupon_amount + shop.others_non_recharge_coupon_amount; //充值优惠金额 shop.others_recharge_coupon_amount = shop.sub_mch_recharge_coupon_amount + shop.platform_recharge_coupon_amount + shop.others_recharge_coupon_amount; //参与结算交易净额 shop.pay_settle_amount = shop.success_amount - shop.refund_create_amount - shop.others_non_recharge_coupon_amount - shop.others_recharge_coupon_amount; }); } res.data = data; res.statusCode = (int)ApiEnum.Status; return(res); }
public async Task <ApiResult <Page <CmsOrderOverview> > > GetShopDailyReport(QueryOrderListRequest parm) { var res = new ApiResult <Page <CmsOrderOverview> >(); var role_info = await roleService.GetRoleByAdminGuid(parm.createby); var query = Db.Queryable <CmsOrderOverview, AdminShopRel>((ds, rel) => new object[] { JoinType.Left, ds.out_shop_id == rel.out_shop_id }); if (role_info.isSystem || role_info.isAgent || role_info.isSubAdmin) { //管理员不需要过滤 //代理商没有该权限 //商户管理员不过滤 } else // 门店普通员工 { query.Where((ds, rel) => rel.admin_guid == parm.createby); } query.WhereIF(!string.IsNullOrEmpty(parm.out_sub_mch_id), (ds, rel) => ds.out_sub_mch_id == parm.out_sub_mch_id) .WhereIF(!string.IsNullOrEmpty(parm.out_shop_id), (ds, rel) => ds.out_shop_id == parm.out_shop_id) .WhereIF(parm.sub_pay_platforms.Length > 0, (ds, rel) => parm.sub_pay_platforms.Contains(ds.sub_pay_platform)) .WhereIF(parm.start_time != null, (ds, rel) => ds.business_date >= parm.start_time) .WhereIF(parm.end_time != null, (ds, rel) => ds.business_date <= parm.end_time); var data = await query.Select((ds, rel) => new CmsOrderOverview { business_date = ds.business_date, out_shop_id = ds.out_shop_id, success_count = SqlFunc.AggregateSum(ds.success_count), //交易笔数 success_amount = SqlFunc.AggregateSum(ds.success_amount), //交易金额 refund_create_count = SqlFunc.AggregateSum(ds.refund_create_count), //退货笔数 refund_create_amount = SqlFunc.AggregateSum(ds.refund_create_amount), //订单已退金额 discount_amount = SqlFunc.AggregateSum(ds.discount_amount), //优惠金额 poundage = SqlFunc.AggregateSum(ds.poundage), //手续费 income_amount = SqlFunc.AggregateSum(ds.income_amount), //入账金额 sub_mch_non_recharge_coupon_amount = SqlFunc.AggregateSum(ds.sub_mch_non_recharge_coupon_amount), platform_non_recharge_coupon_amount = SqlFunc.AggregateSum(ds.platform_non_recharge_coupon_amount), others_non_recharge_coupon_amount = SqlFunc.AggregateSum(ds.others_non_recharge_coupon_amount), sub_mch_recharge_coupon_amount = SqlFunc.AggregateSum(ds.sub_mch_recharge_coupon_amount), platform_recharge_coupon_amount = SqlFunc.AggregateSum(ds.platform_recharge_coupon_amount), others_recharge_coupon_amount = SqlFunc.AggregateSum(ds.others_recharge_coupon_amount) }).GroupBy(ds => new { ds.business_date, ds.out_shop_id }).ToPageAsync(parm.page_num, parm.page_size); if (data.Items.Count > 0) { var ids = data.Items.Select(p => p.out_shop_id).ToArray(); var shopInfos = await Db.Queryable <ShopInfo>().In(p => p.out_shop_id, ids).ToListAsync(); data.Items.ForEach(shop => { var shopInfo = shopInfos.FirstOrDefault(m => shop.out_shop_id == m.out_shop_id); if (shopInfo != null) { shop.shop_name = shopInfo.shop_name; shop.erp_org = shopInfo.erp_org; } //免充值优惠金额 shop.others_non_recharge_coupon_amount = shop.sub_mch_non_recharge_coupon_amount + shop.platform_non_recharge_coupon_amount + shop.others_non_recharge_coupon_amount; //充值优惠金额 shop.others_recharge_coupon_amount = shop.sub_mch_recharge_coupon_amount + shop.platform_recharge_coupon_amount + shop.others_recharge_coupon_amount; //应收金额 shop.pay_settle_amount = shop.success_amount - shop.refund_create_amount; }); } res.data = data; res.statusCode = (int)ApiEnum.Status; return(res); }