package cn.wisenergy.chnmuseum.party.web.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import cn.wisenergy.chnmuseum.party.web.controller.base.BaseController; import cn.wisenergy.chnmuseum.party.model.TBoardPlayRank; import cn.wisenergy.chnmuseum.party.service.TBoardPlayRankService; import cn.wisenergy.chnmuseum.party.common.enums.AuditStatusEnum; import cn.wisenergy.chnmuseum.party.common.validator.groups.Add; import cn.wisenergy.chnmuseum.party.common.validator.groups.Update; import cn.wisenergy.chnmuseum.party.common.vo.GenericPageParam; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; import javax.annotation.Resource; import javax.validation.constraints.NotNull; import java.util.List; import java.util.Map; /** * <pre> * 展板播放排行 前端控制器 * </pre> * * @author Danny Lee * @since 2021-03-26 */ @Slf4j @RestController @RequestMapping("/tBoardPlayRank") @Api(tags = {"展板播放排行操作接口"}) public class TBoardPlayRankController extends BaseController { @Resource private TBoardPlayRankService tBoardPlayRankService; @PostMapping("/batchSave") @RequiresPermissions("t:board:play:rank:batch:save") @ApiOperation(value = "批量添加展板播放排行", notes = "批量添加展板播放排行") public Map<String, Object> batchSaveTBoardPlayRank(@Validated(value = {Add.class}) List<TBoardPlayRank> tBoardPlayRankList) { // 保存业务节点信息 boolean result = tBoardPlayRankService.saveBatch(tBoardPlayRankList); // 返回操作结果 if (result) { return getSuccessResult(); } else { // 保存失败 return getFailResult(); } } @PostMapping("/save") @RequiresPermissions("t:board:play:rank:save") @ApiOperation(value = "添加展板播放排行", notes = "添加展板播放排行") public Map<String, Object> saveTBoardPlayRank(@Validated(value = {Add.class}) TBoardPlayRank tBoardPlayRank) { // 保存业务节点信息 boolean result = tBoardPlayRankService.save(tBoardPlayRank); // 返回操作结果 if (result) { return getSuccessResult(); } else { // 保存失败 return getFailResult(); } } @PutMapping("/update") @RequiresPermissions("t:board:play:rank:update") @ApiOperation(value = "修改展板播放排行信息", notes = "修改展板播放排行信息") public Map<String, Object> updateTBoardPlayRank(@Validated(value = {Update.class}) TBoardPlayRank tBoardPlayRank) { boolean flag = tBoardPlayRankService.updateById(tBoardPlayRank); if (flag) { return getSuccessResult(); } return getFailResult(); } // @PutMapping("/updateAuditStatus/{id}") // @RequiresPermissions("t:board:play:rank:update:audit:status") // @ApiOperation(value = "更新展板播放排行审核状态", notes = "更新展板播放排行审核状态") // @ApiImplicitParams(value = { // @ApiImplicitParam(name = "id", value = "标识ID", dataType = "String", paramType = "path"), // @ApiImplicitParam(name = "status", value = "状态", paramType = "query", dataType = "String") // }) // public Map<String, Object> updateStatus(@NotNull(message = "展板播放排行ID不能为空") @PathVariable("id") String id, @RequestParam("status") AuditStatusEnum status) { // UpdateWrapper<TBoardPlayRank> updateWrapper = new UpdateWrapper<>(); // updateWrapper.eq("id", id); // updateWrapper.eq("audit_status", status.name()); // boolean flag = tBoardPlayRankService.update(updateWrapper); // if (flag) { // return getSuccessResult(); // } // return getFailResult(); // } @DeleteMapping("/delete/{id}") @RequiresPermissions("t:board:play:rank:delete") @ApiOperation(value = "根据ID删除展板播放排行", notes = "根据ID删除展板播放排行") @ApiImplicitParams(value = { @ApiImplicitParam(name = "id", value = "标识ID", paramType = "path", dataType = "String") }) public Map<String, Object> deleteTBoardPlayRank(@PathVariable("id") String id) { boolean result = tBoardPlayRankService.removeById(id); if (result) { return getSuccessResult(); } return getFailResult(); } @GetMapping("/getList") @RequiresPermissions("t:board:play:rank:list") @ApiOperation(value = "获取展板播放排行全部列表(无分页)", notes = "获取展板播放排行全部列表(无分页)") @ApiImplicitParams(value = { @ApiImplicitParam(name = "auditStatus", value = "审核状态", paramType = "query", dataType = "String") }) public Map<String, Object> getTBoardPlayRankList(@RequestParam(value = "auditStatus", defaultValue = "APPROVED_FINAL", required = false) AuditStatusEnum auditStatus) { List<TBoardPlayRank> tBoardPlayRankList = tBoardPlayRankService.list(); return getResult(tBoardPlayRankList); } @ApiImplicitParams(value = { @ApiImplicitParam(name = "_index", value = "分页起始偏移量", paramType = "query", dataType = "Integer"), @ApiImplicitParam(name = "_size", value = "返回条数", paramType = "query", dataType = "Integer"), @ApiImplicitParam(name = "nameOrCode", value = "名称或编码", paramType = "query", dataType = "String"), @ApiImplicitParam(name = "startDate", value = "创建时间-开始", paramType = "query", dataType = "String"), @ApiImplicitParam(name = "endDate", value = "创建时间-结束", paramType = "query", dataType = "String") }) @PostMapping("/getPageList") @RequiresPermissions("t:board:play:rank:page") @ApiOperation(value = "获取展板播放排行分页列表", notes = "获取展板播放排行分页列表") public Map<String, Object> getTBoardPlayRankPageList(GenericPageParam genericPageParam) { LambdaQueryWrapper<TBoardPlayRank> queryWrapper = new LambdaQueryWrapper<>(); // // 对名称或编码模糊查询 // if (StringUtils.isNotBlank(genericPageParam.getNameOrCode())) { // queryWrapper.like(TBoardPlayRank::getName, genericPageParam.getNameOrCode()); // } // // 根据创建时间区间检索 // if (genericPageParam.getStartDate() != null && genericPageParam.getEndDate() != null) { // queryWrapper.ge(TBoardPlayRank::getCreateTime, genericPageParam.getStartDate().atTime(0, 0, 0)) // .le(TBoardPlayRank::getCreateTime, genericPageParam.getEndDate().atTime(23, 59, 59)); // } // // 设置排序规则 // queryWrapper.orderByDesc(TBoardPlayRank::getCreateTime); // // 设置查询内容 // queryWrapper.select( // TBoardPlayRank::getId, // TBoardPlayRank::getName, // TBoardPlayRank::getAuditStatus, // TBoardPlayRank::getCreateTime, // TBoardPlayRank::getUpdateTime); Page<TBoardPlayRank> page = this.tBoardPlayRankService.page(getPage(), queryWrapper); for (TBoardPlayRank tBoardPlayRank : page.getRecords()) { } return getResult(page); } @ApiOperation(value = "获取展板播放排行详情", notes = "获取展板播放排行详情") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "标识ID", dataType = "String", paramType = "path") }) @GetMapping("/get/{id}") @RequiresPermissions("t:board:play:rank:get:id") public Map<String, Object> getById(@PathVariable("id") String id) { TBoardPlayRank tBoardPlayRank = tBoardPlayRankService.getById(id); return getResult(tBoardPlayRank); } }