package com.xiaopeng.operation.controller;
NEW_FILE_CODE
package com.xiaopeng.operation.controller;
import com.xiaopeng.api.model.operation.XpActicityStrategy;
import com.xiaopeng.common.core.domain.R;
import com.xiaopeng.common.core.web.page.PageInfo;
import com.xiaopeng.operation.service.IXpActicityStrategyService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Lazy;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
*
* 活动策略配置 前端控制器
*
*
* @author mitao
* @since 2026-04-20
*/
@Api(tags = "活动策略配置管理")
@RequiredArgsConstructor(onConstructor_ = @Lazy)
@RestController
@RequestMapping("/v1/api/acticity-strategy")
public class XpActicityStrategyController {
@Resource
private IXpActicityStrategyService service;
@PostMapping("/listByActivityId")
@ApiOperation(value = "根据活动ID查询策略列表", tags = {"管理后台-活动策略配置管理"})
public R> listByActivityId(@RequestParam Integer activityId) {
LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(XpActicityStrategy::getActitcityId, activityId);
queryWrapper.orderByDesc(XpActicityStrategy::getCreateTime);
List list = service.list(queryWrapper);
return R.ok(list);
}
@GetMapping("/{id}")
@ApiOperation(value = "活动策略详情", tags = {"管理后台-活动策略配置管理"})
public R queryById(@PathVariable Integer id) {
XpActicityStrategy strategy = service.getById(id);
return R.ok(strategy);
}
@PostMapping("/add")
@ApiOperation(value = "新增活动策略", tags = {"管理后台-活动策略配置管理"})
public R> add(@RequestBody List xpActicityStrategies) {
service.saveBatch(xpActicityStrategies);
return R.ok();
}
@PostMapping("/update")
@ApiOperation(value = "修改活动策略", tags = {"管理后台-活动策略配置管理"})
public R> updateById(@RequestBody XpActicityStrategy xpActicityStrategy) {
service.updateById(xpActicityStrategy);
return R.ok();
}
@DeleteMapping("/{id}")
@ApiOperation(value = "删除活动策略", tags = {"管理后台-活动策略配置管理"})
public R> deleteById(@PathVariable Integer id) {
service.removeById(id);
return R.ok();
}
}