atitit agt sys 设置下级代理功能设计.docx
atitit agt sys 设置下级代理功能设计.docx
/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的更多相关文章
- Atitit.atiagent agent分销系统 代理系统 设计文档
Atitit.atiagent agent分销系统 代理系统 设计文档 1. 启动项目1 2. 首也2 3. 登录功能2 4. 用户中心2 5. 充值查询3 6. 授权下级代理4 7. 我的提成5 ...
- 在cocos2d-x jsb/html5中设置触摸代理的方法
和官方的说明不同,js binding的很多api和ch5版是不一样的.遇到不一样的就需要我们努力去看源码寻找了. 主要是以下几个文件 cocos2d_specifics.cpp cocos2d_sp ...
- 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 ...
- C#设置IE代理及遇到问题的解决方案
起初使用的方法是修改完一次代理之后就不能继续修改,需要重新启动一次进程才可以,最初代码是: private void ShowProxyInfo() { if (!GetProxyStatus()) ...
- C#设置通过代理访问ftp服务器
// 创建FTP连接 private FtpWebRequest CreateFtpWebRequest(string uri, string requestMethod) { FtpWebReque ...
- atitit 业务 触发器原理. 与事件原理 docx
atitit 业务 触发器原理. 与事件原理 docx 1.1. 呵呵,你需要需要一个业务 触发器..1 1.2. 触发器/事件/中断的原理1 1.3. Io 硬件中断的原理( 中断的低层有cpu轮询 ...
- Nginx_地址重写(rewrite)_日志管理(log_format)_压缩输出_Nginx设定限速_Nginx设置反向代理及反向代理缓存
Nginx地址重写 Nginx rewrite rewrite语法规则1).变量名可以使用 "=" 或 "!=" 运算符~ 区分大小写~* 不区分大小写^~ 禁 ...
- maven3实战之设置HTTP代理
maven3实战之设置HTTP代理 ---------- 有时候你所在的公司基于安全因素考虑,要求你使用通过安全认证的代理访问因特网.这种情况下,就需要为Maven配置HTTP代理,才能让它正常访问外 ...
- 快捷设置IE代理小工具
时间:2015-02-06 起因: 公司新装了PLM系统,用这个系统必须使用指定IP段的IP才能访问.所以为了还能愉快的继续使用代理进行特定网站的访问,我们必须要频繁的去设置IE代理,这也太麻烦了吧. ...
随机推荐
- Python回调函数用法实例详解
本文实例讲述了Python回调函数用法.分享给大家供大家参考.具体分析如下: 一.百度百科上对回调函数的解释: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函 ...
- js call apply
参考文章:https://www.zhihu.com/question/20289071 引用:call 和 apply 都是为了改变某个函数运行时的 context 即上下文而存在的,换句话说,就是 ...
- unity3d多线程坑
单独起了一个线程来处理网络相关操作,比较常规的做法.本身没啥特别的东西,碰到了一个不大不小的坑折腾了好久,记录下来吧. 简单的说就是子线程中抛出的异常,如果没有catch的话,会导致子线程悄无声息的退 ...
- angularjs 1.x $q模块使用
什么是$q $q是angularjs1.x中内置服务,在需要使用时可以注入它. angular.module('app').controller('myController', function my ...
- android TCP 客户端(仅接收数据)
配合log4net使用,用来接收调试信息.因此,此客户端只管通过TCP接收字符串数据,然后显示在界面上. 接收TCP数据 try { Socket s = new Socket("192.1 ...
- 【转】IE劫持原理 BHO
为什么"浏览器劫持"能够如此猖狂呢?放眼众多论坛的求助贴,我们不时可以看到诸如"我的IE被主页被改了,我用杀毒工具扫了一遍都没发现病毒,我把主页改回自己的地址,可是一重启 ...
- oracle根据视图删除表
delete from t_fwaqjcjl where zcbm in (select zcbm from view_fwaqjcjl where 1=1 )
- Selenium中的几种等待方式,需特别注意implicitlyWait的用法
摘:http://blog.csdn.net/pf20050904/article/details/20052485 最近在项目过程中使用selenium 判断元素是否存在的时候 遇到一个很坑爹的问题 ...
- ADO.NET Entity Framework
ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案, 早期被称为 ObjectSpace,现已经包含在 V ...
- 归并求逆序数(逆序对数) && 线段树求逆序数
Brainman Time Limit: 1000 MS Memory Limit: 30000 KB 64-bit integer IO format: %I64d , %I64u Java c ...