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代理,这也太麻烦了吧. ...
随机推荐
- 删除从第i个位置开始,长度为len的子串
/*字符串采用带头结点的链表存储,设计算法函数void delstring(linkstring s, int i,int len)在字符串s中删除从第i个位置开始,长度为len的子串.*//**** ...
- JS-随机排序
var arr = [ 1,2,3,4,5,6,7,8 ];arr.sort(function ( a, b ) { return Math.random() - 0.5;});alert( a ...
- 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 ...
- Everything搜索结果显示0 Object
比较过windows本身的文档搜索功能,Everything的本地文档搜索能力简直令人咋舌,更逆天的是软件本身体积很小. 问题:打开everything时,文件列表消失,软件下方信息为0 object ...
- Microsoft.Office.Interop.Excel 程序集引用 ,Microsoft.Office.Interop.Excel.ApplicationClass 无法嵌入互操作类型
using Microsoft.Office.Interop.Excel 添加程序集引用 方法:在引用--程序集--扩展中,添加引用Microsoft.Office.Interop.Excel,此 ...
- React Native填坑之旅--组件生命周期
这次我们来填React Native生命周期的坑.这一点非常重要,需要有一个清晰的认识.如果你了解Android或者iOS的话,你会非常熟悉我们今天要说的的内容. 基本上一个React Native的 ...
- .NET 4.5+项目迁移.NET Core的问题记录
.NET 4.5+项目迁移.NET Core的问题记录 这几天试着把目前的开发框架迁移到新的.net core平台,中间遇到的问题在这里简单记录一下. 迁移过程遇到的最大的问题IOC容器.我目前使用的 ...
- Freemarker 内置函数 数字、字符串、日期格式化用法介绍
在用FreeMarker过程中,感觉FreeMarker的字符串,日期,集合等处理能力还是很强大的,上网搜了一些资料,整理如下,以便能帮助大家更熟练的应用Freemarker完成项目开发. 一.Seq ...
- android ProgressBar 进度条的进度两端是圆角的方法
转自 http://www.jianshu.com/p/6e7ea842d5ce 另外工作原理可以参考http://blog.csdn.net/lan603168/article/details/44 ...
- 第58讲:Scala中Abstract Types实战详解
这一讲我们来学习下抽像类型.让我们看下代码 package scala.learnimport scala.io.BufferedSourceimport scala.io.Source trait ...