当前位置: 首页 > 工具软件 > YangMVC > 使用案例 >

使用YangMVC进行模拟的充值操作

璩和璧
2023-12-01

说明

我们在做一个练习项目,需要对系统中的用户充值,但目前没有公司资质,所以做一个假的充值。。

框架

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函数)

session中的用户id怎么来的?

在登录的时候得知了用户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");
	}
 类似资料: