显示勾选的购物车数据
1.持久层
1.规划sql语句
用户在购物车列表页面通过随机勾选相关的商品,在点击结算俺就后,跳转到结算页面,在这个页面需要展示用户在上个页面说勾选的购物车对应的数据。列表的展示,而展示的内容还是在购物车里
SELECT
cid,
uid,
pid,
t_cart.price,
t_cart.num,
t_product.title,
t_product.price AS realPrice,
t_product.image
FROM
t_cart
LEFT JOIN t_product ON t_cart.pid = t_product.id
WHERE
cid IN (?, ?, ?)
ORDER BY
t_cart.created_time DESC
接口与抽象方法
Lis
findVOByCid(Integer cid)
2.实现抽象方法
/**
* 结算页面查询购物车里被选中的商品
* @param uid
* @param cids
* @return
*/
@Override
public List<CartVo> getVOByCid(Integer uid, Integer[] cids) {
List<CartVo> list = cartMapper.findVOByCid(cids);
Iterator<CartVo> iterator = list.iterator();
while (iterator.hasNext()) {
CartVo next = iterator.next();
if (!next.getUid().equals(uid)){
list.remove(next);
}
}
return list;
}
控制层
1.请求设计
/carts/list
Integer cids HttpSession session
/JsonResult<List
>
2.实现方法
/**
* 刷新购物车列表
* @param ssession
* @return
*/
@RequestMapping({"list"})
public JsonResult<List<CartVo>> getVoByCid(Integer[] cids,HttpSession ssession){
List<CartVo> voByCid = cartService.getVOByCid(getUidFromSession(ssession), cids);
return new JsonResult<List<CartVo>>(OK,voByCid);
}
前端页面
<script type="text/javascript">
$(document).ready(function() {
showCarts();
})
function showCarts() {
$("#cart-list").empty();
$.ajax({
url :"/carts/list",
type:"post",
data:location.search.substring(1),
dataType:"json",
success : function(json) {
if (json.state == 200) {
let list = json.data;
let allCount = 0;
let allPrice = 0;
for (let i = 0; i < list.length ; i++) {
//TODO
let tr = '<tr>\n' +
'\t\t\t\t\t\t\t\t\t\t\t<td><img src="..#{image}collect.png" class="img-responsive" /></td>\n' +
'\t\t\t\t\t\t\t\t\t\t\t<td>#{title}</td>\n' +
'\t\t\t\t\t\t\t\t\t\t\t<td>¥<span>#{price}</span></td>\n' +
'\t\t\t\t\t\t\t\t\t\t\t<td>#{num}</td>\n' +
'\t\t\t\t\t\t\t\t\t\t\t<td><span>#{totalPrice}</span></td>\n' +
'\t\t\t\t\t\t\t\t\t\t</tr>';
tr = tr.replace(/#{image}/g,list[i].image);
tr = tr.replace(/#{title}/g,list[i].title);
tr = tr.replace(/#{price}/g,list[i].price);
tr = tr.replace(/#{num}/g,list[i].num);
tr = tr.replace(/#{totalPrice}/g,list[i].price *list[i].num);
$("#cart-list").append(tr);
allCount += list[i].num;
allPrice +=list[i].price * list[i].num;
}
//更新支付页面的总价和总件数
$("#all-count").html(allCount);
$("#all-price").html(allPrice);
} else {
alert("用户收货信息加载失败");
}
}
});
}
</script>
原文地址:http://www.cnblogs.com/wiseleer/p/16876445.html
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请务用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性