Commit 58a7b85b authored by zchuanzhao's avatar zchuanzhao
Browse files

购物车

parent 9c4ed6c2
Showing with 40 additions and 7 deletions
+40 -7
......@@ -11,6 +11,8 @@ public interface IShopCartDao extends BaseMapper<ShopCart> {
List<ShopCart> listByMemberId(@Param("page") Page page, @Param("memberId") Integer memberId);
ShopCart find(@Param("goodsId") Integer goodsId, @Param("memberId") Integer memberId);
Integer updateNum(@Param("id") Integer id, @Param("num") Integer num, @Param("memberId") Integer memberId);
Integer delete(@Param("id") Integer id, @Param("memberId") Integer memberId);
......
......@@ -3,6 +3,7 @@ package com.lxinet.jeesns.model.shop;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.lxinet.jeesns.core.annotation.Column;
import com.lxinet.jeesns.core.annotation.Id;
import com.lxinet.jeesns.core.annotation.Table;
import com.lxinet.jeesns.core.enums.FillTime;
import com.lxinet.jeesns.core.enums.IdType;
import com.lxinet.jeesns.model.member.Member;
......@@ -14,6 +15,7 @@ import java.util.Date;
* 购物车
* Created by zchuanzhao on 2019/5/27.
*/
@Table("tbl_shop_cart")
public class ShopCart implements Serializable {
@Id(value = "id", type = IdType.AUTO)
private Integer id;
......
......@@ -18,6 +18,8 @@ public interface IShopCartService extends IBaseService<ShopCart> {
ResultModel listByMemberId(Page page, Integer memberId);
ShopCart find(Integer goodsId, Integer memberId);
Boolean updateNum(Integer id, Integer num, Integer memberId);
Boolean delete(Integer id, Integer memberId);
......
......@@ -64,7 +64,7 @@ public class GoodsServiceImpl extends BaseServiceImpl<Goods> implements IGoodsSe
}
}
boolean result = super.save(goods);
return true;
return result;
}
@Override
......
......@@ -5,7 +5,9 @@ import com.lxinet.jeesns.core.model.Page;
import com.lxinet.jeesns.core.service.impl.BaseServiceImpl;
import com.lxinet.jeesns.core.utils.ValidUtill;
import com.lxinet.jeesns.dao.shop.IShopCartDao;
import com.lxinet.jeesns.model.shop.Goods;
import com.lxinet.jeesns.model.shop.ShopCart;
import com.lxinet.jeesns.service.shop.IGoodsService;
import com.lxinet.jeesns.service.shop.IShopCartService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
......@@ -20,6 +22,25 @@ public class ShopCartServiceImpl extends BaseServiceImpl<ShopCart> implements IS
@Resource
private IShopCartDao shopCartDao;
@Resource
private IGoodsService goodsService;
@Override
public boolean save(ShopCart shopCart) {
ShopCart findShopCart = this.find(shopCart.getGoodsId(), shopCart.getMemberId());
Goods goods = goodsService.findById(shopCart.getGoodsId());
if (findShopCart == null){
shopCart.setUnitPrice(goods.getPrice());
shopCart.setTotalPrice(goods.getPrice() * shopCart.getNum());
super.save(shopCart);
}else {
findShopCart.setNum(findShopCart.getNum() + shopCart.getNum());
findShopCart.setUnitPrice(goods.getPrice());
findShopCart.setTotalPrice(goods.getPrice() * findShopCart.getNum());
super.update(findShopCart);
}
return true;
}
@Override
public ResultModel listByMemberId(Page page, Integer memberId) {
......@@ -29,6 +50,11 @@ public class ShopCartServiceImpl extends BaseServiceImpl<ShopCart> implements IS
return model;
}
@Override
public ShopCart find(Integer goodsId, Integer memberId) {
return shopCartDao.find(goodsId, memberId);
}
@Override
public Boolean updateNum(Integer id, Integer num, Integer memberId) {
ValidUtill.checkParam(num < 1, "数量不能少于1");
......
......@@ -6,6 +6,10 @@
select a.*,b.title as 'goods.title' from tbl_shop_cart as a left join tbl_goods as b on a.goods_id = b.id where a.member_id = #{memberId} order by a.id desc
</select>
<select id="find" parameterType="java.lang.Integer" resultType="ShopCart">
select a.*,b.title as 'goods.title' from tbl_shop_cart as a left join tbl_goods as b on a.goods_id = b.id where a.goods_id = #{goodsId} and a.member_id = #{memberId}
</select>
<update id="updateNum">
update tbl_shop_cart set num = #{num} where id = #{id}} and member_id = #{memberId}
</update>
......
......@@ -39,12 +39,9 @@ public class ShopCartController extends BaseController {
@ResponseBody
public ResultModel save(ShopCart shopCart){
Member loginMember = MemberUtil.getLoginMember(request);
Goods goods = goodsService.findById(shopCart.getGoodsId());
shopCart.setMemberId(loginMember.getId());
shopCart.setUnitPrice(goods.getPrice());
shopCart.setTotalPrice(goods.getPrice() * shopCart.getNum());
boolean result = shopCartService.save(shopCart);
return new ResultModel(result);
shopCartService.save(shopCart);
return new ResultModel(0, "加入购物车成功");
}
@PostMapping("/updateNum")
......
......@@ -71,7 +71,7 @@
</div>
<div class="content pull-right">
<div class="price">¥${goods.price?string("#.00")}</div>
<div class="buy"><a class="btn btn-success">购买</a></div>
<div class="buy"><a class="btn btn-success" href="${basePath}/shop/detail/${goods.id}">购买</a></div>
</div>
</div>
</div>
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment