예제 #1
0
        public async Task <ActionResult> CncelPickupCode(int orderId, string pickupCode, string code, int state)
        {
            _logger.LogInformation($"=========================开始核销CncelPickupCode方法开始============================");

            _logger.LogInformation($"orderId ={orderId}  shopid={state}");
            var result = Senparc.Weixin.MP.AdvancedAPIs.OAuthApi.GetAccessToken(wechatTemplateSendOptions.AppId,
                                                                                wechatTemplateSendOptions.AppSecret, code);

            Senparc.Weixin.MP.AdvancedAPIs.OAuth.OAuthUserInfo userInfo = null;
            if (result != null && !string.IsNullOrEmpty(result.openid))
            {
                string openId       = result.openid;
                string access_token = result.access_token;
                userInfo = Senparc.Weixin.MP.AdvancedAPIs.OAuthApi.GetUserInfo(access_token, openId);
                if (userInfo != null && !string.IsNullOrEmpty(userInfo.openid))
                {
                    var shopServiceUserInfo = await db.ShopServiceUserInfo.FirstOrDefaultAsync(
                        m => m.Openid.Equals(userInfo.openid) &&
                        m.Unionid.Equals(userInfo.unionid) &&
                        m.ShopId.Equals(state) &&
                        !m.IsDel
                        );

                    _logger.LogInformation($"userInfo ={userInfo.nickname}");

                    if (shopServiceUserInfo == null)
                    {
                        _logger.LogInformation($"=========================开始核销CncelPickupCode方法结束============================");
                        return(Json("无核销权限"));
                    }
                    var isOk = await ShopConglomerationOrderOptions.TakeTheirFinishOrderAsync(db, orderId, pickupCode, _logger);

                    if (isOk)
                    {
                        _logger.LogInformation($"=========================开始核销CncelPickupCode方法结束============================");
                        return(Json("核销成功"));
                    }
                }
            }
            _logger.LogInformation($"=========================开始核销CncelPickupCode方法结束============================");

            return(Json("核销失败"));
        }
예제 #2
0
        private async Task <APIResult> TakeTheirFinishOrderAsync(int orderId, string pickupCode)
        {
            await ShopConglomerationOrderOptions.TakeTheirFinishOrderAsync(db, orderId, pickupCode, _logger);

            return(Success());
        }