package com.ruoyi.other.controller;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.utils.StringUtils;
|
import com.ruoyi.other.api.domain.OrderActivityInfo;
|
import com.ruoyi.other.service.OrderActivityInfoService;
|
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.util.ArrayList;
|
import java.util.Arrays;
|
import java.util.List;
|
import java.util.stream.Collectors;
|
|
/**
|
* <p>
|
* 前端控制器
|
* </p>
|
*
|
* @author luodangjia
|
* @since 2024-11-20
|
*/
|
@RestController
|
@RequestMapping("/order-activity-info")
|
@Api("订单优惠活动")
|
public class OrderActivityInfoController {
|
|
@Resource
|
private OrderActivityInfoService orderActivityInfoService;
|
|
|
/**
|
* 获取当前生效的活动
|
* @param vip
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/getNowOrderActivityInfo")
|
public R<OrderActivityInfo> getNowOrderActivityInfo(@RequestParam("vip") Integer vip){
|
OrderActivityInfo one = orderActivityInfoService.getOne(new LambdaQueryWrapper<OrderActivityInfo>().eq(OrderActivityInfo::getDelFlag, 0)
|
.last(" and now() between start_time and end_time and FIND_IN_SET(" + vip + ", vip_ids) limit 0, 1"));
|
return R.ok(one);
|
}
|
|
/**
|
* 添加活动
|
*/
|
@PostMapping("/save")
|
@ApiOperation(value = "添加活动", tags = {"管理后台-活动管理-订单优惠活动"})
|
public R<Void> saveActivityConfig(@RequestBody OrderActivityInfo orderActivityInfo){
|
orderActivityInfoService.save(orderActivityInfo);
|
return R.ok();
|
}
|
|
/**
|
* 删除活动
|
*/
|
@PostMapping("/delete")
|
@ApiOperation(value = "删除活动", tags = {"管理后台-活动管理-订单优惠活动-"})
|
public R<Void> deleteActivityConfig(@RequestParam("id") Long id){
|
orderActivityInfoService.removeById(id);
|
return R.ok();
|
}
|
|
/**
|
* 修改活动
|
*/
|
@PostMapping("/update")
|
@ApiOperation(value = "修改活动", tags = {"管理后台-活动管理-订单优惠活动-"})
|
public R<Void> updateActivityConfig(@RequestBody OrderActivityInfo orderActivityInfo){
|
orderActivityInfoService.updateById(orderActivityInfo);
|
return R.ok();
|
}
|
|
/**
|
* 获取活动列表
|
*/
|
@GetMapping("/list")
|
@ApiOperation(value = "获取活动列表", tags = {"管理后台-活动管理-订单优惠活动"})
|
public R<Page<OrderActivityInfo>> list(@ApiParam("页码") @RequestParam Integer pageNum,
|
@ApiParam("每一页数据大小") Integer pageSize,
|
OrderActivityInfo orderActivityInfo){
|
|
return R.ok(orderActivityInfoService.page(Page.of(pageNum, pageSize), new LambdaQueryWrapper<OrderActivityInfo>()
|
.eq(orderActivityInfo.getId() != null, OrderActivityInfo::getId, orderActivityInfo.getId())
|
.eq(StringUtils.isNotEmpty(orderActivityInfo.getActivityName()), OrderActivityInfo::getActivityName, orderActivityInfo.getActivityName())
|
.lt(orderActivityInfo.getStatus() == 0, OrderActivityInfo::getStartTime, orderActivityInfo.getStartTime())
|
.ge(orderActivityInfo.getStatus() == 1, OrderActivityInfo::getEndTime, orderActivityInfo.getStartTime())
|
.eq(orderActivityInfo.getIsShelf() != null, OrderActivityInfo::getIsShelf, orderActivityInfo.getIsShelf())));
|
}
|
|
/**
|
* 获取活动详情
|
*/
|
@GetMapping("/getDetailById")
|
@ApiOperation(value = "获取活动详情", tags = {"管理后台-活动管理-订单优惠活动"})
|
public R<OrderActivityInfo> getDetailById(@RequestParam("id") Long id){
|
return R.ok(orderActivityInfoService.getById(id));
|
}
|
|
|
}
|