/// <summary> /// 批量生成优惠码 /// </summary> /// <param name="groupId"></param> /// <param name="createNum"></param> /// <returns></returns> public bool CreateCouponGroup(int groupId, int iCreateNum = 1) { int iCount = iCreateNum; if (iCreateNum > 1000) { return(false); } //获得需要生成概要信息 OrderCouponInfo couponInfo = T_Order_CouponInfoBLL.GetModel(groupId); //获得当前总生成条数 int couponListCount = couponInfo.produceNum; //新生成优惠码 List <string> couponCreateList = new List <string>(); //判断是否超出限制数量 if ((iCreateNum + couponListCount) > couponInfo.maxLimitNum) { iCount = couponInfo.maxLimitNum - couponListCount; } string couponCode = ""; string couponPre = ""; //前缀命名 if (couponInfo.couponType == 1) { couponPre = "DJ"; } else if (couponInfo.couponType == 2) { couponPre = "GN"; } while (iCount > 0) { //循环生成优惠券Code couponCode = couponPre + CreateNumber(); //Utility.Logger.Info(couponCode); if (!CheckCouponCode(couponCode)) { if (!(T_Order_CouponListBLL.CreateCouponGroup(couponInfo.id, couponCode, couponInfo.couponValue, couponInfo.endDate) > 0)) { return(false); } UpdateHtCouponList(0, couponCode); iCount--; if (iCount > 0) { Thread.Sleep(100); } } } return(true); }
/// <summary> /// 优惠券内容 /// </summary> /// <param name="id"></param> /// <returns></returns> public new OrderCouponInfo GetModel(int id) { StringBuilder strSql = new StringBuilder(); strSql.Append(" declare @produceNum int,@bindingNum int,@useNum int; "); strSql.Append(" select @produceNum= COUNT(id),@bindingNum= sum(case when toAccId>0 then 1 else 0 end),@useNum=SUM(case when useAccId>0 then 1 else 0 end) "); strSql.Append(" from i200.dbo.T_Order_CouponList where groupId=@id ; "); strSql.Append(" select id,couponType,bindType,bindValue,ruleType,ruleValue,couponStatus,couponValue,couponDesc,maxLimitNum,createDate,endDate,operatorId,remark, "); strSql.Append(" @produceNum produceNum,@bindingNum bindingNum,@useNum useNum from i200.dbo.T_Order_CouponInfo where id=@id order by id desc; "); OrderCouponInfo infoModel = DapperHelper.GetModel <OrderCouponInfo>(strSql.ToString(), new { id = id }); return(infoModel); }
/// <summary> /// 优惠券内容 /// </summary> /// <param name="id"></param> /// <returns></returns> public static OrderCouponInfo GetModel(int id) { T_Order_CouponInfoDAL dal = new T_Order_CouponInfoDAL(); OrderCouponInfo infoModel = dal.GetModel(id); if (infoModel.operatorId > 0) { infoModel.operatorName = Sys_Manage_UserBLL.GetManageUserNameById(infoModel.operatorId); } else { infoModel.operatorName = "系统"; } infoModel.couponTypeName = Enum.GetName(typeof(Model.Enum.CouponEnum.CouponType), infoModel.couponType); infoModel.bindTypeName = Enum.GetName(typeof(Model.Enum.CouponEnum.BindType), infoModel.bindType); if (infoModel.bindType == 0) { infoModel.bindName = "无限制"; } else if (infoModel.bindType == 1) { infoModel.bindName = Enum.GetName(typeof(Model.Enum.OrderEnum.ItemType), infoModel.bindValue); } else if (infoModel.bindType == 2) { infoModel.bindName = BLL.Base.T_Order_ProjectBaseBLL.GetModel(infoModel.bindValue).displayName; } infoModel.ruleTypeName = Enum.GetName(typeof(Model.Enum.CouponEnum.RuleType), infoModel.ruleType); infoModel.couponStatusName = Enum.GetName(typeof(Model.Enum.CouponEnum.CouponStatus), infoModel.couponStatus); return(infoModel); }