ssm后台管理实例(SSM搭建二手市场交易平台)
ssm后台管理实例(SSM搭建二手市场交易平台)首先我们打开OrderController.java这个文件,里面写入代码如下:用户个人中心查看订单/*** * 前台获取订单详情 * @author lenovo * */ @RequestMapping(value = "detail.do") //这里就是具体的每个方法的url链接 @ResponseBody //自动序列化json功能 public ServerResponse detail(HttpSession session Long orderNo){ //验证用户是否登录 User user =(User) session.getAttribute(Const.CURRENT_USER); //未登录需要用户强制登录 if(user ==null){ return ServerResponse.createByErrorCodeMessage(Res
写在前面
本篇我们来完成前台获取订单详情,用户个人中心查看订单以及后台管理员订单管理等功能的开发,里面涉及到的知识点挺多的,需要好好理解。
前台获取订单详情
首先我们打开OrderController.java这个文件,里面写入代码如下:
/*** * 前台获取订单详情 * @author lenovo * */ @RequestMapping(value = "detail.do") //这里就是具体的每个方法的url链接 @ResponseBody //自动序列化json功能 public ServerResponse detail(HttpSession session Long orderNo){ //验证用户是否登录 User user =(User) session.getAttribute(Const.CURRENT_USER); //未登录需要用户强制登录 if(user ==null){ return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode() ResponseCode.NEED_LOGIN.getDesc()); } //实现我们前台获取订单详情的逻辑 return iOrderService.getorderDetail(user.getId() orderNo); }
接着打开IOrderService.Java文件,里面新增以下代码:
ServerResponse<OrderVo> getOrderDetail(Integer userId Long orderNo); //前台获取订单详情
最后我们打开OrderServiceImpl.java文件,里面的新增代码如下:
/*** * 前台获取订单详情 * @author lenovo * */ public ServerResponse<OrderVo> getOrderDetail(Integer userId Long orderNo){ Order order =orderMapper.selectOrderByUserIdAndOrderNo(userId orderNo); if(order !=null){ List<OrderItem> orderItemList =OrderItemMapper.getOrderItemByUserIdAndOrderNo(userId orderNo); OrderVo orderVo =assembleOrderVo(order orderItemList); return ServerResponse.createBySuccess(orderVo); } return ServerResponse.createByErrorMessage("没有找到该订单"); }
这样我们前台获取订单详情功能开发就完成了,接下来我们来开发用户个人中心查看订单这个功能。
用户个人中心查看订单
首先我们打开OrderController.java这个文件,里面写入代码如下:
/*** * 用户个人中心查看订单(需要分页) * @author lenovo * */ @RequestMapping(value = "list.do") //这里就是具体的每个方法的url链接 @ResponseBody //自动序列化json功能 public ServerResponse list(HttpSession session @RequestParam(value = "pageNum" defaultValue = "1")int pageNum @RequestParam(value = "pageSize" defaultValue = "10")int pageSize){ //验证用户是否登录 User user =(User) session.getAttribute(Const.CURRENT_USER); //未登录需要用户强制登录 if(user ==null){ return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode() ResponseCode.NEED_LOGIN.getDesc()); } //实现我们用户个人中心查看订单的逻辑 return iOrderService.getOrderList(user.getId() pageNum pageSize); }
接着打开IOrderService.Java文件,里面新增以下代码:
ServerResponse<PageInfo> getOrderList(Integer userId int pageNum int pageSize); //前台用户个人中心查看订单(需要分页)
最后我们打开OrderServiceImpl.java文件,里面的新增代码如下:
/*** * 前台用户个人中心查看订单(需要分页) * @author lenovo * */ public ServerResponse<PageInfo> getOrderList(Integer userId int pageNum int pageSize){ PageHelper.startPage(pageNum pageSize); List<Order> orderList =orderMapper.selectOrderByUserId(userId); List<OrderVo> orderVoList =assembleOrderVoList(orderList userId); PageInfo pageResult =new PageInfo(orderList); pageResult.setList(orderVoList); return ServerResponse.createBySuccess(pageResult); } private List<OrderVo> assembleOrderVoList(List<Order> orderList Integer userId){ //将List<Order> 对象转换为List<OrderVo>对象 List<OrderVo> orderVoList =Lists.newArrayList(); for(Order order:orderList){ List<OrderItem> orderItemList =Lists.newArrayList(); //判断一下是不是管理员,管理员查询时不需要传入参数userId if(userId ==null){ //todo 管理员查询时不需要传入参数userId orderItemList =orderItemMapper.getOrderItemByOrderNo(order.getOrderNo()); }else{ orderItemList =orderItemMapper.getOrderItemByUserIdAndOrderNo(userId order.getOrderNo()); } OrderVo orderVo =assembleOrderVo(order orderItemList); orderVoList.add(orderVo); } return orderVoList; }
注意一下,这里我们管理员查询订单的时候是可以不用userId的,因此需要自己去配置一个查询语句:orderItemList =orderItemMapper.getOrderItemByOrderNo(order.getOrderNo());我们打开OrderItemMapper.java文件,里面新增代码如下:
List<OrderItem> getOrderItemByOrderNo(@Param(value = "orderNo")Long orderNo);
然后打开OrderItemMapper.xml文件,里面新增代码如下:
<select id="getOrderItemByOrderNo" resultMap="BaseResultMap" parameterType="long"> select <include refid="Base_Column_List"/> from store_order_item where order_no =#{orderNo} </select>
这样我们前台用户个人中心查看订单的功能就实现了,那么也就意味着我们前台关于订单的功能开发也就完成了。接下来我们需要去完成后台管理员关于订单模块的功能。
那么到此为止,我们所有的功能都开发完毕,后面就是服务器的配置与部署了。