|
@ -22,6 +22,8 @@ import com.yxt.supervise.report.biz.stock.StockDayRest; |
|
|
import com.yxt.supervise.report.biz.util.WeixinCheckoutUtil; |
|
|
import com.yxt.supervise.report.biz.util.WeixinCheckoutUtil; |
|
|
import com.yxt.supervise.report.ds.crm.CrmMapper; |
|
|
import com.yxt.supervise.report.ds.crm.CrmMapper; |
|
|
import com.yxt.supervise.report.ds.system.systemMapper; |
|
|
import com.yxt.supervise.report.ds.system.systemMapper; |
|
|
|
|
|
import com.yxt.supervise.report.wx.SuperviseWxMessSender; |
|
|
|
|
|
import com.yxt.supervise.report.wx.obj.RespMessReturn; |
|
|
import io.swagger.annotations.Api; |
|
|
import io.swagger.annotations.Api; |
|
|
import io.swagger.annotations.ApiOperation; |
|
|
import io.swagger.annotations.ApiOperation; |
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
import org.apache.commons.lang3.StringUtils; |
|
@ -115,25 +117,25 @@ public class WechatRest { |
|
|
* @param orderDate |
|
|
* @param orderDate |
|
|
* @throws Exception |
|
|
* @throws Exception |
|
|
*/ |
|
|
*/ |
|
|
@PostMapping("/collectionSendMessage/{orderDate}") |
|
|
@PostMapping("/collectionSendMessage/{projectSid}/{orderDate}") |
|
|
public void collectionSendMessage(@PathVariable("orderDate") String orderDate) throws Exception { |
|
|
public void collectionSendMessage(@PathVariable String projectSid,@PathVariable("orderDate") String orderDate) throws Exception { |
|
|
CsmCashReportVo csmCashReportVo=csmCashReportMapper.getCsmCashReport(orderDate); |
|
|
CsmCashReportVo csmCashReportVo=csmCashReportMapper.getCsmCashReport(orderDate); |
|
|
|
|
|
List<String> user= crmMapper.suerList(projectSid); |
|
|
|
|
|
List<String> openIds=new ArrayList<>(); |
|
|
|
|
|
for(String u:user){ |
|
|
|
|
|
String id=systemMapper.getAppletOpenidByUsersid(u); |
|
|
|
|
|
if(com.yxt.common.base.utils.StringUtils.isNotNull(id)){ |
|
|
|
|
|
openIds.add(id); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
ProjectDaily projectDaily=projectDailyService.fetchByProjectAndDay(projectSid,orderDate); |
|
|
// 模板参数
|
|
|
// 模板参数
|
|
|
Map<String, Template> sendMag = new HashMap<String, Template>(); |
|
|
Map<String, String> sendMag = new HashMap<String, String>(); |
|
|
// 公众号的模板id(也有相应的接口可以查询到)
|
|
|
// 公众号的模板id(也有相应的接口可以查询到)
|
|
|
String templateId = "BT6BHEojCmgWNTcpz1raHNIpJEEISP1E134btP51p_8"; |
|
|
String templateId = "BT6BHEojCmgWNTcpz1raHNIpJEEISP1E134btP51p_8"; |
|
|
//微信的基础accessToken
|
|
|
//微信的基础accessToken
|
|
|
String accessToken=getAccessToken(APP_ID_BIZ,APPSECRETBIZ); |
|
|
String accessToken=getAccessToken(APP_ID_BIZ,APPSECRETBIZ); |
|
|
String wxUrl = WX_URL_MESSAGE_SEND.replace("ACCESS_TOKEN", accessToken); |
|
|
String wxUrl = WX_URL_MESSAGE_SEND.replace("ACCESS_TOKEN", accessToken); |
|
|
List<String> openIds=new ArrayList<>(); |
|
|
|
|
|
openIds.add("oGdho60xVtWEXUks7nYEAn0tGlDE"); |
|
|
|
|
|
openIds.add("oGdho66394A-4-NyumcJ1MEaT8Lo"); |
|
|
|
|
|
openIds.add("oGdho68CArVhC_-7ELkG-jX21ruk"); |
|
|
|
|
|
openIds.add("oGdho6yYB47f52HVk2NqirrFbRRk"); |
|
|
|
|
|
openIds.add("oGdho6-12-ioAKeLhVUDYPucbDb4"); |
|
|
|
|
|
openIds.add("oGdho668Hew45t0xfBJC84TNGVzI"); |
|
|
|
|
|
openIds.add("oGdho624Cr3j_iZBj-0_HayKLNc4"); |
|
|
|
|
|
openIds.add("oGdho6-LvwNY6KylgMlEG0C_JMmQ"); |
|
|
|
|
|
String pa=""; |
|
|
String pa=""; |
|
|
JSONObject jsonObject=new JSONObject(); |
|
|
JSONObject jsonObject=new JSONObject(); |
|
|
List<MessageOpenidDto> list=new ArrayList<>(); |
|
|
List<MessageOpenidDto> list=new ArrayList<>(); |
|
@ -141,9 +143,12 @@ public class WechatRest { |
|
|
MessageOpenidDto dto=new MessageOpenidDto(); |
|
|
MessageOpenidDto dto=new MessageOpenidDto(); |
|
|
dto.setOpenId(openId); |
|
|
dto.setOpenId(openId); |
|
|
list.add(dto); |
|
|
list.add(dto); |
|
|
sendMag.put("time1", new Template(csmCashReportVo.getReportDate())); |
|
|
// sendMag.put("time1", new Template(csmCashReportVo.getReportDate()));
|
|
|
sendMag.put("thing2", new Template("36524每日回款审核报告")); |
|
|
// sendMag.put("thing2", new Template("36524每日回款审核报告"));
|
|
|
sendMag.put("thing3", new Template("赵丽晓")); |
|
|
// sendMag.put("thing3", new Template("赵丽晓"));
|
|
|
|
|
|
sendMag.put("time1", csmCashReportVo.getReportDate()); |
|
|
|
|
|
sendMag.put("thing2", "36524每日回款审核报告"); |
|
|
|
|
|
sendMag.put("thing3", "赵丽晓"); |
|
|
Map<String, String> miniprogram = new HashMap<>(); |
|
|
Map<String, String> miniprogram = new HashMap<>(); |
|
|
//云眼
|
|
|
//云眼
|
|
|
// miniprogram.put("appid","wx11565021714ba796");
|
|
|
// miniprogram.put("appid","wx11565021714ba796");
|
|
@ -249,18 +254,18 @@ public class WechatRest { |
|
|
String msgId = jsonObject.getString("msgid"); |
|
|
String msgId = jsonObject.getString("msgid"); |
|
|
System.out.println("messageCode : " + messageCode + ", msgId: " +msgId); |
|
|
System.out.println("messageCode : " + messageCode + ", msgId: " +msgId); |
|
|
//推送消息之后保存消息日志
|
|
|
//推送消息之后保存消息日志
|
|
|
MessagePushLogDto logDto=new MessagePushLogDto(); |
|
|
// MessagePushLogDto logDto=new MessagePushLogDto();
|
|
|
logDto.setContent(sendMag); |
|
|
// logDto.setContent(sendMag);
|
|
|
logDto.setMessageTime(csmCashReportVo.getReportTime()); |
|
|
// logDto.setMessageTime(csmCashReportVo.getReportTime());
|
|
|
logDto.setPagepath(pa); |
|
|
// logDto.setPagepath(pa);
|
|
|
logDto.setMessageOpenidDtos(list); |
|
|
// logDto.setMessageOpenidDtos(list);
|
|
|
ThreadUtil.execute(() -> { |
|
|
// ThreadUtil.execute(() -> {
|
|
|
try { |
|
|
// try {
|
|
|
messagePushLogService.save(logDto); |
|
|
// messagePushLogService.save(logDto);
|
|
|
} catch (Exception e) { |
|
|
// } catch (Exception e) {
|
|
|
throw new RuntimeException(e); |
|
|
// throw new RuntimeException(e);
|
|
|
} |
|
|
// }
|
|
|
}); |
|
|
// });
|
|
|
//return forEntity.getBody();
|
|
|
//return forEntity.getBody();
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -315,18 +320,18 @@ public class WechatRest { |
|
|
String msgId = jsonObject.getString("msgid"); |
|
|
String msgId = jsonObject.getString("msgid"); |
|
|
System.out.println("messageCode : " + messageCode + ", msgId: " +msgId); |
|
|
System.out.println("messageCode : " + messageCode + ", msgId: " +msgId); |
|
|
//推送消息之后保存消息日志
|
|
|
//推送消息之后保存消息日志
|
|
|
MessagePushLogDto logDto=new MessagePushLogDto(); |
|
|
// MessagePushLogDto logDto=new MessagePushLogDto();
|
|
|
logDto.setContent(sendMag); |
|
|
// logDto.setContent(sendMag);
|
|
|
logDto.setMessageTime(reportStockDay.getReportTime()); |
|
|
// logDto.setMessageTime(reportStockDay.getReportTime());
|
|
|
logDto.setPagepath(pa); |
|
|
// logDto.setPagepath(pa);
|
|
|
logDto.setMessageOpenidDtos(list); |
|
|
// logDto.setMessageOpenidDtos(list);
|
|
|
ThreadUtil.execute(() -> { |
|
|
// ThreadUtil.execute(() -> {
|
|
|
try { |
|
|
// try {
|
|
|
// messagePushLogService.save(logDto);
|
|
|
//// messagePushLogService.save(logDto);
|
|
|
} catch (Exception e) { |
|
|
// } catch (Exception e) {
|
|
|
throw new RuntimeException(e); |
|
|
// throw new RuntimeException(e);
|
|
|
} |
|
|
// }
|
|
|
}); |
|
|
// });
|
|
|
//return forEntity.getBody();
|
|
|
//return forEntity.getBody();
|
|
|
} |
|
|
} |
|
|
/** |
|
|
/** |
|
@ -335,72 +340,22 @@ public class WechatRest { |
|
|
* @throws Exception |
|
|
* @throws Exception |
|
|
*/ |
|
|
*/ |
|
|
@PostMapping("/SendMessage/{projectSid}/{orderDate}") |
|
|
@PostMapping("/SendMessage/{projectSid}/{orderDate}") |
|
|
public void sendMessage(@PathVariable("projectSid") String projectSid,@PathVariable("orderDate") String orderDate) throws Exception { |
|
|
public void sendMessage(@PathVariable("projectSid") String projectSid,@PathVariable("orderDate") String orderDate){ |
|
|
List<String>user= crmMapper.suerList(projectSid); |
|
|
RespMessReturn r=new RespMessReturn(); |
|
|
|
|
|
List<String> user= crmMapper.suerList(projectSid); |
|
|
List<String> openIds=new ArrayList<>(); |
|
|
List<String> openIds=new ArrayList<>(); |
|
|
for(String u:user){ |
|
|
for(String u:user){ |
|
|
String id=systemMapper.getOpenId(u); |
|
|
String id=systemMapper.getAppletOpenidByUsersid(u); |
|
|
openIds.add(id); |
|
|
if(com.yxt.common.base.utils.StringUtils.isNotNull(id)){ |
|
|
|
|
|
openIds.add(id); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
ProjectDaily projectDaily=projectDailyService.fetchByProjectAndDay(projectSid,orderDate); |
|
|
ProjectDaily projectDaily=projectDailyService.fetchByProjectAndDay(projectSid,orderDate); |
|
|
// 模板参数
|
|
|
|
|
|
Map<String, Template> sendMag = new HashMap<String, Template>(); |
|
|
|
|
|
// 公众号的模板id(也有相应的接口可以查询到)
|
|
|
// 公众号的模板id(也有相应的接口可以查询到)
|
|
|
String templateId = "BT6BHEojCmgWNTcpz1raHNIpJEEISP1E134btP51p_8"; |
|
|
|
|
|
//微信的基础accessToken
|
|
|
|
|
|
String accessToken=getAccessToken(APP_ID_BIZ,APPSECRETBIZ); |
|
|
|
|
|
String wxUrl = WX_URL_MESSAGE_SEND.replace("ACCESS_TOKEN", accessToken); |
|
|
|
|
|
String pa=""; |
|
|
|
|
|
JSONObject jsonObject=new JSONObject(); |
|
|
|
|
|
List<MessageOpenidDto> list=new ArrayList<>(); |
|
|
|
|
|
for(String openId:openIds){ |
|
|
for(String openId:openIds){ |
|
|
MessageOpenidDto dto=new MessageOpenidDto(); |
|
|
r= SuperviseWxMessSender.jgsjzlSend("赵丽晓",openId,projectSid,projectDaily.getProjectName(),projectDaily.getReportTime()); |
|
|
dto.setOpenId(openId); |
|
|
|
|
|
list.add(dto); |
|
|
|
|
|
String name ="监管数据总览("+projectDaily.getProjectName()+")"; |
|
|
|
|
|
if(name.length()>20){ |
|
|
|
|
|
name=name.substring(0,19); |
|
|
|
|
|
name=name+"…"; |
|
|
|
|
|
}; |
|
|
|
|
|
sendMag.put("time1", new Template(projectDaily.getReportTime())); |
|
|
|
|
|
sendMag.put("thing2", new Template(name)); |
|
|
|
|
|
sendMag.put("thing3", new Template("赵丽晓")); |
|
|
|
|
|
Map<String, String> miniprogram = new HashMap<>(); |
|
|
|
|
|
miniprogram.put("appid","wx05604ce2a8bede05"); |
|
|
|
|
|
miniprogram.put("pagepath","pages/index/RegulatoryReporting?orderDate="+projectDaily.getOrderDate()+"&"+"projectSid="+projectDaily.getProjectSid()); |
|
|
|
|
|
pa=miniprogram.get("pagepath"); |
|
|
|
|
|
RestTemplate restTemplate = new RestTemplate(); |
|
|
|
|
|
//拼接base参数
|
|
|
|
|
|
Map<String, Object> sendBody = new HashMap<>(); |
|
|
|
|
|
sendBody.put("miniprogram",miniprogram); |
|
|
|
|
|
sendBody.put("touser", openId); // openId
|
|
|
|
|
|
sendBody.put("url", ""); // 点击模板信息跳转地址
|
|
|
|
|
|
sendBody.put("topcolor", "#FF0000"); // 顶色
|
|
|
|
|
|
sendBody.put("data", sendMag); // 模板参数
|
|
|
|
|
|
sendBody.put("template_id", templateId);// 模板Id
|
|
|
|
|
|
ResponseEntity<String> forEntity = restTemplate.postForEntity(wxUrl, sendBody, String.class); |
|
|
|
|
|
jsonObject = JSONObject.parseObject(forEntity.getBody()); |
|
|
|
|
|
} |
|
|
} |
|
|
// 0
|
|
|
System.out.println(r); |
|
|
String messageCode = jsonObject.getString("errcode"); |
|
|
|
|
|
// 2431260672639467520
|
|
|
|
|
|
String msgId = jsonObject.getString("msgid"); |
|
|
|
|
|
System.out.println("messageCode : " + messageCode + ", msgId: " +msgId); |
|
|
|
|
|
//推送消息之后保存消息日志
|
|
|
|
|
|
MessagePushLogDto logDto=new MessagePushLogDto(); |
|
|
|
|
|
logDto.setContent(sendMag); |
|
|
|
|
|
logDto.setMessageTime(projectDaily.getReportTime()); |
|
|
|
|
|
logDto.setPagepath(pa); |
|
|
|
|
|
logDto.setMessageOpenidDtos(list); |
|
|
|
|
|
ThreadUtil.execute(() -> { |
|
|
|
|
|
try { |
|
|
|
|
|
messagePushLogService.save(logDto); |
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
throw new RuntimeException(e); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
//return forEntity.getBody();
|
|
|
|
|
|
} |
|
|
} |
|
|
/** |
|
|
/** |
|
|
* 山海光伏库存推送 |
|
|
* 山海光伏库存推送 |
|
@ -459,19 +414,19 @@ public class WechatRest { |
|
|
// 2431260672639467520
|
|
|
// 2431260672639467520
|
|
|
String msgId = jsonObject.getString("msgid"); |
|
|
String msgId = jsonObject.getString("msgid"); |
|
|
System.out.println("messageCode : " + messageCode + ", msgId: " +msgId); |
|
|
System.out.println("messageCode : " + messageCode + ", msgId: " +msgId); |
|
|
//推送消息之后保存消息日志
|
|
|
// //推送消息之后保存消息日志
|
|
|
MessagePushLogDto logDto=new MessagePushLogDto(); |
|
|
// MessagePushLogDto logDto=new MessagePushLogDto();
|
|
|
logDto.setContent(sendMag); |
|
|
// logDto.setContent(sendMag);
|
|
|
logDto.setMessageTime(reportStockDay.getReportTime()); |
|
|
// logDto.setMessageTime(reportStockDay.getReportTime());
|
|
|
logDto.setPagepath(pa); |
|
|
// logDto.setPagepath(pa);
|
|
|
logDto.setMessageOpenidDtos(list); |
|
|
// logDto.setMessageOpenidDtos(list);
|
|
|
ThreadUtil.execute(() -> { |
|
|
// ThreadUtil.execute(() -> {
|
|
|
try { |
|
|
// try {
|
|
|
messagePushLogService.save(logDto); |
|
|
// messagePushLogService.save(logDto);
|
|
|
} catch (Exception e) { |
|
|
// } catch (Exception e) {
|
|
|
throw new RuntimeException(e); |
|
|
// throw new RuntimeException(e);
|
|
|
} |
|
|
// }
|
|
|
}); |
|
|
// });
|
|
|
//return forEntity.getBody();
|
|
|
//return forEntity.getBody();
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -540,18 +495,18 @@ public class WechatRest { |
|
|
// 2431260672639467520
|
|
|
// 2431260672639467520
|
|
|
String msgId = jsonObject.getString("msgid"); |
|
|
String msgId = jsonObject.getString("msgid"); |
|
|
System.out.println("messageCode : " + messageCode + ", msgId: " +msgId); |
|
|
System.out.println("messageCode : " + messageCode + ", msgId: " +msgId); |
|
|
MessagePushLogDto logDto=new MessagePushLogDto(); |
|
|
// MessagePushLogDto logDto=new MessagePushLogDto();
|
|
|
logDto.setContent(sendMag); |
|
|
// logDto.setContent(sendMag);
|
|
|
logDto.setMessageTime(reportStockDay.getReportTime()); |
|
|
// logDto.setMessageTime(reportStockDay.getReportTime());
|
|
|
logDto.setPagepath(pa); |
|
|
// logDto.setPagepath(pa);
|
|
|
logDto.setMessageOpenidDtos(list); |
|
|
// logDto.setMessageOpenidDtos(list);
|
|
|
ThreadUtil.execute(() -> { |
|
|
// ThreadUtil.execute(() -> {
|
|
|
try { |
|
|
// try {
|
|
|
messagePushLogService.save(logDto); |
|
|
// messagePushLogService.save(logDto);
|
|
|
} catch (Exception e) { |
|
|
// } catch (Exception e) {
|
|
|
throw new RuntimeException(e); |
|
|
// throw new RuntimeException(e);
|
|
|
} |
|
|
// }
|
|
|
}); |
|
|
// });
|
|
|
//return forEntity.getBody();
|
|
|
//return forEntity.getBody();
|
|
|
} |
|
|
} |
|
|
public String getAccessTokenBiz(String appId,String appsecret) throws Exception { |
|
|
public String getAccessTokenBiz(String appId,String appsecret) throws Exception { |
|
|