public string ToggleRetailStatus(string pRequest) { var rp = pRequest.DeserializeJSONTo <APIRequest <ToggleRetailStatusRP> >(); if (string.IsNullOrEmpty(rp.Parameters.RetailTraderID)) { throw new APIException("缺少参数【RetailTraderID】或参数值为空") { ErrorCode = 135 }; } if (string.IsNullOrEmpty(rp.Parameters.Status)) { throw new APIException("缺少参数【Status】或参数值为空") { ErrorCode = 135 }; } var loggingSessionInfo = new SessionManager().CurrentUserLoginInfo; var bll = new RetailTraderBLL(loggingSessionInfo); RetailTraderEntity en = new RetailTraderEntity(); en.RetailTraderID = rp.Parameters.RetailTraderID; en.Status = rp.Parameters.Status; bll.Update(en, null, false); var rd = new EmptyRD(); var rsp = new SuccessResponse <IAPIResponseData>(rd); return(rsp.ToJSON()); }
/// <summary> /// 保存经销商头像 /// </summary> /// <param name="vipEntity"></param> /// <param name="pEntity"></param> internal void SaveRetailTraderHeadImg(VipEntity vipEntity, RetailTraderEntity pEntity) { ObjectImagesEntity imgEntity = new ObjectImagesEntity(); imgEntity.ImageId = System.Guid.NewGuid().ToString(); imgEntity.CustomerId = pEntity.CustomerId; imgEntity.ObjectId = pEntity.RetailTraderID; imgEntity.ImageURL = vipEntity.HeadImgUrl; imgEntity.DisplayIndex = 0; imgEntity.CreateTime = DateTime.Now; imgEntity.CreateBy = "sys"; imgEntity.LastUpdateBy = "sys"; imgEntity.LastUpdateTime = DateTime.Now; imgEntity.IsDelete = 0; imgEntity.Title = ""; imgEntity.Description = ""; this._currentDAO.Create(imgEntity); }
public string SaveRetailTrader(string pRequest) { var rp = pRequest.DeserializeJSONTo <APIRequest <SaveRetailTraderRP> >(); if (rp.Parameters.RetailTraderInfo == null) { throw new APIException("缺少参数【RetailTraderInfo】或参数值为空") { ErrorCode = 135 }; } if (rp.Parameters.IsNewHeadImg == null) { throw new APIException("缺少参数【IsNewHeadImg】或参数值为空") { ErrorCode = 135 }; } var loggingSessionInfo = Default.GetBSLoggingSession(rp.CustomerID, "1"); var bll = new RetailTraderBLL(loggingSessionInfo); var rd = new SaveRetailTraderRD(); var rsp = new SuccessResponse <IAPIResponseData>(rd); //判断登陆名是否有重复的,要从ap库里取 var ds = bll.getRetailTraderInfoByLogin2(rp.Parameters.RetailTraderInfo.RetailTraderLogin, "", loggingSessionInfo.ClientID); var retailTraderInfo = new RetailTraderInfo(); //判断账号是否存在 if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { var tempDt = ds.Tables[0]; retailTraderInfo = DataTableToObject.ConvertToObject <RetailTraderInfo>(tempDt.Rows[0]); //直接根据所需要的字段反序列化 if (retailTraderInfo.RetailTraderID != rp.Parameters.RetailTraderInfo.RetailTraderID) //如果取出来的实体的id和传过来的参数的id不一样,说明不是同一个实体 { rsp.Message = "该登陆账号已经存在,不能重复使用"; rsp.ResultCode = 137; return(rsp.ToJSON());//这里要返回 } } //从RetailTraderInfo转到RetailTraderEntity RetailTraderEntity en = new RetailTraderEntity(); en.RetailTraderID = rp.Parameters.RetailTraderInfo.RetailTraderID; if (rp.Parameters.RetailTraderInfo.RetailTraderID == null || rp.Parameters.RetailTraderInfo.RetailTraderID.ToString() == "") { en.RetailTraderID = Guid.NewGuid().ToString(); //获取当前最大的 //如果是新增,则取本客户下的最大编号作为分销商编号 en.RetailTraderCode = bll.getMaxRetailTraderCode(rp.CustomerID) + 1; en.CreateTime = DateTime.Now; en.CreateBy = rp.UserID; } en.RetailTraderName = rp.Parameters.RetailTraderInfo.RetailTraderName; en.RetailTraderLogin = rp.Parameters.RetailTraderInfo.RetailTraderLogin; if (!string.IsNullOrEmpty(rp.Parameters.RetailTraderInfo.RetailTraderPass)) { en.RetailTraderPass = MD5Helper.Encryption(rp.Parameters.RetailTraderInfo.RetailTraderPass); } en.RetailTraderMan = rp.Parameters.RetailTraderInfo.RetailTraderMan; en.RetailTraderPhone = rp.Parameters.RetailTraderInfo.RetailTraderPhone; en.RetailTraderAddress = rp.Parameters.RetailTraderInfo.RetailTraderAddress; en.CooperateType = rp.Parameters.RetailTraderInfo.CooperateType; en.SalesType = rp.Parameters.RetailTraderInfo.SalesType; en.SellUserID = rp.Parameters.RetailTraderInfo.SellUserID; en.UnitID = rp.Parameters.RetailTraderInfo.UnitID; en.Status = "1";//启用状态 en.LastUpdateTime = DateTime.Now; en.LastUpdateBy = rp.UserID; en.IsDelete = 0; en.CustomerId = rp.CustomerID; if (rp.Parameters.RetailTraderInfo.RetailTraderID == null || rp.Parameters.RetailTraderInfo.RetailTraderID.ToString() == "") { bll.Create(en); // rp.Parameters.RetailTraderInfo.RetailTraderID = en.RetailTraderID;//为了返回数据时使用 } else { bll.Update(en, null, false);//不更新空值的字段 } //另外要保存到ap库里,这样才能登陆时从ap库里统一取出分销商信息,和对应的customerid if (rp.Parameters.RetailTraderInfo.RetailTraderID == null || rp.Parameters.RetailTraderInfo.RetailTraderID.ToString() == "") { bll.Create2Ap(en); //ap库里的RetailTraderID和商户里的RetailTraderID是一样的 rp.Parameters.RetailTraderInfo.RetailTraderID = en.RetailTraderID; //为了返回数据时使用,到这里才赋值*** } else { bll.Update2Ap(en, null, false);//不更新空值的字段 } //如果IsNewHeadImg为1时,即上传图片时,则删除之前的关联图片(逻辑删除) if (rp.Parameters.IsNewHeadImg == 1) { ObjectImagesBLL _ObjectImagesBLL = new ObjectImagesBLL(loggingSessionInfo); ObjectImagesEntity ObjectImagesEn = new ObjectImagesEntity(); _ObjectImagesBLL.DeleteByObjectID(en.RetailTraderID.ToString()); } rd.RetailTraderInfo = rp.Parameters.RetailTraderInfo; return(rsp.ToJSON()); }
public void Update2Ap(RetailTraderEntity pEntity, IDbTransaction pTran, bool pIsUpdateNullField) { _currentDAO.Update2Ap(pEntity, pTran, pIsUpdateNullField); }
/// <summary> /// 创建一个新实例到ap库 /// </summary> /// <param name="pEntity">实体实例</param> public void Create2Ap(RetailTraderEntity pEntity) { _currentDAO.Create2Ap(pEntity, null);//没用事务 }
/// <summary> /// 创建潜在分经销商 /// </summary> /// <param name="loggingSessionInfo">loggingSessionInfo</param> /// <param name="vip_no">vip_no</param> public void CreatePrepRetailTrader(LoggingSessionInfo loggingSessionInfo, string vip_no) { VipEntity vipEntity = new VipBLL(loggingSessionInfo).GetVipDetailByVipID(vip_no); RetailTraderDAO retailTraderDao = new RetailTraderDAO(loggingSessionInfo); if (vipEntity == null || string.IsNullOrWhiteSpace(vipEntity.Col20)) { return; } /// 判断当前vip会员手机号是否存在经销记录 var entiryList = this.QueryByEntity(new RetailTraderEntity() { RetailTraderLogin = vipEntity.Phone }, null); if (entiryList != null && entiryList.Length > 0) { return; } t_unitEntity unitEntity = new t_unitBLL(loggingSessionInfo).GetMainUnit(loggingSessionInfo.ClientID); int RetailTraderCode = getMaxRetailTraderCode(loggingSessionInfo.ClientID); RetailTraderEntity pEntity = new RetailTraderEntity(); pEntity.RetailTraderID = Guid.NewGuid().ToString(); pEntity.RetailTraderType = "MultiLevelSaler"; pEntity.RetailTraderCode = RetailTraderCode + 1; pEntity.RetailTraderName = vipEntity.VipName; pEntity.RetailTraderLogin = vipEntity.Phone; pEntity.RetailTraderPass = MD5Helper.Encryption("888888"); pEntity.SalesType = ""; pEntity.RetailTraderMan = ""; pEntity.RetailTraderPhone = vipEntity.Phone; pEntity.RetailTraderAddress = ""; pEntity.CooperateType = ""; pEntity.SellUserID = ""; pEntity.UnitID = unitEntity.unit_id; pEntity.MultiLevelSalerFromVipId = vip_no; if (!string.IsNullOrEmpty(vipEntity.Col20)) { pEntity.HigheRetailTraderID = vipEntity.Col20; } pEntity.CreateTime = DateTime.Now;; pEntity.CreateBy = "sys"; pEntity.LastUpdateBy = "sys"; pEntity.LastUpdateTime = DateTime.Now; pEntity.IsDelete = 0; pEntity.CustomerId = loggingSessionInfo.ClientID; pEntity.Status = "2"; retailTraderDao.Create(pEntity); this.Create2Ap(pEntity);//ap库里的RetailTraderID和商户里的RetailTraderID是一样的 new ObjectImagesBLL(loggingSessionInfo).SaveRetailTraderHeadImg(vipEntity, pEntity); // todo CommonBLL commonBll = new CommonBLL(); string content = "您的帐号:" + pEntity.RetailTraderLogin + ",密码:888888,已经在连锁掌柜注册成功,请在地址http://app.chainclouds.com/download/chengguo/下载一起发码APP,早下载早成为经销商赚钱"; JIT.CPOS.BS.Entity.WX.SendMessageEntity messageEntity = new JIT.CPOS.BS.Entity.WX.SendMessageEntity(); messageEntity.content = content; messageEntity.touser = vipEntity.WeiXinUserId; messageEntity.msgtype = "text"; WApplicationInterfaceEntity[] wApplicationInterfaceEntities = new WApplicationInterfaceBLL(loggingSessionInfo).QueryByEntity(new WApplicationInterfaceEntity { CustomerId = loggingSessionInfo.ClientID }, null); commonBll.SendMessage(messageEntity, wApplicationInterfaceEntities[0].AppID, wApplicationInterfaceEntities[0].AppSecret, loggingSessionInfo); }
public string SaveRetailRewardRule(string pRequest) { var rp = pRequest.DeserializeJSONTo <APIRequest <SaveRetailRewardRuleRP> >(); var loggingSessionInfo = new SessionManager().CurrentUserLoginInfo; var bll = new SysRetailRewardRuleBLL(loggingSessionInfo); var rd = new SaveRetailRewardRuleRD(); var rsp = new SuccessResponse <IAPIResponseData>(rd); if (rp.Parameters.IsTemplate == null) { throw new APIException("缺少参数【IsTemplate】或参数值为空") { ErrorCode = 135 }; } //if (string.IsNullOrEmpty(rp.Parameters.CooperateType)) //{ // throw new APIException("缺少参数【CooperateType】或参数值为空") { ErrorCode = 135 }; //} if (rp.Parameters.IsTemplate == 0 && string.IsNullOrEmpty(rp.Parameters.RetailTraderID)) { throw new APIException("缺少参数【RetailTraderID】或参数值为空") { ErrorCode = 135 }; } if (rp.Parameters.SysRetailRewardRuleList == null) { throw new APIException("缺少参数【SysRetailRewardRuleList】或参数值为空") { ErrorCode = 135 }; } //如果是分销商,需要改变分销商的相关数据 RetailTraderBLL _RetailTraderBLL = new RetailTraderBLL(loggingSessionInfo); //先要删除相关的数据 //如果是模板的就设置该合作方式下的分销商的上次使用的相关数据为已经被删除isdelete=0 //如果是分销商,就删除该分销商下上次使用的相关数据。 //bll.UpdateSysRetailRewardRule(rp.Parameters.IsTemplate, rp.Parameters.CooperateType, rp.Parameters.RetailTraderID, loggingSessionInfo.ClientID); if (rp.Parameters.IsTemplate == 0)//非模板时 { bll.UpdateSysRetailRewardRule(rp.Parameters.IsTemplate, "", "", rp.Parameters.RetailTraderID, loggingSessionInfo.ClientID); RetailTraderEntity enRT = new RetailTraderEntity(); enRT.RetailTraderID = rp.Parameters.RetailTraderID; enRT.CooperateType = ""; //修改合作方式 enRT.SalesType = ""; //修改销售方式 _RetailTraderBLL.Update(enRT, null, false); //不更新空的 } else { bll.UpdateSysRetailRewardRule(rp.Parameters.IsTemplate, "", "", rp.Parameters.RetailTraderID, loggingSessionInfo.ClientID); } //获取分销商的信息,loggingSessionInfo.ClientID foreach (var item in rp.Parameters.SysRetailRewardRuleList) { if (rp.Parameters.IsTemplate == 0 && !string.IsNullOrEmpty(rp.Parameters.RetailTraderID))// { if (item.CooperateType != "Sales") { RetailTraderEntity enRT = new RetailTraderEntity(); enRT.RetailTraderID = rp.Parameters.RetailTraderID; enRT.CooperateType = item.CooperateType; //修改合作方式 _RetailTraderBLL.Update(enRT, null, false); //不更新空的 } else { RetailTraderEntity enRT = new RetailTraderEntity(); enRT.RetailTraderID = rp.Parameters.RetailTraderID; enRT.SalesType = item.CooperateType; //修改销售方式 _RetailTraderBLL.Update(enRT, null, false); //不更新空的 } } SysRetailRewardRuleEntity en = new SysRetailRewardRuleEntity(); en.RetailRewardRuleID = Guid.NewGuid().ToString(); //每次都创建新的 en.CooperateType = item.CooperateType; //合作方式 en.RewardTypeName = item.RewardTypeName; en.RewardTypeCode = item.RewardTypeCode; en.IsTemplate = rp.Parameters.IsTemplate;//是否模板 en.SellUserReward = item.SellUserReward; en.RetailTraderReward = item.RetailTraderReward; en.ItemSalesPriceRate = (item.ItemSalesPriceRate == null ? 0 : item.ItemSalesPriceRate);//销售设置 en.AmountOrPercent = item.AmountOrPercent; en.CreateTime = DateTime.Now; en.CreateBy = loggingSessionInfo.UserID; en.LastUpdateTime = DateTime.Now; en.LastUpdateBy = loggingSessionInfo.UserID; if (item.CooperateType == "Sales" && item.ItemSalesPriceRate == 0) { en.Status = "0"; } else { en.Status = "1"; } en.IsDelete = 0; en.CustomerId = loggingSessionInfo.ClientID; en.BeginTime = DateTime.Now;//开始时间 en.EndTime = null; en.RetailTraderID = rp.Parameters.RetailTraderID; //如果是模板的就不要加 bll.Create(en); //保存奖励规则 } return(rsp.ToJSON()); }
/// <summary> /// 更新 /// </summary> /// <param name="pEntity">实体实例</param> /// <param name="pTran">事务实例,可为null,如果为null,则不使用事务来更新</param> public void Update(RetailTraderEntity pEntity, IDbTransaction pTran) { _currentDAO.Update(pEntity, pTran); }
/// <summary> /// 核销优惠劵 /// </summary> /// <param name="pRequest"></param> /// <returns></returns> private string BestowCoupon(string pRequest) { RespData respData = new RespData(); try { var reqObj = pRequest.DeserializeJSONTo <reqConunbondata>(); if (string.IsNullOrEmpty(reqObj.userId)) { respData.ResultCode = "103"; respData.Message = "登陆用户不能为空"; } if (string.IsNullOrEmpty(reqObj.Parameters.doorID)) { respData.ResultCode = "103"; respData.Message = "此APP版本无法核销,请升级到新版本。"; return(respData.ToJSON()); } var loggingSessionInfo = Default.GetBSLoggingSession(reqObj.customerId, reqObj.userId); var couponUseBll = new CouponUseBLL(loggingSessionInfo); //优惠券使用BLL实例化 var vcmBll = new VipCouponMappingBLL(loggingSessionInfo); //优惠券BLL实例化 var couponTypeBll = new CouponTypeBLL(loggingSessionInfo); //优惠券类型 var mappingBll = new CouponTypeUnitMappingBLL(loggingSessionInfo); //优惠券和门店映射 //var vcmEntity = new VipCouponMappingEntity(); CouponBLL bll = new CouponBLL(loggingSessionInfo); //判断是否有权限核销优惠券 CouponEntity couponEntity = null; if (!string.IsNullOrEmpty(reqObj.Parameters.couponCode)) { CouponEntity[] couponEntityArray = bll.QueryByEntity(new CouponEntity() { CouponCode = reqObj.Parameters.couponCode, CustomerID = reqObj.customerId }, null); if (couponEntityArray.Length != 0) { couponEntity = couponEntityArray[0]; } } else { couponEntity = bll.GetByID(reqObj.Parameters.cuponID); } if (couponEntity != null) { List <IWhereCondition> wheresOrderNo = new List <IWhereCondition>(); wheresOrderNo.Add(new EqualsCondition() { FieldName = "CouponID", Value = couponEntity.CouponID }); var resultCouponVipID = vcmBll.Query(wheresOrderNo.ToArray(), null); var couponTypeInfo = couponTypeBll.GetByID(couponEntity.CouponTypeID); if (couponTypeInfo != null) { if (couponTypeInfo.SuitableForStore == 2)//下面的doorid传的是门店的id,如果等于1所有门店都能用,如果等于3所有分销商都能用 { var couponTypeUnitMapping = mappingBll.QueryByEntity(new CouponTypeUnitMappingEntity() { CouponTypeID = new Guid(couponEntity.CouponTypeID.ToString()), ObjectID = reqObj.Parameters.doorID }, null).FirstOrDefault(); if (couponTypeUnitMapping == null) { respData.ResultCode = "104"; respData.Message = "请到指定门店/分销商使用"; return(respData.ToJSON()); } } if (couponTypeInfo.SuitableForStore == 3)//下面的doorid传的是门店的id,如果等于1所有门店都能用,如果等于3所有分销商都能用 { //doorid必须是获取,分销商如果没数据,就报错。 RetailTraderBLL _RetailTraderBLL = new RetailTraderBLL(loggingSessionInfo); RetailTraderEntity en = _RetailTraderBLL.GetByID(reqObj.Parameters.doorID); if (en == null) { respData.ResultCode = "104"; respData.Message = "请到指定分销商使用"; return(respData.ToJSON()); } } if (couponTypeInfo.SuitableForStore == 1)//下面的doorid传的是门店的id,如果等于1所有门店都能用,如果等于3所有分销商都能用 { //doorid必须是获取,门店如果没有数据,就报错。 TUnitBLL _TUnitBLL = new TUnitBLL(loggingSessionInfo); TUnitEntity en = _TUnitBLL.GetByID(reqObj.Parameters.doorID); if (en == null) { respData.ResultCode = "104"; respData.Message = "请到指定门店使用"; return(respData.ToJSON()); } } int res = bll.BestowCoupon(couponEntity.CouponID, reqObj.Parameters.doorID); if (res > 0) //如果没有影响一行,所以Coupon表里这条记录的status=1了,不能被使用了。 { InoutService server = new InoutService(loggingSessionInfo); var tran = server.GetTran(); using (tran.Connection)//事务 { #region 优惠券使用记录 var couponUseEntity = new CouponUseEntity() { CouponID = couponEntity.CouponID, VipID = resultCouponVipID.Length == 0 ? "" : resultCouponVipID[0].VIPID, UnitID = reqObj.Parameters.doorID, //OrderID = orderEntity.OrderID.ToString(), //CreateBy = reqObj.userId, Comment = "核销电子券", CustomerID = reqObj.customerId }; couponUseBll.Create(couponUseEntity);//生成优惠券使用记录 #endregion //#region 修改优惠券数量 2016-06-03 使用了redis不用在这里更新数量 //couponTypeInfo.IsVoucher = couponTypeInfo.IsVoucher == null ? 1 : couponTypeInfo.IsVoucher + 1; //couponTypeBll.Update(couponTypeInfo, tran); //#endregion respData.ResultCode = "200"; respData.Message = "优惠劵使用成功"; tran.Commit(); } } else { respData.ResultCode = "103"; respData.Message = "优惠劵已使用"; } } } else { respData.ResultCode = "104"; respData.Message = "没有找到对应券。"; return(respData.ToJSON()); } } catch (Exception) { respData.ResultCode = "103"; respData.Message = "数据库操作失败"; } return(respData.ToJSON()); }
/// <summary> /// 创建一个新实例 /// </summary> /// <param name="pEntity">实体实例</param> public void Create(RetailTraderEntity pEntity) { _currentDAO.Create(pEntity); }
/// <summary> /// 分页根据实体条件查询实体 /// </summary> /// <param name="pQueryEntity">以实体形式传入的参数</param> /// <param name="pOrderBys">排序组合</param> /// <returns>符合条件的实体集</returns> public PagedQueryResult <RetailTraderEntity> PagedQueryByEntity(RetailTraderEntity pQueryEntity, OrderBy[] pOrderBys, int pPageSize, int pCurrentPageIndex) { return(_currentDAO.PagedQueryByEntity(pQueryEntity, pOrderBys, pPageSize, pCurrentPageIndex)); }
/// <summary> /// 根据实体条件查询实体 /// </summary> /// <param name="pQueryEntity">以实体形式传入的参数</param> /// <param name="pOrderBys">排序组合</param> /// <returns>符合条件的实体集</returns> public RetailTraderEntity[] QueryByEntity(RetailTraderEntity pQueryEntity, OrderBy[] pOrderBys) { return(_currentDAO.QueryByEntity(pQueryEntity, pOrderBys)); }
/// <summary> /// 删除 /// </summary> /// <param name="pEntity"></param> public void Delete(RetailTraderEntity pEntity) { _currentDAO.Delete(pEntity); }
/// <summary> /// 更新 /// </summary> /// <param name="pEntity">实体实例</param> public void Update(RetailTraderEntity pEntity) { _currentDAO.Update(pEntity); }