我们在做一个练习项目,需要对系统中的用户充值,但目前没有公司资质,所以做一个假的充值。。
YangMVC 我们老师开发的。 https://gitee.com/yangtf/YangMVC
<div class="father">
<form action="buy" method="post" enctype="multipart/form-data">
<div class="ititle">积分:</div>
<input class="ititle" type="text" name="adds"></input>
<div class="clear"></div>
<div class="note">(积分充值规则:1元=10积分)</div>
<div class="clear"></div>
<div class="submit"><input type='submit' ></input></div>
</form>
</div>
public void buy(){
DBTool tool = Model.tool("user");
if(isPost()){
Integer uid = sessInt("uid");
Model m = tool.get(uid);
Integer score =m.getInt("score");
m.put("score",score+paramInt("adds")).save();
jump("/person/myorder");
return;
}
render("/buy.jsp");
}
在代码中, 首先使用sessInt获取当前登录用户的id,随后使用DBTool的get方法进行主键查询。得到一个Model对象 。这里面存储着数据库中用户的信息。他的score字段为积分。。。
使用m.getInt获取当前积分。 使用paramInt获取表单中用户输入的积分。(即模拟的充值的积分)
相加后,使用m.put写回去。 再使用save保存到数据库中。
做完以后跳转到PersonController的myorder方法( jump函数)
在登录的时候得知了用户id
public void log() {
if(isPost()){
String name=param("uname");
String pwd =param("upwd");
Model u=Model.tool("user").all().eq("uname", name).one();
if(u!=null && u.get("upwd").equals(pwd)){
sess("uid",u.get("uid")); //这里写了uid。。。。
sess("uname",name);
sess("type","user");
jump("after");
return;
}else{
jump("wlog");
}
}
jump("index");
}