xiaoyong931011
2021-08-25 171a706099da6bd039b31b7a94eb75fb9b6162d2
gc-sys/src/main/java/com/xzx/gc/system/controller/AdminBannerController.java
@@ -1,16 +1,21 @@
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;
@@ -24,7 +29,10 @@
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
@@ -38,6 +46,93 @@
    @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)