atitit agt sys 设置下级代理功能设计.docx

显示界面1

先查询显示 set_sub.js1

设置代理2

/atiplat_cms/src/com/attilax/user/AgentService.java3

显示界面

http://localhost:8080/agent/set_sub2.htm

先查询显示 set_sub.js

// JavaScript Document

function btn_click()

{

var sql="select * from account where id='$uid$' ";

sql=sql.replace("$uid$",$("#txtUid").val());

//sql=sql.replace("$pwd$",$("#txtPassword").val());

var orm=new atiOrmV4();

orm.obj=sql ;

orm.callbackFun=function(data)

{

try{

processJavaEx_V2q315(data);

}catch(e)

{

showErr(e);

return;

}

var json=str2json(data);

if(json.length==0)

{

alert("没有此用户id");

return;

}

var obj=json[0];

var fm=new AForm()

fm.bind(obj);

};

orm.query();

}

设置代理

function    setSubAgent()

{

if( $("#tel").val()=='' ||    $("#bankcard").val()==''  ||    $("#sid").val()==''  )

{

alert("信息不能为空");

reutrn;

}

if(! confirm('确定要授权该玩家为您的下级代理吗?'))

return;

var code="new(com.attilax.user.AgentService).setSubAgent($uid$)";

code=code.replace("$uid$",$("#txtUid").val());

//code=code.replace("$pwd$",$("#txtPassword").val());

var jsb=new AtiJsBridge();

var nick=encodeURIComponent($("#nick").text());

var urlparams=$("form").serialize()+"&$code="+encodeURIComponent(code)+"&uname="+nick;

jsb.exe(urlparams,function(data){

console.log(data);

try{

processJavaEx_V2q315(data);

}catch(e)

{

if(catchEx(e,"com.attilax.secury.LoginException"))

{

alert("用户名密码错误");

return;

//

}

showErr(e);

return;

}

alert("  ok");

//  window.location="../uc/uc.htm";

});

}

/atiplat_cms/src/com/attilax/user/AgentService.java

@SuppressWarnings("all")

public Object setSubAgent(String sub_id) throws UserNotExistEx, CantSetSelfEx, SuperiorExistEx, DuplicateEntryEx {

checkUserExist(sub_id);

String getuid = tksvr.getuid();

if (sub_id.equals(getuid))

throw new CantSetSelfEx("ex:CantSetSelfEx:不能设置自己为代理");

// checkSuperiorExist(sub_id);

String sql = "insert agent(uid,parent_id,pwd,name,tel,wechat,bkkad,sid,uname)values('$uid$','$pid$','$pwd$','$name$','$tel$','$wechat$','$bkkad$','$sid$','$uname$') ";

sql = sql.replace("$uid$", sub_id);

tksvr.setUtype("agent");

sql = sql.replace("$pid$", getuid);

sql = sql.replace("$pwd$", "111111");

HttpServletRequest req = Global.req.get();

try {

req.setCharacterEncoding("utf8");

} catch (UnsupportedEncodingException e1) {

ExUtil.throwExV2(e1);

}

String name=req.getParameter("name");

String name_gbk2utf=EncodeX.gbk2utf(name);

String name_utf2gbk=EncodeX.utf2gbk(name);

Map m = ReqX.toMap(req);

sql = new ParamX().sqlFmtV2(sql, m);

System.out.println(sql);

try {

return dbsvrV4.executeUpdateV2qb0(sql);

} catch (DuplicateEntryEx e) {

throw new DuplicateEntryEx("已经存在此代理", e);

} catch (getConnEx | SQLException e) {

ExUtil.throwExV2(e);

}

return sql;

}

作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 )

汉字名:艾提拉(艾龙),   EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

Atiend

atitit agt sys 设置下级代理功能设计.docx的更多相关文章

  1. Atitit.atiagent  agent分销系统 代理系统 设计文档

    Atitit.atiagent  agent分销系统 代理系统 设计文档 1. 启动项目1 2. 首也2 3. 登录功能2 4. 用户中心2 5. 充值查询3 6. 授权下级代理4 7. 我的提成5 ...

  2. 在cocos2d-x jsb/html5中设置触摸代理的方法

    和官方的说明不同,js binding的很多api和ch5版是不一样的.遇到不一样的就需要我们努力去看源码寻找了. 主要是以下几个文件 cocos2d_specifics.cpp cocos2d_sp ...

  3. Atitit s2018 s4 doc list dvchomepc dvccompc.docx .docx \s2018 s4 doc compc dtS44 \s2018 s4 doc dvcCompc dtS420 \s2018 s4f doc homepc \s2018 s4 doc compc dtS44\(5 封私信 _ 44 条消息)WebSocket 有没有可能取代 AJAX

    Atitit s2018 s4 doc list dvchomepc dvccompc.docx .docx \s2018 s4 doc compc dtS44 \s2018 s4 doc dvcCo ...

  4. C#设置IE代理及遇到问题的解决方案

    起初使用的方法是修改完一次代理之后就不能继续修改,需要重新启动一次进程才可以,最初代码是: private void ShowProxyInfo() { if (!GetProxyStatus()) ...

  5. C#设置通过代理访问ftp服务器

    // 创建FTP连接 private FtpWebRequest CreateFtpWebRequest(string uri, string requestMethod) { FtpWebReque ...

  6. atitit 业务 触发器原理. 与事件原理 docx

    atitit 业务 触发器原理. 与事件原理 docx 1.1. 呵呵,你需要需要一个业务 触发器..1 1.2. 触发器/事件/中断的原理1 1.3. Io 硬件中断的原理( 中断的低层有cpu轮询 ...

  7. Nginx_地址重写(rewrite)_日志管理(log_format)_压缩输出_Nginx设定限速_Nginx设置反向代理及反向代理缓存

    Nginx地址重写 Nginx rewrite rewrite语法规则1).变量名可以使用 "=" 或 "!=" 运算符~ 区分大小写~* 不区分大小写^~ 禁 ...

  8. maven3实战之设置HTTP代理

    maven3实战之设置HTTP代理 ---------- 有时候你所在的公司基于安全因素考虑,要求你使用通过安全认证的代理访问因特网.这种情况下,就需要为Maven配置HTTP代理,才能让它正常访问外 ...

  9. 快捷设置IE代理小工具

    时间:2015-02-06 起因: 公司新装了PLM系统,用这个系统必须使用指定IP段的IP才能访问.所以为了还能愉快的继续使用代理进行特定网站的访问,我们必须要频繁的去设置IE代理,这也太麻烦了吧. ...

随机推荐

  1. 删除从第i个位置开始,长度为len的子串

    /*字符串采用带头结点的链表存储,设计算法函数void delstring(linkstring s, int i,int len)在字符串s中删除从第i个位置开始,长度为len的子串.*//**** ...

  2. JS-随机排序

    var arr = [ 1,2,3,4,5,6,7,8 ];arr.sort(function ( a, b ) {    return Math.random() - 0.5;});alert( a ...

  3. LNMP脚本安装

    #!/bin/bash#nginx:nginx-1.8.0.tar.gz#mysql:mysql-5.5.50.tar.gz#php:php-5.5.31.tar.gz#the software pa ...

  4. Everything搜索结果显示0 Object

    比较过windows本身的文档搜索功能,Everything的本地文档搜索能力简直令人咋舌,更逆天的是软件本身体积很小. 问题:打开everything时,文件列表消失,软件下方信息为0 object ...

  5. Microsoft.Office.Interop.Excel 程序集引用 ,Microsoft.Office.Interop.Excel.ApplicationClass 无法嵌入互操作类型

    using Microsoft.Office.Interop.Excel   添加程序集引用 方法:在引用--程序集--扩展中,添加引用Microsoft.Office.Interop.Excel,此 ...

  6. React Native填坑之旅--组件生命周期

    这次我们来填React Native生命周期的坑.这一点非常重要,需要有一个清晰的认识.如果你了解Android或者iOS的话,你会非常熟悉我们今天要说的的内容. 基本上一个React Native的 ...

  7. .NET 4.5+项目迁移.NET Core的问题记录

    .NET 4.5+项目迁移.NET Core的问题记录 这几天试着把目前的开发框架迁移到新的.net core平台,中间遇到的问题在这里简单记录一下. 迁移过程遇到的最大的问题IOC容器.我目前使用的 ...

  8. Freemarker 内置函数 数字、字符串、日期格式化用法介绍

    在用FreeMarker过程中,感觉FreeMarker的字符串,日期,集合等处理能力还是很强大的,上网搜了一些资料,整理如下,以便能帮助大家更熟练的应用Freemarker完成项目开发. 一.Seq ...

  9. android ProgressBar 进度条的进度两端是圆角的方法

    转自 http://www.jianshu.com/p/6e7ea842d5ce 另外工作原理可以参考http://blog.csdn.net/lan603168/article/details/44 ...

  10. 第58讲:Scala中Abstract Types实战详解

    这一讲我们来学习下抽像类型.让我们看下代码 package scala.learnimport scala.io.BufferedSourceimport scala.io.Source trait ...