public ActionResult FudongUpdate(int?fuDong) { ReturnJson returnJson = new ReturnJson(); try { var agentEntity = agentBll.GetEntityByOpenId(CurrentWxUser.OpenId); if (agentEntity != null) { Wechat_AgentEntity entity = new Wechat_AgentEntity() { FuDong = fuDong, }; agentBll.FuDongUpdate(agentEntity.Id, fuDong); returnJson.msg = "success"; returnJson.code = 200; return(Json(returnJson)); } else { var root = new ReturnJson { code = 401, msg = "fail" }; return(Json(root)); } } catch (Exception) { throw; } }
public void OperatorAgent(Wechat_AgentEntity agentEntity) { OperatorAgent operators = new OperatorAgent(); operators.Id = agentEntity.Id; operators.Pid = agentEntity.Pid; operators.Tid = agentEntity.Tid; operators.OpenId = agentEntity.OpenId; operators.nickname = agentEntity.nickname; operators.Sex = agentEntity.Sex; operators.HeadimgUrl = agentEntity.HeadimgUrl; operators.Province = agentEntity.Province; operators.City = agentEntity.City; operators.Country = agentEntity.Country; operators.LV = agentEntity.LV; operators.profit = agentEntity.profit; operators.Cashout = agentEntity.Cashout; operators.EndDate = agentEntity.EndDate; operators.banner = agentEntity.banner; operators.realname = agentEntity.realname; operators.contact = agentEntity.contact; operators.alipay = agentEntity.alipay; operators.CreateDate = agentEntity.CreateDate; operators.IPAddress = Net.Ip; operators.IPAddressName = IPLocation.GetLocation(Net.Ip); operators.LogTime = DateTime.Now; operators.Token = DESEncrypt.Encrypt(Guid.NewGuid().ToString()); operators.FuDong = agentEntity.FuDong; operators.OrganizeId = agentEntity.OrganizeId; operators.Category = agentEntity.Category; OperatorAgentProvider.Provider.AddCurrent(operators); }
public ActionResult withdraw(decimal?cashNum) { ReturnJson root = null; var agentEntity = agentBll.GetEntityByOpenId(CurrentWxUser.OpenId); if (string.IsNullOrEmpty(agentEntity.alipay)) { //401,跳转到修改个人信息 root = new ReturnJson { code = 401, msg = "支付宝账号为空" }; } else { if (cashNum >= 100 && cashNum < agentEntity.profit) { var withdrawLogList = withBLL.GetList("{\"agent_id\":\"" + agentEntity.Id + "\",\"status\":\"" + 0 + "\"}"); if (withdrawLogList.Count() > 0) { //401,跳转到修改个人信息 root = new ReturnJson { code = 400, msg = "已经存在未审核的提现申请记录" }; } //创建提现日志表 WithdrawLogEntity entity = new WithdrawLogEntity() { agent_id = agentEntity.Id, agent_name = agentEntity.nickname, amount = cashNum, status = 0 }; withBLL.SaveForm(null, entity); Wechat_AgentEntity wechat_AgentEntity = new Wechat_AgentEntity() { profit = agentEntity.profit - cashNum, //佣金- Cashout = cashNum, //提现中+ }; agentBll.SaveForm(agentEntity.Id, wechat_AgentEntity); root = new ReturnJson { code = 200, msg = "success" }; } else { root = new ReturnJson { code = 400, msg = "提现金额不符" }; } } return(Json(root)); }
/// <summary> /// 保存表单(新增、修改) /// </summary> /// <param name="keyValue">主键值</param> /// <param name="entity">实体对象</param> /// <returns></returns> public void SaveForm(int?keyValue, Wechat_AgentEntity entity) { try { service.SaveForm(keyValue, entity); } catch (Exception) { throw; } }
/// <summary> /// 创建顶级 /// </summary> /// <param name="keyValue"></param> /// <returns></returns> public ActionResult Create(string keyValue) { var user = UserBLL.GetEntity(keyValue); if (user != null) { var agentEntity = agentBll.GetEntityByOpenId(CurrentWxUser.OpenId); if (agentEntity != null) { if (agentEntity.Pid != agentEntity.Id && agentEntity.Pid != agentEntity.Id) { agentEntity.Pid = agentEntity.Id; //设置上级id为访问id agentEntity.Tid = agentEntity.Id; //获取上级中的顶级id agentBll.SaveForm(agentEntity.Id, agentEntity); user.WeOpenId = CurrentWxUser.OpenId; user.WeChat = CurrentWxUser.NickName; user.TopAgentMark = 1;//顶级 UserBLL.SaveForm(user.UserId, user); } else { return(Content("已经成为顶级,无需重复设置")); } } else { agentEntity = new Wechat_AgentEntity() { OpenId = CurrentWxUser.OpenId, nickname = CurrentWxUser.NickName, Sex = CurrentWxUser.Users.Sex, HeadimgUrl = CurrentWxUser.Users.HeadimgUrl, Province = CurrentWxUser.Users.Province, City = CurrentWxUser.Users.City,//微信城市 Country = CurrentWxUser.Users.Country, LV = "普通代理" }; agentBll.SaveForm(null, agentEntity); user.WeOpenId = CurrentWxUser.OpenId; user.WeChat = CurrentWxUser.NickName; user.TopAgentMark = 1;//顶级 UserBLL.SaveForm(user.UserId, user); } } return(View()); }
// // GET: /webapp/Agent/ public ActionResult Index(int?id) { //1.2根据注册的微信id去用户表中匹配是否有此员工 Wechat_AgentEntity agentEntity = agentBll.GetEntityByOpenId(CurrentWxUser.OpenId);//o7HEd1LjnupfP0BBBMz5f69MFYVE if (agentEntity == null) { int?tid = null; if (!string.IsNullOrEmpty(id.ToString())) { var pidEntity = agentBll.GetEntity(id);//上级 if (pidEntity != null) { if (!string.IsNullOrEmpty(pidEntity.Tid.ToString())) { tid = pidEntity.Tid; } } } agentEntity = new Wechat_AgentEntity() { OpenId = CurrentWxUser.OpenId, nickname = CurrentWxUser.NickName, Sex = CurrentWxUser.Users.Sex, HeadimgUrl = CurrentWxUser.Users.HeadimgUrl, Province = CurrentWxUser.Users.Province, City = CurrentWxUser.Users.City, //微信城市 Country = CurrentWxUser.Users.Country, Pid = id, //设置上级id为访问id Tid = tid, //获取上级中的顶级id LV = "普通代理" }; agentBll.SaveForm(null, agentEntity); } return(View(agentEntity)); }
//微信支付回调地址 public ActionResult Notify() { LogHelper.AddLog("支付回调地址");//记录日志 ResponseHandler rspHandler = new ResponseHandler(null); rspHandler.SetKey(WeixinConfig.Key); LogHelper.AddLog(rspHandler.ParseXML());//记录日志 //SUCCESS/FAIL此字段是通信标识,非交易标识,交易是否成功需要查看result_code来判断 SUCCESS string return_code = rspHandler.GetParameter("return_code"); string return_msg = rspHandler.GetParameter("return_msg"); if (rspHandler.IsTenpaySign()) { if (return_code == "SUCCESS") { //订单号 string orderSn = rspHandler.GetParameter("out_trade_no"); if (orderSn.Contains("LX-")) { OrdersEntity order = ordersbll.GetEntityByOrderSn(orderSn); if (order != null) { order.PayDate = DateTime.Now; order.PayStatus = (int)PayStatus.已支付; order.Status = (int)OrderStatus.未发货; ordersbll.SaveForm(order.Id, order); } else { LogHelper.AddLog("订单号不存在:" + orderSn); } //同步下架 TelphoneLiangH5Entity tel = tlbll.GetEntity(order.TelphoneID);//根据靓号id获取靓号,修改售出状态 if (tel != null) { tel.SellMark = 1; tel.SellerName = order.Host; } tlbll.SaveForm(tel.TelphoneID, tel); LogHelper.AddLog("同步下架:" + tel.Telphone); //头条url回调 if (!string.IsNullOrEmpty(order.TouUrl)) { TouTiaoApi(order.TouUrl); } } else if (orderSn.Contains("JM-"))//加盟订单 { var order = ordersJMbll.GetEntityByOrderSn(orderSn); if (order != null) { LogHelper.AddLog("微信支付加盟订单FX-异步调用orderSn:" + orderSn); //支付成功,修改加盟订单表 order.PayDate = DateTime.Now; order.PayStatus = (int)PayStatus.已支付; ordersJMbll.SaveForm(order.Id, order); //修改会员表级别 var agent = agentbll.GetEntityByOpenId(order.OpenId);//订单里面的OpenId,不是当前微信OpenId if (agent != null) { agent.LV = order.LV; agentbll.SaveForm(agent.Id, agent); decimal direct = 0; decimal indirect = 0; //上级不等于本身,才进行返佣,如果上级就是自己则为顶级 if (agent.Pid != agent.Id) { Wechat_AgentEntity agentPid = agentbll.GetEntity(agent.Pid);//上级 if (agentPid != null) { Wechat_AgentEntity agentPid2 = agentbll.GetEntity(agentPid.Pid);//上上级 if (agentPid2 != null) { //如果父级不等于上上级,则对上上级进行返佣 if (agent.Pid != agentPid2.Id) { //获取返佣规则金额 DirectHelper.getJMDirect(order.LV, agentPid.LV, agentPid2.LV, out direct, out indirect); //上级返佣 agentPid.profit += direct; agentbll.SaveForm(agentPid.Id, agentPid); //直接返佣日志 ComissionLogEntity logEntity = new ComissionLogEntity() { agent_id = agentPid.Id, agent_name = agentPid.nickname, indirect = 0, invited_agent_id = order.AgentId, phonenum = order.LV, profit = direct, status = 2,//已入账 orderno = order.OrderSn }; comissionLogBll.SaveForm(null, logEntity); LogHelper.AddLog("升级订单直接返佣:" + direct); //上上级返佣 agentPid2.profit += indirect; agentbll.SaveForm(agentPid2.Id, agentPid2); //间接返佣日志 ComissionLogEntity logEntity2 = new ComissionLogEntity() { agent_id = agentPid2.Id, agent_name = agentPid2.nickname, indirect = 1, invited_agent_id = order.AgentId, phonenum = order.LV, profit = indirect, status = 2,//已入账 orderno = order.OrderSn }; comissionLogBll.SaveForm(null, logEntity2); LogHelper.AddLog("升级订单间接返佣:" + indirect); } else { //获取返佣规则金额 DirectHelper.getJMDirect(order.LV, agentPid.LV, null, out direct, out indirect); //上级返佣 agentPid.profit += direct; agentbll.SaveForm(agentPid.Id, agentPid); //直接返佣日志 ComissionLogEntity logEntity = new ComissionLogEntity() { agent_id = agentPid.Id, agent_name = agentPid.nickname, indirect = 0, invited_agent_id = order.AgentId, phonenum = order.LV, profit = direct, status = 2,//已入账 orderno = order.OrderSn }; comissionLogBll.SaveForm(null, logEntity); LogHelper.AddLog("升级订单上级和顶级同一人只直接返佣:" + direct); } } else { //获取返佣规则金额 DirectHelper.getJMDirect(order.LV, agentPid.LV, null, out direct, out indirect); //上级返佣 agentPid.profit += direct; agentbll.SaveForm(agentPid.Id, agentPid); //直接返佣日志 ComissionLogEntity logEntity = new ComissionLogEntity() { agent_id = agentPid.Id, agent_name = agentPid.nickname, indirect = 0, invited_agent_id = order.AgentId, phonenum = order.LV, profit = direct, status = 2,//已入账 orderno = order.OrderSn }; comissionLogBll.SaveForm(null, logEntity); LogHelper.AddLog("升级订单上上级为空只返上级直接返佣:" + direct); } } } } } else { LogHelper.AddLog("订单号不存在:" + orderSn); } } else if (orderSn.Contains("FX-"))//分销销售 { OrdersEntity order = ordersbll.GetEntityByOrderSn(orderSn); if (order != null) { LogHelper.AddLog("微信支付分销订单FX-异步调用orderSn:" + orderSn); //支付成功,修改加盟订单表 order.PayDate = DateTime.Now; order.PayStatus = (int)PayStatus.已支付; ordersbll.SaveForm(order.Id, order); //同步下架 TelphoneLiangH5Entity tel = tlbll.GetEntity(order.TelphoneID);//根据靓号id获取靓号,修改售出状态 if (tel != null) { tel.SellMark = 1; tel.SellerName = order.Host; } tlbll.SaveForm(tel.TelphoneID, tel); LogHelper.AddLog("同步下架:" + tel.Telphone); var logList = comissionLogBll.GetList("{\"orderno\":\"" + orderSn + "\"}"); if (logList.Count() > 0) { foreach (var item in logList) { LogHelper.AddLog(item.agent_id + "支付状态修改1已支付,佣金:" + item.profit); //返佣?不能直接返佣,需要等到开卡之后再返佣 item.status = 1;//已支付,不入账 comissionLogBll.SaveForm(item.id, item); } } } else { LogHelper.AddLog("订单号不存在:" + orderSn); } } } } string xml = string.Format(@"<xml> <return_code><![CDATA[{0}]]></return_code> <return_msg><![CDATA[{1}]]></return_msg> </xml>", return_code, return_msg); LogHelper.AddLog("正常返回回调xml信息:" + xml); return(Content(xml, "text/xml")); }
/// <summary> /// 服务器异步通知页面 /// 调用接口,收到异步通知后,返回小写的success,告知支付宝已收到通知:每当交易状态改变时,服务器异步通知页面就会收到支付宝发来的处理结果通知, /// 程序执行完后必须打印输出success。如果商户反馈给支付宝的字符不是success这7个字符,支付宝服务器会不断重发通知,直到超过24小时22分钟。 /// 一般情况下,25小时以内完成8次通知(通知的间隔频率一般是:4m,10m,10m,1h,2h,6h,15h)。 参考示例代码: JAVA版本:out.println("success"); PHP版本:echo "success"; /// .NET版本:Response.Write("success"); 注:返回success是为了告知支付宝,商户已收到异步,避免重复发送异步通知,与该笔交易的交易状态无关。 /// </summary> public void AliPayNotifyUrl() { /* 实际验证过程建议商户添加以下校验。 * 1、商户需要验证该通知数据中的out_trade_no是否为商户系统中创建的订单号, * 2、判断total_amount是否确实为该订单的实际金额(即商户订单创建时的金额), * 3、校验通知中的seller_id(或者seller_email) 是否为out_trade_no这笔单据的对应的操作方(有的时候,一个商户可能有多个seller_id/seller_email) * 4、验证app_id是否为该商户本身。 */ Dictionary <string, string> sArray = GetRequestPost(); string sArraysStr = JsonConvert.SerializeObject(sArray); LogHelper.AddLog("支付宝异步调用sArraysStr:" + sArraysStr); if (sArray.Count != 0) { bool flag = AlipaySignature.RSACheckV1(sArray, WeixinConfig.payKey, WeixinConfig.charset, WeixinConfig.signType, false);//支付宝公钥 string orderSn = sArray["out_trade_no"]; if (flag) { //注意: //退款日期超过可退款期限后(如三个月可退款),支付宝系统发送该交易状态通知 string trade_status = Request.Form["trade_status"]; if (trade_status == "TRADE_SUCCESS") { //交易状态 //判断该笔订单是否在商户网站中已经做过处理 //如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序 //请务必判断请求时的total_amount与通知时获取的total_fee为一致的 //如果有做过处理,不执行商户的业务程序 //订单号 if (orderSn.Contains("LX-")) { OrdersEntity order = ordersbll.GetEntityByOrderSn(orderSn); if (order != null) { string total_amount = sArray["total_amount"]; if (Convert.ToDecimal(total_amount) == order.Price) { LogHelper.AddLog("异步调用orderSn:" + orderSn + "total_amount:" + total_amount + "金额一致"); order.PayDate = DateTime.Now; order.PayStatus = (int)PayStatus.已支付; order.Status = (int)OrderStatus.未发货; ordersbll.SaveForm(order.Id, order); //同步下架 TelphoneLiangH5Entity tel = tlbll.GetEntity(order.TelphoneID);//根据靓号id获取靓号,修改售出状态 if (tel != null) { tel.SellMark = 1; tel.SellerName = order.Host; } tlbll.SaveForm(tel.TelphoneID, tel); LogHelper.AddLog("同步下架:" + tel.Telphone); //头条url回调 if (!string.IsNullOrEmpty(order.TouUrl)) { TouTiaoApi(order.TouUrl); } } } } else if (orderSn.Contains("JM-")) { LogHelper.AddLog("支付宝加盟订单JM-异步调用orderSn:" + orderSn); var order = ordersJMbll.GetEntityByOrderSn(orderSn); if (order != null) { //支付成功,修改加盟订单表 order.PayDate = DateTime.Now; order.PayStatus = (int)PayStatus.已支付; ordersJMbll.SaveForm(order.Id, order); //修改会员表级别 var agent = agentbll.GetEntityByOpenId(order.OpenId);//订单里面的OpenId,不是当前微信OpenId if (agent != null) { agent.LV = order.LV; agentbll.SaveForm(agent.Id, agent); decimal direct = 0; decimal indirect = 0; //上级不等于本身,才进行返佣,如果上级就是自己则为顶级 if (agent.Pid != agent.Id) { Wechat_AgentEntity agentPid = agentbll.GetEntity(agent.Pid);//上级 if (agentPid != null) { Wechat_AgentEntity agentPid2 = agentbll.GetEntity(agentPid.Pid);//上上级 if (agentPid2 != null) { //如果父级不等于上上级,则对上上级进行返佣 if (agent.Pid != agentPid2.Id) { //获取返佣规则金额 DirectHelper.getJMDirect(order.LV, agentPid.LV, agentPid2.LV, out direct, out indirect); //上级返佣 agentPid.profit += direct; agentbll.SaveForm(agentPid.Id, agentPid); //直接返佣日志 ComissionLogEntity logEntity = new ComissionLogEntity() { agent_id = agentPid.Id, agent_name = agentPid.nickname, indirect = 0, invited_agent_id = order.AgentId, phonenum = order.LV, profit = direct, status = 2,//已入账 orderno = order.OrderSn }; comissionLogBll.SaveForm(null, logEntity); LogHelper.AddLog("支付宝加盟直接返佣:" + direct); //上上级返佣 agentPid2.profit += indirect; agentbll.SaveForm(agentPid2.Id, agentPid2); //间接返佣日志 ComissionLogEntity logEntity2 = new ComissionLogEntity() { agent_id = agentPid2.Id, agent_name = agentPid2.nickname, indirect = 1, invited_agent_id = order.AgentId, phonenum = order.LV, profit = indirect, status = 2,//已入账 orderno = order.OrderSn }; comissionLogBll.SaveForm(null, logEntity2); LogHelper.AddLog("支付宝加盟直接间接:" + indirect); } else { //获取返佣规则金额 DirectHelper.getJMDirect(order.LV, agentPid.LV, null, out direct, out indirect); //上级返佣 agentPid.profit += direct; agentbll.SaveForm(agentPid.Id, agentPid); //直接返佣日志 ComissionLogEntity logEntity = new ComissionLogEntity() { agent_id = agentPid.Id, agent_name = agentPid.nickname, indirect = 0, invited_agent_id = order.AgentId, phonenum = order.LV, profit = direct, status = 2,//已入账 orderno = order.OrderSn }; comissionLogBll.SaveForm(null, logEntity); LogHelper.AddLog("支付宝加盟上级和顶级同一人只直接返佣:" + direct); } } else { //获取返佣规则金额 DirectHelper.getJMDirect(order.LV, agentPid.LV, null, out direct, out indirect); //上级返佣 agentPid.profit += direct; agentbll.SaveForm(agentPid.Id, agentPid); //直接返佣日志 ComissionLogEntity logEntity = new ComissionLogEntity() { agent_id = agentPid.Id, agent_name = agentPid.nickname, indirect = 0, invited_agent_id = order.AgentId, phonenum = order.LV, profit = direct, status = 2,//已入账 orderno = order.OrderSn }; comissionLogBll.SaveForm(null, logEntity); LogHelper.AddLog("支付宝加盟上上级为空只返上级直接返佣:" + direct); } } } } } else { LogHelper.AddLog("订单号不存在:" + orderSn); } } else if (orderSn.Contains("FX-")) { OrdersEntity order = ordersbll.GetEntityByOrderSn(orderSn); if (order != null) { string total_amount = sArray["total_amount"]; if (Convert.ToDecimal(total_amount) == order.Price) { LogHelper.AddLog("支付宝分销订单FX-异步调用orderSn:" + orderSn + "total_amount:" + total_amount + "金额一致"); order.PayDate = DateTime.Now; order.PayStatus = (int)PayStatus.已支付; order.Status = (int)OrderStatus.未发货; ordersbll.SaveForm(order.Id, order); //同步下架 TelphoneLiangH5Entity tel = tlbll.GetEntity(order.TelphoneID);//根据靓号id获取靓号,修改售出状态 if (tel != null) { tel.SellMark = 1; tel.SellerName = order.Host; } tlbll.SaveForm(tel.TelphoneID, tel); LogHelper.AddLog("同步下架:" + tel.Telphone); var logList = comissionLogBll.GetList("{\"orderno\":\"" + orderSn + "\"}"); if (logList.Count() > 0) { foreach (var item in logList) { //返佣?不能直接返佣,需要等到开卡之后再返佣 item.status = 1;//已支付,不入账 comissionLogBll.SaveForm(item.id, item); } } } } } } LogHelper.AddLog("异步调用success,订单号:" + orderSn); Response.Write("success"); } else { LogHelper.AddLog("异步调用fail,订单号:" + orderSn); Response.Write("fail"); } } }
public ActionResult Index(int?id) { ViewBag.banner = "/static/default/images/index/banner.png"; ViewBag.OpenId = 0; ViewBag.is_agent = 0; ViewBag.Style = "none"; ViewBag.StyleMinPrice = "none"; //根据当前id,查询是哪个代理,把写入当前用户信息 Wechat_AgentEntity agentEntity = agentBll.GetEntity(id);//"oQU_IwcWO42_aBNVXcVzungZA0uw" if (agentEntity != null) { if (OperatorAgentProvider.Provider.IsOverdue()) { OperatorAgent(agentEntity); LogHelper.AddLog("缓存过期,重新缓存:" + OperatorAgentProvider.Provider.Current().Id); } else { //如果连接参数id不等于缓存登陆者id,则清空缓存,重新缓存 if (id != OperatorAgentProvider.Provider.Current().Id) { LogHelper.AddLog("缓存不一致,重新更新缓存!从" + OperatorAgentProvider.Provider.Current().Id + "到" + id); OperatorAgentProvider.Provider.EmptyCurrent(); OperatorAgent(agentEntity); LogHelper.AddLog("最新缓存:" + OperatorAgentProvider.Provider.Current().Id); } } if (!string.IsNullOrEmpty(agentEntity.banner)) { ViewBag.banner = agentEntity.banner; } //如果是微信浏览器 if (Request.UserAgent.ToLower().Contains("micromessenger")) { //请求地址; string RequestUri = Request.RawUrl;//AbsoluteUri//FilePath//!string.IsNullOrEmpty(request.Params["urlstr"]) ? request.Params["urlstr"] : if (RequestUri.IndexOf("&") > 0) { //WeChatManage/Liang/Index?organizeId=4da3b884-ac5b-46fb-af10-150beb9e6c69&amp;amp;amp;amp;from=timeline&amp;amp;amp;from=timeline&amp;amp;from=timeline&amp;from=timeline&from=timeline //防止提示state参数过长问题,连接转发多次之后会带着一些转发到哪里的冗余信息 RequestUri = RequestUri.Substring(0, RequestUri.IndexOf("&"));//WeChatManage/Liang/Index?organizeId=4da3b884-ac5b-46fb-af10-150beb9e6c69 } //判断是否微信通过认证 if (CurrentWxUser.Users == null) { string url = string.Format(WeixinConfig.GetCodeUrl, HttpUtility.UrlEncode(RequestUri)); return(Redirect(url)); } Wechat_AgentEntity agentEntityWX = agentBll.GetEntityByOpenId(CurrentWxUser.OpenId);//"oQU_IwcWO42_aBNVXcVzungZA0uw" //只有当前登录者是代理的时候,才显示低价 if (agentEntityWX != null) { //只有二级三级才返佣金 if (agentEntityWX.Category <= 3) { ViewBag.OpenId = agentEntity.OpenId; ViewBag.is_agent = 1; ViewBag.Style = "display"; } //只有二级三级才返佣金 if (agentEntityWX.Category <= 2) { ViewBag.OpenId = agentEntity.OpenId; ViewBag.is_agent = 1; ViewBag.Style = "display"; ViewBag.StyleMinPrice = "display"; } } } //浏览量自增·1 agentBll.SeeCountAdd(id); } return(View()); }
/// <summary> /// 保存个人资料 /// </summary> /// <returns></returns> public ActionResult saveUserInfo(string realname, string contact, string alipay) { //状态实体vo类实例化 ReturnJson returnJson = new ReturnJson(); //声明空字符串图片路径变量准备接收传输过来的值 string banner = ""; //try...catch捕捉程序异常错误 try { var agentEntity = agentBll.GetEntityByOpenId(CurrentWxUser.OpenId); if (agentEntity != null) { if (Request.Files.Count > 0) { string extension = string.Empty; HttpPostedFileBase file = Request.Files[0] as HttpPostedFileBase; if (file.FileName.Length > 0) { if (file.FileName.IndexOf('.') > -1) { //原来也可以这用获取扩展名 //extension = file.FileName.Remove(0, file.FileName.LastIndexOf('.')); string filePath = "/Resource/DocumentFile/Agent/"; //创建路径 CreateFilePath(filePath); if (file.FileName.ToString() != "") { string absoluteSavePath = System.Web.HttpContext.Current.Server.MapPath("~" + filePath); var pathLast = Path.Combine(absoluteSavePath, file.FileName); file.SaveAs(pathLast); banner = filePath + file.FileName; } } } } Wechat_AgentEntity entity = new Wechat_AgentEntity() { realname = realname, contact = contact, alipay = alipay, banner = banner }; agentBll.SaveForm(agentEntity.Id, entity); returnJson.msg = "success"; returnJson.code = 200; return(Json(returnJson)); } else { var root = new ReturnJson { code = 401, msg = "fail" }; return(Json(root)); } } catch (Exception) { throw; } }
public ActionResult SaveForm(int?keyValue, Wechat_AgentEntity entity) { wechat_agentbll.SaveForm(keyValue, entity); return(Success("操作成功。")); }
/// <summary> /// 新增下级代理 /// </summary> /// <param name="organizeEntity"></param> public void SaveNewAgent(OrganizeEntity organizeEntity) { IRepository db = new RepositoryFactory().BaseRepository().BeginTrans(); try { #region 新增机构 //父机构 if (organizeEntity.ParentId == null) { organizeEntity.ParentId = "0"; //throw new Exception("上级机构不能为空!"); } if (organizeEntity.ParentId != "0") { var parentEntity = this.BaseRepository().FindEntity(organizeEntity.ParentId); organizeEntity.Category = parentEntity.Category + 1; //顶级机构 IEnumerable <OrganizeEntity> topList = GetParentIdByOrgId(organizeEntity.ParentId); if (topList.Count() > 0 && string.IsNullOrEmpty(organizeEntity.Img1)) { OrganizeEntity topEntity = topList.First(); organizeEntity.TopOrganizeId = topEntity.OrganizeId;//顶级机构 } } else { organizeEntity.Category = 0; } organizeEntity.Create(); #endregion #region 新增默认管理部门 DepartmentEntity department = new DepartmentEntity(); department.OrganizeId = organizeEntity.OrganizeId; department.ParentId = "0"; department.EnCode = organizeEntity.OuterPhone;//账号 department.FullName = organizeEntity.FullName; department.Create(); db.Insert(department); #endregion #region 新增默认靓号角色 RoleEntity role = new RoleEntity(); role.OrganizeId = organizeEntity.OrganizeId; role.Category = 1; //分类1 - 角色2 - 岗位3 - 职位4 - 工作组 role.EnCode = organizeEntity.OuterPhone; //账号 role.FullName = organizeEntity.FullName; role.Create(); db.Insert(role); #endregion #region 授权功能 var AuthorizeList = db.FindList <AuthorizeEntity>(t => t.ObjectId == "6581e298-d4b4-4347-96da-030d82cd247b"); foreach (AuthorizeEntity item in AuthorizeList) { AuthorizeEntity authorizeEntity = new AuthorizeEntity(); authorizeEntity.Create(); authorizeEntity.Category = 2; //1 - 部门2 - 角色3 - 岗位4 - 职位5 - 工作组 authorizeEntity.ObjectId = role.RoleId; //角色id,角色限定了机构和部门 authorizeEntity.ItemType = item.ItemType; //项目类型: 1 - 菜单2 - 按钮3 - 视图4表单 authorizeEntity.ItemId = item.ItemId; //项目主键 authorizeEntity.SortCode = item.SortCode; db.Insert(authorizeEntity); } #endregion #region 数据权限 就一个 AuthorizeDataEntity authorizeDataEntity = new AuthorizeDataEntity(); authorizeDataEntity.Create(); authorizeDataEntity.AuthorizeType = 4; //授权类型: 1 - 仅限本人2 - 仅限本人及下属3 - 所在部门4 - 所在公司5 - 按明细设置 authorizeDataEntity.Category = 2; //对象分类: 1 - 部门2 - 角色3 - 岗位4 - 职位5 - 工作组 authorizeDataEntity.ObjectId = role.RoleId; //角色id,角色限定了机构和部门 authorizeDataEntity.IsRead = 0; authorizeDataEntity.SortCode = 1; db.Insert(authorizeDataEntity); #endregion #region 新增默认用户 UserEntity userEntity = new UserEntity(); userEntity.Create(); role.EnCode = organizeEntity.OuterPhone; //账号 userEntity.Account = organizeEntity.OuterPhone; //登录名为机构名拼音首字母organizeEntity.EnCode userEntity.RealName = organizeEntity.Manager; //organizeEntity.FullName userEntity.WeChat = organizeEntity.ShortName; //微信昵称 userEntity.OrganizeId = organizeEntity.OrganizeId; userEntity.DepartmentId = department.DepartmentId; userEntity.RoleId = role.RoleId; userEntity.Gender = 1; userEntity.Secretkey = Md5Helper.MD5(CommonHelper.CreateNo(), 16).ToLower(); userEntity.Password = Md5Helper.MD5(DESEncrypt.Encrypt(Md5Helper.MD5("0000", 32).ToLower(), userEntity.Secretkey).ToLower(), 32).ToLower(); db.Insert(userEntity); #endregion #region 新增默认用户关系 UserRelationEntity userRelationEntity = new UserRelationEntity(); userRelationEntity.Create(); userRelationEntity.Category = 2;//登录名为机构名拼音首字母 userRelationEntity.UserId = userEntity.UserId; userRelationEntity.ObjectId = userEntity.RoleId; db.Insert(userRelationEntity); #endregion #region 新增代理表 var agentEntity = agentService.GetEntityByOpenId(organizeEntity.ManagerId); if (agentEntity == null) { var weChat_Users = db.FindEntity <WeChat_UsersEntity>(t => t.OpenId == organizeEntity.ManagerId); if (weChat_Users != null) { agentEntity = new Wechat_AgentEntity() { OpenId = weChat_Users.OpenId, nickname = weChat_Users.NickName, Sex = weChat_Users.Sex, HeadimgUrl = weChat_Users.HeadimgUrl, Province = weChat_Users.Province, City = weChat_Users.City, Country = weChat_Users.Country, LV = "普通代理", Category = 0, OrganizeId = organizeEntity.OrganizeId, //绑定机构id }; agentEntity.Create(); //create得不到id,自增 agentService.SaveForm(null, agentEntity); //提交数据库之后才能拿到id,复制给机构表中的agentid //更新id,0级机构上级和顶级都是本机构 agentEntity.Pid = agentEntity.Id; agentEntity.Tid = agentEntity.Id; agentEntity.Category = 0;//改为0级代理 agentService.SaveForm(agentEntity.Id, agentEntity); } } else { if (!string.IsNullOrEmpty(agentEntity.OrganizeId)) { agentEntity.OrganizeId = organizeEntity.OrganizeId;//如果不存在代理机构id, //更新id,0级机构上级和顶级都是本机构 agentEntity.Pid = agentEntity.Id; agentEntity.Tid = agentEntity.Id; agentEntity.Category = 0;//改为0级代理 db.Update(agentEntity); } } organizeEntity.AgentId = agentEntity.Id;//绑定代理id #endregion db.Insert(organizeEntity); db.Commit(); } catch (Exception) { db.Rollback(); throw; } }
public ActionResult Index(int?id) { //1.2根据注册的微信id去用户表中匹配是否有此员工 Wechat_AgentEntity agentEntity = agentBll.GetEntityByOpenId(CurrentWxUser.OpenId);//"oQU_IwcWO42_aBNVXcVzungZA0uw" if (agentEntity == null) { int?tid = null; var pidEntity = agentBll.GetEntity(id);//上级 if (pidEntity != null) { if (!string.IsNullOrEmpty(pidEntity.Tid.ToString())) { tid = pidEntity.Tid; } else { tid = id; } } else { tid = id; } Wechat_AgentEntity agentEntityNew = new Wechat_AgentEntity() { OpenId = CurrentWxUser.OpenId, nickname = CurrentWxUser.NickName, Sex = CurrentWxUser.Users.Sex, HeadimgUrl = CurrentWxUser.Users.HeadimgUrl, Province = CurrentWxUser.Users.Province, City = CurrentWxUser.Users.City, //微信城市 Country = CurrentWxUser.Users.Country, Pid = id, //设置上级id为访问id Tid = tid, //获取上级中的顶级id LV = "普通代理" }; agentBll.SaveForm(null, agentEntityNew); //如果父级和顶级为null,坚决赋值,更新null为当前id,或者当前机构就是顶级员工 Wechat_AgentEntity agentEntity2 = agentBll.GetEntityByOpenId(CurrentWxUser.OpenId); if (agentEntity2 != null) { if (string.IsNullOrEmpty(agentEntity2.Pid.ToString())) { agentEntity2.Pid = agentEntity2.Id; agentEntity2.Tid = agentEntity2.Id; } else if (string.IsNullOrEmpty(agentEntity2.Tid.ToString())) { agentEntity2.Tid = agentEntity2.Pid; } } agentBll.SaveForm(agentEntity2.Id, agentEntity2); } OperatorAgent operators = new OperatorAgent(); operators.Id = agentEntity.Id; operators.Pid = agentEntity.Pid; operators.OpenId = agentEntity.OpenId; operators.nickname = agentEntity.nickname; operators.Sex = agentEntity.Sex; operators.HeadimgUrl = agentEntity.HeadimgUrl; operators.Province = agentEntity.Province; operators.City = agentEntity.City; operators.Country = agentEntity.Country; operators.LV = agentEntity.LV; operators.profit = agentEntity.profit; operators.Cashout = agentEntity.Cashout; operators.EndDate = agentEntity.EndDate; operators.banner = agentEntity.banner; operators.realname = agentEntity.realname; operators.contact = agentEntity.contact; operators.alipay = agentEntity.alipay; operators.CreateDate = agentEntity.CreateDate; operators.IPAddress = Net.Ip; operators.IPAddressName = IPLocation.GetLocation(Net.Ip); operators.LogTime = DateTime.Now; operators.Token = DESEncrypt.Encrypt(Guid.NewGuid().ToString()); OperatorAgentProvider.Provider.AddCurrent(operators); return(RedirectToAction("Index", "Agent", new { id = id })); }