照片书后台

  1. package com.wodexiangce.web.servlet;
  2. import java.io.IOException;
  3. import java.io.PrintWriter;
  4. import java.io.UnsupportedEncodingException;
  5. import java.net.InetAddress;
  6. import java.net.UnknownHostException;
  7. import java.text.SimpleDateFormat;
  8. import java.util.Date;
  9. import java.util.Iterator;
  10. import java.util.List;
  11. import javax.faces.FactoryFinder;
  12. import javax.faces.context.FacesContext;
  13. import javax.faces.context.FacesContextFactory;
  14. import javax.faces.lifecycle.Lifecycle;
  15. import javax.faces.lifecycle.LifecycleFactory;
  16. import javax.servlet.http.HttpServletRequest;
  17. import javax.servlet.http.HttpServletResponse;
  18. import org.jdom.Document;
  19. import org.jdom.Element;
  20. import org.jdom.output.XMLOutputter;
  21. import com.wodexiangce.persistence.model.WdxcAlbum;
  22. import com.wodexiangce.persistence.model.WdxcOrderItem;
  23. import com.wodexiangce.persistence.model.WdxcPhoto;
  24. import com.wodexiangce.persistence.model.WdxcProductRecord;
  25. import com.wodexiangce.services.AlbumService;
  26. import com.wodexiangce.services.OrderService;
  27. import com.wodexiangce.services.PhotoService;
  28. import com.wodexiangce.services.ProductService;
  29. import com.wodexiangce.servlet.WdxcWebAbstractServlet;
  30. import com.wodexiangce.web.product.CommonModel;
  31. import com.wodexiangce.web.product.ProductHandler;
  32. import com.wodexiangce.web.query.PhotoAdvanceQuery;
  33.    
  34. public class PhotoBookServlet extends WdxcWebAbstractServlet {
  35.     private static final long serialVersionUID = 1L;
  36.      
  37.     private CommonModel cm  ;//=========加入购物车参数
  38.     public void doGet(HttpServletRequest request, HttpServletResponse response)throws IOException {
  39.                
  40.         //=====得到处理类型 
  41.         String handlerType = request.getParameter("handlertype"); 
  42.          
  43.         if(handlerType==null){
  44.             return ;
  45.         } 
  46.         switch(new Integer(handlerType).intValue()){
  47.             case 1:   //=====相册列表 
  48.                 this.createdAlbumXml(request,response);
  49.                 break ;
  50.             case 2:  //======相册的所有照片 
  51.                 this.createdPhotosXML(request,response);   
  52.                 break ;
  53.             case 3:  //======加入购物车
  54.                 this.addToshoppingCart(request,response) ;
  55.                 break ;
  56.             case 4:  //======获取订单信息中的产品内容
  57.                 getOrderInfo(request,response);
  58.                 break ; 
  59.             case 5:  //======自动填充
  60.                 String albumid = request.getParameter("albumid") ;
  61.                 this.getAllphotoOfAlbum(request, response, new Long(albumid)) ;
  62.                 break ;     
  63.             case 6:  //======产品保存
  64.                 this.saveProductHanlder(request, response);
  65.                 break ;     
  66.             case 7:  //======得到产品信息
  67.                 this.getProductRecordInfo(request,response) ;
  68.                 break ;  
  69.             case 8:  //======得到产品名称 
  70.                 this.getProductName(request, response) ;
  71.                 break ; 
  72.                 
  73.         }          
  74.     }
  75.     
  76.     /************* 取得订单信息中的产品内容********************************/
  77.     private void getOrderInfo(HttpServletRequest request, HttpServletResponse response)throws IOException{
  78.         String itemID = request.getParameter("itemid") ;
  79.         //wdxcOrderItem = orderService.getOrderItemByID(Long.parseLong(itemID));
  80.         OrderService orderService  = (OrderService)wac.getBean("orderService"); 
  81.         WdxcOrderItem wdxcOrderItem = orderService.getOrderItemByID(Long.parseLong(itemID));
  82.         
  83.         String context = wdxcOrderItem.getProductcontent() ;
  84.         response.setContentType("text/xml");
  85.         response.setCharacterEncoding("UTF-8");  
  86.         PrintWriter pw = response.getWriter();
  87.         pw.write(context);
  88.         pw.flush(); 
  89.         pw.close() ;
  90.         
  91.     }
  92.     /**********获取已保存产品信息*********************************/
  93.     public void getProductRecordInfo(HttpServletRequest request, HttpServletResponse response)throws IOException{
  94.         String pid = request.getParameter("productrecordid");  
  95.         ProductService ps  = (ProductService)wac.getBean("productService");
  96.         WdxcProductRecord wpr = ps.getProductRecord(new Long(pid));
  97.         String content = wpr.getContent() ;
  98.         response.setContentType("text/xml");
  99.         response.setCharacterEncoding("UTF-8");  
  100.         PrintWriter pw = response.getWriter();
  101.         pw.write(content);
  102.         pw.flush(); 
  103.         pw.close() ;
  104.     }
  105.      
  106.     /**********保存产品,并返回保存结果*********************************/
  107.     public void saveProductHanlder(HttpServletRequest request, HttpServletResponse response) throws IOException{
  108.         long pid = this.saveProduct(request, response) ;
  109.         response.getOutputStream().print(pid);
  110.     }
  111.      
  112.     /**********保存产品*********************************/
  113.     public long saveProduct(HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException{
  114.         String content = request.getParameter("content") ;
  115.         String productname = request.getParameter("productname") ;
  116.         String productid = request.getParameter("productid") ;
  117.         Long userID = this.getProductHandler(request, response).getPrinciple().getUserid()  ;
  118.         
  119.         String pid = request.getParameter("pid") ; 
  120.         String previewURL = request.getParameter("previewURL") ;
  121.         content = new String(content.getBytes("ISO-8859-1"),"UTF-8");
  122.         ProductService p  = (ProductService)wac.getBean("productService");
  123.         
  124.         WdxcProductRecord wpr = new WdxcProductRecord() ;
  125.         wpr.setProductID(new Long(productid));
  126.         wpr.setUserID(userID); 
  127.         wpr.setClassID(87l); 
  128.         wpr.setPreurl(previewURL);
  129.           
  130.         /*========保存产品,产品名称不为空,但如果没有保存产品,直接加入购物车,此时ProductName为空*/
  131.         if(productname!=null){
  132.             productname = new String(productname.getBytes("ISO-8859-1"),"UTF-8");
  133.             wpr.setName(productname);
  134.         } 
  135.         wpr.setCreatetime(new Date());
  136.         wpr.setFlag(0);   
  137.         wpr.setContent(content);
  138.          
  139.         //============保存产品 
  140.         if(pid==null||pid==""){ 
  141.                 
  142.             //======之前没有保存产品,直接加入购物车,产品名称为空,创建默认名称
  143.             if(productname==null){
  144.                 SimpleDateFormat  formatname = new SimpleDateFormat ("yyyyMMdd"); 
  145.                 productname = "我的照片书"+formatname.format(new Date());
  146.                 wpr.setName(productname) ; 
  147.             }   
  148.             return p.saveProductRecord(wpr);
  149.         }
  150.         
  151.         //============更新产品
  152.         else{  
  153.             wpr.setId(new Long(pid));
  154.             p.updateProductRecord(wpr); 
  155.             return new Long(pid) ;
  156.         }
  157.     }
  158.     /**********获取作品名称************************/
  159.     private void getProductName(HttpServletRequest request, HttpServletResponse response)throws IOException{
  160.         String pid = request.getParameter("pid") ;
  161.         ProductService p  = (ProductService)wac.getBean("productService");
  162.         WdxcProductRecord wpr = p.getProductRecord(new Long(pid));
  163.         response.setCharacterEncoding("UTF-8");  
  164.         response.getOutputStream().print(wpr.getName()); 
  165.     }
  166.     
  167.      
  168.     /**********获取某个相册的所有照片(自动填充)************************/
  169.     public void getAllphotoOfAlbum(HttpServletRequest request,HttpServletResponse response,long albumid)throws IOException{
  170.         PhotoService ps  = (PhotoService)wac.getBean("photoService");
  171.         PhotoAdvanceQuery paq = new PhotoAdvanceQuery();
  172.     
  173.         paq.setAlbumId(albumid);    
  174.     
  175.         int photoCount = ps.getPhotoCountByAlbumId(albumid) ; 
  176.         Long userID = this.getProductHandler(request, response).getPrinciple().getUserid()  ;
  177.         
  178.         List photos = ps.getPhotoAdvanceLimited(userID,paq,0,photoCount);
  179.         
  180.         Element root = new Element("wdxc");    
  181.         Document doc = new Document(root);      
  182.          
  183.         //========总数
  184.         Element count = new Element("count");    
  185.         count.addContent(new Element("num").setText(String.valueOf(photoCount)));
  186.         
  187.         root.addContent(count); 
  188.         for(Object obj:photos){    
  189.              WdxcPhoto wp = (WdxcPhoto)obj ;     
  190.              //=====创建节点    
  191.              Element elements = new Element("photos");    
  192.              elements.addContent(new Element("id").setText(String.valueOf(wp.getId())));  
  193.              elements.addContent(new Element("compressurl").setText(wp.getCompressurl()));      
  194.              //===== 给父节点wdxc添加album子节点;    
  195.              root.addContent(elements);    
  196.         } 
  197.         XMLOutputter XMLOut = new XMLOutputter();    
  198.         //=====发送xml数据到客户端浏览器          
  199.         response.setContentType("text/xml");
  200.         response.setCharacterEncoding("UTF-8");       
  201.        
  202.         XMLOut.output(doc, response.getOutputStream());
  203.     }
  204.      
  205.     
  206.     
  207.     public void addToshoppingCart(HttpServletRequest request,HttpServletResponse response)throws IOException{
  208.         String content = request.getParameter("content") ;
  209.         String productID = request.getParameter("productID") ;
  210.         String previewURL = request.getParameter("previewURL") ;
  211.         String productInnerNum = request.getParameter("productInnerNum");
  212.         
  213.         //========购买数量
  214.         String number = request.getParameter("number");
  215.         /*加入购物车之前,先保存产品*/   
  216.         long pid =this.saveProduct(request, response) ;
  217.         
  218.         ProductHandler ph = this.getProductHandler(request, response) ;
  219.         
  220.          
  221.         cm = new CommonModel () ; 
  222.         cm.setNumber(Integer.parseInt(number)); //购买数量
  223.           
  224.         content = new String(content.getBytes("ISO-8859-1"),"UTF-8");
  225.         
  226.         cm.setContent(content);//所有图片版式和背景图片
  227.         cm.setProductID(new Long(productID)); 
  228.         cm.setPreviewURL(previewURL); 
  229.         cm.setProductRecordId(pid);
  230.         
  231. //      产品iD算出类型
  232.         cm.setProductInnerNum(Integer.parseInt(productInnerNum));
  233.         ph.setCommonModel(cm); 
  234.         ph.addShoppingProductOfEdit();
  235.         response.getOutputStream().print("success");
  236.     }
  237.     
  238.     /**
  239.      * **************获取照片名称列表************** 
  240.      */ 
  241.     public void createdPhotosXML(HttpServletRequest request,HttpServletResponse response)throws IOException{
  242.         Long albumid = new Long(request.getParameter("albumid"));   
  243.         int pageNum =  Integer.parseInt(request.getParameter("pageNum"));
  244.         Long userID = this.getProductHandler(request, response).getPrinciple().getUserid()  ;
  245.          
  246.          
  247.         PhotoService ps  = (PhotoService)wac.getBean("photoService");
  248.         PhotoAdvanceQuery paq = new PhotoAdvanceQuery();
  249.         paq.setAlbumId(albumid);    
  250.         int pageSize = 20 ;
  251.          
  252.         int photoCount = ps.getPhotoCountByAlbumId(albumid) ; 
  253.          
  254.         //==========总页数
  255.         photoCount = (photoCount%pageSize==0)?(photoCount/pageSize):(photoCount/pageSize+1) ;
  256.         List photos = ps.getPhotoAdvanceLimited(userID,paq,pageNum*pageSize,pageSize);
  257.         
  258.         Element root = new Element("wdxc");    
  259.         Document doc = new Document(root);      
  260.         
  261.         //========总数
  262.         Element count = new Element("count");    
  263.         count.addContent(new Element("num").setText(String.valueOf(photoCount)));
  264.         
  265.         root.addContent(count); 
  266.         for(Object obj:photos){    
  267.              WdxcPhoto wp = (WdxcPhoto)obj ;     
  268.              //=====创建节点    
  269.              Element elements = new Element("photos");    
  270.              elements.addContent(new Element("id").setText(String.valueOf(wp.getId())));  
  271.              elements.addContent(new Element("abbrurl").setText(wp.getAbbrurl()));   
  272.              elements.addContent(new Element("compressurl").setText(wp.getCompressurl()));      
  273.              //===== 给父节点wdxc添加album子节点;    
  274.              root.addContent(elements);    
  275.         } 
  276.         XMLOutputter XMLOut = new XMLOutputter();    
  277.         //=====发送xml数据到客户端浏览器          
  278.         response.setContentType("text/xml");
  279.         response.setCharacterEncoding("UTF-8");       
  280.         XMLOut.output(doc, response.getOutputStream());
  281.     }
  282.     /**
  283.      * **************获取相册名称列表**************
  284.      * @param response  
  285.      */
  286.     public void createdAlbumXml(HttpServletRequest request,HttpServletResponse response) throws IOException{
  287.             
  288.         AlbumService as = (AlbumService) wac.getBean("albumService"); 
  289.         
  290.         System.out.println(request.getParameter("userID"));
  291.         
  292.         Long userID = this.getProductHandler(request, response).getPrinciple().getUserid()  ;
  293.         List list =as.getAlbum(userID);   
  294.         //=====创建根节点 list;     
  295.         Element root = new Element("wdxc");    
  296.         Document doc = new Document(root);    
  297.         Iterator  it = list.iterator();
  298.         while(it.hasNext()) {    
  299.             WdxcAlbum wa = (WdxcAlbum)it.next();
  300.             //=====创建节点
  301.             Element elements = new Element("album");    
  302.             elements.addContent(new Element("albumid").setText(String.valueOf(wa.getId())));
  303.             
  304.             //=====加入节点name 
  305.             elements.addContent(new Element("albumname").setText(wa.getName()));   
  306.             
  307.             //===== 给父节点wdxc添加album子节点;   
  308.             root.addContent(elements);     
  309.         }         
  310.    
  311.         System.out.print(doc.toString());
  312.         XMLOutputter XMLOut = new XMLOutputter();    
  313.         //=====发送xml数据到客户端浏览器       
  314.         response.setContentType("text/xml");
  315.         response.setCharacterEncoding("UTF-8");       
  316.         XMLOut.output(doc, response.getOutputStream());
  317.     }  
  318.     public void doPost(HttpServletRequest request, HttpServletResponse response)throws IOException {
  319.         this.doGet(request, response);
  320.     }
  321.      
  322.     
  323.     /********************************得到上下文环境*********************************************/
  324.     private ProductHandler getProductHandler(HttpServletRequest request, HttpServletResponse response){
  325.         LifecycleFactory lFactory = (LifecycleFactory) FactoryFinder.getFactory(FactoryFinder.LIFECYCLE_FACTORY);
  326.         Lifecycle lifecycle = lFactory.getLifecycle(LifecycleFactory.DEFAULT_LIFECYCLE);
  327.         FacesContextFactory fcFactory = (FacesContextFactory) FactoryFinder.getFactory(FactoryFinder.FACES_CONTEXT_FACTORY);
  328.         FacesContext facesContext = fcFactory.getFacesContext(getServletContext(), request, response, lifecycle);
  329.         
  330.         ProductHandler ph = (ProductHandler) facesContext.getApplication().getVariableResolver().resolveVariable(facesContext, "productHandler");
  331.         return ph ;
  332.     }
  333. }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
全球印是一套完整的包括客户制作端与管理后台的软件平台,它为照片、影像礼品生产企业提供完善的解决方案。全球印正迅速成为数码印刷商及冲印店进入这个高利润市场的首选平台。   随着传统冲印行业业务的日益消沉,特别是传统冲印巨头柯达宣布关门之后,冲印行业何去何从,这成为快印行业面临的最为严峻的问题。 随着数码相机和现在移动设备拍摄功能的提升,越来越多的人会选择将照片储存在硬盘或者网络上,如何将深藏在客户电脑中的照片挖掘出来,让用户心甘情愿的去做一个个性化的画册,这也是各个快印行业销售精英面临的问题 在这种情况下,西安印客软件推出了一款完全自主产权的设计软件,全球印个性化商品自主设计软件  客户端特点 轻松快速的设计画册,可以在2分钟内设计出一款漂亮的相片 客户端软件的众多功能 都是在国内具有多年印象经验的精英总结的经验,由此在人性化方面是比较友好的,而且我们在开发过程中一直秉承这样的企业理念   个性化画册照片设计软件是提供给客户使用,是建立其个性化相册、照片等产品;并且可以用来照片冲印的软件。    个性化画册照片设计软件能让您的新客户轻易快捷的创建一本高品质的个性化画册或个性化礼品。客户经由网络或者其他媒介如CD、U盘等可获取这款软件。通过简单易用的全球印客户端设计软件,世界上任何地方的消费者都可以在其PC上建立其个性化相册等产品。其强大的个性化定制功能,由简单到深入,适合不同层次的人,让不同的客户都能将他们的影像记忆永远的保留下来。    全球印个性化产品设计解决方案几大特点 : 1,完全可离线设计,客户不用联网就可以使用全球印客户端自带的素材完成复杂设计,可设计个性化画册、照片照片冲印等。  2,日历设计集成万年历功能,您可以自由设置日历的起始年月,甚至可以自定义自己的节日标志。  3,海量素材功能,如果您可以上网,还可以下载各种素材来满足您的设计需求。  4,相片的自动填图功能,您可以自定相片的自动填图规则,在批量设计中可以大大提高设计效率。让您在2分钟搞定一款精美的照片。 5,多种生产文件输出格式(PDF-单页或多页,JPEG)。  6,支持多国语言。  7,客户端支持断点续传功能,防止网络不稳定而造成反复上传而耽误客户的宝贵时间,尤其是在照片冲印功能上,传输照片的稳定性尤其重要。  8,可自行建立和发布新的模板,不需要再支付任何额外费用。  9,功能强大但同时简单易用。    软件功能模块 : a)照片上传功能  b)添加文字功能  c)照片助手功能  d)剪贴画、蒙版、边框功能  e)版式、精美模板功能  f) 图片、文字编辑功能    照片冲印: 可以设置冲印的数量和规格,对每张照片进行单独设置(也可选择多张照片统一设置),在照片的底部可以单独设置每张照片冲印的规格和数量。照片的分辨率好坏会通过照片底部的绿、黄、红三种颜色来提示。    照片: 自从摄影技术发明,家庭相册已经作为传家宝,一代又一代往下传。图片帮助我们回忆,帮助我们记住伟大的冒险旅程、安静的美好时刻,以及我们生活中的点点滴滴,享受最好的艺术感。相册也是一个记录婚礼特别活动和学校假期摄影展的理想途径。您可以使用该软件制作精美的照片,可以专业出版各种场合的精彩照片。这些照片是提供了多种尺寸和大小,并有多种主题背景和字体选择。简单易用的软件系统可以让你上传你的数码照片,并快速轻松地创建高品质的照片。    个性化的照片,制作完美经典,留住永恒的瞬间,使得每位顾客都有创建自己的照片的兴趣!打开产品进入产品编辑界面,在左侧上面有类似资源管理器样式的窗口,可以查找本地电脑上的照片。点击含有照片的文件夹,下面就会显示该文件里面的所有照片,您可以拖动照片照片的编辑区,可以对照片进行放大缩小、旋转、设为背景等功能。在默认情况下,点击进入编辑照片时,会有照片助手界面弹出,您可以使用照片助手引导您在几分钟内设计出一本完美的照片。您也可以不使用该功能,完全自己设计。   海报及画布: 你在为做一个宣传海报或者壁画发愁吗?我们的软件提供方便快捷的设计海报功能,可以更加方便的做一副完美的海报作品。在设计面板中,有丰富的背景模板、剪贴画、版式、蒙版供你选择,使得能够设计出优秀的海报   挂历及台历: 打开软件,进入挂历及台历分类,各个分类下面有各自对应的产品。打开产品进入产品编辑界面,您可以拖动照片到编辑区,可以对照片进行放大缩小、旋转、设为背景等功能。挂历和台历提供的日期是万年历,可以随意设置起始年月。在软件的左下角可以设置,也可以双击日历区域,弹出设置对话框,对其进行设置。对日历中的背景、文字大小、字体、日历的起始日期等都可以很方便的设置,这方便

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值