Browse Source

8/14

master
wangpengfei 2 years ago
parent
commit
452edc0a0d
  1. 2
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/messagepushlog/MessagePushLog.java
  2. 6
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/messagepushlog/MessagePushLogDto.java
  3. 7
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/messagepushlog/MessagePushLogQuery.java
  4. 23
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/messagepushlog/MessagePushLogVo.java
  5. 14
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/csmcashreport/CsmCashReportRest.java
  6. 13
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messagepushlog/MessagePushLogMapper.java
  7. 3
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messagepushlog/MessagePushLogMapper.xml
  8. 27
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messagepushlog/MessagePushLogRest.java
  9. 46
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messagepushlog/MessagePushLogService.java
  10. 2
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/projectdaily/ProjectDailyDto.java
  11. 48
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/projectdaily/ProjectDailyRest.java
  12. 15
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/projectdaily/ProjectDailys.java
  13. 197
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/wechat/WechatRest.java
  14. 2
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/crm/CrmMapper.java
  15. 4
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/system/systemMapper.java
  16. 31
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/wx/SuperviseWxMessSender.java
  17. 2
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/wx/WxMessage.java
  18. 1
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/wx/obj/RespMessReturn.java

2
yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/messagepushlog/MessagePushLog.java

@ -17,4 +17,6 @@ public class MessagePushLog extends EntityWithId {
private String messageTime;
private String pagepath;
private String content;
private String projectSid;
private String orderDate;
}

6
yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/messagepushlog/MessagePushLogDto.java

@ -18,6 +18,10 @@ public class MessagePushLogDto implements Dto {
private String sid;
private String messageTime;
private String pagepath;
private Map<String, Template> content;
//private Map<String, Template> content;
private Map<String, String> content;
private List<MessageOpenidDto> messageOpenidDtos;
private String openid;//小程序openid
private String projectSid;
private String orderDate;
}

7
yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/messagepushlog/MessagePushLogQuery.java

@ -1,8 +1,13 @@
package com.yxt.supervise.report.api.messagepushlog;
import com.yxt.common.core.query.Query;
import lombok.Data;
/**
* @author wangpengfei
* @date 2023/7/27 10:07
*/
public class MessagePushLogQuery {
@Data
public class MessagePushLogQuery implements Query {
private String userSid;
}

23
yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/messagepushlog/MessagePushLogVo.java

@ -3,6 +3,9 @@ package com.yxt.supervise.report.api.messagepushlog;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
import java.util.HashMap;
import java.util.Map;
/**
* @author wangpengfei
* @date 2023/7/27 9:57
@ -14,4 +17,24 @@ public class MessagePushLogVo implements Vo {
private String messageTime;
private String pagepath;
private String content;
private Map<String,String> map;
public Map<String, String> getMap() {
Map<String, String> strMap = new HashMap<>();
String[] keyValuePairs = content.split("[{;,}]");
for (String pair : keyValuePairs) {
// 按照等号拆分键和值
String[] keyValue = pair.split("=");
if (keyValue.length == 2) {
String key = keyValue[0].trim();
String value = keyValue[1].trim();
strMap.put(key, value);
}
}
this.map = strMap;
return map;
}
}

14
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/csmcashreport/CsmCashReportRest.java

@ -103,13 +103,13 @@ public class CsmCashReportRest {
word.write(out);
out.close();
//推送微信消息
ThreadUtil.execute(() -> {
try {
wechatRest.collectionSendMessage(dataDate);
} catch (Exception e) {
throw new RuntimeException(e);
}
});
// ThreadUtil.execute(() -> {
// try {
// wechatRest.collectionSendMessage(dataDate);
// } catch (Exception e) {
// throw new RuntimeException(e);
// }
// });
}
/**

13
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messagepushlog/MessagePushLogMapper.java

@ -1,9 +1,17 @@
package com.yxt.supervise.report.biz.messagepushlog;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.supervise.report.api.messagepushlog.MessagePushLog;
import com.yxt.supervise.report.api.messagepushlog.MessagePushLogVo;
import com.yxt.supervise.system.dicttype.DictType;
import com.yxt.supervise.system.dicttype.DictTypeVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@ -14,6 +22,7 @@ import java.util.List;
*/
@Mapper
public interface MessagePushLogMapper extends BaseMapper<MessagePushLog> {
@Select("select * from message_push_log l left join message_openid o on o.messageSid=l.sid where o.openId=#{openid}")
MessagePushLogVo getAllByUserSid(@Param("openid") String openid);
IPage<MessagePushLogVo> selectPageVo(IPage<MessagePushLog> page, @Param(Constants.WRAPPER) Wrapper<MessagePushLog> qw);
}

3
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messagepushlog/MessagePushLogMapper.xml

@ -3,6 +3,9 @@
<mapper namespace="com.yxt.supervise.report.biz.messagepushlog.MessagePushLogMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.supervise.report.api.messagepushlog.MessagePushLogVo">
select * from message_push_log l left join message_openid o on o.messageSid=l.sid <where> ${ew.sqlSegment} </where>
</select>
<select id="getMessagePushLog" resultType="com.yxt.supervise.report.api.messagepushlog.MessagePushLogVo">
SELECT
*

27
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messagepushlog/MessagePushLogRest.java

@ -1,14 +1,19 @@
package com.yxt.supervise.report.biz.messagepushlog;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.supervise.report.api.messagepushlog.MessagePushLogDto;
import com.yxt.supervise.report.api.messagepushlog.MessagePushLogQuery;
import com.yxt.supervise.report.api.messagepushlog.MessagePushLogVo;
import com.yxt.supervise.report.api.reportsalesdaygather.ReportSalesDayGatherQuery;
import com.yxt.supervise.report.api.reportsalesdaygather.ReportSalesDayGatherVo;
import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreDto;
import com.yxt.supervise.report.ds.system.systemMapper;
import com.yxt.supervise.system.dicttype.DictTypeQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.Date;
@ -26,9 +31,21 @@ public class MessagePushLogRest {
@Autowired
MessagePushLogService messagePushLogService;
@PostMapping("/save")
public ResultBean save(@RequestBody MessagePushLogDto dto){
return messagePushLogService.save(dto);
}
@PostMapping("/listPage")
public ResultBean listPage(@RequestBody PagerQuery<MessagePushLogQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<MessagePushLogVo> pv = messagePushLogService.listPage(pq);
return rb.success().setData(pv);
}
@PostMapping("/changeState")
public ResultBean changeState(@RequestBody PagerQuery<MessagePushLogQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<MessagePushLogVo> pv = messagePushLogService.listPage(pq);
return rb.success().setData(pv);
}
}

46
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messagepushlog/MessagePushLogService.java

@ -2,15 +2,28 @@ package com.yxt.supervise.report.biz.messagepushlog;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.supervise.report.api.messageopenid.MessageOpenid;
import com.yxt.supervise.report.api.messageopenid.MessageOpenidDto;
import com.yxt.supervise.report.api.messagepushlog.MessagePushLog;
import com.yxt.supervise.report.api.messagepushlog.MessagePushLogDto;
import com.yxt.supervise.report.api.messagepushlog.MessagePushLogQuery;
import com.yxt.supervise.report.api.messagepushlog.MessagePushLogVo;
import com.yxt.supervise.report.api.reportsalesdaygather.ReportSalesDayGather;
import com.yxt.supervise.report.api.reportsalesdaygather.ReportSalesDayGatherQuery;
import com.yxt.supervise.report.api.reportsalesdaygather.ReportSalesDayGatherVo;
import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStore;
import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreDto;
import com.yxt.supervise.report.biz.messageopenid.MessageOpenidService;
import com.yxt.supervise.system.dicttype.DictType;
import com.yxt.supervise.system.dicttype.DictTypeVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -25,17 +38,42 @@ import java.util.UUID;
public class MessagePushLogService extends MybatisBaseService<MessagePushLogMapper, MessagePushLog> {
@Autowired
MessageOpenidService messageOpenidService;
@Autowired
com.yxt.supervise.report.ds.system.systemMapper systemMapper;
public ResultBean save(MessagePushLogDto dto) {
ResultBean rb=new ResultBean();
MessagePushLog entity=new MessagePushLog();
BeanUtil.copyProperties(dto, entity, "id");
entity.setSid(UUID.randomUUID().toString());
baseMapper.insert(entity);
for(MessageOpenidDto openid:dto.getMessageOpenidDtos()){
openid.setMessageSid(entity.getSid());
}
messageOpenidService.save(dto.getMessageOpenidDtos());
MessageOpenid messageOpenid=new MessageOpenid();
messageOpenid.setOpenId(dto.getOpenid());
messageOpenid.setMessageSid(entity.getSid());
messageOpenid.setSid(UUID.randomUUID().toString());
messageOpenidService.save(messageOpenid);
return rb.success().setMsg("保存成功");
}
public PagerVo<MessagePushLogVo> listPage(PagerQuery<MessagePushLogQuery> pq) {
ResultBean rb=new ResultBean();
MessagePushLogQuery query = pq.getParams();
String openid=systemMapper.getAppletOpenidByUsersid(query.getUserSid());
IPage<MessagePushLog> page = PagerUtil.queryToPage(pq);
QueryWrapper<MessagePushLog> qw = new QueryWrapper<>();
qw.eq("o.openId",openid);
IPage<MessagePushLogVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<MessagePushLogVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public PagerVo<MessagePushLogVo> changeState(PagerQuery<MessagePushLogQuery> pq) {
ResultBean rb=new ResultBean();
MessagePushLogQuery query = pq.getParams();
String openid=systemMapper.getAppletOpenidByUsersid(query.getUserSid());
IPage<MessagePushLog> page = PagerUtil.queryToPage(pq);
QueryWrapper<MessagePushLog> qw = new QueryWrapper<>();
qw.eq("o.openId",openid);
IPage<MessagePushLogVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<MessagePushLogVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
}

2
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/projectdaily/ProjectDailyDto.java

@ -14,6 +14,8 @@ public class ProjectDailyDto implements Dto {
private String projectSid; // 项目Sid',
private String projectName; // 项目名称',
private String userSid;//用户sid
private String wxCode;//微信code
private double totalLoan = 0; // 贷款总额',
private double accountsBalance = 0; // 帐户余额',

48
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/projectdaily/ProjectDailyRest.java

@ -1,17 +1,23 @@
package com.yxt.supervise.report.biz.projectdaily;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.FileUploadResult;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.supervise.report.biz.stock.ReportStockDay;
import com.yxt.supervise.report.biz.stock.ReportStockDayStore;
import com.yxt.supervise.report.ds.crm.CrmMapper;
import com.yxt.supervise.report.ds.system.systemMapper;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@ -19,6 +25,9 @@ import java.util.List;
@RestController("com.yxt.supervise.report.biz.projectdaily.ProjectDailyRest")
@RequestMapping("/projectdaily")
public class ProjectDailyRest {
String APP_ID = "wx05604ce2a8bede05";
String SECRET = "3d36e8a61212cf773a2fa4e6c9a83334";
private static final String WX_URL_LOGIN = "https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code ";
@Autowired
private FileUploadComponent fileUploadComponent;
@ -26,6 +35,10 @@ public class ProjectDailyRest {
private ProjectDailyService projectDailyService;
@Autowired
private ProjectDailyFilesService projectDailyFilesService;
@Autowired
private CrmMapper crmMapper;
@Autowired
private com.yxt.supervise.report.ds.system.systemMapper systemMapper;
@ApiOperation("查询项目监管报表信息")
@PostMapping("/listPage")
@ -54,10 +67,30 @@ public class ProjectDailyRest {
}
@GetMapping("/getProjectDaily/{projectSid}/{orderDate}")
public ResultBean<ProjectDaily> getProjectDaily(@PathVariable("projectSid") String projectSid, @PathVariable("orderDate") String orderDate) {
@PostMapping ("/getProjectDaily")
public ResultBean<ProjectDaily> getProjectDaily(@RequestBody ProjectDailys ProjectDailys) {
ResultBean rb = ResultBean.fireFail();
ProjectDaily pv = projectDailyService.fetchByProjectAndDay(projectSid, orderDate);
if(StringUtils.isNotNull(ProjectDailys.getUserSid())& !ProjectDailys.getUserSid().equals("")){
int count=crmMapper.getCountByUserSidAndProjectSid(ProjectDailys.getProjectSid(),ProjectDailys.getUserSid());
if(count==0){
return rb.setMsg("无权限");
}
}else if(StringUtils.isNotNull(ProjectDailys.getWxCode())&!ProjectDailys.getWxCode().equals("")){
ResultBean<JSONObject> rbJsonObject = wxLogin(ProjectDailys.getWxCode(), APP_ID,SECRET);
JSONObject jsonObject = rbJsonObject.getData();
String openid = jsonObject.get("openid").toString();
String userSid=systemMapper.getUserSidByOpenid(openid);
if(StringUtils.isNull(userSid)){
return rb.setMsg("无权限");
}
int count=crmMapper.getCountByUserSidAndProjectSid(ProjectDailys.getProjectSid(),userSid);
if(count==0){
return rb.setMsg("无权限");
}
}else if ((StringUtils.isNull(ProjectDailys.getWxCode())|ProjectDailys.getWxCode().equals("")) && (StringUtils.isNull(ProjectDailys.getUserSid())|ProjectDailys.getUserSid().equals(""))){
return rb.setMsg("无权限");
}
ProjectDaily pv = projectDailyService.fetchByProjectAndDay(ProjectDailys.getProjectSid(), ProjectDailys.getOrderDate());
return rb.success().setData(pv);
}
@ -82,4 +115,13 @@ public class ProjectDailyRest {
PagerVo<ProjectDaily> projectDailyVoPagerVo = projectDailyService.selectListPage(pq);
return rb.success().setData(projectDailyVoPagerVo);
}
public ResultBean<JSONObject> wxLogin( String jsCode,String appid, String secret) {
ResultBean rb=new ResultBean();
String url = WX_URL_LOGIN.replace("APPID", appid).replace("SECRET", secret).replace("JSCODE",jsCode).replace("authorization_code","authorization_code");
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> forEntity = restTemplate.getForEntity(url,String.class);
JSONObject jsonObject = JSONObject.parseObject(forEntity.getBody());
System.out.println(jsonObject);
return rb.success().setData(jsonObject);
}
}

15
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/projectdaily/ProjectDailys.java

@ -0,0 +1,15 @@
package com.yxt.supervise.report.biz.projectdaily;
import lombok.Data;
/**
* @author wangpengfei
* @date 2023/8/14 15:31
*/
@Data
public class ProjectDailys {
private String projectSid; // 项目Sid',
private String orderDate; // 单据日期',
private String userSid;//用户sid
private String wxCode;//微信code
}

197
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/wechat/WechatRest.java

@ -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.ds.crm.CrmMapper;
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.ApiOperation;
import org.apache.commons.lang3.StringUtils;
@ -115,25 +117,25 @@ public class WechatRest {
* @param orderDate
* @throws Exception
*/
@PostMapping("/collectionSendMessage/{orderDate}")
public void collectionSendMessage(@PathVariable("orderDate") String orderDate) throws Exception {
@PostMapping("/collectionSendMessage/{projectSid}/{orderDate}")
public void collectionSendMessage(@PathVariable String projectSid,@PathVariable("orderDate") String orderDate) throws Exception {
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(也有相应的接口可以查询到)
String templateId = "BT6BHEojCmgWNTcpz1raHNIpJEEISP1E134btP51p_8";
//微信的基础accessToken
String accessToken=getAccessToken(APP_ID_BIZ,APPSECRETBIZ);
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="";
JSONObject jsonObject=new JSONObject();
List<MessageOpenidDto> list=new ArrayList<>();
@ -141,9 +143,12 @@ public class WechatRest {
MessageOpenidDto dto=new MessageOpenidDto();
dto.setOpenId(openId);
list.add(dto);
sendMag.put("time1", new Template(csmCashReportVo.getReportDate()));
sendMag.put("thing2", new Template("36524每日回款审核报告"));
sendMag.put("thing3", new Template("赵丽晓"));
// sendMag.put("time1", new Template(csmCashReportVo.getReportDate()));
// sendMag.put("thing2", new Template("36524每日回款审核报告"));
// sendMag.put("thing3", new Template("赵丽晓"));
sendMag.put("time1", csmCashReportVo.getReportDate());
sendMag.put("thing2", "36524每日回款审核报告");
sendMag.put("thing3", "赵丽晓");
Map<String, String> miniprogram = new HashMap<>();
//云眼
// miniprogram.put("appid","wx11565021714ba796");
@ -249,18 +254,18 @@ public class WechatRest {
String msgId = jsonObject.getString("msgid");
System.out.println("messageCode : " + messageCode + ", msgId: " +msgId);
//推送消息之后保存消息日志
MessagePushLogDto logDto=new MessagePushLogDto();
logDto.setContent(sendMag);
logDto.setMessageTime(csmCashReportVo.getReportTime());
logDto.setPagepath(pa);
logDto.setMessageOpenidDtos(list);
ThreadUtil.execute(() -> {
try {
messagePushLogService.save(logDto);
} catch (Exception e) {
throw new RuntimeException(e);
}
});
// MessagePushLogDto logDto=new MessagePushLogDto();
// logDto.setContent(sendMag);
// logDto.setMessageTime(csmCashReportVo.getReportTime());
// logDto.setPagepath(pa);
// logDto.setMessageOpenidDtos(list);
// ThreadUtil.execute(() -> {
// try {
// messagePushLogService.save(logDto);
// } catch (Exception e) {
// throw new RuntimeException(e);
// }
// });
//return forEntity.getBody();
}
@ -315,18 +320,18 @@ public class WechatRest {
String msgId = jsonObject.getString("msgid");
System.out.println("messageCode : " + messageCode + ", msgId: " +msgId);
//推送消息之后保存消息日志
MessagePushLogDto logDto=new MessagePushLogDto();
logDto.setContent(sendMag);
logDto.setMessageTime(reportStockDay.getReportTime());
logDto.setPagepath(pa);
logDto.setMessageOpenidDtos(list);
ThreadUtil.execute(() -> {
try {
// messagePushLogService.save(logDto);
} catch (Exception e) {
throw new RuntimeException(e);
}
});
// MessagePushLogDto logDto=new MessagePushLogDto();
// logDto.setContent(sendMag);
// logDto.setMessageTime(reportStockDay.getReportTime());
// logDto.setPagepath(pa);
// logDto.setMessageOpenidDtos(list);
// ThreadUtil.execute(() -> {
// try {
//// messagePushLogService.save(logDto);
// } catch (Exception e) {
// throw new RuntimeException(e);
// }
// });
//return forEntity.getBody();
}
/**
@ -335,72 +340,22 @@ public class WechatRest {
* @throws Exception
*/
@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){
RespMessReturn r=new RespMessReturn();
List<String> user= crmMapper.suerList(projectSid);
List<String> openIds=new ArrayList<>();
for(String u:user){
String id=systemMapper.getOpenId(u);
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>();
// 公众号的模板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){
MessageOpenidDto dto=new MessageOpenidDto();
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());
r= SuperviseWxMessSender.jgsjzlSend("赵丽晓",openId,projectSid,projectDaily.getProjectName(),projectDaily.getReportTime());
}
// 0
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();
System.out.println(r);
}
/**
* 山海光伏库存推送
@ -459,19 +414,19 @@ public class WechatRest {
// 2431260672639467520
String msgId = jsonObject.getString("msgid");
System.out.println("messageCode : " + messageCode + ", msgId: " +msgId);
//推送消息之后保存消息日志
MessagePushLogDto logDto=new MessagePushLogDto();
logDto.setContent(sendMag);
logDto.setMessageTime(reportStockDay.getReportTime());
logDto.setPagepath(pa);
logDto.setMessageOpenidDtos(list);
ThreadUtil.execute(() -> {
try {
messagePushLogService.save(logDto);
} catch (Exception e) {
throw new RuntimeException(e);
}
});
// //推送消息之后保存消息日志
// MessagePushLogDto logDto=new MessagePushLogDto();
// logDto.setContent(sendMag);
// logDto.setMessageTime(reportStockDay.getReportTime());
// logDto.setPagepath(pa);
// logDto.setMessageOpenidDtos(list);
// ThreadUtil.execute(() -> {
// try {
// messagePushLogService.save(logDto);
// } catch (Exception e) {
// throw new RuntimeException(e);
// }
// });
//return forEntity.getBody();
}
@ -540,18 +495,18 @@ public class WechatRest {
// 2431260672639467520
String msgId = jsonObject.getString("msgid");
System.out.println("messageCode : " + messageCode + ", msgId: " +msgId);
MessagePushLogDto logDto=new MessagePushLogDto();
logDto.setContent(sendMag);
logDto.setMessageTime(reportStockDay.getReportTime());
logDto.setPagepath(pa);
logDto.setMessageOpenidDtos(list);
ThreadUtil.execute(() -> {
try {
messagePushLogService.save(logDto);
} catch (Exception e) {
throw new RuntimeException(e);
}
});
// MessagePushLogDto logDto=new MessagePushLogDto();
// logDto.setContent(sendMag);
// logDto.setMessageTime(reportStockDay.getReportTime());
// logDto.setPagepath(pa);
// logDto.setMessageOpenidDtos(list);
// ThreadUtil.execute(() -> {
// try {
// messagePushLogService.save(logDto);
// } catch (Exception e) {
// throw new RuntimeException(e);
// }
// });
//return forEntity.getBody();
}
public String getAccessTokenBiz(String appId,String appsecret) throws Exception {

2
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/crm/CrmMapper.java

@ -18,4 +18,6 @@ public interface CrmMapper extends BaseMapper<ProjectInfo> {
List<UserProject> userProList ();
@Select("select userSid from user_project where projectSid=#{projectSid}")
List<String> suerList(@Param("projectSid") String projectSid);
@Select("select count(*) from user_project where projectSid=#{projectSid} and userSid=#{userSid}")
int getCountByUserSidAndProjectSid(@Param("projectSid") String projectSid,@Param("userSid")String userSid);
}

4
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/system/systemMapper.java

@ -18,4 +18,8 @@ public interface systemMapper extends BaseMapper<com.yxt.supervise.report.ds.sys
String getOpenId(@Param("userSid") String userSid);
@Select("select openid from sys_user where sid=#{userSid} and subscriptionStatus='1'")
String getOpenIdByStatus(@Param("userSid") String userSid);
@Select("select appletOpenid from sys_user where sid=#{userSid} and appletOpenid is not null")
String getAppletOpenidByUsersid(@Param("userSid") String userSid);
@Select("select sid from sys_user where appletOpenid=#{openid}")
String getUserSidByOpenid(@Param("openid")String openid);
}

31
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/wx/SuperviseWxMessSender.java

@ -1,15 +1,30 @@
package com.yxt.supervise.report.wx;
import cn.hutool.core.thread.ThreadUtil;
import com.yxt.supervise.report.api.messagepushlog.MessagePushLogDto;
import com.yxt.supervise.report.biz.messagepushlog.MessagePushLogService;
import com.yxt.supervise.report.wx.obj.RespMessReturn;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import java.util.HashMap;
@Component
public class SuperviseWxMessSender {
private static String jgsjzl_template_id = "BT6BHEojCmgWNTcpz1raHNIpJEEISP1E134btP51p_8";
private static String jgsjzl_pagepath = "pages/index/RegulatoryReporting?orderDate=ORDER_DATE&projectSid=PROJECT_SID";
@Autowired
private MessagePushLogService messagePushLogService;
public static SuperviseWxMessSender superviseWxMessSender;
@PostConstruct // 初始化
public void init(){
superviseWxMessSender= this;
superviseWxMessSender.messagePushLogService= this.messagePushLogService;
}
/**
* 监管数据总览
*
@ -29,6 +44,20 @@ public class SuperviseWxMessSender {
data.put("thing2", maxLength20(thing2));
data.put("thing3", sender);
RespMessReturn respMessReturn = WxMessage.sendMessage(jgsjzl_template_id, touser, pagepath, data);
MessagePushLogDto logDto=new MessagePushLogDto();
logDto.setContent(data);
logDto.setMessageTime(reportTime);
logDto.setPagepath(pagepath);
logDto.setOpenid(touser);
logDto.setProjectSid(projectSid);
logDto.setOrderDate(orderDate);
ThreadUtil.execute(() -> {
try {
superviseWxMessSender.messagePushLogService.save(logDto);
} catch (Exception e) {
throw new RuntimeException(e);
}
});
return respMessReturn;
}

2
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/wx/WxMessage.java

@ -2,6 +2,7 @@ package com.yxt.supervise.report.wx;
import com.yxt.supervise.report.wx.obj.RespMessReturn;
import com.yxt.supervise.report.wx.obj.TemplateDataValue;
import org.junit.Test;
import org.springframework.http.ResponseEntity;
import org.springframework.web.client.RestTemplate;
@ -37,7 +38,6 @@ public class WxMessage {
mp_template_msg.put("data", sendData);
sendBody.put("mp_template_msg", mp_template_msg);
ResponseEntity<RespMessReturn> forEntity = new RestTemplate().postForEntity(wxUrl, sendBody, RespMessReturn.class);
return forEntity.getBody();
}

1
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/wx/obj/RespMessReturn.java

@ -7,4 +7,5 @@ public class RespMessReturn {
// {"errcode":40037,"errmsg":"invalid template_id rid: 64d21740-3e296cf3-501aa457"}
private int errcode;
private String errmsg;
private Object data;
}

Loading…
Cancel
Save