puzhibing
13 小时以前 ba09471e52a73e85971ac857bd9f160b1bfdc494
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
package com.ruoyi.goods.controller.miniapp;
 
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.goods.domain.dto.AppGoodsInfoGetDto;
import com.ruoyi.goods.domain.dto.AppShoppingCartAddDto;
import com.ruoyi.goods.domain.dto.AppShoppingCartChangeDto;
import com.ruoyi.goods.domain.vo.AppGoodsInfoVo;
import com.ruoyi.goods.domain.vo.AppShoppingCartVo;
import com.ruoyi.goods.service.goods.GoodsService;
import com.ruoyi.goods.service.goods.ShoppingCartService;
import com.ruoyi.system.api.constant.AppErrorConstant;
import com.ruoyi.system.api.domain.dto.AppBaseBathDto;
import com.ruoyi.system.api.domain.poji.member.Member;
import com.ruoyi.system.api.service.RemoteMemberService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
 
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
 
/**
 * @author jqs34
 * @ClassName AppGoodsController
 * @description: TODO
 * @date 2023年04月20日
 * @version: 1.0
 */
@Api(value = "小程序商品相关接口", tags = "小程序商品相关接口", description = "小程序商品相关接口")
@RestController
@RequestMapping("/app/goods")
public class AppGoodsController extends BaseController {
 
    @Resource
    private GoodsService goodsService;
 
    @Resource
    private RemoteMemberService memberService;
 
    @Resource
    private ShoppingCartService shoppingCartService;
 
    @RequestMapping(value = "/getGoodsInfo", method = RequestMethod.POST)
    @ApiOperation(value = "获取商品详情")
    public R<AppGoodsInfoVo> getGoodsInfo(@RequestBody AppGoodsInfoGetDto appGoodsInfoGetDto) {
        Long userId = SecurityUtils.getUserId();
        if(userId!=null){
            Member member = memberService.getMember(userId).getData();
            if(member!=null&&member.getRelationShopId()!=null){
                appGoodsInfoGetDto.setShopId(member.getRelationShopId());
            }else{
                appGoodsInfoGetDto.setShopId(appGoodsInfoGetDto.getPositionShopId());
            }
        }
        if(appGoodsInfoGetDto.getShopId()==null){
            throw new ServiceException(AppErrorConstant.NO_POSITION);
        }
        AppGoodsInfoVo appGoodsInfoVo = goodsService.getGoodsInfo(appGoodsInfoGetDto);
        return R.ok(appGoodsInfoVo);
    }
 
    @RequestMapping(value = "/listShoppingCart", method = RequestMethod.POST)
    @ApiOperation(value = "获取购物车列表")
    public R<List<AppShoppingCartVo>> listShoppingCart() {
        Long userId = SecurityUtils.getUserId();
        if(null == userId){
            return R.ok(new ArrayList<>());
        }
        Member member = memberService.getMember(userId).getData();
        Long shopId = member.getRelationShopId();
        List<AppShoppingCartVo> appShoppingCartVoList = shoppingCartService.listShoppingCartVo(userId, shopId);
        return R.ok(appShoppingCartVoList);
    }
 
    @RequestMapping(value = "/addShoppingCart", method = RequestMethod.POST)
    @ApiOperation(value = "添加购物车")
    public R addShoppingCart(@RequestBody AppShoppingCartAddDto appShoppingCartAddDto) {
        Long userId = SecurityUtils.getUserId();
        if(userId != null){
            Member member = memberService.getMember(userId).getData();
            appShoppingCartAddDto.setUserId(userId);
            if(member!=null&&member.getBindingFlag()==1&&member.getRelationShopId()!=null){
                appShoppingCartAddDto.setShopId(member.getRelationShopId());
            }
        }
        shoppingCartService.addShoppingCart(appShoppingCartAddDto);
        return R.ok();
    }
 
    @RequestMapping(value = "/changeShoppingCart", method = RequestMethod.POST)
    @ApiOperation(value = "修改购物车")
    public R changeShoppingCart(@RequestBody AppShoppingCartChangeDto appShoppingCartChangeDto) {
        Long userId = SecurityUtils.getUserId();
        if(userId!=null){
            Member member = memberService.getMember(userId).getData();
            appShoppingCartChangeDto.setUserId(userId);
            if(member!=null&&member.getBindingFlag()==1&&member.getRelationShopId()!=null){
                appShoppingCartChangeDto.setShopId(member.getRelationShopId());
            }
        }
        shoppingCartService.changeShoppingCart(appShoppingCartChangeDto);
        return R.ok();
    }
 
    @RequestMapping(value = "/deleteShoppingCart", method = RequestMethod.POST)
    @ApiOperation(value = "删除购物车")
    public R changeShoppingCart(@RequestBody AppBaseBathDto appBaseBathDto) {
        Long userId = SecurityUtils.getUserId();
        appBaseBathDto.setUserId(userId);
        shoppingCartService.deleteShoppingCart(appBaseBathDto);
        return R.ok();
    }
 
    @RequestMapping(value = "/countShoppingCart", method = RequestMethod.POST)
    @ApiOperation(value = "获取购物车数量")
    public R<Integer> countShoppingCart() {
        Long userId = SecurityUtils.getUserId();
        Member member = memberService.getMember(userId).getData();
        Long shopId = member.getRelationShopId();
        Integer count = shoppingCartService.countShoppingCart(userId, shopId);
        return R.ok(count);
    }
 
}