Browse Source

微信推送

master
wangpengfei 2 years ago
parent
commit
111f8240bd
  1. 17
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/inventoryhcsm/InventoryHcsm.java
  2. 15
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/inventoryhcsm/InventoryHcsmDto.java
  3. 21
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/inventoryhcsm/InventoryHcsmQuery.java
  4. 15
      yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/inventoryhcsm/InventoryHcsmVo.java
  5. 19
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/inventoryhcsm/InventoryHcsmMapper.java
  6. 29
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/inventoryhcsm/InventoryHcsmMapper.xml
  7. 31
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/inventoryhcsm/InventoryHcsmRest.java
  8. 23
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/inventoryhcsm/InventoryHcsmService.java
  9. 82
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/wechat/WechatRest.java

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

@ -1,8 +1,23 @@
package com.yxt.supervise.report.api.inventoryhcsm;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author wangpengfei
* @date 2023/7/27 9:27
*/
public class InventoryHcsm {
@ApiModel(value = "瀚川仓库库存", description = "瀚川仓库库存")
@TableName("inventory_hcsm")
@Data
public class InventoryHcsm extends BaseEntity {
private String productName;//产品名
private BigDecimal weight;//重量
private BigDecimal price;//单价
private String productState;//产品状态
private String hazardousChemicals;//危化品(1:是 0 否)
}

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

@ -1,8 +1,21 @@
package com.yxt.supervise.report.api.inventoryhcsm;
import com.yxt.common.core.dto.Dto;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author wangpengfei
* @date 2023/7/27 9:27
*/
public class InventoryHcsmDto {
@Data
public class InventoryHcsmDto implements Dto {
private String id;
private String sid;
private String productName;//产品名
private BigDecimal weight;//重量
private BigDecimal price;//单价
private String productState;//产品状态
private String hazardousChemicals;//危化品(1:是 0 否)
}

21
yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/inventoryhcsm/InventoryHcsmQuery.java

@ -0,0 +1,21 @@
package com.yxt.supervise.report.api.inventoryhcsm;
import com.yxt.common.core.query.Query;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author wangpengfei
* @date 2023/7/28 10:46
*/
@Data
public class InventoryHcsmQuery implements Query {
private String id;
private String sid;
private String productName;//产品名
private BigDecimal weight;//重量
private BigDecimal price;//单价
private String productState;//产品状态
private String hazardousChemicals;//危化品(1:是 0 否)
}

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

@ -1,8 +1,21 @@
package com.yxt.supervise.report.api.inventoryhcsm;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author wangpengfei
* @date 2023/7/27 9:27
*/
public class InventoryHcsmVo {
@Data
public class InventoryHcsmVo implements Vo {
private String id;
private String sid;
private String productName;//产品名
private BigDecimal weight;//重量
private BigDecimal price;//单价
private String productState;//产品状态
private String hazardousChemicals;//危化品(1:是 0 否)
}

19
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/inventoryhcsm/InventoryHcsmMapper.java

@ -0,0 +1,19 @@
package com.yxt.supervise.report.biz.inventoryhcsm;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.supervise.report.api.inventoryhcsm.InventoryHcsm;
import com.yxt.supervise.report.api.inventoryhcsm.InventoryHcsmVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* @author wangpengfei
* @date 2023/7/28 10:54
*/
@Mapper
public interface InventoryHcsmMapper extends BaseMapper<InventoryHcsm> {
@Select("select * from inventory_hcsm")
public List<InventoryHcsmVo> list();
}

29
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/inventoryhcsm/InventoryHcsmMapper.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.inventoryhcsm.InventoryHcsmMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="getMessageOpenid" resultType="com.yxt.supervise.report.api.inventoryhcsm.InventoryHcsmVo">
SELECT
*
FROM
report_sales_day_log
<where> ${ew.sqlSegment} </where>
</select>
<select id="getLogByOrderDate" resultType="com.yxt.supervise.report.api.inventoryhcsm.InventoryHcsmVo">
SELECT
*
FROM
report_sales_day_log
where
orderDate=#{orderDate}
</select>
<select id="getAllMessageOpenid" resultType="com.yxt.supervise.report.api.inventoryhcsm.InventoryHcsmVo">
SELECT
*
FROM
report_sales_day_store
<where> ${ew.sqlSegment} </where>
</select>
</mapper>

31
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/inventoryhcsm/InventoryHcsmRest.java

@ -0,0 +1,31 @@
package com.yxt.supervise.report.biz.inventoryhcsm;
import com.yxt.common.core.result.ResultBean;
import com.yxt.supervise.report.api.inventoryhcsm.InventoryHcsmQuery;
import com.yxt.supervise.report.api.inventoryhcsm.InventoryHcsmVo;
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/28 10:54
*/
@RestController
@RequestMapping("/inventoryhcsm")
public class InventoryHcsmRest {
@Autowired
InventoryHcsmService inventoryHcsmService;
@PostMapping("/list")
public ResultBean list(){
return inventoryHcsmService.hclist();
}
}

23
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/inventoryhcsm/InventoryHcsmService.java

@ -0,0 +1,23 @@
package com.yxt.supervise.report.biz.inventoryhcsm;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.core.result.ResultBean;
import com.yxt.supervise.report.api.inventoryhcsm.InventoryHcsm;
import com.yxt.supervise.report.api.inventoryhcsm.InventoryHcsmVo;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author wangpengfei
* @date 2023/7/28 10:54
*/
@Service
public class InventoryHcsmService extends MybatisBaseService<InventoryHcsmMapper, InventoryHcsm> {
public ResultBean hclist(){
ResultBean rb=new ResultBean();
List<InventoryHcsmVo>list=baseMapper.list();
return rb.success().setData(list);
}
}

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

@ -136,22 +136,18 @@ public class WechatRest {
System.out.println("messageCode : " + messageCode + ", msgId: " +msgId);
//return forEntity.getBody();
}
//仓库库存日报推送
/**
* 36524质物库存汇总
* @param 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";
//郭
// String openId="otnrM544hxIgkMOfaDU8VpJhj_6k";
//刘
//String openId ="otnrM5ySvUo7ZZc4qafWzM9eyKBk";
//聂总
// otnrM521f8KcCsRfL2Jj4Tk8np1g
// 模板参数
Map<String, Template> sendMag = new HashMap<String, Template>();
// 公众号的模板id(也有相应的接口可以查询到)
// String templateId = "Zu4eXonKeUGuNuN9D3NKIEHU7PfqPA3uBfrc-lV0kIs";
String templateId = "BT6BHEojCmgWNTcpz1raHNIpJEEISP1E134btP51p_8";
//微信的基础accessToken
String accessToken=getAccessToken(APP_ID_BIZ,APPSECRETBIZ);
@ -174,6 +170,72 @@ public class WechatRest {
sendMag.put("thing2", new Template("36524质物库存汇总"));
sendMag.put("thing3", new Template("赵丽晓"));
Map<String, String> miniprogram = new HashMap<>();
//云眼
//miniprogram.put("appid","wx11565021714ba796");
//云仓
miniprogram.put("appid","wx65c2b78fd1452eeb");
miniprogram.put("pagepath","pages/index/inventoryReport?orderDate="+csmCashReportVo.getOrderDate());
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
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(csmCashReportVo.getReportTime());
logDto.setPagepath(pa);
logDto.setMessageOpenidDtos(list);
ThreadUtil.execute(() -> {
try {
messagePushLogService.save(logDto);
} catch (Exception e) {
throw new RuntimeException(e);
}
});
//return forEntity.getBody();
}
@PostMapping("/HcsmSendMessage/{orderDate}")
public void HcsmSendMessage(@PathVariable("orderDate") String orderDate) throws Exception {
ReportInventoryDayGatherVo csmCashReportVo=reportInventoryDayGatherMapper.getReportInventoryDayGather(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);
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");
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);
sendMag.put("time1", new Template(csmCashReportVo.getOrderDate()));
sendMag.put("thing2", new Template("瀚川商贸库存汇总"));
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");

Loading…
Cancel
Save