forked from integrated_whb/integrated_whb
				
			修改重点工程相关方短信发送
							parent
							
								
									2519724187
								
							
						
					
					
						commit
						8061ea3e72
					
				|  | @ -63,6 +63,9 @@ public class AppKeyprojectCheckController extends BaseController { | |||
| 
 | ||||
| 	@Autowired Smb smb; | ||||
| 
 | ||||
| 	@Autowired | ||||
| 	private SendMessageUtil sendMessageUtil; | ||||
| 
 | ||||
| 
 | ||||
| 	/** | ||||
| 	 * 新增 | ||||
|  | @ -153,16 +156,19 @@ public class AppKeyprojectCheckController extends BaseController { | |||
| 				PageData person = new PageData(); | ||||
| 				person.put("PERSONNELMANAGEMENT_ID", pd.getString("PERSONNELMANAGEMENT_ID")); | ||||
| 				person = personnelmanagementService.findById(person); | ||||
| 				// outSource.get("OUTSOURCED_NAME")
 | ||||
| 				JSONArray jsonArray = new JSONArray(); | ||||
| 				//接受返回结果
 | ||||
| 				JSONObject records = new JSONObject(); | ||||
| 				//定义替换参数
 | ||||
| 				JSONObject tpContent = new JSONObject(); | ||||
| 				tpContent.put("OUTSOURCEDNAME", outSource.getString("OUTSOURCED_NAME")); | ||||
| 				records = SendSmsUtil.getRecords(person.getString("PHONENUM"), tpContent); | ||||
| 				jsonArray.add(records); | ||||
| 				SendSmsUtil.sendSms("121451", jsonArray, null); | ||||
| 
 | ||||
| 				PageData mes = new PageData(); | ||||
| 				mes.put("templateCode", "SMS_215820677");// 短信模板编码
 | ||||
| 				mes.put("CORPINFO_ID", person.get("CORPINFO_ID")); | ||||
| 				// 参数集合
 | ||||
| 				List<PageData> paramsList = new ArrayList<PageData>(); | ||||
| 				// 第1个参数
 | ||||
| 				PageData params1 = new PageData(); | ||||
| 				params1.put("name", "time");// 存入短信模板中的参数名称
 | ||||
| 				params1.put("value", outSource.getString("OUTSOURCED_NAME"));// 存入上面参数名称所传递的值
 | ||||
| 				paramsList.add(params1); | ||||
| 				sendMessageUtil.sendMessagesKeyproject(mes,person.getString("PHONENUM"), paramsList); | ||||
| 
 | ||||
| 				//发送罚款待处理  上文开关控制这里发送不
 | ||||
| 				if (boo) { | ||||
| 					List<JSONObject> jsonList = (List<JSONObject>) JSON.parse(pd.getString("HIDDENJSON")); | ||||
|  | @ -174,16 +180,18 @@ public class AppKeyprojectCheckController extends BaseController { | |||
| 						List<String> list = keyprojectHiddenService.getPhone(selectPageData); | ||||
| 						for (JSONObject json : jsonList) { | ||||
| 							for (String phone : list) { | ||||
| 								JSONArray jsonBrray = new JSONArray(); | ||||
| 								//接受返回结果
 | ||||
| 								JSONObject recordsB = new JSONObject(); | ||||
| 								//定义替换参数
 | ||||
| 								JSONObject tpContentB = new JSONObject(); | ||||
| 								tpContentB.put("HIDDENDESCR", json.getString("HIDDENDESCR"));    //隐患描述
 | ||||
| 								if (StringUtils.isNotBlank(phone)) { | ||||
| 									recordsB = SendSmsUtil.getRecords(phone, tpContentB); | ||||
| 									jsonBrray.add(recordsB); | ||||
| 									SendSmsUtil.sendSms("121487", jsonBrray, null); | ||||
| 									PageData mes2 = new PageData(); | ||||
| 									mes.put("templateCode", "SMS_215820677");// 短信模板编码
 | ||||
| 									mes.put("CORPINFO_ID", person.get("CORPINFO_ID")); | ||||
| 									// 参数集合
 | ||||
| 									List<PageData> paramsList2 = new ArrayList<PageData>(); | ||||
| 									// 第1个参数
 | ||||
| 									PageData params2 = new PageData(); | ||||
| 									params1.put("name", "time");// 存入短信模板中的参数名称
 | ||||
| 									params1.put("value", json.getString("HIDDENDESCR"));// 存入上面参数名称所传递的值
 | ||||
| 									paramsList.add(params2); | ||||
| 									sendMessageUtil.sendMessagesKeyproject(mes2,phone, paramsList2); | ||||
| 								} | ||||
| 							} | ||||
| 						} | ||||
|  | @ -292,15 +300,17 @@ public class AppKeyprojectCheckController extends BaseController { | |||
| 			List<PageData> smsList = keyprojectcheckService.getSmsList(pd); | ||||
| 			if (!Tools.isEmpty(smsList)) { | ||||
| 				for (PageData pageData : smsList) { | ||||
| 					JSONArray jsonArray = new JSONArray(); | ||||
| 					//接受返回结果
 | ||||
| 					JSONObject records = new JSONObject(); | ||||
| 					//定义替换参数
 | ||||
| 					JSONObject tpContent = new JSONObject(); | ||||
| 					tpContent.put("HIDDENDESCR", pageData.getString("HIDDENDESCR")); | ||||
| 					records = SendSmsUtil.getRecords(pageData.getString("PHONENUM"), tpContent); | ||||
| 					jsonArray.add(records); | ||||
| 					SendSmsUtil.sendSms("121486", jsonArray, null); | ||||
| 					PageData mes = new PageData(); | ||||
| 					mes.put("templateCode", "SMS_215820677");// 短信模板编码
 | ||||
| 					mes.put("CORPINFO_ID", pageData.get("CORPINFO_ID"));// 企业id
 | ||||
| 					// 参数集合
 | ||||
| 					List<PageData> paramsList = new ArrayList<PageData>(); | ||||
| 					// 第1个参数
 | ||||
| 					PageData params1 = new PageData(); | ||||
| 					params1.put("name", "time");// 存入短信模板中的参数名称
 | ||||
| 					params1.put("value", pageData.getString("HIDDENDESCR"));// 存入上面参数名称所传递的值
 | ||||
| 					paramsList.add(params1); | ||||
| 					sendMessageUtil.sendMessagesKeyproject(mes,pageData.getString("PHONENUM"), paramsList); | ||||
| 				} | ||||
| 
 | ||||
| 			} | ||||
|  | @ -630,16 +640,17 @@ public class AppKeyprojectCheckController extends BaseController { | |||
| 			List<PageData> smsList = keyprojectHiddenService.getSmsList(pd); | ||||
| 			if (!Tools.isEmpty(smsList)) { | ||||
| 				for (PageData pageData : smsList) { | ||||
| 					JSONArray jsonArray = new JSONArray(); | ||||
| 					//接受返回结果
 | ||||
| 					JSONObject records = new JSONObject(); | ||||
| 					//定义替换参数
 | ||||
| 					JSONObject tpContent = new JSONObject(); | ||||
| 					tpContent.put("HIDDENDESCR", pageData.getString("HIDDENDESCR")); | ||||
| 					HIDDENDESCR = pageData.getString("HIDDENDESCR"); | ||||
| 					records = SendSmsUtil.getRecords(pageData.getString("PHONE"), tpContent); | ||||
| 					jsonArray.add(records); | ||||
| 					SendSmsUtil.sendSms("121488", jsonArray, null); | ||||
| 					PageData mes = new PageData(); | ||||
| 					mes.put("templateCode", "SMS_215820677");// 短信模板编码
 | ||||
| 					mes.put("CORPINFO_ID", pageData.get("CORPINFO_ID"));// 企业id
 | ||||
| 					// 参数集合
 | ||||
| 					List<PageData> paramsList = new ArrayList<PageData>(); | ||||
| 					// 第1个参数
 | ||||
| 					PageData params1 = new PageData(); | ||||
| 					params1.put("name", "time");// 存入短信模板中的参数名称
 | ||||
| 					params1.put("value", pageData.getString("HIDDENDESCR"));// 存入上面参数名称所传递的值
 | ||||
| 					paramsList.add(params1); | ||||
| 					sendMessageUtil.sendMessagesKeyproject(mes,pageData.getString("PHONENUM"), paramsList); | ||||
| 				} | ||||
| 
 | ||||
| 			} | ||||
|  |  | |||
|  | @ -22,10 +22,7 @@ import org.springframework.web.bind.annotation.RequestParam; | |||
| import org.springframework.web.bind.annotation.ResponseBody; | ||||
| import org.springframework.web.multipart.MultipartFile; | ||||
| 
 | ||||
| import java.util.Date; | ||||
| import java.util.HashMap; | ||||
| import java.util.List; | ||||
| import java.util.Map; | ||||
| import java.util.*; | ||||
| 
 | ||||
| /** | ||||
|  * 说明:重点工程处罚 | ||||
|  | @ -57,6 +54,9 @@ public class AppKeyprojectPunishController extends BaseController { | |||
| 	@Autowired | ||||
| 	private PersonnelManagementService personnelmanagementService; | ||||
| 
 | ||||
| 	@Autowired | ||||
| 	private SendMessageUtil sendMessageUtil; | ||||
| 
 | ||||
| 	/**处理 | ||||
| 	 * @param | ||||
| 	 * @throws Exception | ||||
|  | @ -135,16 +135,18 @@ public class AppKeyprojectPunishController extends BaseController { | |||
| 				PageData person = new PageData(); | ||||
| 				person.put("PERSONNELMANAGEMENT_ID", pd.getString("PERSONNELMANAGEMENT_ID")); | ||||
| 				person = personnelmanagementService.findById(person); | ||||
| 				// outSource.get("OUTSOURCED_NAME")
 | ||||
| 				JSONArray jsonArray = new JSONArray(); | ||||
| 				//接受返回结果
 | ||||
| 				JSONObject records = new JSONObject(); | ||||
| 				//定义替换参数
 | ||||
| 				JSONObject tpContent = new JSONObject(); | ||||
| 				tpContent.put("REASON", pd.getString("REASON")); | ||||
| 				records = SendSmsUtil.getRecords(person.getString("PHONENUM"), tpContent); | ||||
| 				jsonArray.add(records); | ||||
| 				SendSmsUtil.sendSms("121490", jsonArray, null); | ||||
| 
 | ||||
| 				PageData mes = new PageData(); | ||||
| 				mes.put("templateCode", "SMS_215820677");// 短信模板编码
 | ||||
| 				mes.put("CORPINFO_ID", person.get("CORPINFO_ID"));// 企业id
 | ||||
| 				// 参数集合
 | ||||
| 				List<PageData> paramsList = new ArrayList<PageData>(); | ||||
| 				// 第1个参数
 | ||||
| 				PageData params1 = new PageData(); | ||||
| 				params1.put("name", "time");// 存入短信模板中的参数名称
 | ||||
| 				params1.put("value", pd.getString("REASON"));// 存入上面参数名称所传递的值
 | ||||
| 				paramsList.add(params1); | ||||
| 				sendMessageUtil.sendMessagesKeyproject(mes,person.getString("PHONENUM"), paramsList); | ||||
| 			} | ||||
| 		} catch (Exception e) { | ||||
| 			e.printStackTrace(); | ||||
|  |  | |||
|  | @ -118,6 +118,40 @@ public class SendMessageUtil { | |||
|         return map; | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 重点工程相关方人员短信发送 | ||||
|      * @param pd 短信数据 | ||||
|      * @param paramsList  参数集合 | ||||
|      * @throws Exception | ||||
|      */ | ||||
|     public Object sendMessagesKeyproject(PageData pd, String phone, List<PageData> paramsList) throws Exception { | ||||
|         Map<String,Object> map = new HashMap<String,Object>(); | ||||
|         // 查询公司信息
 | ||||
|         PageData corpinfo = new PageData(); | ||||
|         corpinfo.put("CORPINFO_ID", pd.getString("CORPINFO_ID")); | ||||
|         corpinfo =corpinfoService.findById(corpinfo); | ||||
|         // 查看公司剩余短信条数是否足以支持发送短信
 | ||||
|         Boolean canSend = checkCorpMsg(corpinfo); | ||||
| 
 | ||||
|         if(canSend) { | ||||
|             // 发送短信
 | ||||
|             SendSmsResponse ssms= send(pd, phone, paramsList); | ||||
|             if(ssms.getCode().equals("OK")){ | ||||
|                 map.put("result", "success"); | ||||
|             }else{ | ||||
|                 map.put("result", "fail"); | ||||
|                 map.put("msg", "您的操作过去频繁,请稍后重试!"); | ||||
|                 return map; | ||||
|             } | ||||
|         } else { | ||||
|             map.put("result", "fail"); | ||||
|             map.put("msg", "公司剩余短信数量不足"); | ||||
|             return map; | ||||
|         } | ||||
| 
 | ||||
|         return map; | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 查看公司剩余短信条数是否足以支持发送短信 | ||||
|      * @return | ||||
|  |  | |||
|  | @ -1,116 +0,0 @@ | |||
| package com.zcloud.util; | ||||
| 
 | ||||
| import cn.hutool.http.HttpRequest; | ||||
| import com.alibaba.fastjson.JSONArray; | ||||
| import com.alibaba.fastjson.JSONObject; | ||||
| import org.apache.commons.lang.ObjectUtils; | ||||
| import org.apache.commons.lang.StringUtils; | ||||
| import org.springframework.http.MediaType; | ||||
| 
 | ||||
| import java.text.ParseException; | ||||
| import java.text.SimpleDateFormat; | ||||
| import java.util.Date; | ||||
| 
 | ||||
| import static org.bouncycastle.asn1.x500.style.RFC4519Style.cn; | ||||
| 
 | ||||
| /** | ||||
|  * 重点工程发送短信工具类 | ||||
|  */ | ||||
| public class SendSmsUtil { | ||||
| 
 | ||||
|     private static String USERNAME = "qhdzyhy"; | ||||
| 
 | ||||
|     private static String PASSWORD = "3ba40593f514f0c1ebdfc278dddfc9ce"; | ||||
| 
 | ||||
|     private static String SIGNATURE = "【秦港双控】"; | ||||
| 
 | ||||
|     private static String URL = "https://api.mix2.zthysms.com/v2/sendSmsTp"; | ||||
| 
 | ||||
| 
 | ||||
|     /** | ||||
|      * 发送短信 | ||||
|      * @param records | ||||
|      * @param time 发送时间 为空或小于当前时间则立即发送 | ||||
|      * records格式实例  records是 JSONArray   里边的内容通过调用下方方法getRecords获取 JSONObject   定义一个JSONArray后 put进去即可 | ||||
|      * "records":[ | ||||
|      *         { | ||||
|      *             "mobile":"138****0000", | ||||
|      *             "tpContent":{ | ||||
|      *                 "var1":"变量1", | ||||
|      *                 "var2":"变量2" | ||||
|      *             } | ||||
|      *         }, | ||||
|      *         { | ||||
|      *             "mobile":"138****0001", | ||||
|      *             "tpContent":{ | ||||
|      *                 "var1":"变量2", | ||||
|      *                 "var2":"变量2" | ||||
|      *             } | ||||
|      *         } | ||||
|      *     ] | ||||
|      */ | ||||
|     public static void sendSms(String tpId,JSONArray records ,String time) throws ParseException { | ||||
|         JSONObject json = new JSONObject(); | ||||
|         Long tKey = System.currentTimeMillis()/1000; | ||||
|         String passWord = MD5.md5(PASSWORD+tKey); | ||||
|         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | ||||
|         //扔参数
 | ||||
|         json.put("username",USERNAME); | ||||
|         json.put("password",passWord); | ||||
|         json.put("tKey",tKey); | ||||
|         json.put("signature",SIGNATURE); | ||||
|         json.put("tpId",tpId); | ||||
|         if(StringUtils.isNotBlank(time)){ | ||||
|             if(sdf.parse(time).after(new Date())){ | ||||
|                 json.put("time",time); | ||||
|             } | ||||
|         } | ||||
|         json.put("records",records); | ||||
|         System.out.println(json.toJSONString()); | ||||
|         String result = HttpRequest.post(URL) | ||||
|                 .timeout(60000) | ||||
|                 .body(json.toJSONString(), MediaType.APPLICATION_JSON_UTF8_VALUE).execute().body(); | ||||
|         System.out.println(result); | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     /** | ||||
|      * 封装要发送的电话以及要替换的内容 | ||||
|      * @param mobile 手机号 | ||||
|      * @param tpContent 替换内容 | ||||
|      * @return | ||||
|      * 格式实例  var1表示要替换的内容  与要替换的内容保持一致即可    变量1表示替换的内容 | ||||
|      *  { | ||||
|      *    "mobile":"138****0000", | ||||
|      *    "tpContent":{ | ||||
|      *        "var1":"变量1", | ||||
|      *        "var2":"变量2" | ||||
|      *    } | ||||
|      *  } | ||||
|      */ | ||||
|     public static JSONObject getRecords(String mobile, JSONObject tpContent ){ | ||||
|         JSONObject json = new JSONObject(); | ||||
|         json.put("mobile",mobile); | ||||
|         if(ObjectUtils.hashCode(tpContent)!=0){ | ||||
|             json.put("tpContent",tpContent); | ||||
|         } | ||||
|         return json; | ||||
| 
 | ||||
|     }//d22f8a5d4a35b3761dc9525186e652a0
 | ||||
| 
 | ||||
|     //测试接口
 | ||||
|     public static void main(String[] args) throws ParseException { | ||||
|         JSONArray jsonArray = new JSONArray(); | ||||
| 
 | ||||
|         //接受返回结果
 | ||||
|         JSONObject records = new JSONObject(); | ||||
|         //定义替换参数
 | ||||
|         JSONObject tpContent = new JSONObject(); | ||||
|         tpContent.put("HIDDENDESCR","测试发送111--222-1"); | ||||
|         records = getRecords("18617456701",tpContent); | ||||
|         jsonArray.add(records); | ||||
| 
 | ||||
|         //sendSms("121487",jsonArray,null);
 | ||||
|     } | ||||
| 
 | ||||
| } | ||||
|  | @ -218,10 +218,15 @@ | |||
| 	</update> | ||||
| 
 | ||||
| 	<select id="getSmsList" parameterType="pd" resultType="pd"> | ||||
| 		SELECT ry.PHONENUM as PHONENUM,yh.HIDDENDESCR as HIDDENDESCR FROM BUS_KEYPROJECTCHECK t | ||||
| 		LEFT JOIN `qa-gwj-regulatory`.BUS_OUTSOURCED gc on gc.OUTSOURCED_ID = t.OUTSOURCED_ID | ||||
| 		SELECT | ||||
| 			ry.PHONENUM as PHONENUM, | ||||
| 			yh.HIDDENDESCR as HIDDENDESCR, | ||||
| 			un.CORPINFO_ID | ||||
| 		FROM BUS_KEYPROJECTCHECK t | ||||
| 		LEFT JOIN BUS_OUTSOURCED gc on gc.OUTSOURCED_ID = t.OUTSOURCED_ID | ||||
| 		LEFT JOIN BUS_KEYPROJECT_HIDDEN yh on yh.FOREIGN_ID = t.KEYPROJECTCHECK_ID | ||||
| 		LEFT JOIN `qa-gwj-regulatory`.`BUS_PERSONNELMANAGEMENT` ry on ry.PERSONNELMANAGEMENT_ID = yh.RECTIFICATIONOR | ||||
| 		LEFT JOIN BUS_PERSONNELMANAGEMENT ry on ry.PERSONNELMANAGEMENT_ID = yh.RECTIFICATIONOR | ||||
| 		LEFT JOIN bus_units un on ry.UNITS_ID = un.UNITS_ID | ||||
| 
 | ||||
| 		WHERE t.KEYPROJECTCHECK_ID=#{KEYPROJECTCHECK_ID} | ||||
| 		AND gc.IS_SMS = '0' | ||||
|  |  | |||
|  | @ -987,7 +987,7 @@ | |||
|             and f.VILLAGE = #{DEPT_VILLAGE} | ||||
|         </if> | ||||
|         <if test="DEPARTMENT_ID != null and DEPARTMENT_ID != ''"> | ||||
|             and f.CORP_OF_TYPE in (select CORPTYPE_ID from `qa-gwj-regulatory`.BUS_CORPTYPETODEPT ctod where ctod.DEPARTMENT_ID=#{DEPARTMENT_ID}) | ||||
|             and f.CORP_OF_TYPE in (select CORPTYPE_ID from BUS_CORPTYPETODEPT ctod where ctod.DEPARTMENT_ID=#{DEPARTMENT_ID}) | ||||
|         </if> | ||||
| 
 | ||||
|         left join BUS_HIDDEN h on f.CORPINFO_ID=h.CORPINFO_ID and h.ISDELETE='0' | ||||
|  |  | |||
|  | @ -164,9 +164,11 @@ | |||
| 	<!-- 通过ID获取数据 --> | ||||
| 	<select id="findById" parameterType="pd" resultType="pd"> | ||||
| 		select | ||||
| 		<include refid="Field"></include> | ||||
| 		<include refid="Field"></include>, | ||||
| 		u.CORPINFO_ID | ||||
| 		from | ||||
| 		<include refid="tableName"></include> f | ||||
| 		left join bus_units u on f.UNITS_ID = u.UNITS_ID | ||||
| 		where | ||||
| 			f.PERSONNELMANAGEMENT_ID = #{PERSONNELMANAGEMENT_ID} | ||||
| 	</select> | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue