package com.ycl.controller.message;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ycl.api.CommonResult;
import com.ycl.entity.message.MessageColumnSet;
import com.ycl.service.message.IMessageColumnSetService;
import com.ycl.vo.message.MessageColumnSetVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
*
* 消息栏目设置 前端控制器
*
*
* @author mg
* @since 2022-10-08
*/
@RestController
@RequestMapping("/message_column_set")
@Api(tags = "用户消息栏目设置")
public class MessageColumnSetController {
@Autowired
private IMessageColumnSetService iMessageColumnSetService;
@ApiOperation(value = "添加栏目设置")
@RequestMapping(value = "/addColumnSet", method = RequestMethod.POST)
@ResponseBody
public CommonResult addColumnSet(@Validated @RequestBody MessageColumnSet messageColumnSet) {
return CommonResult.success(iMessageColumnSetService.save(messageColumnSet));
}
@ApiOperation("获取指定栏目")
@RequestMapping(value = "/getColumnSet/{id}", method = RequestMethod.GET)
@ResponseBody
public CommonResult getColumnSet(@PathVariable Long id) {
MessageColumnSet columnSet = iMessageColumnSetService.getById(id);
return CommonResult.success(columnSet);
}
@ApiOperation("获取用户栏目设置")
@RequestMapping(value = "/getUserColumnSet", method = RequestMethod.GET)
@ApiImplicitParams({
@ApiImplicitParam(name = "userId", value = "用户Id",required = true, dataType = "Long")
})
@ResponseBody
public CommonResult> getUserColumnSet(@RequestParam Long userId) {
List sets = iMessageColumnSetService.listColumnAndPage(userId);
return CommonResult.success(sets);
}
@ApiOperation("修改指定栏目")
@RequestMapping(value = "/update", method = RequestMethod.POST)
@ResponseBody
public CommonResult update( @RequestBody MessageColumnSet messageColumnSet) {
if (iMessageColumnSetService.getOne(new LambdaQueryWrapper().eq(MessageColumnSet::getMessageColumnId,messageColumnSet.getMessageColumnId())
.eq(MessageColumnSet::getUserId,messageColumnSet.getUserId()))==null){
iMessageColumnSetService.save(messageColumnSet);
}
boolean success = iMessageColumnSetService.update(messageColumnSet,new LambdaQueryWrapper()
.eq(MessageColumnSet::getMessageColumnId,messageColumnSet.getMessageColumnId())
.eq(MessageColumnSet::getUserId,messageColumnSet.getUserId()));
if (success) {
return CommonResult.success(null);
}
return CommonResult.failed();
}
@ApiOperation("批量删除")
@RequestMapping(value = "/delete", method = RequestMethod.POST)
@ResponseBody
public CommonResult delete(@RequestParam("ids") List ids) {
boolean success = iMessageColumnSetService.removeBatchByIds(ids);
if (success) {
return CommonResult.success(null);
}
return CommonResult.failed();
}
}