|
@@ -0,0 +1,104 @@
|
|
|
+package com.qs.mp.web.controller.api.user;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.qs.mp.admin.domain.Goods;
|
|
|
+import com.qs.mp.admin.domain.GoodsSku;
|
|
|
+import com.qs.mp.admin.domain.Ticket;
|
|
|
+import com.qs.mp.admin.domain.TicketAwardsPrize;
|
|
|
+import com.qs.mp.admin.domain.TicketBox;
|
|
|
+import com.qs.mp.admin.domain.param.TicketBoxParam;
|
|
|
+import com.qs.mp.admin.domain.param.TicketParam;
|
|
|
+import com.qs.mp.admin.domain.vo.GoodsListVO;
|
|
|
+import com.qs.mp.admin.domain.vo.GoodsVO;
|
|
|
+import com.qs.mp.admin.domain.vo.TicketBoxListVO;
|
|
|
+import com.qs.mp.admin.domain.vo.TicketBoxVO;
|
|
|
+import com.qs.mp.admin.domain.vo.TicketVO;
|
|
|
+import com.qs.mp.admin.service.IGoodsService;
|
|
|
+import com.qs.mp.admin.service.IGoodsSkuService;
|
|
|
+import com.qs.mp.admin.service.ITicketAwardsPrizeService;
|
|
|
+import com.qs.mp.admin.service.ITicketBoxService;
|
|
|
+import com.qs.mp.admin.service.ITicketService;
|
|
|
+import com.qs.mp.common.core.domain.AjaxResult;
|
|
|
+import com.qs.mp.common.core.page.TableDataInfo;
|
|
|
+import com.qs.mp.common.enums.ErrorCodeEnum;
|
|
|
+import com.qs.mp.common.enums.GoodsStatusEnum;
|
|
|
+import com.qs.mp.common.enums.TicketBoxStatusEnum;
|
|
|
+import com.qs.mp.common.enums.TicketStatusEnum;
|
|
|
+import com.qs.mp.common.utils.StringUtils;
|
|
|
+import com.qs.mp.user.service.IUserHitPrizeService;
|
|
|
+import com.qs.mp.user.service.IUserTicketOrderItemService;
|
|
|
+import com.qs.mp.utils.SecurityUtils;
|
|
|
+import com.qs.mp.web.controller.common.BaseApiController;
|
|
|
+import io.swagger.annotations.Api;
|
|
|
+import io.swagger.annotations.ApiOperation;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+import lombok.AllArgsConstructor;
|
|
|
+import ma.glasnost.orika.MapperFacade;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.web.bind.annotation.PostMapping;
|
|
|
+import org.springframework.web.bind.annotation.RequestBody;
|
|
|
+import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
+import org.springframework.web.bind.annotation.RestController;
|
|
|
+
|
|
|
+
|
|
|
+@RestController
|
|
|
+@RequestMapping("/api/v1/mp/user/exchange")
|
|
|
+@Api(tags = "盲票商城接口")
|
|
|
+@AllArgsConstructor
|
|
|
+public class UserExchangeController extends BaseApiController {
|
|
|
+
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IGoodsService goodsService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IGoodsSkuService goodsSkuService;
|
|
|
+
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private MapperFacade mapperFacade;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 商品列表
|
|
|
+ */
|
|
|
+ @PostMapping("/goods/list")
|
|
|
+ @ApiOperation(value = "商品列表" , notes = "获取所有可兑换商品")
|
|
|
+ public TableDataInfo list(@RequestBody Goods goods) {
|
|
|
+ startPage();
|
|
|
+ List<Goods> goodsList = goodsService.list(new LambdaQueryWrapper<Goods>()
|
|
|
+ .eq(null != goods.getCategoryId() && 0 != goods.getCategoryId(), Goods::getCategoryId, goods.getCategoryId())
|
|
|
+ .eq(Goods::getStatus, GoodsStatusEnum.PUT_ON));
|
|
|
+ List<GoodsListVO> goodsListVOList = mapperFacade.mapAsList(goodsList, GoodsListVO.class);
|
|
|
+ TableDataInfo rspData = getDataTable(goodsList);
|
|
|
+ rspData.setRows(goodsListVOList);
|
|
|
+ return rspData;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查看商品详情
|
|
|
+ */
|
|
|
+ @PostMapping("/goods/detail")
|
|
|
+ @ApiOperation(value = "查看商品详情" , notes = "根据商品ID,获取商品信息")
|
|
|
+ public AjaxResult getInfo(@RequestBody Goods param) {
|
|
|
+ if (StringUtils.isBlank(param.getGoodsId())) {
|
|
|
+ return AjaxResult.error("参数异常,商品ID缺失");
|
|
|
+ }
|
|
|
+ Goods goods = goodsService.getById(param.getGoodsId());
|
|
|
+ GoodsVO goodsVo = new GoodsVO();
|
|
|
+ BeanUtils.copyProperties(goods, goodsVo);
|
|
|
+ // 查询SKU列表
|
|
|
+ LambdaQueryWrapper<GoodsSku> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(GoodsSku::getGoodsId, goods.getGoodsId());
|
|
|
+ queryWrapper.orderByDesc(GoodsSku::getCreatedTime);
|
|
|
+ List<GoodsSku> skuList = goodsSkuService.list(queryWrapper);
|
|
|
+ if(null != skuList && skuList.size() > 0) {
|
|
|
+ goodsVo.setSkuList(skuList);
|
|
|
+ }
|
|
|
+ return AjaxResult.success(goodsVo);
|
|
|
+ }
|
|
|
+
|
|
|
+}
|