| | |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.web.controller.BaseController; |
| | | import com.ruoyi.common.core.web.page.TableDataInfo; |
| | |
| | | import com.ruoyi.other.api.domain.GoodsSeckill; |
| | | import com.ruoyi.other.api.domain.SeckillActivityInfo; |
| | | import com.ruoyi.other.api.vo.GetSeckillActivityInfo; |
| | | import com.ruoyi.other.mapper.SeckillActivityInfoMapper; |
| | | import com.ruoyi.other.service.GoodsSeckillService; |
| | | import com.ruoyi.other.service.GoodsService; |
| | | import com.ruoyi.other.service.SeckillActivityInfoService; |
| | | import com.ruoyi.other.vo.SeckillActivityDetailVO; |
| | | import com.ruoyi.other.vo.SeckillActivityVO; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import io.swagger.annotations.ApiParam; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.time.LocalDateTime; |
| | | import java.time.ZoneOffset; |
| | | import java.util.List; |
| | | |
| | |
| | | |
| | | @Resource |
| | | private GoodsSeckillService goodsSeckillService; |
| | | |
| | | @Resource |
| | | private SeckillActivityInfoMapper seckillActivityInfoMapper; |
| | | |
| | | @Resource |
| | | private GoodsService goodsService; |
| | | |
| | | |
| | | |
| | |
| | | * 秒杀活动列表 |
| | | */ |
| | | @GetMapping("/list") |
| | | @ApiOperation(value = "秒杀活动列表",tags = {"小程序-商城-首页"}) |
| | | @ApiOperation(value = "秒杀活动列表",tags = {"小程序-商城-首页","后台管理-活动管理-秒杀活动"}) |
| | | public R<TableDataInfo> list(Goods goods) |
| | | { |
| | | startPage(); |
| | |
| | | } |
| | | return R.ok(goodsSeckill); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 秒杀活动列表 |
| | | */ |
| | | @GetMapping("/manageList") |
| | | @ApiOperation(value = "秒杀活动列表",tags = {"小程序-商城-首页","后台管理-活动管理-秒杀活动"}) |
| | | public R<IPage<SeckillActivityVO>> manageList(@ApiParam("页码") @RequestParam Integer pageNum, |
| | | @ApiParam("每一页数据大小") Integer pageSize, |
| | | Goods goods) |
| | | { |
| | | IPage<SeckillActivityVO> IPage = seckillActivityInfoMapper.querySeckillActivity(Page.of(pageNum, pageSize), goods); |
| | | for (SeckillActivityVO record : IPage.getRecords()) { |
| | | LocalDateTime startTime = record.getStartTime(); |
| | | LocalDateTime now = LocalDateTime.now(); |
| | | LocalDateTime endTime = record.getEndTime(); |
| | | if (endTime.isBefore(now)){ |
| | | record.setStatus(3); //已结束 |
| | | }else if (startTime.isBefore(now)){ |
| | | record.setStatus(2); // 已开始 |
| | | }else { |
| | | record.setStatus(1); // 未开始 |
| | | } |
| | | } |
| | | return R.ok(IPage); |
| | | } |
| | | |
| | | /** |
| | | * 新增秒杀活动 |
| | | */ |
| | | @PostMapping("/save") |
| | | @ApiOperation(value = "新增秒杀活动", tags = {"后台管理-活动管理-秒杀活动" }) |
| | | public R<Void> save(@RequestBody SeckillActivityInfo seckillActivityInfo) |
| | | { |
| | | seckillActivityInfoService.saveSeckillActivityInfo(seckillActivityInfo); |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * 修改秒杀活动 |
| | | */ |
| | | @PutMapping("/update") |
| | | @ApiOperation(value = "修改秒杀活动", tags = {"后台管理-活动管理-秒杀活动" }) |
| | | public R<Void> update(@RequestBody SeckillActivityInfo seckillActivityInfo) |
| | | { |
| | | seckillActivityInfoService.updateSeckillActivityInfo(seckillActivityInfo); |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * 删除秒杀活动 |
| | | */ |
| | | @DeleteMapping("/remove/{id}") |
| | | @ApiOperation(value = "删除秒杀活动", tags = {"后台管理-活动管理-秒杀活动" }) |
| | | public R<Void> remove(@PathVariable Integer id) |
| | | { |
| | | seckillActivityInfoService.removeById(id); |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * 获取秒杀活动明细 |
| | | */ |
| | | @GetMapping("/getSeckillActivityDetail") |
| | | @ApiOperation(value = "获取秒杀活动明细", tags = {"后台管理-活动管理-秒杀活动" }) |
| | | public R<SeckillActivityInfo> getSeckillActivityDetail(Integer id) |
| | | { |
| | | SeckillActivityInfo seckillActivityInfo = seckillActivityInfoService.getById(id); |
| | | List<GoodsSeckill> goodsSeckills = goodsSeckillService.list(new LambdaQueryWrapper<GoodsSeckill>() |
| | | .eq(GoodsSeckill::getSeckillActivityInfoId, id)); |
| | | seckillActivityInfo.setGoodsSeckills(goodsSeckills); |
| | | Integer goodId = seckillActivityInfo.getGoodId(); |
| | | Goods goods = goodsService.getById(goodId); |
| | | seckillActivityInfo.setGoods(goods); |
| | | return R.ok(seckillActivityInfo); |
| | | } |
| | | |
| | | /** |
| | | * 修改上/下架状态 |
| | | */ |
| | | @PutMapping("/updateShowStatus") |
| | | @ApiOperation(value = "修改上/下架状态", tags = {"后台管理-活动管理-秒杀活动" }) |
| | | public R<Void> updateShowStatus(@RequestBody SeckillActivityVO seckillActivityVO) |
| | | { |
| | | seckillActivityInfoService.update(new LambdaUpdateWrapper<SeckillActivityInfo>() |
| | | .eq(SeckillActivityInfo::getId, seckillActivityVO.getId()) |
| | | .set(SeckillActivityInfo::getIsShelves, seckillActivityVO.getShowStatus())); |
| | | return R.ok(); |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | |