Package com.lgx8.management.action

Source Code of com.lgx8.management.action.AdvertisementController

package com.lgx8.management.action;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.fileupload.util.Streams;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;

import com.lgx8.common.PageArgument;
import com.lgx8.common.PageList;
import com.lgx8.common.servlet.BaseController;
import com.lgx8.common.util.Constants;
import com.lgx8.management.dao.IAdvertisementDao;
import com.lgx8.management.dao.IMerchantDao;
import com.lgx8.management.entities.Advertisement;
import com.lgx8.management.entities.Merchant;
import com.lgx8.right.entities.RunTimeUser;
import com.lgx8.right.entities.User;
import com.lgx8.util.ImageUtils;

/**
* 广告管理
* */
@Controller
public class AdvertisementController extends BaseController {
  @Autowired
  IMerchantDao merchantDao; 
  @Autowired
  IAdvertisementDao advertisementDao;
 
  /**
   *广告修改
   * **/
  @RequestMapping("/advertisement/modifyAdvertisementIni.do")
  public ModelAndView modifyAdvertisementIni(HttpServletRequest request,HttpServletResponse response){
    String adId = request.getParameter("adId");
    if(isNumber(adId)){
      Advertisement ad = advertisementDao.findAdvertisementById(Long.parseLong(adId.trim()));
      request.setAttribute("advertisement", ad);
      if(User.USER_TYPE_MERCHANT==ad.getUser().getUsertype()){
        return  new ModelAndView("/management/advertisement/advertisement_merchant_add");
      }else if(User.USER_TYPE_YYCENTER==ad.getUser().getUsertype()
          ||User.USER_TYPE_TGCENTER==ad.getUser().getUsertype()
          ||User.USER_TYPE_TGSTATION==ad.getUser().getUsertype()){
        return  new ModelAndView("/management/advertisement/advertisement_organization_add");
      }
    }
    return null;
  }
 
  /**
   *广告删除
   * **/
  @RequestMapping("/advertisement/deleteAdvertisement.do")
  public ModelAndView deleteAdvertisement(HttpServletRequest request,HttpServletResponse response){
    String adId = request.getParameter("adId");
    if(isNumber(adId)){
      Advertisement ad = new Advertisement();
      ad.setID(Long.parseLong(adId.trim()));
      ad.setUser(RunTimeUser.getRunTimeUser(request));
      advertisementDao.deleteAdvertisement(ad);
    }
    return  new ModelAndView("/management/advertisement/advertisement_generallist");
  }
 
  /**
   *联盟商家广告录入
   * **/
  @RequestMapping("/merchant/saveAdvertisement.do")
  public ModelAndView saveMerchantAdvertisement(HttpServletRequest req,HttpServletResponse response){
   
    MultipartHttpServletRequest request = (MultipartHttpServletRequest)req;
    String adId = request.getParameter("adId");
    String tplx = request.getParameter("tplx");
    String tpmx = request.getParameter("description");
    String layerOrder = request.getParameter("layerOrder");
    RunTimeUser rtUser = RunTimeUser.getRunTimeUser(request);
    Merchant merchant = null;
    if(rtUser!=null){
      long mid = rtUser.getOrganizationid();
      merchant = merchantDao.getMerchantById(mid);
    }
    if(merchant!=null){
      File picture = fileUpload(request,"picture",merchant);
      if(adId!=null&&isNumber(adId)){
        Advertisement ad = advertisementDao.findAdvertisementById(Long.parseLong(adId.trim()));
        if(ad!=null){
          try {
            String orignalFilePath = ad.getTPLJ();
            ad.setUser(rtUser);
            if(null!=picture)ad.setTPLJ(getSourceURL(picture.getPath()));
            if(null!=tpmx)ad.setTpmx(tpmx);
            if(null!=tplx)ad.setTplx(tplx);
            ad.setLayerOrder(layerOrder);
            advertisementDao.updateAdervertisement(ad);
            File orignalFile = new File(orignalFilePath);
            if(orignalFile.exists())orignalFile.delete();
          }catch (Exception e) {
            e.printStackTrace();
          }
        }
      }else{
        try {
          Advertisement ad = new Advertisement();
          ad.setMerchant(merchant);
          ad.setUser(rtUser);
          if(null!=picture)ad.setTPLJ(getSourceURL(picture.getPath()));
          ad.setUrl(null);
          ad.setSJSJ(new Date());
          ad.setQX(10000);
          ad.setTplx(tplx);
          ad.setTpmx(tpmx);
          ad.setLayerOrder(layerOrder);
          advertisementDao.createAdvertisement(ad);
        } catch (Exception e) {
          e.printStackTrace();
        }
     
      }
    }

    return  new ModelAndView("/management/advertisement/advertisement_generallist");
 
  }
 
  @RequestMapping("/organization/saveAdvertisement.do")
  public ModelAndView saveOrganizationAdvertisement(HttpServletRequest req,HttpServletResponse response){
    MultipartHttpServletRequest request = (MultipartHttpServletRequest)req;
    String adId = request.getParameter("adId");
    String merchantNo = request.getParameter("merchantNo");
    String tplx = request.getParameter("tplx");
    String tpmx = request.getParameter("description");
    RunTimeUser rtUser = RunTimeUser.getRunTimeUser(request);
    Merchant merchant = null;
    if(merchantNo!=null&&isNumber(merchantNo)){
      merchant = merchantDao.getMerchantById(Long.parseLong(merchantNo.trim()));
    }
    if(null!=merchant){
      File picture = fileUpload(request,"picture",merchant);
      if(adId!=null&&isNumber(adId)){
        //修改
        Advertisement ad = advertisementDao.findAdvertisementById(Long.parseLong(adId.trim()));
        if(ad!=null){
          try {
            String orignalFilePath = ad.getTPLJ();
            ad.setMerchant(merchant);
            ad.setUser(rtUser);
            ad.setTplx(tplx);
            ad.setTpmx(tpmx);
            if(null!=picture)ad.setTPLJ(getSourceURL(picture.getPath()));
            advertisementDao.updateAdervertisement(ad);
            File orignalFile = new File(orignalFilePath);
            if(orignalFile.exists())orignalFile.delete();
          }catch (Exception e) {
            e.printStackTrace();
          }
        }
     
      }else{
        //添加
        try {
          Advertisement ad = new Advertisement();
          ad.setMerchant(merchant);
          ad.setUser(rtUser);
          ad.setTplx(tplx);
          ad.setTpmx(tpmx);
          if(null!=picture)ad.setTPLJ(getSourceURL(picture.getPath()));
          ad.setUrl(null);
          ad.setSJSJ(new Date());
          ad.setQX(10000);
          //ad.setTplx("01");
          advertisementDao.createAdvertisement(ad);
        } catch (Exception e) {
          e.printStackTrace();
        }
     
      }
    }
    return  new ModelAndView("/management/advertisement/advertisement_generallist");
 
  }
 
  private File fileUpload(HttpServletRequest request,Merchant merchant){

    DiskFileItemFactory factory = new DiskFileItemFactory();
    factory.setSizeThreshold(102400);
    ServletFileUpload upload = new ServletFileUpload(factory);
    upload.setSizeMax(Constants.UPLOAD_MAX_SIZE);
    try {
      List fileItems = upload.parseRequest(request);
      Iterator iter = fileItems.iterator();
      while (iter.hasNext()) {
        FileItem item = (FileItem) iter.next();
        if (!item.isFormField()){
          String fileName = item.getName();
          if (fileName != null && fileName.length() != 0) {
            BufferedInputStream bis = new BufferedInputStream(item.getInputStream());
            String _fn = fileName.substring(fileName.lastIndexOf(System.getProperty("file.separator"))+1);
            String _ed = _fn.substring(_fn.indexOf('.'));
            String path = AdvertisementController.class.getClassLoader().getResource("/").getPath();
            File file = new File(path);
            File p_file = new File(file.getParent());
            String url = p_file.getParent()+System.getProperty("file.separator")+"merchant_picture"+System.getProperty("file.separator")+new Date().getTime()+"_"+merchant.getID();
            boolean suc = new File(p_file.getParent()+System.getProperty("file.separator")+"merchant_picture"+System.getProperty("file.separator")+new Date().getTime()+"_"+merchant.getID()).mkdirs();
            if(suc){
              File _new = new File(url+System.getProperty("file.separator")+merchant.getID()+_ed);
              _new.createNewFile();
              BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(_new));
              Streams.copy( bis, bos, true);
              return _new;
            }
          }
        }
      }
    } catch (FileUploadException e) {
      e.printStackTrace();
      System.out.println(e.getMessage() + "结束");
    } catch (Exception e) {
      e.printStackTrace();
    }
    return null;
  }
 
  private boolean isNumber(String orderStr){
    if(orderStr==null)return false;
    return orderStr.trim().matches("[\\d]+");
  }
 
  @RequestMapping("/advertisement/listAdvertisement.do")
  public ModelAndView queryAdvertisement(HttpServletRequest request,HttpServletResponse response){
    RunTimeUser rtUser = RunTimeUser.getRunTimeUser(request);
    String description = request.getParameter("description");
    List parameters = new ArrayList();
    String hql = "";
   
    if(rtUser.getUsertype() == User.USER_TYPE_GSYG)
    {
      hql = "from Advertisement ad where  ad.SFYX = 0 and ad.merchant.DELETEFLAG = '0' " ;
    }else if(rtUser.getUsertype()!=User.USER_TYPE_MERCHANT){
      hql = "from Advertisement ad where  ad.SFYX = 0 and ad.user.id =? ";
      parameters.add(rtUser.getId());
    }else{
      hql = "from Advertisement ad where  ad.SFYX = 0 and ad.merchant.id=? ";
      parameters.add(rtUser.getOrganizationid());
    }
    if(null!=description&&!"".equals(description.trim())){
      hql += " and ad.tpmx like ?";
      parameters.add("%"+description+"%");
    }
    PageArgument arg = this.getPageInfo(request);
    PageList pageList = advertisementDao.findByPage4Report(hql, parameters.toArray(), arg.getCurPage(), arg.getPageSize());
    this.printJSON(response, pageList.toJSON());
    return null;
  }
 
  private File fileUpload(MultipartHttpServletRequest multipartRequest,String key,Merchant merchant){
    Map<String,MultipartFile> maps =  multipartRequest.getFileMap();
    MultipartFile   file   =   maps.get(key);
      try
             String uploadPath = ImageUtils.getUploadPath();
             String sourcePath = uploadPath + System.getProperty("file.separator") + new Date().getTime()+"_"+merchant.getID()+".jpg";
             File newFile = new File(sourcePath);
             file.transferTo(newFile);
         return newFile;
        } catch (Exception e) { 
            e.printStackTrace()
        }
        return null;
  }
 
  private String getSourceURL(String sourceURL){
     String[] path = sourceURL.split("\\"+System.getProperty("file.separator"));
         String  sourcePath = path[path.length-3]+"/"+ path[path.length-2]+"/"+ path[path.length-1];
         return sourcePath;
  }
}
TOP

Related Classes of com.lgx8.management.action.AdvertisementController

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.