package com.ruoyi.other.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.BasePage;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.other.api.domain.TEvaluationTag;
import com.ruoyi.other.api.domain.TInvoiceType;
import com.ruoyi.other.api.vo.TEvaluationTagVO;
import com.ruoyi.other.query.InvoiceTypePageList;
import com.ruoyi.other.service.TEvaluationTagService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List;
/**
*
* 前端控制器
*
*
* @author 无关风月
* @since 2024-08-06
*/
@RestController
@RequestMapping("/t-evaluation-tag")
public class TEvaluationTagController {
private final TEvaluationTagService evaluationTagService;
@Autowired
public TEvaluationTagController(TEvaluationTagService evaluationTagService) {
this.evaluationTagService = evaluationTagService;
}
@PostMapping("/getTagList")
public R> getTagList(@RequestParam("type") Integer type) {
return R.ok(evaluationTagService.getTagList(type));
}
@GetMapping("/getList")
public R> getList() {
return R.ok(evaluationTagService.getList());
}
@ResponseBody
@GetMapping("/pageList")
@ApiOperation(value = "获取评价标签列表", tags = {"管理后台-评价标签设置"})
public AjaxResult> pageList(String name, BasePage basePage){
PageInfo pageInfo = evaluationTagService.pageList(name, basePage);
return AjaxResult.success(pageInfo);
}
@ResponseBody
@PostMapping("/addEvaluationTag")
@ApiOperation(value = "添加评价标签", tags = {"管理后台-评价标签设置"})
@Log(title = "【评价标签设置】添加评价标签", businessType = BusinessType.INSERT)
public AjaxResult addEvaluationTag(@RequestBody TEvaluationTag evaluationTag){
evaluationTagService.save(evaluationTag);
return AjaxResult.success();
}
@ResponseBody
@GetMapping("/getEvaluationTagInfo/{id}")
@ApiOperation(value = "获取评价标签详情", tags = {"管理后台-评价标签设置"})
public AjaxResult getEvaluationTagInfo(@PathVariable Integer id){
TEvaluationTag evaluationTag = evaluationTagService.getById(id);
return AjaxResult.success(evaluationTag);
}
@ResponseBody
@PostMapping("/editEvaluationTag")
@ApiOperation(value = "编辑评价标签", tags = {"管理后台-评价标签设置"})
@Log(title = "【评价标签设置】编辑评价标签", businessType = BusinessType.UPDATE)
public AjaxResult editEvaluationTag(@RequestBody TEvaluationTag evaluationTag){
evaluationTagService.updateById(evaluationTag);
return AjaxResult.success();
}
@ResponseBody
@DeleteMapping("/delEvaluationTag")
@ApiOperation(value = "删除评价标签", tags = {"管理后台-评价标签设置"})
@Log(title = "【评价标签设置】删除评价标签", businessType = BusinessType.DELETE)
public AjaxResult delEvaluationTag(@RequestParam("id") Integer[] id){
List tEvaluationTags = evaluationTagService.listByIds(Arrays.asList(id));
for (TEvaluationTag evaluationTag : tEvaluationTags) {
evaluationTagService.removeById(evaluationTag);
}
return AjaxResult.success();
}
/**
* 根据id集合获取数据
* @param tagIds
* @return
*/
@PostMapping("/getListByIds")
public R> getListByIds(@RequestBody List tagIds){
List tEvaluationTags = evaluationTagService.listByIds(tagIds);
return R.ok(tEvaluationTags);
}
@ResponseBody
@GetMapping("/getRandomEvaluationTag")
@ApiOperation(value = "获取随机的4个评价标签", tags = {"小程序-充电记录"})
public AjaxResult> getRandomEvaluationTag(Integer type){
List list = evaluationTagService.list(new LambdaQueryWrapper().eq(TEvaluationTag::getType, type)
.last(" order by RAND() limit 0, 4"));
return AjaxResult.success(list);
}
}