第八天——实习

package com.yiji.hamster.web.customer;

import java.io.IOException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;

import com.yiji.hamster.common.utils.DateUtil;
import com.yiji.hamster.common.utils.MiscUtil;
import com.yiji.hamster.common.utils.WebUtil;
import com.yiji.hamster.integration.customer.service.UserInfoQuery;
import com.yjf.common.lang.util.PageList;
import com.yjf.common.lang.util.Paginator;
import com.yjf.common.lang.util.StringUtil;
import com.yjf.common.service.enums.customer.RegisterFromEnum;
import com.yjf.customer.service.info.UserInfo;
import com.yjf.customer.service.order.UserQueryOrder;
import com.yjf.customer.service.result.UserQueryListResult;
import com.yjf.marmot.log.annotation.BossLogTracker;


@Controller
public class UserInfoQueryController {
	@Autowired
	UserInfoQuery userInfoQuery;
	
	
	@BossLogTracker(description = "用户信息查询")
	@RequestMapping(value= "/customer/toUserLogin.htm")
	public String reUserIdQuery(ModelMap modelMap, HttpServletRequest request,
			HttpServletResponse response) throws IOException{
		UserQueryOrder order = new UserQueryOrder();
		//将request中的参数,传递到order中去.注意(在页面中的name和orer类的属性名字相同,且枚举类型不能传递)
		WebUtil.setPoPropertyByRequest(order, request);
		
		//将页面中的枚举类型传递到order中去
		if (StringUtil.isNotBlank(request.getParameter("registerFrom"))) 
		{
			order.setRegisterFrom(RegisterFromEnum.getByCode(request.getParameter("registerFrom")));
		}
		//由于时间格式的原因,需要转换一下在传入到order中去
		order.setRawAddTimeStart(DateUtil.parseDayBegin(request.getParameter("rawAddTimeStart")));
		order.setRawAddTimeEnd(DateUtil.parseDayEnd(request.getParameter("rawAddTimeEnd")));
		//设置页面数,分页查询必须的步骤
		int pagNum = new Integer(
			StringUtil.isNotBlank(request.getParameter("pageNum")) ? request
			.getParameter("pageNum") : "1");
		
		order.setCurrPage(pagNum);
		order.setPageSize(10);
		//调用integration层的函数。在integration中调用外部接口。
		UserQueryListResult userListResult = userInfoQuery.findUserInfoByUserId(order);
		
		//通过返回类型的特有类,以及返回结果判断
		if(userListResult.isSuccess() && userListResult.getUserInfoList()!=null)
		{
			long items = userListResult.getRecordCount();//返回类型是long, 开始一直以为是int。
			Paginator paginator = new Paginator(10, (int)items);//构造一个分页类,分页查询中必不可少
			paginator.setPage(userListResult.getCurrPage());//设置当前页,一直也为时设置页面。看代码不仔细啊
			//泛型中的知识,可以修改前面的类型来匹配后面的东西,不用刻意去匹配前面的类型。为了这个加了好多无用的代码。
			modelMap.addAttribute("pageList",
					new PageList<UserInfo>(userListResult.getUserInfoList(), paginator));
		}
		//将order变成map类传递回去(日期和注册类型,避免了再一次的书写)。MiscUtil是一个工具类
		modelMap.addAllAttributes(MiscUtil.covertPoToMap(order));
		modelMap.addAttribute("listRegisterFromEnum", RegisterFromEnum.values());
		return "/customer/userInfoQuery.vm";
	}
	
	
	
}



}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值