修改重点工程相关方短信发送

pull/4/head
zhangqihang 2024-02-05 14:59:25 +08:00
parent 2519724187
commit 8061ea3e72
7 changed files with 111 additions and 173 deletions

View File

@ -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);
}
}

View File

@ -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();

View File

@ -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

View File

@ -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);
}
}

View File

@ -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'

View File

@ -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'

View File

@ -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>