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); }
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(""); }
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(""); }
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 : ""); }