package com.xinquan.system.controller; import com.xinquan.common.core.domain.R; import com.xinquan.common.core.utils.page.PageDTO; import com.xinquan.common.log.annotation.Log; import com.xinquan.common.log.enums.BusinessType; import com.xinquan.course.api.domain.Course; import com.xinquan.course.api.domain.CourseCategory; import com.xinquan.course.api.domain.CourseDTO; import com.xinquan.course.api.feign.RemoteCourseService; import com.xinquan.system.domain.Banner; import com.xinquan.system.service.BannerService; 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.web.bind.annotation.*; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; /** *

* 用户信息表 前端控制器 *

* * @author mitao * @since 2024-08-21 */ @RestController @RequestMapping("/system/banner") public class BannerController { @Autowired private BannerService bannerService; @Autowired private RemoteCourseService remoteCourseService; @PostMapping("/bannerList") @ApiOperation(value = "获取banner列表-分页",tags = "管理后台banner") @ApiImplicitParams({ @ApiImplicitParam(value = "分页参数,当前页码", name = "pageCurr", required = true, dataType = "Integer"), @ApiImplicitParam(value = "分页参数,每页数量", name = "pageSize", required = true, dataType = "Integer") }) public R> bannerList( @RequestParam(value = "pageCurr", defaultValue = "1") Integer pageCurr, @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) { return R.ok(bannerService.bannerList(pageCurr, pageSize)); } @PostMapping("/cateList") @ApiOperation(value = "课程分类下拉选择列表-不分页",tags = "管理后台banner") public R> cateList() { List data = remoteCourseService.cateList().getData(); return R.ok(data); } @GetMapping("/courseList") @ApiOperation(value = "选择课程-分页",tags = "管理后台banner") @ApiImplicitParams({ @ApiImplicitParam(value = "分页参数,当前页码", name = "pageCurr", required = false, dataType = "Integer"), @ApiImplicitParam(value = "分页参数,每页数量", name = "pageSize", required = false, dataType = "Integer"), @ApiImplicitParam(value = "课程类型1线上2线下", name = "courseType", required = false, dataType = "Integer"), @ApiImplicitParam(value = "课程分类id", name = "cateId", required = false, dataType = "Long"), @ApiImplicitParam(value = "课程标题", name = "courseTitle", required = false, dataType = "String"), @ApiImplicitParam(value = "导师名称", name = "tutor", required = false, dataType = "String"), }) public R> courseList( Integer pageCurr, Integer pageSize, Integer courseType, Long cateId, String courseTitle, String tutor ) { CourseDTO courseDTO = new CourseDTO(); courseDTO.setPageCurr(pageCurr); courseDTO.setPageSize(pageSize); courseDTO.setCourseType(courseType); courseDTO.setCateId(cateId); courseDTO.setCourseTitle(courseTitle); courseDTO.setTutor(tutor); PageDTO data = remoteCourseService.courseList(courseDTO).getData(); return R.ok(data); } @PostMapping("/deleteBatch") @ApiOperation(value = "批量删除banner",tags = "管理后台banner") @ApiImplicitParams({ @ApiImplicitParam(value = "ids", name = "ids", required = true, dataType = "String"), }) @Log(title = "【banner】批量删除", businessType = BusinessType.DELETE) public R deleteBatch( @RequestParam(value = "ids") String ids) { List list = Arrays.asList(ids.split(",")).stream().map(Long::valueOf).collect(Collectors.toList()); bannerService.removeBatchByIds(list); return R.ok(); } @PostMapping("/addBanner") @ApiOperation(value = "添加banner",tags = "管理后台banner") @Log(title = "【banner】添加", businessType = BusinessType.INSERT) public R addBanner(@RequestBody Banner banner) { bannerService.save(banner); return R.ok(); } @PostMapping("/updateBanner") @ApiOperation(value = "修改banner",tags = "管理后台banner") @Log(title = "【banner】修改", businessType = BusinessType.UPDATE) public R updateBanner(@RequestBody Banner banner) { bannerService.updateById(banner); return R.ok(); } @PostMapping("/bannerDetail") @ApiOperation(value = "查看详情",tags = "管理后台banner") public R bannerDetail(String uid) { Banner byId = bannerService.getById(uid); if (byId.getCourseId()!=null){ Course data = remoteCourseService.getCourseById(byId.getCourseId()).getData(); if (data!=null){ byId.setCourseTitle(data.getCourseTitle()); byId.setCoverUrl(data.getCoverUrl()); byId.setTutor(data.getTutor()); byId.setPrice(data.getGeneralPrice()); if (data.getCateId()!=null){ CourseCategory data1 = remoteCourseService.getCategoryById(data.getCateId().toString()).getData(); byId.setCate(data1.getName()); } } } return R.ok(byId); } }