package com.xzx.gc.system.controller; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.xzx.gc.common.constant.CommonEnum; import com.xzx.gc.common.constant.Constants; import com.xzx.gc.common.dto.log.OperationAppLog; import com.xzx.gc.common.request.BaseController; import com.xzx.gc.entity.BannerInfo; import com.xzx.gc.entity.SysPopup; import com.xzx.gc.model.JsonResult; import com.xzx.gc.system.dto.*; import com.xzx.gc.system.mapper.BannerMapper; import com.xzx.gc.system.service.BannerService; import com.xzx.gc.system.vo.SysBannerListVo; import com.xzx.gc.system.vo.SysPopupListVo; import com.xzx.gc.system.vo.ViewSysBannerVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.Map; @RestController @Api(tags = {"轮播图"}) @Slf4j public class AdminBannerController extends BaseController { @Autowired private BannerService bannerService; @Resource BannerMapper bannerMapper; @ApiOperation(value = "首页弹窗--列表") @ApiResponses( @ApiResponse(code = 200, message = "success", response = SysPopupListVo.class) ) @PostMapping(value = Constants.ADMIN_VIEW_PREFIX + "/sysPopup/sysPopupList.json") public JsonResult> sysPopupList(@RequestBody SysPopupListDto sysPopupListDto) { return JsonResult.success(bannerService.sysPopupList(sysPopupListDto)); } @PostMapping(Constants.ADMIN_VIEW_PREFIX+"/sysPopup/addSysPopup.json") @ApiOperation(value = "首页弹窗--添加", notes = "test: 仅0有正确返回") public JsonResult addSysPopup(@RequestBody AddSysPopupDto model, HttpServletRequest request) { bannerService.addSysPopup(model); OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request)) .methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("首页弹窗--添加-").build(); mqUtil.sendApp(build); return JsonResult.success("操作成功!"); } @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/sysPopup/viewSysPopup.json") @ApiResponses({@ApiResponse( code = 200, message = "success", response = SysPopupListVo.class)}) @ApiOperation(value="首页弹窗--查看详情", notes="test: 仅0有正确返回") public JsonResult viewSysPopup(@RequestBody ViewSysPopupDto viewSysPopupDto) { Long id = viewSysPopupDto.getId(); SysPopupListVo sysPopupListVo = bannerMapper.selectSysPopupById(id); return JsonResult.success(sysPopupListVo); } @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/sysPopup/updateSysPopup.json") @ApiOperation(value="首页弹窗--更新详情", notes="test: 仅0有正确返回") public JsonResult updateSysPopup(@RequestBody UpdateSysPopupDto model, HttpServletRequest request) { long id = model.getId(); SysPopupListVo sysPopupListVo = bannerMapper.selectSysPopupById(id); if(ObjectUtil.isEmpty(sysPopupListVo)){ return JsonResult.failMessage("当前记录不存在!"); } bannerService.updateSysPopup(model); OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request)) .methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("首页弹窗--更新详情-" + id).build(); mqUtil.sendApp(build); return JsonResult.success("操作成功!"); } @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/sysPopup/delSysPopup.json") @ApiOperation(value="首页弹窗--删除", notes="test: 仅0有正确返回") public JsonResult delSysPopup(@RequestBody DelSysPopupDto model, HttpServletRequest request) { long id = model.getId(); SysPopupListVo sysPopupListVo = bannerMapper.selectSysPopupById(id); if(ObjectUtil.isEmpty(sysPopupListVo)){ return JsonResult.failMessage("当前记录不存在!"); } bannerService.delSysPopup(model); OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request)) .methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("首页弹窗--删除-" + id).build(); mqUtil.sendApp(build); return JsonResult.success("操作成功!"); } @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/sysPopup/onOffSysPopup.json") @ApiOperation(value="首页弹窗--上下架", notes="test: 仅0有正确返回") public JsonResult onOffSysPopup(@RequestBody OnSysPopupDto model, HttpServletRequest request) { long id = model.getId(); SysPopupListVo sysPopupListVo = bannerMapper.selectSysPopupById(id); if(ObjectUtil.isEmpty(sysPopupListVo)){ return JsonResult.failMessage("当前记录不存在!"); } Integer state = model.getStatus(); String startTime = sysPopupListVo.getStartTime(); String endTime = sysPopupListVo.getEndTime(); DateTime dateTime = DateUtil.parseDate(endTime); int compare = DateUtil.compare(DateUtil.date(), dateTime); if(1 == state && compare > 0){ return JsonResult.failMessage("首页弹窗已过期!"); } List sysPopups = bannerMapper.selectSysPopupBystate(1,startTime,endTime); if(1 == state && CollUtil.isNotEmpty(sysPopups)){ return JsonResult.failMessage("当前时间段已有上架首页弹窗!"); } bannerService.onOffSysPopup(model); OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request)) .methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("首页弹窗--上下架-" + id).build(); mqUtil.sendApp(build); return JsonResult.success("操作成功!"); } @ApiOperation(value = "轮播图--列表") @ApiResponses( @ApiResponse(code = 200, message = "success", response = SysBannerListVo.class) ) @PostMapping(value = Constants.ADMIN_VIEW_PREFIX + "/sysBanner/sysBannerList.json") public JsonResult> sysBannerList(@RequestBody SysBannerListDto sysBannerListDto) { return JsonResult.success(bannerService.sysBannerList(sysBannerListDto)); } @PostMapping(Constants.ADMIN_VIEW_PREFIX+"/sysBanner/addSysBanner.json") @ApiOperation(value = "轮播图--添加", notes = "test: 仅0有正确返回") public JsonResult addSysBanner(@RequestBody AddSysBannerDto model, HttpServletRequest request) { model.setCreateTime(new Date()); bannerService.addSysBanner(model); OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request)) .methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("轮播图--添加-").build(); mqUtil.sendApp(build); return JsonResult.success("操作成功!"); } @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/sysBanner/viewSysBanner.json") @ApiResponses({@ApiResponse( code = 200, message = "success", response = ViewSysBannerVo.class)}) @ApiOperation(value="轮播图--查看详情", notes="test: 仅0有正确返回") public JsonResult viewSysBanner(@RequestBody ViewSysBannerDto viewSysNewsDto) { Long id = viewSysNewsDto.getId(); ViewSysBannerVo viewSysBannerVo = bannerService.viewSysBanner(id); return JsonResult.success(viewSysBannerVo); } @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/sysBanner/updateSysBanner.json") @ApiOperation(value="轮播图--更新详情", notes="test: 仅0有正确返回") public JsonResult updateSysBanner(@RequestBody UpdateSysBannerDto model, HttpServletRequest request) { long id = model.getId(); BannerInfo bannerInfo = bannerMapper.selectBannerById(id); if(ObjectUtil.isEmpty(bannerInfo)){ return JsonResult.failMessage("当前记录不存在!"); } bannerService.updateSysBanner(model); OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request)) .methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("轮播图--更新详情-" + id).build(); mqUtil.sendApp(build); return JsonResult.success("操作成功!"); } @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/sysBanner/delSysBanner.json") @ApiOperation(value="轮播图--删除", notes="test: 仅0有正确返回") public JsonResult delSysBanner(@RequestBody DelSysBannerDto model, HttpServletRequest request) { long id = model.getId(); BannerInfo bannerInfo = bannerMapper.selectBannerById(id); if(ObjectUtil.isEmpty(bannerInfo)){ return JsonResult.failMessage("当前记录不存在!"); } bannerService.delSysBanner(model); OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request)) .methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("轮播图--删除-" + id).build(); mqUtil.sendApp(build); return JsonResult.success("操作成功!"); } @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/sysBanner/onOffSysBanner.json") @ApiOperation(value="轮播图--上下架", notes="test: 仅0有正确返回") public JsonResult onOffSysBanner(@RequestBody OnSysBannerDto model, HttpServletRequest request) { long id = model.getId(); BannerInfo bannerInfo = bannerMapper.selectBannerById(id); if(ObjectUtil.isEmpty(bannerInfo)){ return JsonResult.failMessage("当前记录不存在!"); } bannerService.onOffSysBanner(model); OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request)) .methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("轮播图--上下架-" + id).build(); mqUtil.sendApp(build); return JsonResult.success("操作成功!"); } }