Parcourir la source

购物车功能修改

zhh il y a 6 ans
Parent
commit
575eb0a8f8

+ 11 - 7
mall-portal/src/main/java/com/macro/mall/portal/controller/OmsCartItemController.java

@@ -4,6 +4,7 @@ import com.macro.mall.model.OmsCartItem;
 import com.macro.mall.portal.domain.CartProduct;
 import com.macro.mall.portal.domain.CommonResult;
 import com.macro.mall.portal.service.OmsCartItemService;
+import com.macro.mall.portal.service.UmsMemberService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -22,11 +23,14 @@ import java.util.List;
 public class OmsCartItemController {
     @Autowired
     private OmsCartItemService cartItemService;
+    @Autowired
+    private UmsMemberService memberService;
 
     @ApiOperation("添加商品到购物车")
     @RequestMapping(value = "/add", method = RequestMethod.POST)
     @ResponseBody
     public Object add(@RequestBody OmsCartItem cartItem) {
+        cartItem.setMemberId(memberService.getCurrentMember().getId());
         int count = cartItemService.add(cartItem);
         if (count > 0) {
             return new CommonResult().success(count);
@@ -35,10 +39,10 @@ public class OmsCartItemController {
     }
 
     @ApiOperation("获取某个会员的购物车列表")
-    @RequestMapping(value = "/list/{memberId}", method = RequestMethod.GET)
+    @RequestMapping(value = "/list", method = RequestMethod.GET)
     @ResponseBody
-    public Object list(@PathVariable Long memberId) {
-        List<OmsCartItem> cartItemList = cartItemService.list(memberId);
+    public Object list() {
+        List<OmsCartItem> cartItemList = cartItemService.list(memberService.getCurrentMember().getId());
         return new CommonResult().success(cartItemList);
     }
 
@@ -46,9 +50,8 @@ public class OmsCartItemController {
     @RequestMapping(value = "/update/quantity", method = RequestMethod.GET)
     @ResponseBody
     public Object updateQuantity(@RequestParam Long id,
-                                 @RequestParam Long memberId,
                                  @RequestParam Integer quantity) {
-        int count = cartItemService.updateQuantity(id,memberId,quantity);
+        int count = cartItemService.updateQuantity(id,memberService.getCurrentMember().getId(),quantity);
         if (count > 0) {
             return new CommonResult().success(count);
         }
@@ -67,6 +70,7 @@ public class OmsCartItemController {
     @RequestMapping(value = "/update/attr", method = RequestMethod.POST)
     @ResponseBody
     public Object updateAttr(@RequestBody OmsCartItem cartItem) {
+        cartItem.setMemberId(memberService.getCurrentMember().getId());
         int count = cartItemService.updateAttr(cartItem);
         if (count > 0) {
             return new CommonResult().success(count);
@@ -77,8 +81,8 @@ public class OmsCartItemController {
     @ApiOperation("删除购物车中的某个商品")
     @RequestMapping(value = "/delete", method = RequestMethod.POST)
     @ResponseBody
-    public Object delete(@RequestParam Long memberId,@RequestParam("ids") List<Long> ids) {
-        int count = cartItemService.delete(memberId,ids);
+    public Object delete(@RequestParam("ids") List<Long> ids) {
+        int count = cartItemService.delete(memberService.getCurrentMember().getId(),ids);
         if (count > 0) {
             return new CommonResult().success(count);
         }

+ 4 - 0
mall-portal/src/main/java/com/macro/mall/portal/domain/MemberDetails.java

@@ -54,4 +54,8 @@ public class MemberDetails implements UserDetails {
     public boolean isEnabled() {
         return umsMember.getStatus()==1;
     }
+
+    public UmsMember getUmsMember() {
+        return umsMember;
+    }
 }

+ 2 - 0
mall-portal/src/main/java/com/macro/mall/portal/service/UmsMemberService.java

@@ -30,4 +30,6 @@ public interface UmsMemberService {
      */
     @Transactional
     CommonResult updatePassword(String telephone, String password, String authCode);
+
+    UmsMember getCurrentMember();
 }

+ 12 - 0
mall-portal/src/main/java/com/macro/mall/portal/service/impl/UmsMemberServiceImpl.java

@@ -7,9 +7,13 @@ import com.macro.mall.model.UmsMemberExample;
 import com.macro.mall.model.UmsMemberLevel;
 import com.macro.mall.model.UmsMemberLevelExample;
 import com.macro.mall.portal.domain.CommonResult;
+import com.macro.mall.portal.domain.MemberDetails;
 import com.macro.mall.portal.service.UmsMemberService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.authentication.encoding.PasswordEncoder;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.context.SecurityContext;
+import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
@@ -96,4 +100,12 @@ public class UmsMemberServiceImpl implements UmsMemberService {
         return new CommonResult().success("密码修改成功",null);
     }
 
+    @Override
+    public UmsMember getCurrentMember() {
+        SecurityContext ctx = SecurityContextHolder.getContext();
+        Authentication auth = ctx.getAuthentication();
+        MemberDetails memberDetails = (MemberDetails) auth.getPrincipal();
+        return memberDetails.getUmsMember();
+    }
+
 }