BannerAction.java 4.45 KB
package com.cjs.cms.action.site;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;

import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.cjs.cms.biz.site.UploadBiz;
import com.cjs.cms.dao.site.BannerDao;
import com.cjs.cms.model.site.BannerInfo;
import com.cjs.cms.model.user.UserInfo;
import com.cjs.cms.util.file.FileUtil;
import com.cjs.cms.util.lang.JsonUtil;
import com.cjs.cms.util.lang.PageUtils;
import com.cjs.cms.util.lang.StringUtil;
import com.cjs.cms.util.web.ActionUtil;

/**
 * 广告轮换
 * 
 * @author kongmingke
 *
 */
@RestController
@RequestMapping("/banner")
public class BannerAction {

    @Autowired
    private BannerDao bannerDao;
    @Autowired
    private UploadBiz upload;
    Logger            log = LogManager.getLogger();

    @RequestMapping("/searchList")
    public String getBannerList(@RequestParam Map<String, Object> params) {
        if (StringUtil.isBlank(params.get("beginDate"))) {
            params.put("beginDate", null);
        }

        if (StringUtil.isBlank(params.get("endDate"))) {
            params.put("endDate", null);
        }
        PageUtils.processPage(params);
        return JsonUtil.toPageJson(bannerDao.getBannerList(params),
            bannerDao.getBannerListCount(params));
    }

    /**
     * 新增广告图片
     * 
     * @param params
     */
    @RequestMapping("/addOrUpdateBanner")
    public String addOrUpdateBanner(BannerInfo banner) {
        String resultCode = "0";
        // 获取当前登录人信息
        UserInfo userInfo = (UserInfo) ActionUtil.getRequest().getSession()
            .getAttribute(UserInfo.USER);
        if (StringUtils.isNotBlank(banner.getTitleFile().getOriginalFilename())) {
            // 图片名称
            String imageName = FileUtil.QueryArticleImgPrefix()
                               + FileUtil.getSuffix(banner.getTitleFile().getOriginalFilename());
            Map<String, String> map = upload.markFile();
            // 图片上传路径
            String imgTargetFile = map.get("uploadPath") + "/" + imageName;
            banner.setImage(map.get("imageUrl") + "/" + imageName);
            try {
                FileUtil.transferFile(banner.getTitleFile(), imgTargetFile);
            } catch (IOException e) {
                log.error("", e);
                resultCode = "-1";
            }
        }
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        if (StringUtils.isBlank(banner.getStartAt())) {
            banner.setStartAt(sdf.format(new Date()));
        }
        if (StringUtils.isBlank(banner.getEndAt())) {
            banner.setEndAt("2099-12-30 00:00:00");
        }

        if (resultCode == "0") {
            // 修改
            if (banner.getId() != null && banner.getId() != 0) {
                banner.setUpdateBy(userInfo.getUsername());
                bannerDao.updateBanner(banner);
                // 增加
            } else {
                if (banner.getBannerLocation() == 1) {
                    int hangqing = bannerDao.getBannerLocationCount(banner.getBannerLocation());
                    if (hangqing > 0) {
                        resultCode = "-2";
                    }
                }

                if (banner.getBannerLocation() == 2) {
                    int kaihu = bannerDao.getBannerLocationCount(banner.getBannerLocation());
                    if (kaihu > 0) {
                        resultCode = "-3";
                    }
                }

                if (resultCode != "-2" && resultCode != "-3") {
                    banner.setCreateBy(userInfo.getUsername());
                    banner.setUpdateBy(userInfo.getUsername());
                    bannerDao.addBanner(banner);
                }
            }
        }

        return JsonUtil.toJson("resultCode", resultCode);

    }

    /**
     * 删除广告图片
     * 
     * @param params
     */
    @RequestMapping("/deleteBanner")
    public String deleteBanner(String ids) {
        for (String id : ids.split(",")) {
            bannerDao.deleteBanner(Integer.parseInt(id));
        }
        return JsonUtil.toJson("resultCode", "0");
    }
}