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