Browse Source

微信推送

master
wangpengfei 2 years ago
parent
commit
2d86dd9cf1
  1. 8
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/inventoryhcsm/InventoryHcsm.java
  2. 8
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/inventoryhcsm/InventoryHcsmDto.java
  3. 8
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/inventoryhcsm/InventoryHcsmVo.java
  4. 20
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/messageopenid/MessageOpenid.java
  5. 17
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/messageopenid/MessageOpenidDto.java
  6. 17
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/messageopenid/MessageOpenidQuery.java
  7. 17
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/messageopenid/MessageOpenidVo.java
  8. 20
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/messagepushlog/MessagePushLog.java
  9. 23
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/messagepushlog/MessagePushLogDto.java
  10. 8
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/messagepushlog/MessagePushLogQuery.java
  11. 17
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/messagepushlog/MessagePushLogVo.java
  12. 2
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/reportinventorydaygather/ReportInventoryDayGatherVo.java
  13. 16
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messageopenid/MessageOpenidMapper.java
  14. 29
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messageopenid/MessageOpenidMapper.xml
  15. 30
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messageopenid/MessageOpenidRest.java
  16. 32
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messageopenid/MessageOpenidService.java
  17. 19
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messagepushlog/MessagePushLogMapper.java
  18. 29
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messagepushlog/MessagePushLogMapper.xml
  19. 34
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messagepushlog/MessagePushLogRest.java
  20. 41
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messagepushlog/MessagePushLogService.java
  21. 1
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportinventory/ReportInventoryWxRest.java
  22. 32
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/wechat/WechatRest.java

8
yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/inventoryhcsm/InventoryHcsm.java

@ -0,0 +1,8 @@
package com.yxt.supervise.report.api.inventoryhcsm;
/**
* @author wangpengfei
* @date 2023/7/27 9:27
*/
public class InventoryHcsm {
}

8
yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/inventoryhcsm/InventoryHcsmDto.java

@ -0,0 +1,8 @@
package com.yxt.supervise.report.api.inventoryhcsm;
/**
* @author wangpengfei
* @date 2023/7/27 9:27
*/
public class InventoryHcsmDto {
}

8
yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/inventoryhcsm/InventoryHcsmVo.java

@ -0,0 +1,8 @@
package com.yxt.supervise.report.api.inventoryhcsm;
/**
* @author wangpengfei
* @date 2023/7/27 9:27
*/
public class InventoryHcsmVo {
}

20
yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/messageopenid/MessageOpenid.java

@ -0,0 +1,20 @@
package com.yxt.supervise.report.api.messageopenid;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
* @author wangpengfei
* @date 2023/7/27 10:34
*/
@ApiModel(value = "消息用户微信openid关联", description = "消息用户微信openid关联")
@TableName("message_openid")
@Data
public class MessageOpenid {
private String id;
private String sid;
private String messageSid;
private String openId;
private String state;
}

17
yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/messageopenid/MessageOpenidDto.java

@ -0,0 +1,17 @@
package com.yxt.supervise.report.api.messageopenid;
import com.yxt.common.core.dto.Dto;
import lombok.Data;
/**
* @author wangpengfei
* @date 2023/7/27 10:34
*/
@Data
public class MessageOpenidDto implements Dto {
private String id;
private String sid;
private String messageSid;
private String openId;
private String state;
}

17
yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/messageopenid/MessageOpenidQuery.java

@ -0,0 +1,17 @@
package com.yxt.supervise.report.api.messageopenid;
import com.yxt.common.core.query.Query;
import lombok.Data;
/**
* @author wangpengfei
* @date 2023/7/27 10:35
*/
@Data
public class MessageOpenidQuery implements Query {
private String id;
private String sid;
private String messageSid;
private String openId;
private String state;
}

17
yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/messageopenid/MessageOpenidVo.java

@ -0,0 +1,17 @@
package com.yxt.supervise.report.api.messageopenid;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
/**
* @author wangpengfei
* @date 2023/7/27 10:35
*/
@Data
public class MessageOpenidVo implements Vo {
private String id;
private String sid;
private String messageSid;
private String openId;
private String state;
}

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

@ -0,0 +1,20 @@
package com.yxt.supervise.report.api.messagepushlog;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.EntityWithId;
import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
* @author wangpengfei
* @date 2023/7/27 9:56
*/
@ApiModel(value = "消息推送日志", description = "消息推送日志")
@TableName("message_push_log")
@Data
public class MessagePushLog extends EntityWithId {
private String sid;
private String messageTime;
private String pagepath;
private String content;
}

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

@ -0,0 +1,23 @@
package com.yxt.supervise.report.api.messagepushlog;
import com.yxt.common.core.dto.Dto;
import com.yxt.supervise.report.api.messageopenid.MessageOpenidDto;
import com.yxt.supervise.report.api.wechat.Template;
import lombok.Data;
import java.util.List;
import java.util.Map;
/**
* @author wangpengfei
* @date 2023/7/27 9:56
*/
@Data
public class MessagePushLogDto implements Dto {
private String id;
private String sid;
private String messageTime;
private String pagepath;
private Map<String, Template> content;
private List<MessageOpenidDto> messageOpenidDtos;
}

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

@ -0,0 +1,8 @@
package com.yxt.supervise.report.api.messagepushlog;
/**
* @author wangpengfei
* @date 2023/7/27 10:07
*/
public class MessagePushLogQuery {
}

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

@ -0,0 +1,17 @@
package com.yxt.supervise.report.api.messagepushlog;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
/**
* @author wangpengfei
* @date 2023/7/27 9:57
*/
@Data
public class MessagePushLogVo implements Vo {
private String id;
private String sid;
private String messageTime;
private String pagepath;
private String content;
}

2
yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/reportinventorydaygather/ReportInventoryDayGatherVo.java

@ -38,5 +38,7 @@ public class ReportInventoryDayGatherVo implements Vo {
private BigDecimal countAmount;
//下载url
private String downloadUrl;
//标题
private String title;
private List<ReportInventoryDayGatherVo> list;
}

16
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messageopenid/MessageOpenidMapper.java

@ -0,0 +1,16 @@
package com.yxt.supervise.report.biz.messageopenid;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.supervise.report.api.messageopenid.MessageOpenid;
import org.apache.ibatis.annotations.Mapper;
/**
* @author wangpengfei
* @date 2023/7/27 9:56
*/
@Mapper
public interface MessageOpenidMapper extends BaseMapper<MessageOpenid> {
}

29
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messageopenid/MessageOpenidMapper.xml

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.supervise.report.biz.messageopenid.MessageOpenidMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="getMessageOpenid" resultType="com.yxt.supervise.report.api.messageopenid.MessageOpenidVo">
SELECT
*
FROM
report_sales_day_log
<where> ${ew.sqlSegment} </where>
</select>
<select id="getLogByOrderDate" resultType="com.yxt.supervise.report.api.messageopenid.MessageOpenidVo">
SELECT
*
FROM
report_sales_day_log
where
orderDate=#{orderDate}
</select>
<select id="getAllMessageOpenid" resultType="com.yxt.supervise.report.api.messageopenid.MessageOpenidVo">
SELECT
*
FROM
report_sales_day_store
<where> ${ew.sqlSegment} </where>
</select>
</mapper>

30
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messageopenid/MessageOpenidRest.java

@ -0,0 +1,30 @@
package com.yxt.supervise.report.biz.messageopenid;
import com.yxt.common.core.result.ResultBean;
import com.yxt.supervise.report.api.messageopenid.MessageOpenidDto;
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 java.util.List;
/**
* @author wangpengfei
* @date 2023/7/27 9:56
*/
@RestController
@RequestMapping("/messageopenid")
public class MessageOpenidRest {
@Autowired
MessageOpenidService MessageOpenidService;
@PostMapping("/save")
public ResultBean save(@RequestBody List<MessageOpenidDto> dto){
return MessageOpenidService.save(dto);
}
}

32
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/messageopenid/MessageOpenidService.java

@ -0,0 +1,32 @@
package com.yxt.supervise.report.biz.messageopenid;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.core.result.ResultBean;
import com.yxt.supervise.report.api.messageopenid.MessageOpenid;
import com.yxt.supervise.report.api.messageopenid.MessageOpenidDto;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.UUID;
/**
* @author wangpengfei
* @date 2023/7/27 9:56
*/
@Service
public class MessageOpenidService extends MybatisBaseService<MessageOpenidMapper, MessageOpenid> {
public ResultBean save(List<MessageOpenidDto> dto) {
ResultBean rb=new ResultBean();
for(MessageOpenidDto dto1:dto){
MessageOpenid entity=new MessageOpenid();
BeanUtil.copyProperties(dto1, entity, "id");
entity.setSid(UUID.randomUUID().toString());
baseMapper.insert(entity);
}
return rb.success().setMsg("保存成功");
}
}

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

@ -0,0 +1,19 @@
package com.yxt.supervise.report.biz.messagepushlog;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.supervise.report.api.messagepushlog.MessagePushLog;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @author wangpengfei
* @date 2023/7/27 9:56
*/
@Mapper
public interface MessagePushLogMapper extends BaseMapper<MessagePushLog> {
}

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

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.supervise.report.biz.messagepushlog.MessagePushLogMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="getMessagePushLog" resultType="com.yxt.supervise.report.api.messagepushlog.MessagePushLogVo">
SELECT
*
FROM
report_sales_day_log
<where> ${ew.sqlSegment} </where>
</select>
<select id="getLogByOrderDate" resultType="com.yxt.supervise.report.api.messagepushlog.MessagePushLogVo">
SELECT
*
FROM
report_sales_day_log
where
orderDate=#{orderDate}
</select>
<select id="getAllMessagePushLog" resultType="com.yxt.supervise.report.api.messagepushlog.MessagePushLogVo">
SELECT
*
FROM
report_sales_day_store
<where> ${ew.sqlSegment} </where>
</select>
</mapper>

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

@ -0,0 +1,34 @@
package com.yxt.supervise.report.biz.messagepushlog;
import com.yxt.common.core.result.ResultBean;
import com.yxt.supervise.report.api.messagepushlog.MessagePushLogDto;
import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreDto;
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 java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author wangpengfei
* @date 2023/7/27 9:56
*/
@RestController
@RequestMapping("/messagepushlog")
public class MessagePushLogRest {
@Autowired
MessagePushLogService messagePushLogService;
@PostMapping("/save")
public ResultBean save(@RequestBody MessagePushLogDto dto){
return messagePushLogService.save(dto);
}
}

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

@ -0,0 +1,41 @@
package com.yxt.supervise.report.biz.messagepushlog;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.core.result.ResultBean;
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.reportsalesdaytobaccostore.ReportSalesDayTobaccoStore;
import com.yxt.supervise.report.api.reportsalesdaytobaccostore.ReportSalesDayTobaccoStoreDto;
import com.yxt.supervise.report.biz.messageopenid.MessageOpenidService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.UUID;
/**
* @author wangpengfei
* @date 2023/7/27 9:56
*/
@Service
public class MessagePushLogService extends MybatisBaseService<MessagePushLogMapper, MessagePushLog> {
@Autowired
MessageOpenidService messageOpenidService;
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());
return rb.success().setMsg("保存成功");
}
}

1
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/reportinventory/ReportInventoryWxRest.java

@ -36,6 +36,7 @@ public class ReportInventoryWxRest {
return rb.success().setData(new ArrayList<>());
}
gather.setDownloadUrl("http://8.130.39.13:7003/upload/kchzb/库存汇总表"+orderDate+".xlsx");
gather.setTitle("36524质物库存汇总");
return rb.success().setData(gather);
}
@GetMapping("/getReportInventoryDayStore/{orderDate}")

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

@ -1,13 +1,17 @@
package com.yxt.supervise.report.biz.wechat;
import cn.hutool.core.thread.ThreadUtil;
import com.alibaba.fastjson.JSONObject;
import com.yxt.common.core.result.ResultBean;
import com.yxt.supervise.report.aes.AesException;
import com.yxt.supervise.report.aes.WXBizMsgCrypt;
import com.yxt.supervise.report.api.csmcashreport.CsmCashReportVo;
import com.yxt.supervise.report.api.messageopenid.MessageOpenidDto;
import com.yxt.supervise.report.api.messagepushlog.MessagePushLogDto;
import com.yxt.supervise.report.api.reportinventorydaygather.ReportInventoryDayGatherVo;
import com.yxt.supervise.report.api.wechat.Template;
import com.yxt.supervise.report.biz.csmcashreport.CsmCashReportMapper;
import com.yxt.supervise.report.biz.messagepushlog.MessagePushLogService;
import com.yxt.supervise.report.biz.reportinventory.ReportInventoryDayGatherMapper;
import com.yxt.supervise.report.biz.util.WeixinCheckoutUtil;
import io.swagger.annotations.Api;
@ -56,6 +60,8 @@ public class WechatRest {
private CsmCashReportMapper csmCashReportMapper;
@Autowired
private ReportInventoryDayGatherMapper reportInventoryDayGatherMapper;
@Autowired
MessagePushLogService messagePushLogService;
@ApiOperation("token")
@GetMapping(value = "token")
public String wechate(String signature,String timestamp,String nonce,String echostr){
@ -131,8 +137,8 @@ public class WechatRest {
//return forEntity.getBody();
}
//仓库库存日报推送
@PostMapping("/inventorySendMessage")
public void inventorySendMessage(String orderDate) throws Exception {
@PostMapping("/inventorySendMessage/{orderDate}")
public void inventorySendMessage(@PathVariable("orderDate") String orderDate) throws Exception {
ReportInventoryDayGatherVo csmCashReportVo=reportInventoryDayGatherMapper.getReportInventoryDayGather(orderDate);
// openId代表一个唯一微信用户,即微信消息的接收人
// String openId="otnrM57kui-WCUmRtChhb1HguOgw";
@ -156,14 +162,21 @@ public class WechatRest {
openIds.add("oGdho68CArVhC_-7ELkG-jX21ruk");
openIds.add("oGdho6yYB47f52HVk2NqirrFbRRk");
openIds.add("oGdho6-12-ioAKeLhVUDYPucbDb4");
openIds.add("oGdho668Hew45t0xfBJC84TNGVzI");
String pa="";
JSONObject jsonObject=new JSONObject();
List<MessageOpenidDto> list=new ArrayList<>();
for(String openId:openIds){
sendMag.put("time1", new Template(csmCashReportVo.getReportTime()));
MessageOpenidDto dto=new MessageOpenidDto();
dto.setOpenId(openId);
list.add(dto);
sendMag.put("time1", new Template(csmCashReportVo.getOrderDate()));
sendMag.put("thing2", new Template("36524质物库存汇总"));
sendMag.put("thing3", new Template("赵丽晓"));
Map<String, String> miniprogram = new HashMap<>();
miniprogram.put("appid","wx11565021714ba796");
miniprogram.put("pagepath","pages/index/inventoryReport?orderDate="+csmCashReportVo.getOrderDate());
pa=miniprogram.get("pagepath");
RestTemplate restTemplate = new RestTemplate();
//拼接base参数
Map<String, Object> sendBody = new HashMap<>();
@ -181,6 +194,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(csmCashReportVo.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 getAccessToken(String appId,String appsecret) throws Exception {

Loading…
Cancel
Save