コード例 #1
0
        public object Do_GetRemoteStoreInfo(BaseApi baseApi)
        {
            GetRemoteStoreInfoParam getRemoteStoreInfoParam = JsonConvert.DeserializeObject <GetRemoteStoreInfoParam>(baseApi.param.ToString());

            if (getRemoteStoreInfoParam == null)
            {
                throw new ApiException(CodeMessage.InvalidParam, "InvalidParam");
            }

            MemberDao         memberDao         = new MemberDao();
            string            memberId          = Utils.GetMemberID(baseApi.token);
            RemoteStoreMember remoteStoreMember = memberDao.GetRemoteStoreMember(getRemoteStoreInfoParam.storeMemberId);

            if (remoteStoreMember == null)
            {
                throw new ApiException(CodeMessage.RemoteStoreMemberNotExist, "RemoteStoreMemberNotExist");
            }
            List <RemotePointCommit> remotePointCommitList = memberDao.GetRemotePointCommitList(remoteStoreMember);

            if (remotePointCommitList.Count > 0)
            {
                if (!memberDao.HandleCommitPoint(remoteStoreMember, remotePointCommitList))
                {
                    throw new ApiException(CodeMessage.HandleCommitPointError, "HandleCommitPointError");
                }
            }
            remoteStoreMember = memberDao.GetRemoteStoreMember(getRemoteStoreInfoParam.storeMemberId);
            if (remoteStoreMember == null)
            {
                throw new ApiException(CodeMessage.RemoteStoreMemberNotExist, "RemoteStoreMemberNotExist");
            }
            int todayChangeHeart = memberDao.GetTodayChangeHeart(memberId, remoteStoreMember.storeId);

            remoteStoreMember.todayExchange = todayChangeHeart;
            int limitAdd = memberDao.GetLimitAdd(remoteStoreMember.storeId, memberId);

            remoteStoreMember.exchangeLimit += limitAdd;
            return(remoteStoreMember);
        }
コード例 #2
0
        public object Do_ExchangeHeart(BaseApi baseApi)
        {
            ExchangeHeartParam exchangeHeartParam = JsonConvert.DeserializeObject <ExchangeHeartParam>(baseApi.param.ToString());

            if (exchangeHeartParam == null)
            {
                throw new ApiException(CodeMessage.InvalidParam, "InvalidParam");
            }

            MemberDao         memberDao         = new MemberDao();
            string            memberId          = Utils.GetMemberID(baseApi.token);
            RemoteStoreMember remoteStoreMember = memberDao.GetRemoteStoreMember(exchangeHeartParam.storeMemberId);

            if (remoteStoreMember == null)
            {
                throw new ApiException(CodeMessage.RemoteStoreMemberNotExist, "RemoteStoreMemberNotExist");
            }
            MemberInfo memberInfo = memberDao.GetMemberInfo(memberId);

            int heart = exchangeHeartParam.point / remoteStoreMember.storeRate;

            exchangeHeartParam.point = exchangeHeartParam.point - (exchangeHeartParam.point % remoteStoreMember.storeRate);

            int limitAdd = memberDao.GetLimitAdd(remoteStoreMember.storeId, memberId);

            int todayChangeHeart = memberDao.GetTodayChangeHeart(memberId, remoteStoreMember.storeId);

            if (todayChangeHeart + heart > remoteStoreMember.exchangeLimit + limitAdd)
            {
                throw new ApiException(CodeMessage.OverTheStoreLimit, "OverTheStoreLimit");
            }
            if (!memberDao.AddCommitPoint(memberId, remoteStoreMember, exchangeHeartParam.point, heart, memberInfo.heart))
            {
                throw new ApiException(CodeMessage.ExchangeHeartError, "ExchangeHeartError");
            }
            return("");
        }
コード例 #3
0
        public object Do_BindMemberStore(BaseApi baseApi)
        {
            BindStoreParam bindStoreParam = JsonConvert.DeserializeObject <BindStoreParam>(baseApi.param.ToString());

            if (bindStoreParam == null)
            {
                throw new ApiException(CodeMessage.InvalidParam, "InvalidParam");
            }

            MemberDao memberDao = new MemberDao();
            string    memberId  = Utils.GetMemberID(baseApi.token);

            SessionBag  sessionBag  = SessionContainer.GetSession(baseApi.token);
            SessionUser sessionUser = JsonConvert.DeserializeObject <SessionUser>(sessionBag.Name);

            if (sessionUser == null)
            {
                throw new ApiException(CodeMessage.InvalidToken, "InvalidToken");
            }
            if (sessionUser.checkCode != bindStoreParam.checkCode ||
                sessionUser.checkPhone != bindStoreParam.phone)
            {
                throw new ApiException(CodeMessage.InvalidCheckCode, "InvalidCheckCode");
            }
            sessionUser.checkCode  = "";
            sessionUser.checkPhone = "";
            sessionBag.Name        = JsonConvert.SerializeObject(sessionUser);
            SessionContainer.Update(sessionBag.Key, sessionBag, new TimeSpan(Global.SESSION_EXPIRY_H, Global.SESSION_EXPIRY_M, Global.SESSION_EXPIRY_S));

            List <MemberStore> memberStoreList = memberDao.GetMemberStoreListByMemberId(memberId);
            MemberStore        memberStore     = memberStoreList.Find
                                                 (
                item => item.storeId.Equals(bindStoreParam.storeId)
                                                 );

            if (memberStore != null)
            {
                throw new ApiException(CodeMessage.StoreMemberExist, "StoreMemberExist");
            }

            if (!memberDao.CheckPhone(bindStoreParam.phone, bindStoreParam.storeId))
            {
                throw new ApiException(CodeMessage.StorePhoneExist, "StorePhoneExist");
            }

            Store store = memberDao.GetStoreByStoreId(bindStoreParam.storeId);

            RemoteStoreMember remoteStoreMember = memberDao.GetRemoteStoreMember(bindStoreParam.storeId, bindStoreParam.phone);

            if (remoteStoreMember == null)
            {
                if (store != null && store.openReg == 1)
                {
                    remoteStoreMember = memberDao.GetNewRemoteStoreMember(bindStoreParam.storeId, bindStoreParam.phone);
                }
                if (remoteStoreMember == null)
                {
                    throw new ApiException(CodeMessage.RemoteStoreMemberNotExist, "RemoteStoreMemberNotExist");
                }
            }

            bool setDefault = memberStoreList.Count == 0;

            if (!memberDao.BindMemberStore(memberId, remoteStoreMember, setDefault))
            {
                throw new ApiException(CodeMessage.BindStoreMemberError, "BindStoreMemberError");
            }
            return("");
        }
コード例 #4
0
        public object Do_CommitBy3rdUser(BaseApi baseApi)
        {
            CommitBy3rdUserParam commitBy3rdUserParam = JsonConvert.DeserializeObject <CommitBy3rdUserParam>(baseApi.param.ToString());

            if (commitBy3rdUserParam == null)
            {
                throw new ApiException(CodeMessage.InvalidParam, "InvalidParam");
            }
            RemoteDao remoteDao = new RemoteDao();
            Store     store     = remoteDao.GetStoreByStoreId(baseApi.code);

            if (store == null)
            {
                throw new ApiException(CodeMessage.InvalidStoreCode, "InvalidStoreCode");
            }

            if (commitBy3rdUserParam.phone == null)
            {
                throw new ApiException(CodeMessage.StorePhoneExist, "StorePhoneExist");
            }
            Member member = null;
            Goods  goods  = null;

            goods = remoteDao.GetGoodsByGoodsId(commitBy3rdUserParam.goodsId);
            if (goods == null)
            {
                throw new ApiException(CodeMessage.InvalidGoods, "InvalidGoods");
            }

            if (remoteDao.GetMemberStoreById(baseApi.code, commitBy3rdUserParam.phone))
            {
                MemberRegParam memberRegParam = new MemberRegParam
                {
                    avatarUrl = commitBy3rdUserParam.avatarUrl,
                    gender    = commitBy3rdUserParam.gender,
                    nickName  = commitBy3rdUserParam.nickName
                };
                string openID = "3rd-" + Guid.NewGuid().ToString();
                remoteDao.MemberReg(memberRegParam, openID);
                member = remoteDao.GetMember(openID);
                if (member == null)
                {
                    throw new ApiException(CodeMessage.MemberRegError, "MemberRegError");
                }
                RemoteStoreMember remoteStoreMember = new RemoteStoreMember
                {
                    cardCode = commitBy3rdUserParam.phone,
                    phone    = commitBy3rdUserParam.phone,
                    storeId  = store.storeId
                };
                if (!remoteDao.BindMemberStore(member.memberId, remoteStoreMember, false))
                {
                    throw new ApiException(CodeMessage.BindStoreMemberError, "BindStoreMemberError");
                }
            }
            else
            {
                member = remoteDao.GetMember(baseApi.code, commitBy3rdUserParam.phone);
            }

            if (commitBy3rdUserParam.goodsId != null)
            {
                commitBy3rdUserParam.preOrderId = "APP_" + store.storeCode + "_" + commitBy3rdUserParam.preOrderId;
                if (remoteDao.GetOrderByOrderCode(commitBy3rdUserParam.preOrderId))
                {
                    if (!remoteDao.CreateOrder(
                            commitBy3rdUserParam.preOrderId,
                            commitBy3rdUserParam.state,
                            member.memberId,
                            commitBy3rdUserParam.addr,
                            commitBy3rdUserParam.goodsNum,
                            store,
                            goods
                            ))
                    {
                        throw new ApiException(CodeMessage.CreateOrderError, "CreateOrderError");
                    }
                }
            }

            if (commitBy3rdUserParam.heartAdd != 0)
            {
                if (!remoteDao.GetHeartCommitByFromId(commitBy3rdUserParam.heartFromId))
                {
                    throw new ApiException(CodeMessage.UpdateHeartCommitError, "UpdateHeartCommitError");
                }
                if (!remoteDao.AddHeart(
                        "1",
                        commitBy3rdUserParam.heartFromId,
                        member.memberId,
                        commitBy3rdUserParam.heartAdd))
                {
                    throw new ApiException(CodeMessage.UpdateHeartCommitError, "UpdateHeartCommitError");
                }
            }

            return(member.openid.StartsWith("3rd-") ? member.openid : "");
        }