예제 #1
0
 public void TestCleanup()
 {
     _unitofwork       = null;
     _mockAppDbContext = null;
     _orderBs          = null;
     Transformation.MapperReset();
 }
예제 #2
0
        public async Task <IActionResult> NotifyUrl()
        {
            try
            {
                WxPayData notifyData;
                var       responseStr = WeAppPayApi.ProcessNotify(HttpContext.Request.Body, out notifyData);

                if (notifyData != null)
                {
                    var out_trade_no = notifyData.GetValue("out_trade_no").ToString();
                    var ordyerEntity = await OrderBs.GetDetailData(x => x.OutTradeNo == out_trade_no);

                    if (ordyerEntity != null)
                    {
                        ordyerEntity.Status = Model.Shop.Orders.OrderStatus.Successful;
                        await OrderBs.Update(ordyerEntity);

                        await OrderBs.WriteLog(ordyerEntity);
                    }
                    else
                    {
                        logger.LogError("微信服务器数据处理失败。");
                        return(Content("Faulth"));
                    }
                }

                return(Content(responseStr));
            }
            catch (Exception exc)
            {
                logger.LogError(exc.Message);
                return(Content(exc.Message));
            }
        }
예제 #3
0
 public WxAppController(IConfiguration _configuration,
                        OrderBs _OrderBs,
                        ILogger <WxAppController> _logger)
 {
     Configuration = _configuration;
     OrderBs       = _OrderBs;
     logger        = _logger;
 }
예제 #4
0
 public QRCodeNotifyController(IConfiguration _configuration,
                               OrderBs _OrderBs,
                               ILogger <QRCodeNotifyController> _logger)
 {
     Configuration = _configuration;
     OrderBs       = _OrderBs;
     logger        = _logger;
 }
예제 #5
0
        public void TestInitialize()
        {
            //Transformation stuff.
            Transformation.MapperInitialization();
            //Database configuration.
            DbContextOptions <AppDbContext> _options = new DbContextOptionsBuilder <AppDbContext>()
                                                       .UseInMemoryDatabase(Guid.NewGuid().ToString(), null)
                                                       .Options;

            _mockAppDbContext = new Mock <AppDbContext>(_options);
            _unitofwork       = new UnitOfWork(_mockAppDbContext.Object);
            Mock <IShoppingCartBs> _mockShoppingCartBs = new Mock <IShoppingCartBs>();

            _orderBs = new OrderBs(_mockAppDbContext.Object);
        }
예제 #6
0
        public async Task <IActionResult> UiniferOrder(Guid orderId)
        {
            try
            {
                var orderEntity = await OrderBs.GetDetailData(orderId);

                var totalFee = orderEntity.OrderGoods.Select(x => new
                {
                    Fee = x.Good.Price * x.Number
                }).Sum(x => x.Fee);

                var outtradeno = WeAppPayApi.GenOutTradeNo();

                var vm = new UnifierOrderViewModel()
                {
                    OpenId     = orderEntity.UserAccountEntry.WeChat.OpenIdMapping.FirstOrDefault(x => x.Source == "丸子家族")?.OpenId,
                    Body       = "ceshi ",
                    Attach     = "丸子家族",
                    OutTradeNo = outtradeno,
                    Tag        = "",
                    TotalFee   = (int)(totalFee * 100)
                };
                orderEntity.OutTradeNo = outtradeno;
                await OrderBs.Update(orderEntity);

                var packageStr = WeAppPayApi.UnifiedOrder(vm);

                //return Json(packageStr);
                return(Content(packageStr, "application/json"));
            }
            catch (Exception exc)
            {
                logger.LogError(exc.Message);
                return(Content(exc.Message));
            }
        }
예제 #7
0
 public OrderController(OrderBs _OrderBs)
 {
     OrderBs = _OrderBs;
 }