forked from integrated_whb/integrated_whb
修改重点工程相关方短信发送
parent
2519724187
commit
8061ea3e72
|
@ -63,6 +63,9 @@ public class AppKeyprojectCheckController extends BaseController {
|
||||||
|
|
||||||
@Autowired Smb smb;
|
@Autowired Smb smb;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SendMessageUtil sendMessageUtil;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增
|
* 新增
|
||||||
|
@ -153,16 +156,19 @@ public class AppKeyprojectCheckController extends BaseController {
|
||||||
PageData person = new PageData();
|
PageData person = new PageData();
|
||||||
person.put("PERSONNELMANAGEMENT_ID", pd.getString("PERSONNELMANAGEMENT_ID"));
|
person.put("PERSONNELMANAGEMENT_ID", pd.getString("PERSONNELMANAGEMENT_ID"));
|
||||||
person = personnelmanagementService.findById(person);
|
person = personnelmanagementService.findById(person);
|
||||||
// outSource.get("OUTSOURCED_NAME")
|
|
||||||
JSONArray jsonArray = new JSONArray();
|
PageData mes = new PageData();
|
||||||
//接受返回结果
|
mes.put("templateCode", "SMS_215820677");// 短信模板编码
|
||||||
JSONObject records = new JSONObject();
|
mes.put("CORPINFO_ID", person.get("CORPINFO_ID"));
|
||||||
//定义替换参数
|
// 参数集合
|
||||||
JSONObject tpContent = new JSONObject();
|
List<PageData> paramsList = new ArrayList<PageData>();
|
||||||
tpContent.put("OUTSOURCEDNAME", outSource.getString("OUTSOURCED_NAME"));
|
// 第1个参数
|
||||||
records = SendSmsUtil.getRecords(person.getString("PHONENUM"), tpContent);
|
PageData params1 = new PageData();
|
||||||
jsonArray.add(records);
|
params1.put("name", "time");// 存入短信模板中的参数名称
|
||||||
SendSmsUtil.sendSms("121451", jsonArray, null);
|
params1.put("value", outSource.getString("OUTSOURCED_NAME"));// 存入上面参数名称所传递的值
|
||||||
|
paramsList.add(params1);
|
||||||
|
sendMessageUtil.sendMessagesKeyproject(mes,person.getString("PHONENUM"), paramsList);
|
||||||
|
|
||||||
//发送罚款待处理 上文开关控制这里发送不
|
//发送罚款待处理 上文开关控制这里发送不
|
||||||
if (boo) {
|
if (boo) {
|
||||||
List<JSONObject> jsonList = (List<JSONObject>) JSON.parse(pd.getString("HIDDENJSON"));
|
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);
|
List<String> list = keyprojectHiddenService.getPhone(selectPageData);
|
||||||
for (JSONObject json : jsonList) {
|
for (JSONObject json : jsonList) {
|
||||||
for (String phone : list) {
|
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)) {
|
if (StringUtils.isNotBlank(phone)) {
|
||||||
recordsB = SendSmsUtil.getRecords(phone, tpContentB);
|
PageData mes2 = new PageData();
|
||||||
jsonBrray.add(recordsB);
|
mes.put("templateCode", "SMS_215820677");// 短信模板编码
|
||||||
SendSmsUtil.sendSms("121487", jsonBrray, null);
|
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);
|
List<PageData> smsList = keyprojectcheckService.getSmsList(pd);
|
||||||
if (!Tools.isEmpty(smsList)) {
|
if (!Tools.isEmpty(smsList)) {
|
||||||
for (PageData pageData : smsList) {
|
for (PageData pageData : smsList) {
|
||||||
JSONArray jsonArray = new JSONArray();
|
PageData mes = new PageData();
|
||||||
//接受返回结果
|
mes.put("templateCode", "SMS_215820677");// 短信模板编码
|
||||||
JSONObject records = new JSONObject();
|
mes.put("CORPINFO_ID", pageData.get("CORPINFO_ID"));// 企业id
|
||||||
//定义替换参数
|
// 参数集合
|
||||||
JSONObject tpContent = new JSONObject();
|
List<PageData> paramsList = new ArrayList<PageData>();
|
||||||
tpContent.put("HIDDENDESCR", pageData.getString("HIDDENDESCR"));
|
// 第1个参数
|
||||||
records = SendSmsUtil.getRecords(pageData.getString("PHONENUM"), tpContent);
|
PageData params1 = new PageData();
|
||||||
jsonArray.add(records);
|
params1.put("name", "time");// 存入短信模板中的参数名称
|
||||||
SendSmsUtil.sendSms("121486", jsonArray, null);
|
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);
|
List<PageData> smsList = keyprojectHiddenService.getSmsList(pd);
|
||||||
if (!Tools.isEmpty(smsList)) {
|
if (!Tools.isEmpty(smsList)) {
|
||||||
for (PageData pageData : smsList) {
|
for (PageData pageData : smsList) {
|
||||||
JSONArray jsonArray = new JSONArray();
|
PageData mes = new PageData();
|
||||||
//接受返回结果
|
mes.put("templateCode", "SMS_215820677");// 短信模板编码
|
||||||
JSONObject records = new JSONObject();
|
mes.put("CORPINFO_ID", pageData.get("CORPINFO_ID"));// 企业id
|
||||||
//定义替换参数
|
// 参数集合
|
||||||
JSONObject tpContent = new JSONObject();
|
List<PageData> paramsList = new ArrayList<PageData>();
|
||||||
tpContent.put("HIDDENDESCR", pageData.getString("HIDDENDESCR"));
|
// 第1个参数
|
||||||
HIDDENDESCR = pageData.getString("HIDDENDESCR");
|
PageData params1 = new PageData();
|
||||||
records = SendSmsUtil.getRecords(pageData.getString("PHONE"), tpContent);
|
params1.put("name", "time");// 存入短信模板中的参数名称
|
||||||
jsonArray.add(records);
|
params1.put("value", pageData.getString("HIDDENDESCR"));// 存入上面参数名称所传递的值
|
||||||
SendSmsUtil.sendSms("121488", jsonArray, null);
|
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.bind.annotation.ResponseBody;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.*;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 说明:重点工程处罚
|
* 说明:重点工程处罚
|
||||||
|
@ -57,6 +54,9 @@ public class AppKeyprojectPunishController extends BaseController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private PersonnelManagementService personnelmanagementService;
|
private PersonnelManagementService personnelmanagementService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SendMessageUtil sendMessageUtil;
|
||||||
|
|
||||||
/**处理
|
/**处理
|
||||||
* @param
|
* @param
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
|
@ -135,16 +135,18 @@ public class AppKeyprojectPunishController extends BaseController {
|
||||||
PageData person = new PageData();
|
PageData person = new PageData();
|
||||||
person.put("PERSONNELMANAGEMENT_ID", pd.getString("PERSONNELMANAGEMENT_ID"));
|
person.put("PERSONNELMANAGEMENT_ID", pd.getString("PERSONNELMANAGEMENT_ID"));
|
||||||
person = personnelmanagementService.findById(person);
|
person = personnelmanagementService.findById(person);
|
||||||
// outSource.get("OUTSOURCED_NAME")
|
|
||||||
JSONArray jsonArray = new JSONArray();
|
PageData mes = new PageData();
|
||||||
//接受返回结果
|
mes.put("templateCode", "SMS_215820677");// 短信模板编码
|
||||||
JSONObject records = new JSONObject();
|
mes.put("CORPINFO_ID", person.get("CORPINFO_ID"));// 企业id
|
||||||
//定义替换参数
|
// 参数集合
|
||||||
JSONObject tpContent = new JSONObject();
|
List<PageData> paramsList = new ArrayList<PageData>();
|
||||||
tpContent.put("REASON", pd.getString("REASON"));
|
// 第1个参数
|
||||||
records = SendSmsUtil.getRecords(person.getString("PHONENUM"), tpContent);
|
PageData params1 = new PageData();
|
||||||
jsonArray.add(records);
|
params1.put("name", "time");// 存入短信模板中的参数名称
|
||||||
SendSmsUtil.sendSms("121490", jsonArray, null);
|
params1.put("value", pd.getString("REASON"));// 存入上面参数名称所传递的值
|
||||||
|
paramsList.add(params1);
|
||||||
|
sendMessageUtil.sendMessagesKeyproject(mes,person.getString("PHONENUM"), paramsList);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
|
|
@ -118,6 +118,40 @@ public class SendMessageUtil {
|
||||||
return map;
|
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
|
* @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>
|
</update>
|
||||||
|
|
||||||
<select id="getSmsList" parameterType="pd" resultType="pd">
|
<select id="getSmsList" parameterType="pd" resultType="pd">
|
||||||
SELECT ry.PHONENUM as PHONENUM,yh.HIDDENDESCR as HIDDENDESCR FROM BUS_KEYPROJECTCHECK t
|
SELECT
|
||||||
LEFT JOIN `qa-gwj-regulatory`.BUS_OUTSOURCED gc on gc.OUTSOURCED_ID = t.OUTSOURCED_ID
|
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 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}
|
WHERE t.KEYPROJECTCHECK_ID=#{KEYPROJECTCHECK_ID}
|
||||||
AND gc.IS_SMS = '0'
|
AND gc.IS_SMS = '0'
|
||||||
|
|
|
@ -987,7 +987,7 @@
|
||||||
and f.VILLAGE = #{DEPT_VILLAGE}
|
and f.VILLAGE = #{DEPT_VILLAGE}
|
||||||
</if>
|
</if>
|
||||||
<if test="DEPARTMENT_ID != null and DEPARTMENT_ID != ''">
|
<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>
|
</if>
|
||||||
|
|
||||||
left join BUS_HIDDEN h on f.CORPINFO_ID=h.CORPINFO_ID and h.ISDELETE='0'
|
left join BUS_HIDDEN h on f.CORPINFO_ID=h.CORPINFO_ID and h.ISDELETE='0'
|
||||||
|
|
|
@ -164,9 +164,11 @@
|
||||||
<!-- 通过ID获取数据 -->
|
<!-- 通过ID获取数据 -->
|
||||||
<select id="findById" parameterType="pd" resultType="pd">
|
<select id="findById" parameterType="pd" resultType="pd">
|
||||||
select
|
select
|
||||||
<include refid="Field"></include>
|
<include refid="Field"></include>,
|
||||||
|
u.CORPINFO_ID
|
||||||
from
|
from
|
||||||
<include refid="tableName"></include> f
|
<include refid="tableName"></include> f
|
||||||
|
left join bus_units u on f.UNITS_ID = u.UNITS_ID
|
||||||
where
|
where
|
||||||
f.PERSONNELMANAGEMENT_ID = #{PERSONNELMANAGEMENT_ID}
|
f.PERSONNELMANAGEMENT_ID = #{PERSONNELMANAGEMENT_ID}
|
||||||
</select>
|
</select>
|
||||||
|
|
Loading…
Reference in New Issue