From 8061ea3e72822666a0f3b1eed84ecff01fcb350a Mon Sep 17 00:00:00 2001 From: zhangqihang Date: Mon, 5 Feb 2024 14:59:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=87=8D=E7=82=B9=E5=B7=A5?= =?UTF-8?q?=E7=A8=8B=E7=9B=B8=E5=85=B3=E6=96=B9=E7=9F=AD=E4=BF=A1=E5=8F=91?= =?UTF-8?q?=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/AppKeyprojectCheckController.java | 87 +++++++------ .../app/AppKeyprojectPunishController.java | 30 ++--- .../java/com/zcloud/util/SendMessageUtil.java | 34 +++++ .../java/com/zcloud/util/SendSmsUtil.java | 116 ------------------ .../keyProjects/KeyprojectCheckMapper.xml | 11 +- .../keyProjects/KeyprojectHiddenMapper.xml | 2 +- .../PersonnelManagementMapper.xml | 4 +- 7 files changed, 111 insertions(+), 173 deletions(-) delete mode 100644 src/main/java/com/zcloud/util/SendSmsUtil.java diff --git a/src/main/java/com/zcloud/controller/keyProjects/app/AppKeyprojectCheckController.java b/src/main/java/com/zcloud/controller/keyProjects/app/AppKeyprojectCheckController.java index f694b37..f48dbc7 100644 --- a/src/main/java/com/zcloud/controller/keyProjects/app/AppKeyprojectCheckController.java +++ b/src/main/java/com/zcloud/controller/keyProjects/app/AppKeyprojectCheckController.java @@ -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 paramsList = new ArrayList(); + // 第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 jsonList = (List) JSON.parse(pd.getString("HIDDENJSON")); @@ -174,16 +180,18 @@ public class AppKeyprojectCheckController extends BaseController { List 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 paramsList2 = new ArrayList(); + // 第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 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 paramsList = new ArrayList(); + // 第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 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 paramsList = new ArrayList(); + // 第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); } } diff --git a/src/main/java/com/zcloud/controller/keyProjects/app/AppKeyprojectPunishController.java b/src/main/java/com/zcloud/controller/keyProjects/app/AppKeyprojectPunishController.java index d9cdfcf..7ef9302 100644 --- a/src/main/java/com/zcloud/controller/keyProjects/app/AppKeyprojectPunishController.java +++ b/src/main/java/com/zcloud/controller/keyProjects/app/AppKeyprojectPunishController.java @@ -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 paramsList = new ArrayList(); + // 第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(); diff --git a/src/main/java/com/zcloud/util/SendMessageUtil.java b/src/main/java/com/zcloud/util/SendMessageUtil.java index 3d0212d..ff1d597 100644 --- a/src/main/java/com/zcloud/util/SendMessageUtil.java +++ b/src/main/java/com/zcloud/util/SendMessageUtil.java @@ -118,6 +118,40 @@ public class SendMessageUtil { return map; } + /** + * 重点工程相关方人员短信发送 + * @param pd 短信数据 + * @param paramsList 参数集合 + * @throws Exception + */ + public Object sendMessagesKeyproject(PageData pd, String phone, List paramsList) throws Exception { + Map map = new HashMap(); + // 查询公司信息 + 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 diff --git a/src/main/java/com/zcloud/util/SendSmsUtil.java b/src/main/java/com/zcloud/util/SendSmsUtil.java deleted file mode 100644 index 928fc5c..0000000 --- a/src/main/java/com/zcloud/util/SendSmsUtil.java +++ /dev/null @@ -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); - } - -} diff --git a/src/main/resources/mybatis/datasource/keyProjects/KeyprojectCheckMapper.xml b/src/main/resources/mybatis/datasource/keyProjects/KeyprojectCheckMapper.xml index 6dd0afd..ed145c0 100644 --- a/src/main/resources/mybatis/datasource/keyProjects/KeyprojectCheckMapper.xml +++ b/src/main/resources/mybatis/datasource/keyProjects/KeyprojectCheckMapper.xml @@ -218,10 +218,15 @@ select - + , + u.CORPINFO_ID from f + left join bus_units u on f.UNITS_ID = u.UNITS_ID where f.PERSONNELMANAGEMENT_ID = #{PERSONNELMANAGEMENT_ID}