首页 > 其他 > 详细

购物车模块

时间:2020-03-02 11:27:47      阅读:64      评论:0      收藏:0      [点我收藏+]

购物车模块

1:创建购物车实体类

@TableName("sys_cart")
@Data   //自动生成get/set方法
@Accessors(chain = true)   //自动生成setter方法并且返回当前对象
public class Cart extends BasePojo{
@TableId
private Long id;
private Long userId;
private Long itemId;
private String itemTitle;
private String itemImage;
private Long itemPrice;
private Integer num;}

2:接口实现类

@Service    //注意 dubbo的注解
public class DubboCartServiceImpl implements DubboCartService {

//   public interface DubboCartService {

//  List<Cart> findCartListByUserId(Long userId);

//  void updateCartNum(Cart cart);

//  void deleteCart(Cart cart);

//  void insertCart(Cart cart);

//  }


@Autowired
private CartMapper cartMapper;

@Override
public List<Cart> findCartListByUserId(Long userId) {
QueryWrapper<Cart> queryWrapper = new QueryWrapper<Cart>();
queryWrapper.eq("user_id", userId);
return cartMapper.selectList(queryWrapper);
}

 

/**
* sql:update tb_cart set num=#{num},updated=#{updated}
* where user_id=#{userId}
* and item_id = #{itemId}
*/
@Override
public void updateCartNum(Cart cart) {
Cart cartTemp = new Cart();
cartTemp.setNum(cart.getNum())
.setUpdated(new Date());
UpdateWrapper<Cart> updateWrapper = new UpdateWrapper<Cart>();
updateWrapper.eq("user_id", cart.getUserId())
.eq("item_id", cart.getItemId());
cartMapper.update(cartTemp, updateWrapper);

}

@Override
public void deleteCart(Cart cart) {
cartMapper.delete(new QueryWrapper<Cart>(cart));
}

/**
* 新增购物车
* 根据userId和itemId查询数据库
* 有数据: 数量的更新
* 无数据: 新增入库
*/
@Override
public void insertCart(Cart cart) {
QueryWrapper<Cart> queryWrapper = new QueryWrapper<Cart>();
queryWrapper.eq("user_id", cart.getUserId())
.eq("item_id", cart.getItemId());
Cart cartDB = cartMapper.selectOne(queryWrapper);
if(cartDB == null) {
cart.setCreated(new Date())
.setUpdated(cart.getCreated());
cartMapper.insert(cart);
}else {
//数量更新      update tb_cart set num=#{num},updated = #{updated}  where id=#{id}
int num = cart.getNum() + cartDB.getNum();
Cart cartTemp = new Cart();
cartTemp.setId(cartDB.getId())
.setNum(num)
.setUpdated(new Date());
cartMapper.updateById(cartTemp);
}
}

 

购物车模块

原文:https://www.cnblogs.com/pureray-hui/p/12394191.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!