package com.ch.ebusiness.service.before;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.ui.Model;
import com.ch.ebusiness.entity.Goods;
import com.ch.ebusiness.entity.Order;
import com.ch.ebusiness.repository.before.CartRepository;
import com.ch.ebusiness.repository.before.IndexRepository;
import com.ch.ebusiness.util.MD5Util;
import com.ch.ebusiness.util.MyUtil;
@Service
public class CartServiceImpl implements CartService{
@Autowired
private CartRepository cartRepository;
@Autowired
private IndexRepository indexRepository;
@Override
public String putCart(Goods goods, Model model, HttpSession session) {
Integer uid = MyUtil.getUser(session).getId();
//如果商品已在购物车,只更新购买数量
if(cartRepository.isPutCart(uid, goods.getId()).size() > 0) {
cartRepository.updateCart(uid, goods.getId(), goods.getBuyNumber());
}else {//新增到购物车
cartRepository.putCart(uid, goods.getId(), goods.getBuyNumber());
}
//跳转到查询购物车
return "forward:/cart/selectCart";
}
@Override
public String selectCart(Model model, HttpSession session, String act) {
List<Map<String, Object>> list = cartRepository.selectCart(MyUtil.getUser(session).getId());
double sum = 0;
for (Map<String, Object> map : list) {
sum = sum + (Double)map.get("smallsum");
}
model.addAttribute("total", sum);
model.addAttribute("cartlist", list);
//广告区商品
model.addAttribute("advertisementGoods", indexRepository.selectAdvertisementGoods());
//导航栏商品类型
model.addAttribute("goodsType", indexRepository.selectGoodsType());
if("toCount".equals(act)) {//去结算页面
return "user/count";
}
return "user/cart";
}
@Override
public String focus(Model model, HttpSession session, Integer gid) {
Integer uid = MyUtil.getUser(session).getId();
List<Map<String,Object>> list = cartRepository.isFocus(uid, gid);
//判断是否已收藏
if(list.size() > 0) {
return "no";
}else {
cartRepository.focus(uid, gid);
return "ok";
}
}
@Override
public String deleteCart(HttpSession session, Integer gid) {
Integer uid = MyUtil.getUser(session).getId();
cartRepository.deleteAgoods(uid, gid);
return "forward:/cart/selectCart";
}
@Override
public String clearCart(HttpSession session) {
cartRepository.clear(MyUtil.getUser(session).getId());
return "forward:/cart/selectCart";
}
@Override
@Transactional
public String submitOrder(Order order, Model model, HttpSession session) {
order.setBusertable_id(MyUtil.getUser(session).getId());
//生成订单
cartRepository.addOrder(order);
//生成订单详情
cartRepository.addOrderDetail(order.getId(), MyUtil.getUser(session).getId());
//减少商品库存
List<Map<String,Object>> listGoods = cartRepository.selectGoodsShop(MyUtil.getUser(session).getId());
for (Map<String, Object> map : listGoods) {
cartRepository.updateStore(map);
}
//清空购物车
cartRepository.clear(MyUtil.getUser(session).getId());
model.addAttribute("order", order);
return "user/pay";
}
@Override
public String pay(Order order) {
cartRepository.pay(order.getId());
return "ok";
}
@Override
public String myFocus(Model model, HttpSession session) {
//广告区商品
model.addAttribute("advertisementGoods", indexRepository.selectAdvertisementGoods());
//导航栏商品类型
model.addAttribute("goodsType", indexRepository.selectGoodsType());
model.addAttribute("myFocus", cartRepository.myFocus(MyUtil.getUser(session).getId()));
return "user/myFocus";
}
@Override
public String myOder(Model model, HttpSession session) {
//广告区商品
model.addAttribute("advertisementGoods", indexRepository.selectAdvertisementGoods());
//导航栏商品类型
model.addAttribute("goodsType", indexRepository.selectGoodsType());
model.addAttribute("myOrder", cartRepository.myOrder(MyUtil.getUser(session).getId()));
return "user/myOrder";
}
@Override
public String orderDetail(Model model, Integer id) {
model.addAttribute("orderDetail", cartRepository.orderDetail(id));
return "user/orderDetail";
}
@Override
public String updateUpwd(HttpSession session, String bpwd) {
Integer uid = MyUtil.getUser(session).getId();
cartRepository.updateUpwd(uid, MD5Util.MD5(bpwd));
return "forward:/user/toLogin";
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
Spring Boot框架实现网页端电子商务平台
共234个文件
html:48个
java:43个
class:42个
需积分: 0 4 下载量 13 浏览量
2022-12-31
10:24:06
上传
评论 1
收藏 4.7MB ZIP 举报
温馨提示
使用Spring Boot技术实现电子商务平台,可以登录,注册,并且查看后台商品信息,加入购物车等等操作,界面美观,非常使用。
资源推荐
资源详情
资源评论
收起资源包目录
Spring Boot框架实现网页端电子商务平台 (234个子文件)
CartServiceImpl.class 6KB
GoodsServiceImpl.class 5KB
ValidateCodeController.class 4KB
CartController.class 4KB
Goods.class 3KB
UserServiceImpl.class 3KB
UserController.class 3KB
GoodsController.class 3KB
UserAndOrderAndOutServiceImpl.class 2KB
TypeServiceImpl.class 2KB
IndexServiceImpl.class 2KB
MD5Util.class 2KB
UserAndOrderAndOutController.class 2KB
CartRepository.class 2KB
BUser.class 2KB
TypeController.class 2KB
AdminServiceImpl.class 2KB
MyUtil.class 2KB
Order.class 1KB
AdminController.class 1KB
CartService.class 1KB
IndexController.class 1KB
GlobalExceptionHandleController.class 1KB
GoodsRepository.class 1KB
UserAndOrderAndOutRepository.class 998B
BeforeBaseController.class 983B
AdminBaseController.class 978B
IndexRepository.class 933B
GoodsService.class 880B
EBusinessApplication.class 850B
TypeRepository.class 817B
GoodsType.class 796B
AUser.class 764B
EBusinessApplicationTests.class 637B
NoLoginException.class 549B
UserRepository.class 538B
UserService.class 442B
AdminRepository.class 437B
TypeService.class 430B
IndexService.class 426B
UserAndOrderAndOutService.class 371B
AdminService.class 332B
.classpath 2KB
mvnw.cmd 6KB
bootstrap.css 143KB
bootstrap.css 143KB
bootstrap.min.css 135KB
bootstrap.min.css 135KB
bootstrap-theme.css 26KB
bootstrap-theme.css 26KB
bootstrap-theme.min.css 23KB
bootstrap-theme.min.css 23KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.eot 20KB
.gitignore 333B
selectGoods.html 5KB
selectGoods.html 5KB
header.html 4KB
header.html 4KB
updateAGoods.html 4KB
updateAGoods.html 4KB
addGoods.html 3KB
addGoods.html 3KB
register.html 3KB
register.html 3KB
goodsDetail.html 3KB
goodsDetail.html 3KB
index.html 3KB
index.html 3KB
selectGoodsType.html 3KB
selectGoodsType.html 3KB
allUser.html 3KB
allUser.html 3KB
cart.html 3KB
cart.html 3KB
login.html 2KB
login.html 2KB
myOrder.html 2KB
myOrder.html 2KB
searchResult.html 2KB
searchResult.html 2KB
allOrder.html 2KB
allOrder.html 2KB
header.html 2KB
header.html 2KB
login.html 2KB
login.html 2KB
count.html 2KB
count.html 2KB
pay.html 2KB
pay.html 2KB
userInfo.html 1KB
userInfo.html 1KB
detail.html 1KB
detail.html 1KB
orderDetail.html 1KB
orderDetail.html 1KB
myFocus.html 1KB
myFocus.html 1KB
addType.html 1KB
共 234 条
- 1
- 2
- 3
资源评论
showswoller
- 粉丝: 7069
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功