查询功能怎么实现安卓_移动商城的分类查询设计、商品详情页设计、用户下单功能实现...

商城的分类查询设计

商城的分类查询主要用于展示一个一级分类列表,通过一级分类列表提供的分类ID(作为参数),跳转到商品控制器中进行商品查询。

分类查询主要是通过分类列表进行跳转的。分类主页的控制器SortsController 的设计代码如下所示:

@Restcontroller@RequestMapping( "/sorts")public class SortsController {CAutowiredprivate SortsRestService sortsRestService;@RequestMapping(value="/index")public ModelAndview findAll() {Gson gson= TreeMapConvert.getGson();List sortses = gson.fromJson(sortsRestService.findist (),newTypeToken>(){].getType());return new ModelAndView ( "sorts/index", "sortses",sortses);}}

即通过链接“lindex”所在的方法中,取得分类列表数据,然后返回分类主页视图设计“index.html”。

分类主页视图设计是一个H5单页,主体部分的实现代码如下所示:

这里只是简单地使用一个“th:each”循环语句,将一级分类列表逐条进行显示。当在操作界面上单击一个分类时,将使用分类ID作为参数,跳转到商品控制器设计中进行商品查询。

分类查询的显示效果如图9-2所示。

1d6bc1b90a913c8a098e83ad991e6a8f.png

商品详情页设计

首先通过控制器调用商品服务接口GoodsRestService的 findByld获取数据,然后返回一个页面视图设计“show.html”,其中,控制器的实现代码如下所示:

@RestController@RequestMapping ( "/goods")public class GoodsController {@Autowiredprivate GoodsRestService goodsRestService;@RequestMapping (value="/{id} "')public ModelAndView findById (@Pathvariable Long id)String json = goodsRestService. findById(id);GoodsQo goodsQo =new Gson().fromJson(json, GoodsQo.class);return new ModelAndView ("goods/show", "goods",goodsQ0);}}

页面视图设计“show.html”是一个H5单页,实现代码如下所示:

商品内容article,aside,dialog, footer,header,section, footer,nav,figure,menuldisplay:block }
商品名称
价格:¥67/span>
返回商城立即购买

详情页显示了商品的详细信息,并且提供了“立即购买”的跳转链接。单击“立即购买”按钮后将进行用户登录状态检查。

商品详情页设计完成之后,显示效果如图9-3所示。

c626673e317915e60ce6e06e006090bb.png

用户下单功能实现

当用户在商品详情页中单击“立即购买”按钮之后,将调用OrderController控制器,代码如下所示:

@RestController@RequestMapping ("/order")@slf4jpublic class OrderController {@Autowiredprivate GoodsRestService goodsRestService;@ReguestMapping (value=" /accounts/{id} ")public ModelAndView accounts (ModelMap model, (PathVariable Long id)(String json = goodsRestService.findById(id);GoodsQo goodsQo = new Gson ().fromJson(json,GoodsQo.class);return new ModelAndView( "order/accounts", "goods", goodsQ0);}}

首先通过商品ID取得商品信息,然后,返回一个账号视图设计。在这个视图设计中,一方面显示商品的价格,另一方面进行用户登录状态检查。

账号视图设计“accounts.html”是一个H5单页,完整的实现代码如下所示:

结算

确认购买吗?

xinput class="accountsBtn" type="submit" value="确定"/>
关于我们

在这个设计中,首先对用户的账号进行检查。如果是未登录状态,则转到登录页面提示用户登录。

如果用户已经登录,则提示用户确认购买,然后执行购买下单的操作。如果下单成功,则提示“购买成功”,并从操作界面跳转到订单列表页面。

注意:这里为了“跑通”整个下单的操作流程,省略了支付的环节。

用户进行购买下单的操作是通过控制器OrderController实现的,代码如下所示:

@RestController@RequestMapping ( "/order")@slf4jpublic class OrderController {@Autowiredprivate OrderRestService orderRestService;CAutowiredprivate GoodsRestService goodsRestService;@RequestMapping(value="/buyone", method = RequestMethod. POST)public String buyone (GoodsQo buyone){String json = goodsRestService.findById (buyone.getId());GoodsQo goodsQ0 = new Gson().fromJson(json,GoodsQo.class);if(goodsQ0 !=null){Integer sum = 1;OrderDetailQ0 orderDetailQ0 = new OrderDetailQ0();orderDetailQ0.setGoodsid(goodsQo.getId());orderDetailQo.setGoodsname(goodsQo.getName());orderDetai1Qo.setPrice(goodsQo.getPrice());orderDetailQ0.setPhoto (goodsQo.getPhoto());orderDetailQo.setNums(sum);orderDetailQ0.setMoney(sum * goodsQo.getPrice());List<0rderDetailQ0> list = new ArrayList<>();1ist .add(orderDetailQ0);OrderQo orderQ0 = new OrderQo();orderQo.setOrder Details(list);//借用分类ID来传输用户编号orderQo.setUserid (buyone.getSubsid());orderQo.setMerchantid(goodsQo.getMerchantid());orderQo.setAmount(sum *goodsQo.getPrice());orderQo.setOrderNo (new Long ( (new Date()).getTime()).toString()//已付款orderQo. setStatus (StatusEnum. PAID.getCode());orderQo.setCreated(new Date());String response = orderRestService.create (orderQo);1oa.info ( "====下单结果:"+response);//更新库存if(response !=null) {Integer buynum = goodsQo.getBuynum() == null ? sum : sumgoodsQ0 .getBuynum();goodsQo.setBuynum (buynum);goodsRestService. update(goodsQo);//下单成功return "1";}else{//下单失败return "-1";}//系统异常return "-2";}}

首先获取商品信息和用户信息,然后根据这些信息,调用订单服务接口创建一个新订单,最后调用商品服务接口更新库存信息。

如果下单成功,则通过上面的视图设计,提示下单成功。提示信息会停留600ms,随后自动跳转到订单的主页中。在订单主页中用户可以看到订单列表。

a19be36c795db80c8d134939b36ad88a.png

本文给大家讲解的内容SpringCloud微服务架构实战:商城的分类查询设计、商品详情页设计、用户下单功能实现

  1. 下篇文章给大家讲解的是SpringCloud微服务架构实战:商城的用户登录与账户切换设计、订单查询设计、集成测试;
  2. 觉得文章不错的朋友可以转发此文关注小编;
  3. 感谢大家的支持!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值