| 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<Map<String, Object>> 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<String> 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<SysPopupListVo> 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<SysPopup> 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<Map<String, Object>> 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<String> 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<ViewSysBannerVo> 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("操作成功!"); | 
|     } | 
|   | 
|   | 
|   | 
| } |