示例#1
0
        public ActionResult mobileReg()
        {
            //代理分销,判断是否已开通过代理,开通过代理就不给他开通
            int agentqrcodeid = Context.GetRequestInt("agentqrcodeid", 0);

            if (agentqrcodeid > 0)
            {
                AgentQrCode agentqrmodel = AgentQrCodeBLL.SingleModel.GetModelById(agentqrcodeid);
                if (agentqrmodel == null)
                {
                    return(View("PageError", new Return_Msg()
                    {
                        Msg = "二维码已失效!", code = "403"
                    }));
                }
            }
            ViewBag.AgentQrCodeId = agentqrcodeid;

            return(View());
        }
        public readonly string _redis_AgentDistributionRelationVersion = "redis_AgentDistributionRelationVersion_{0}";//版本控制

        public string CreateDistributionAgent(string accountid, int agentqrcodeid, int opentype = 0, string username = "", string appid = "")
        {
            int followState = 0;

            //免费版,用户提交的资料直接分配给小未
            if (!string.IsNullOrEmpty(appid))
            {
                XcxAppAccountRelation xcxrelation = XcxAppAccountRelationBLL.SingleModel.GetModelByAppid(appid);
                if (xcxrelation != null)
                {
                    //int xcxType = XcxAppAccountRelationBLL.SingleModel.GetXcxTemplateType(xcxrelation.Id);
                    followState = xcxrelation.Type == (int)TmpType.小程序企业模板 || xcxrelation.Type == (int)TmpType.小程序单页模板 ? 1 : 0;
                }
            }

            Agentinfo agentmodel = AgentinfoBLL.SingleModel.GetModelByAccoundId(accountid);

            if (agentmodel != null)
            {
                return("您已经是代理商了");
            }

            AgentQrCode agentqrmodel = AgentQrCodeBLL.SingleModel.GetModel(agentqrcodeid);

            if (agentqrmodel == null)
            {
                return("代理分销二维码已失效");
            }
            Agentinfo pagentmodel = AgentinfoBLL.SingleModel.GetModel(agentqrmodel.AgentId);

            if (pagentmodel == null || pagentmodel.id <= 0)
            {
                return("该代理已被停用");
            }

            AgentDistributionRelation relation = new AgentDistributionRelation();

            relation.AddTime     = DateTime.Now;
            relation.State       = 1;
            relation.QrCodeId    = agentqrcodeid;
            relation.UpdateTime  = DateTime.Now;
            relation.FollowState = followState;
            relation.OpenType    = opentype;
            relation.Id          = Convert.ToInt32(base.Add(relation));
            if (relation.Id <= 0)
            {
                return("添加代理分销关联数据出错");
            }

            TransactionModel tran = new TransactionModel();

            agentmodel                    = new Agentinfo();
            agentmodel.addtime            = DateTime.Now;
            agentmodel.updateitme         = DateTime.Now;
            agentmodel.useraccountid      = accountid;
            agentmodel.userLevel          = 0;
            agentmodel.name               = username;
            agentmodel.state              = -1;
            agentmodel.IsOpenDistribution = 1;

            tran.Add(AgentinfoBLL.SingleModel.BuildAddSql(agentmodel));
            tran.Add($"update AgentDistributionRelation set ParentAgentId={pagentmodel.id},AgentId=(select last_insert_id()) where id={relation.Id}");
            tran.Add($"update agentinfo set AuthCode=CONCAT({agentmodel.addtime.ToString("yyyyMMdd")},(select last_insert_id())) where id=(select last_insert_id())");
            if (!base.ExecuteTransactionDataCorect(tran.sqlArray))
            {
                return("保存出错");
            }

            //清除缓存
            RemoveCache(pagentmodel.id);
            AgentQrCodeBLL.SingleModel.RemoveCache(pagentmodel.id);
            return("");
        }