package cn.lili.controller.promotion; import cn.lili.common.enums.PromotionTypeEnum; import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; import cn.lili.common.exception.ServiceException; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.promotion.entity.dos.Pintuan; import cn.lili.modules.promotion.entity.dos.PromotionGoods; import cn.lili.modules.promotion.entity.dto.search.PintuanSearchParams; import cn.lili.modules.promotion.entity.dto.search.PromotionGoodsSearchParams; import cn.lili.modules.promotion.entity.vos.PintuanVO; import cn.lili.modules.promotion.service.PintuanService; import cn.lili.modules.promotion.service.PromotionGoodsService; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.Arrays; /** * 管理端,平台拼团接口 * * @author paulG * @since 2020/10/9 **/ @RestController @Api(tags = "管理端,平台拼团接口") @RequestMapping("/manager/promotion/pintuan") public class PintuanManagerController { @Autowired private PintuanService pintuanService; @Autowired private PromotionGoodsService promotionGoodsService; @GetMapping(value = "/{id}") @ApiOperation(value = "通过id获取") public ResultMessage get(@PathVariable String id) { PintuanVO pintuan = pintuanService.getPintuanVO(id); return ResultUtil.data(pintuan); } @GetMapping @ApiOperation(value = "根据条件分页查询拼团活动列表") public ResultMessage> getPintuanByPage(PintuanSearchParams queryParam, PageVO pageVo) { IPage pintuanIPage = pintuanService.pageFindAll(queryParam, pageVo); return ResultUtil.data(pintuanIPage); } @GetMapping("/goods/{pintuanId}") @ApiOperation(value = "根据条件分页查询拼团活动商品列表") public ResultMessage> getPintuanGoodsByPage(@PathVariable String pintuanId, PageVO pageVo) { PromotionGoodsSearchParams searchParams = new PromotionGoodsSearchParams(); searchParams.setPromotionId(pintuanId); searchParams.setPromotionType(PromotionTypeEnum.PINTUAN.name()); return ResultUtil.data(promotionGoodsService.pageFindAll(searchParams, pageVo)); } @PutMapping("/status/{pintuanIds}") @ApiOperation(value = "操作拼团活动状态") public ResultMessage openPintuan(@PathVariable String pintuanIds, Long startTime, Long endTime) { if (pintuanService.updateStatus(Arrays.asList(pintuanIds.split(",")), startTime, endTime)) { return ResultUtil.success(ResultCode.PINTUAN_MANUAL_OPEN_SUCCESS); } throw new ServiceException(ResultCode.PINTUAN_MANUAL_OPEN_ERROR); } }