package com.xiaopeng.operation.controller;
import com.xiaopeng.api.model.operation.XpActicityUser;
import com.xiaopeng.common.core.domain.R;
import com.xiaopeng.operation.service.IXpActicityUserService;
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-user")
public class XpActicityUserController {
@Resource
private IXpActicityUserService service;
@GetMapping("/{id}")
@ApiOperation(value = "活动发放用户详情", tags = {"管理后台-活动发放用户管理"})
public R queryById(@PathVariable Integer id) {
XpActicityUser user = service.getById(id);
return R.ok(user);
}
@GetMapping("/listByActicityId/{actitcityId}")
@ApiOperation(value = "根据活动ID获取用户配置", tags = {"管理后台-活动发放用户管理"})
public R> listByActicityId(@PathVariable Integer actitcityId) {
LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(XpActicityUser::getActitcityId, actitcityId);
List list = service.list(queryWrapper);
return R.ok(list);
}
@PostMapping("/add")
@ApiOperation(value = "批量新增活动发放用户", tags = {"管理后台-活动发放用户管理"})
public R> add(@RequestBody List xpActicityUsers) {
service.saveBatch(xpActicityUsers);
return R.ok(xpActicityUsers);
}
@PostMapping("/update")
@ApiOperation(value = "修改活动发放用户", tags = {"管理后台-活动发放用户管理"})
public R> updateById(@RequestBody XpActicityUser xpActicityUser) {
service.updateById(xpActicityUser);
return R.ok();
}
@DeleteMapping("/{id}")
@ApiOperation(value = "删除活动发放用户", tags = {"管理后台-活动发放用户管理"})
public R> deleteById(@PathVariable Integer id) {
service.removeById(id);
return R.ok();
}
@DeleteMapping("/deleteByActicityId/{actitcityId}")
@ApiOperation(value = "根据活动ID删除用户配置", tags = {"管理后台-活动发放用户管理"})
public R> deleteByActicityId(@PathVariable Integer actitcityId) {
LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(XpActicityUser::getActitcityId, actitcityId);
service.remove(queryWrapper);
return R.ok();
}
}