ac5f09bc93bada0feeb8f507f0f09c8faefec0c5.svn-base 3.6 KB
package yxy.timer.method;


import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;

import com.alibaba.fastjson.JSON;

import yxy.timer.pojo.YxyUserSignature;
import yxy.timer.service.YxyWebmailService;
import yxy.timer.tool.ConfigPath;

public class GetLableTimer
{
		private Connection conn;
		private ResultSet rs;
		private PreparedStatement ps;
		
		private YxyWebmailService yxywebmailservice;
		
		public YxyWebmailService getYxywebmailservice() 
		{
			return yxywebmailservice;
		}

		public void setYxywebmailservice(YxyWebmailService yxywebmailservice) 
		{
			this.yxywebmailservice = yxywebmailservice;
		}

		public void getLable()
		{
			 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
				
			 //当前系统时间
			 String nowDate=df.format(new Date());
			 
			 System.out.println(nowDate+"===开始执行复制用户签名操作===");
			 
			 try 
			 {
				//定义签名集合
				List<YxyUserSignature>  yxylist=new ArrayList<YxyUserSignature>();
				 
				//获取sys_user_signature表中的数据
				List<YxyUserSignature> localyxylist=yxywebmailservice.findSysUser();
				
				int  lastid = 0;
				
				if(localyxylist.size()>0)
				{
//				//获取最后一条数据
					YxyUserSignature lastuser=localyxylist.get(localyxylist.size()-1);
					
					lastid=lastuser.getId();
				}
//				
				//获取数据库连接 要查询的数据库表
		//		conn=DBUtil.getConnection("webmaildataSource");
				
				//要查询字段
		//		String sql="select su.id,su.title,su.context,vsu.login_id,vsu.domain from sys_user_signature su,view_user vsu  where su.user_id=vsu.user_id  and su.id > ? ORDER BY su.id DESC LIMIT 0,300 ";
				
		//		ps=conn.prepareStatement(sql);
				
		//		ps.setInt(1, lastid);
		//		rs=ps.executeQuery();
		//		while(rs.next()){
		//				YxyUserSignature yxyuser=new YxyUserSignature();
		//				yxyuser.setId(rs.getInt("id"));
		//				yxyuser.setBody(rs.getString("context"));
		//				yxyuser.setDomain(rs.getString("domain"));
		//				yxyuser.setLoginid(rs.getString("login_id"));
		//				yxyuser.setTitle(rs.getString("title"));
		//				yxylist.add(yxyuser);
		//		}
				
				/**-----------------以下方式是通过webservice方式获取webmail数据库的数据--------------------------*/
				String webmailurl=ConfigPath.getWebMailTimeUrl();
				String url = webmailurl+"/webServices/yxySignatureWebservice?wsdl"; 
				
				JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance(); 
				
				org.apache.cxf.endpoint.Client client = dcf.createClient(url); 
				
				//第一个参数是要调用的方法名,第二个参数是从哪一条数据开始取
				Object[] objects = client.invoke("getCompanySignature",lastid); 
				
				String result = objects[0].toString();
				
				if(result.equals(""))
				{
					System.out.println("执行复制用户签名操作出现异常,请稍后重试!");
					
					return;
				}
				
				if(("error").equals(result))
				{
					System.out.println("lastCustomerId不能小于0");
					
					return;
				}
				
				//把json字符串转换为集合
				yxylist = JSON.parseArray(result, YxyUserSignature.class);
				
				//给SysUserSignature 表里添加查询的数据
				yxywebmailservice.insertYxyUser(yxylist);
				
				System.out.println("执行复制用户签名操作完毕");
			} 
			 catch (Exception e) {
				System.out.println("执行复制用户签名操作出现异常,请稍后重试!");
				e.printStackTrace();
			}
			 
		 }
}