package com.bjpowernode.service;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.bjpowernode.dao.OsProductMapper;
import com.bjpowernode.dao.OsProductSpecificationMapper;
import com.bjpowernode.dao.OsSpecificationAttributeMapper;
import com.bjpowernode.po.OsProduct;
import com.bjpowernode.po.OsProductSpecification;
import com.bjpowernode.po.OsSpecificationAttribute;
import com.bjpowernode.vo.CartVO;
import com.bjpowernode.vo.ShoppingCartVO;
import javax.servlet.http.HttpSession;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
/**
* @Author bjpowernode
* @Date 2017/8/11 16:15
*/
@Service
public class OsProductCartService {
@Autowired
private OsProductSpecificationMapper osProductSpecificationMapper;
@Autowired
private OsProductMapper osProductMapper;
@Autowired
private OsSpecificationAttributeMapper osSpecificationAttributeMapper;
//添加购物车商品
public CartVO insertProductCart(Long productSpecNumber, HttpSession session) {
OsProductSpecification osProductSpecification = osProductSpecificationMapper.selectByProductSpecNumber(productSpecNumber);
CartVO cartVO = (CartVO) session.getAttribute("cart");
//如果当前商品有规格,规格商品已在购物车 数量加1
if(osProductSpecification != null && (!"".equals(osProductSpecification.getSpec()))) {
Boolean flag = false;
List<ShoppingCartVO> shoppingCartVOs = cartVO.getShoppingCartVOs();
for (ShoppingCartVO vo : shoppingCartVOs) {
if (osProductSpecification.getProductSpecNumber().longValue()==(vo.getProductSpecNumber().longValue())) {
vo.setBuyNumber(vo.getBuyNumber() + 1);
flag = true;
break;
}
}
if (flag == false) {
//如果当前商品不在购物车 新建vo并加入
ShoppingCartVO shoppingCartVO = new ShoppingCartVO();
shoppingCartVO.setProductSpecNumber(osProductSpecification.getProductSpecNumber());
shoppingCartVO.setBuyNumber(1);
shoppingCartVO.setStock(osProductSpecification.getStock());
shoppingCartVO.setSalesVolume(osProductSpecification.getSalesVolume());
shoppingCartVO.setPrice(osProductSpecification.getPrice());
shoppingCartVO.setSpec(osProductSpecification.getSpec());
shoppingCartVO.setProductNumber(osProductMapper.selectProductNumberByProductId(osProductSpecification.getProductId()));
shoppingCartVO.setName(osProductMapper.selectNameByProductId(osProductSpecification.getProductId()));
shoppingCartVO.setPicImg(osProductMapper.selectPicImgByProductId(osProductSpecification.getProductId()));
//规格名称处理
String s = osProductSpecification.getSpec();
List<String> list = new ArrayList<String>();
// 商品规格进行拆分
if (s != null && (!s.equals(""))) {
String[] sp = s.split(",");
for (String ss : sp) {
OsSpecificationAttribute osSpecificationAttribute = osSpecificationAttributeMapper.selectByPrimaryKey(Long.parseLong(ss));
list.add(osSpecificationAttribute.getName());
}
}
shoppingCartVO.setSpecificationName(list);
cartVO.getShoppingCartVOs().add(shoppingCartVO);
}
} else {
//如果商品没有规格
Boolean flag = false;
List<ShoppingCartVO> shoppingCartVOs = cartVO.getShoppingCartVOs();
for(ShoppingCartVO shop : shoppingCartVOs) {
if (productSpecNumber.longValue()==(shop.getProductNumber().longValue())) {
shop.setBuyNumber(shop.getBuyNumber() + 1);
flag = true;
break;
}
}
if (flag == false) {
//如果当前商品不在购物车 新建vo并加入
ShoppingCartVO shoppingCartVO = new ShoppingCartVO();
shoppingCartVO.setProductSpecNumber(osProductSpecification.getProductSpecNumber());
shoppingCartVO.setBuyNumber(1);
shoppingCartVO.setStock(osProductSpecification.getStock());
shoppingCartVO.setSalesVolume(osProductSpecification.getSalesVolume());
shoppingCartVO.setPrice(osProductSpecification.getPrice());
shoppingCartVO.setProductNumber(osProductMapper.selectProductNumberByProductId(osProductSpecification.getProductId()));
shoppingCartVO.setName(osProductMapper.selectNameByProductId(osProductSpecification.getProductId()));
shoppingCartVO.setPicImg(osProductMapper.selectPicImgByProductId(osProductSpecification.getProductId()));
cartVO.getShoppingCartVOs().add(shoppingCartVO);
}
}
return cartVO;
}
//查看购物车列表是否有该商品
public Boolean getProductExsit(Long productSpecNumber, HttpSession session) {
OsProductSpecification osProductSpecification = osProductSpecificationMapper.selectByProductSpecNumber(productSpecNumber);
Boolean flag = false;
CartVO cartVO = (CartVO) session.getAttribute("cart");
//如果当前规格商品已在购物车 数量加1
List<ShoppingCartVO> shoppingCartVOs = cartVO.getShoppingCartVOs();
for (ShoppingCartVO vo : shoppingCartVOs) {
if (osProductSpecification.getProductSpecNumber().longValue()==(vo.getProductSpecNumber().longValue())) {
flag = true;
break;
}
}
return flag;
}
//减少购物车商品
public CartVO deProductCart(Long productSpecNumber, HttpSession session, Integer buyNumber) {
OsProductSpecification osProductSpecification = osProductSpecificationMapper.selectByProductSpecNumber(productSpecNumber);
CartVO cartVO = (CartVO) session.getAttribute("cart");
//如果当前商品有规格,规格商品已在购物车 数量-1
if(osProductSpecification != null && (!"".equals(osProductSpecification.getSpec()))) {
List<ShoppingCartVO> shoppingCartVOs = cartVO.getShoppingCartVOs();
for (ShoppingCartVO vo : shoppingCartVOs) {
if (osProductSpecification.getProductSpecNumber().longValue()==(vo.getProductSpecNumber().longValue())) {
vo.setBuyNumber(buyNumber);
break;
}
}
} else {
//如果商品没有规格
List<ShoppingCartVO> shoppingCartVOs = cartVO.getShoppingCartVOs();
for(ShoppingCartVO shop : shoppingCartVOs) {
if (productSpecNumber.longValue()==(shop.getProductNumber().longValue())) {
shop.setBuyNumber(buyNumber);
break;
}
}
}
return cartVO;
}
//增加购物车商品
public CartVO insertProductCart(Long productSpecNumber, HttpSession session, Integer buyNumber) {
OsProductSpecification osProductSpecification = osProductSpecificationMapper.selectByProductSpecNumber(productSpecNumber);
CartVO cartVO = (CartVO) session.getAttribute("cart");
//如果当前商品有规格,规格商品已在购物车 数量加1
if(osProductSpecification != null && (!"".equals(osProductSpecification.getSpec()))) {
Boolean flag = false;
List<ShoppingCartVO> shoppingCartVOs = cartVO.getShoppingCartVOs();
for (ShoppingCartVO vo : shoppingCartVOs) {
if (osProductSpecification.getProduct
没有合适的资源?快使用搜索试试~ 我知道了~
课程设计源代码-购物商城.7z
共908个文件
js:291个
png:114个
css:100个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 97 浏览量
2022-03-20
07:35:55
上传
评论
收藏 61.42MB 7Z 举报
温馨提示
课程设计源代码-购物商城.7z
资源推荐
资源详情
资源评论
收起资源包目录
课程设计源代码-购物商城.7z (908个子文件)
OsProductService.class 10KB
OsProductCartService.class 8KB
OsOrderBuyController.class 7KB
CategoryTree.class 6KB
CreateImageCode.class 6KB
OrderVO.class 5KB
OsUserLoginController.class 5KB
OsUserInfoController.class 4KB
OsOrderService.class 4KB
OsProductCartController.class 4KB
ShoppingCartVO.class 4KB
OsOrder.class 4KB
CmsUser.class 4KB
Tree.class 4KB
OsOrderProduct.class 3KB
CmsMenu.class 3KB
OsCategoryListController.class 3KB
OsProductSpecification.class 3KB
OsUser.class 3KB
OsProduct.class 3KB
OsCategory.class 3KB
OsProductController.class 3KB
OsOrderOperationController.class 3KB
OsAddressService.class 3KB
CartVO.class 3KB
PageInfo.class 3KB
CategoryNode.class 3KB
OsAddress.class 2KB
CmsRole.class 2KB
OsOrderShipment.class 2KB
OsSpecification.class 2KB
OsProductParameter.class 2KB
Node.class 2KB
OsOrderStatus.class 2KB
OsProductImage.class 2KB
OsCategoryService.class 2KB
AddressVO.class 2KB
OsProductDetail.class 2KB
KindVO.class 1KB
BaseResult.class 1KB
OsSpecificationAttribute.class 1KB
OsIndexController.class 1KB
OsProductMapper.class 1KB
CategoryVO.class 1KB
ExtHtmlTagRuleBundle.class 1KB
OsProductCategory.class 1KB
CmsUserRole.class 1KB
CmsRoleMenu.class 1KB
OsUserService.class 1KB
HotCategoryVO.class 1KB
GetRandom.class 1KB
OsResult.class 1KB
KindAttribute.class 1KB
ProductSpecificationVO.class 965B
OsProductSpecificationMapper.class 810B
OsCategoryMapper.class 762B
OsOrderMapper.class 726B
OsProductParameterMapper.class 607B
OsProductImageMapper.class 587B
OsAddressMapper.class 587B
OsOrderProductMapper.class 585B
OsProductDetailMapper.class 498B
OsUserMapper.class 474B
OsSpecificationAttributeMapper.class 468B
OsOrderShipmentMapper.class 457B
OsProductCategoryMapper.class 440B
OsSpecificationMapper.class 432B
OsOrderStatusMapper.class 424B
CmsRoleMenuMapper.class 416B
CmsUserRoleMapper.class 416B
CmsUserMapper.class 400B
CmsMenuMapper.class 400B
CmsRoleMapper.class 400B
ReturnCode.class 210B
.classpath 771B
org.eclipse.wst.common.component 479B
org.eclipse.wst.jsdt.ui.superType.container 49B
bootstrap.css 143KB
bootstrap.min.css 118KB
goods-detail.css 73KB
base.css 51KB
main.css 48KB
font-awesome.css 37KB
font-awesome.min.css 30KB
checkout.css 27KB
bootstrap-theme.css 26KB
index.css 25KB
bootstrap-table-group-by.css 24KB
bootstrap-theme.min.css 23KB
goods-comment.css 21KB
_all.css 20KB
list.css 19KB
select2.css 18KB
_all.css 14KB
layer.css 14KB
_all.css 14KB
_all.css 12KB
bootstrap-datetimepicker.css 12KB
gloab.css 12KB
bootstrap-datetimepicker.min.css 11KB
共 908 条
- 1
- 2
- 3
- 4
- 5
- 6
- 10
资源评论
应用市场
- 粉丝: 460
- 资源: 3809
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功