Sfoglia il codice sorgente

删除 'hr/hr/src/private/nc/bs/hr/gy_zsgl/workplugin/CopyOfCertificatesPlugin.java'

朱天慧 1 settimana fa
parent
commit
7492b5a6dc

+ 0 - 254
hr/hr/src/private/nc/bs/hr/gy_zsgl/workplugin/CopyOfCertificatesPlugin.java

@@ -1,254 +0,0 @@
-package nc.bs.hr.gy_zsgl.workplugin;
-
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.net.URL;
-
-import nc.bs.framework.common.NCLocator;
-import nc.bs.hr.gy_zsgl.plugin.Base64Util;
-import nc.bs.hr.gy_zsgl.plugin.MD5Util;
-import nc.bs.hr.gy_zsgl.plugin.SmsRequest;
-import nc.bs.hr.gy_zsgl.plugin.SmsResponse;
-import nc.bs.pub.pa.PreAlertObject;
-import nc.bs.pub.taskcenter.BgWorkingContext;
-import nc.bs.pub.taskcenter.IBackgroundWorkPlugin;
-import nc.itf.uap.IUAPQueryBS;
-import nc.jdbc.framework.processor.BeanListProcessor;
-import nc.vo.hr.gy_zsgl.Gy_certificatesVO;
-import nc.vo.pub.BusinessException;
-import nc.vo.pub.format.DateFormat;
-import nc.vo.pub.lang.UFDate;
-
-import java.net.HttpURLConnection;
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import org.apache.commons.lang.StringUtils;
-/**
- * 证书临期发送短信给部门领导
- * @author Administrator
- *
- */
-
-public class CopyOfCertificatesPlugin implements IBackgroundWorkPlugin{
-	private IUAPQueryBS iuap = null;
-	
-	public IUAPQueryBS getIuapBs(){
-		if(null==iuap){
-			iuap = (IUAPQueryBS) NCLocator.getInstance().lookup(IUAPQueryBS.class.getName());
-		}
-		
-		return iuap;
-		
-	}
-	//移动发送短信模板接口
-	final String  API_URL="http://112.35.1.155:1992/sms/tmpsubmit";
-	@Override
-	public PreAlertObject executeTask(BgWorkingContext context)
-			throws BusinessException {
-		// TODO 自动生成的方法存根
-		Map csmap=context.getKeyMap();
-		String mobilewh=(String) csmap.get("手机号码");
-		
-		
-		Calendar calendar = Calendar.getInstance();
-        int currentYear = calendar.get(Calendar.YEAR);
-        //获取当年到期的证书
-        String cert = "select ex_date,bd_psndoc.name srcbilltype,(select mobile from  bd_psndoc where name=a.vdef4 and nvl (dr,0) = 0 and enablestate ='2' ) srcbillid "
-        		+ "from gy_certificates a "
-        		+ "inner join bd_psndoc on a.vdef1=bd_psndoc.pk_psndoc  "
-        		+ "and ex_date like '"+currentYear+"%' and   nvl (a.dr,0) = 0 "
-        		+ "and bd_psndoc.enablestate ='2'  and  nvl (bd_psndoc.dr,0) = 0";
-        List<Gy_certificatesVO> certListVO = (List<Gy_certificatesVO>) getIuapBs().executeQuery(cert, new BeanListProcessor(Gy_certificatesVO.class));
-              
-       if(null!=certListVO &&  certListVO.size()>0){
-    	   
-    	   for(Gy_certificatesVO vo:certListVO){
-    	//	   String name=vo.getAttributeValue("vdef1").toString(); //姓名  
-    		   String name=vo.getSrcbilltype(); //姓名  
-    		   UFDate ex_date=vo.getEx_date(); //失效日期    
-    		   String mobile=vo.getSrcbillid();//主管手机号码
-    		   if(StringUtils.isNotEmpty(mobilewh)){
-    			   mobile=mobilewh;
-    				
-    			}
-    		   
-    		    // 准备请求参数
-    	        SmsRequest request = new SmsRequest();
-    	        request.setEcName("南通大众燃气有限公司");//集团客户名称
-    	        request.setApId("yecai");//用户名
-    	        request.setSecretKey("Nt_cw968007");//密码
-    	        request.setTemplateId("14a445aa78c14f0bb528b61d39c3e666");//模版ID
-    	        request.setMobiles(mobile);//手机号码,主管手机号码
-    	       
-    	        List<String> params = new ArrayList<String>();
-    	        params.add(name+"的燃气从业资格证");
-    	        params.add(convertToChineseDate(ex_date.toString().substring(0, 10)));
-    	        request.setParams(params);//["参数一","参数二"] 格式
-    	        
-    	        //用于Mac,MD5加密
-    	        List<String> macparamslis = new ArrayList<String>();
-    	        String exdate=convertToChineseDate(ex_date.toString().substring(0, 10));
-    	        macparamslis.add("\"" + name + "的燃气从业资格证\"");
-    	        macparamslis.add("\"" + exdate + "\"");
-    	        
-    	        // 自定义输出,去掉逗号后的空格
-    	        StringBuilder sb = new StringBuilder();
-    	        sb.append("[");
-    	        for (int i = 0; i < macparamslis.size(); i++) {
-    	            if (i > 0) {
-    	                sb.append(","); // 只加逗号,不加空格
-    	            }
-    	            sb.append(macparamslis.get(i));
-    	        }
-    	        sb.append("]");
-    	        
-    	        request.setMacparams(sb.toString());//["参数一","参数二"] 格式
-    	        request.setSign("gF211Wxv6");//网关签名编码
-    	        request.setAddSerial("");//扩展码
-    	        
-    	        StringBuffer  stringBuffer=new StringBuffer();
-    	        stringBuffer.append(request.getEcName());
-    	        stringBuffer.append(request.getApId());
-    	        stringBuffer.append(request.getSecretKey());
-    	        stringBuffer.append(request.getTemplateId());
-    	        stringBuffer.append(request.getMobiles());
-    	        stringBuffer.append(request.getMacparams());
-    	        stringBuffer.append(request.getSign());
-    	        //stringBuffer.append(request.getAddSerial());
-    	        
-    	        // 使用MD5哈希值作为mac字段
-    	        request.setMac(MD5Util.md5(stringBuffer.toString()));//API输入参数签名结果,签名算法:将ecName,apId,secretKey,templateId,mobiles,params,sign,addSerial按照顺序拼接,然后通过md5(32位小写)计算后得出的值
-    	       
-    	        
-    	        // 发送短信
-    	        SmsResponse response = sendSms(request);
-    	        
-    	        // 处理响应
-    	      //  System.out.println("响应结果: " + response.toString());
-    	        
-    	        if (response.isSuccess()) {
-    	          //  System.out.println("短信发送成功");
-    	        } else {
-    	        	 // 处理特定错误码
-    	            if ("NOT_WHITE_IP".equals(response.getRspcod())) {
-    	            	throw new BusinessException("错误原因: IP地址未在白名单中,请联系管理员添加IP白名单");
-    	            }
-    	            
-    	             throw new BusinessException("短信发送失败,错误码: " + response.getRspcod());
-    	        }
-    
-    	        
-           }
-    	   
-       }
-       
- 
-		
-		return null;
-	}
-	
-	
-	
-	
-	 public static String convertToChineseDate(String dateStr) {
-        try {
-            SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd");
-            SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy年MM月dd日");
-            Date date = inputFormat.parse(dateStr);
-            return outputFormat.format(date);
-        } catch (Exception e) {
-            return dateStr; // 如果转换失败,返回原字符串
-        }
-    }
-	
-	
-	
-	/**
-     * 发送短信
-     * @param request 短信请求对象
-     * @return 发送结果
-     */
-    public  SmsResponse sendSms(SmsRequest request) {
-    	 HttpURLConnection connection = null;
-    	  try {
-              // 1. 创建URL对象
-              URL url = new URL(API_URL);
-              
-              // 2. 创建连接
-              connection = (HttpURLConnection) url.openConnection();
-              connection.setRequestMethod("POST");
-              connection.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
-              connection.setRequestProperty("Accept", "application/json");
-              connection.setDoOutput(true);
-              connection.setConnectTimeout(5000);
-              connection.setReadTimeout(10000);
-              
-              // 3. 将请求对象转换为JSON字符串
-              String jsonInputString = request.toJsonString();
-              
-              // 4. Base64编码
-              String base64Encoded = Base64Util.encode(jsonInputString);
-              
-              // 5. 发送请求数据
-              OutputStream os = connection.getOutputStream();
-              try {
-                  byte[] input = base64Encoded.getBytes("UTF-8");
-                  os.write(input, 0, input.length);
-              } finally {
-                  if (os != null) {
-                      os.close();
-                  }
-              }
-              
-              // 6. 获取响应
-              int responseCode = connection.getResponseCode();
-              
-              if (responseCode == HttpURLConnection.HTTP_OK) {
-                  // 读取响应内容
-                  BufferedReader br = new BufferedReader(
-                      new InputStreamReader(connection.getInputStream(), "UTF-8"));
-                  try {
-                      StringBuilder response = new StringBuilder();
-                      String responseLine;
-                      while ((responseLine = br.readLine()) != null) {
-                          response.append(responseLine.trim());
-                      }
-                      
-                      // 解析响应JSON
-                      return SmsResponse.fromJson(response.toString());
-                  } finally {
-                      if (br != null) {
-                          br.close();
-                      }
-                  }
-              } else {
-                  // 处理错误响应
-                  SmsResponse errorResponse = new SmsResponse();
-                  errorResponse.setSuccess(false);
-                  errorResponse.setRspcod(String.valueOf(responseCode));
-                  errorResponse.setMsgGroup("");
-                  return errorResponse;
-              }
-              
-          } catch (Exception e) {
-              SmsResponse errorResponse = new SmsResponse();
-              errorResponse.setSuccess(false);
-              errorResponse.setRspcod("EXCEPTION");
-              errorResponse.setMsgGroup("");
-              return errorResponse;
-          } finally {
-              if (connection != null) {
-                  connection.disconnect();
-              }
-          }
-    	
-    }
-	
-	
-
-}