package com.panzhihua.applets.api;
|
|
import com.panzhihua.applets.config.WxMaProperties;
|
import com.panzhihua.common.controller.BaseController;
|
import com.panzhihua.common.model.dtos.shop.*;
|
import com.panzhihua.common.model.vos.LoginUserInfoVO;
|
import com.panzhihua.common.model.vos.R;
|
import com.panzhihua.common.model.vos.shop.*;
|
import com.panzhihua.common.service.community.CommunityService;
|
import com.panzhihua.common.utlis.PayUtil;
|
import io.swagger.annotations.*;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.IOException;
|
import java.io.PrintWriter;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* @auther lyq
|
* @create 2021-04-14 15:02:49
|
* @describe 商城模块API
|
*/
|
@Slf4j
|
@RestController
|
@RequestMapping("/shop/")
|
@Api(tags = {"商城服务"})
|
public class ShopApi extends BaseController {
|
|
@Resource
|
private CommunityService communityService;
|
@Resource
|
private WxMaProperties properties;
|
|
@ApiOperation(value = "分页查询店铺" , response = PageShopStoreVO.class)
|
@PostMapping("pageshopstore")
|
public R pageShopStore(@RequestBody PageComShopStoreDTO comShopStoreDTO) {
|
return communityService.pageShopStore(comShopStoreDTO);
|
}
|
|
@ApiOperation(value = "查询店铺详情" , response = PageShopStoreVO.class)
|
@PostMapping("shopstoredetail")
|
public R shopStoreDetail(@RequestBody PageComShopStoreDTO comShopStoreDTO) {
|
if(comShopStoreDTO == null || comShopStoreDTO.getStoreId() == null){
|
return R.fail("参数错误");
|
}
|
return communityService.shopStoreDetail(comShopStoreDTO);
|
}
|
|
@ApiOperation(value = "分页查询商品列表" , response = ComShopGoodsVO.class)
|
@PostMapping("pageShopGoods")
|
public R pageShopGoods(@RequestBody ComShopGoodsDTO comShopGoodsDTO) {
|
return communityService.pageShopGoods(comShopGoodsDTO);
|
}
|
|
@ApiOperation(value = "查询商品详情" , response = ComShopGoodsVO.class)
|
@PostMapping("shopGoodsDetail")
|
@ApiImplicitParam(name = "goodsId",value = "商品id",required = true)
|
public R shopGoodsDetail(@RequestParam("goodsId") Long goodsId) {
|
return communityService.shopGoodsDetail(goodsId);
|
}
|
|
@ApiOperation(value = "查询用户购物车列表" , response = ComShopCartVO.class)
|
@PostMapping("shopCartList")
|
public R shopCartList() {
|
Long userId = this.getUserId();
|
if(userId == null){
|
return R.fail("请重新登陆");
|
}
|
return communityService.shopCartList(userId);
|
}
|
|
@ApiOperation(value = "购物车添加")
|
@PostMapping("shopAddCart")
|
public R shopAddCart(@RequestBody ComShopCartDTO comShopCartDTO) {
|
Long userId = this.getUserId();
|
if(userId == null){
|
return R.fail("请重新登陆");
|
}
|
comShopCartDTO.setUserId(userId);
|
return communityService.shopAddCart(comShopCartDTO);
|
}
|
|
@ApiOperation(value = "购物车修改")
|
@PostMapping("shopEditNubCart")
|
public R shopEditNubCart(@RequestBody ComShopEditNubCartDTO shopEditNubCartDTO) {
|
return communityService.shopEditNubCart(shopEditNubCartDTO);
|
}
|
|
@ApiOperation(value = "购物车删除")
|
@PostMapping("shopDelCart")
|
public R shopDelCart(@RequestBody List<Long> Ids) {
|
return communityService.shopDelCart(Ids);
|
}
|
|
@ApiOperation(value = "查询用户收货地址列表" , response = ComShopUserAddressVO.class)
|
@PostMapping("shopUserAddressList")
|
public R shopUserAddressList(@RequestBody PageComShopAddressDTO comShopAddressDTO) {
|
Long userId = this.getUserId();
|
if(userId == null){
|
return R.fail("请重新登陆");
|
}
|
comShopAddressDTO.setUserId(userId);
|
return communityService.shopUserAddressList(comShopAddressDTO);
|
}
|
|
@ApiOperation(value = "添加用户收货地址列表")
|
@PostMapping("shopAddUserAddress")
|
public R shopAddUserAddress(@RequestBody ComShopAddressDTO comShopAddressDTO) {
|
Long userId = this.getUserId();
|
if(userId == null){
|
return R.fail("请重新登陆");
|
}
|
comShopAddressDTO.setUserId(userId);
|
return communityService.shopAddUserAddress(comShopAddressDTO);
|
}
|
|
@ApiOperation(value = "修改用户收货地址列表")
|
@PostMapping("shopEditUserAddress")
|
public R shopEditUserAddress(@RequestBody ComShopAddressDTO comShopAddressDTO) {
|
Long userId = this.getUserId();
|
if(userId == null){
|
return R.fail("请重新登陆");
|
}
|
comShopAddressDTO.setUserId(userId);
|
return communityService.shopEditUserAddress(comShopAddressDTO);
|
}
|
|
@ApiOperation(value = "删除用户收货地址列表")
|
@PostMapping("shopDelUserAddress")
|
@ApiImplicitParam(name = "addressId",value = "收货地址id",required = true)
|
public R shopDelUserAddress(@RequestParam("addressId") Long addressId) {
|
return communityService.shopDelUserAddress(addressId);
|
}
|
|
@ApiOperation(value = "订单预览", response = ComShopOrderPreviewVO.class)
|
@PostMapping("orderPreview")
|
public R orderPreview(@RequestBody ComShopOrderPreviewDTO orderPreviewDTO) {
|
Long userId = this.getUserId();
|
if(userId == null){
|
return R.fail("请重新登陆");
|
}
|
orderPreviewDTO.setUserId(userId);
|
return communityService.orderPreview(orderPreviewDTO);
|
}
|
|
@ApiOperation(value = "创建订单", response = ComShopOrderVO.class)
|
@PostMapping("orderCreate")
|
public R orderCreate(@RequestBody ComShopOrderCreateDTO orderCreateDTO) {
|
LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
|
if(loginUserInfo == null){
|
return R.fail("请重新登陆");
|
}
|
orderCreateDTO.setUserId(loginUserInfo.getUserId());
|
orderCreateDTO.setPhone(loginUserInfo.getPhone());
|
orderCreateDTO.setOpenId(loginUserInfo.getOpenid());
|
return communityService.orderCreate(orderCreateDTO);
|
}
|
|
@ApiOperation(value = "分页查询订单列表", response = ComShopOrderPageVO.class)
|
@PostMapping("pageOrderList")
|
public R pageOrderList(@RequestBody PageComOrderListDTO comOrderListDTO) {
|
LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
|
if(loginUserInfo == null){
|
return R.fail("请重新登陆");
|
}
|
comOrderListDTO.setUserId(loginUserInfo.getUserId());
|
return communityService.pageOrderList(comOrderListDTO);
|
}
|
|
@ApiOperation(value = "查询订单详情", response = ComShopOrderPageVO.class)
|
@PostMapping("orderDetail")
|
@ApiImplicitParam(name = "orderId",value = "订单id",required = true)
|
public R orderDetail(@RequestParam("orderId") Long orderId) {
|
return communityService.orderDetail(orderId);
|
}
|
|
@ApiOperation(value = "取消订单")
|
@PostMapping("orderCancel")
|
public R orderCancel(@RequestBody ComShopOrderQueryDTO comShopOrderQueryDTO) {
|
LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
|
if(loginUserInfo == null){
|
return R.fail("请重新登陆");
|
}
|
return communityService.orderCancel(comShopOrderQueryDTO);
|
}
|
|
@ApiOperation(value = "删除订单")
|
@PostMapping("orderDelete")
|
@ApiImplicitParam(name = "orderId",value = "订单id",required = true)
|
public R orderDelete(@RequestParam("orderId") Long orderId) {
|
return communityService.orderDelete(orderId);
|
}
|
|
@ApiOperation(value = "订单确认收货")
|
@PostMapping("orderConfirm")
|
public R orderConfirm(@RequestBody ComShopOrderQueryDTO comShopOrderQueryDTO) {
|
LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
|
if(loginUserInfo == null){
|
return R.fail("请重新登陆");
|
}
|
return communityService.orderConfirm(comShopOrderQueryDTO);
|
}
|
|
@ApiOperation(value = "统计当前用户订单", response = OrderStatisticsVO.class)
|
@PostMapping("orderStatistics")
|
public R orderStatistics() {
|
LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
|
if(loginUserInfo == null){
|
return R.fail("请重新登陆");
|
}
|
return communityService.orderStatistics(loginUserInfo.getUserId());
|
}
|
|
@ApiOperation(value = "小程序微信调起支付")
|
@PostMapping("wxpay")
|
public R wxPay(@RequestBody OrderPayDTO orderPayDTO){
|
LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
|
if(loginUserInfo == null){
|
return R.fail("请重新登陆");
|
}
|
orderPayDTO.setOpenId(loginUserInfo.getOpenid());
|
return communityService.wxPay(orderPayDTO);
|
}
|
|
}
|