添加推送信息
This commit is contained in:
parent
1058aca925
commit
7c52002edb
|
@ -173,4 +173,17 @@ public class KcBdgxbcopyController extends JeecgController<KcBdgxbcopy, IKcBdgxb
|
|||
return super.importExcel(request, response, KcBdgxbcopy.class);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value="根据姓名获取openid", notes="根据姓名获取openid")
|
||||
@GetMapping(value = "/getOpenIdByName")
|
||||
public Result<KcBdgxbcopy> getOpenIdByName(@RequestParam(name="name",required=true) String name) {
|
||||
KcBdgxbcopy kcBdgxbcopy = kcBdgxbcopyService.getOpenIdByName(name);
|
||||
// KcBdgxbcopy kcBdgxbcopy = new KcBdgxbcopy();
|
||||
// kcBdgxbcopy.setOpenid("oak6lwKGlGQQwt83nuynZnP4HUR4");
|
||||
if(kcBdgxbcopy==null) {
|
||||
return Result.error("未找到对应数据");
|
||||
}
|
||||
return Result.OK(kcBdgxbcopy);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -21,4 +21,6 @@ public interface KcBdgxbcopyMapper extends BaseMapper<KcBdgxbcopy> {
|
|||
void saveStudentMrtx(KcBdgxbcopy kcBdgxbcopy);
|
||||
|
||||
void saveTeacherMrtx(KcBdgxbcopy kcBdgxbcopy);
|
||||
|
||||
KcBdgxbcopy getOpenIdByName(@Param("name") String name);
|
||||
}
|
||||
|
|
|
@ -185,5 +185,9 @@
|
|||
kt.skjs,
|
||||
WEEK
|
||||
</insert>
|
||||
<select id="getOpenIdByName" resultType="org.jeecg.modules.kc.KcBdgxbcopy.entity.KcBdgxbcopy">
|
||||
SELECT a.* from choice.bdgxbcopy a
|
||||
left join xxhbuser b on a.userid = b.gh where b.xm = #{name} and a.openid is not null limit 1
|
||||
</select>
|
||||
|
||||
</mapper>
|
|
@ -18,4 +18,6 @@ public interface IKcBdgxbcopyService extends IService<KcBdgxbcopy> {
|
|||
void saveStudentMrtx(KcBdgxbcopy kcBdgxbcopy);
|
||||
|
||||
void saveTeacherMrtx(KcBdgxbcopy kcBdgxbcopy);
|
||||
|
||||
KcBdgxbcopy getOpenIdByName(String name);
|
||||
}
|
||||
|
|
|
@ -35,4 +35,9 @@ public class KcBdgxbcopyServiceImpl extends ServiceImpl<KcBdgxbcopyMapper, KcBdg
|
|||
public void saveTeacherMrtx(KcBdgxbcopy kcBdgxbcopy) {
|
||||
baseMapper.saveTeacherMrtx(kcBdgxbcopy);
|
||||
}
|
||||
|
||||
@Override
|
||||
public KcBdgxbcopy getOpenIdByName(String name) {
|
||||
return baseMapper.getOpenIdByName(name);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,243 @@
|
|||
package org.jeecg.modules.kc.kcWechatSendLog.controller;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
import java.io.IOException;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.URLDecoder;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.xkcoding.http.HttpUtil;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.common.system.query.QueryGenerator;
|
||||
import org.jeecg.common.util.DateUtils;
|
||||
import org.jeecg.common.util.oConvertUtils;
|
||||
import org.jeecg.modules.kc.KcBdgxbcopy.entity.KcBdgxbcopy;
|
||||
import org.jeecg.modules.kc.kcWechatSendLog.entity.KcWechatSendLog;
|
||||
import org.jeecg.modules.kc.kcWechatSendLog.service.IKcWechatSendLogService;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import org.jeecg.modules.kc.ktgl.entity.KcKetangbiao;
|
||||
import org.jeecg.modules.system.entity.SysUser;
|
||||
import org.jeecg.modules.wxgzh.WeChatTemplateMsg;
|
||||
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
||||
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
||||
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||
import org.jeecgframework.poi.excel.entity.ImportParams;
|
||||
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
||||
import org.jeecg.common.system.base.controller.JeecgController;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.jeecg.common.aspect.annotation.AutoLog;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
|
||||
/**
|
||||
* @Description: 手动微信推送
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2023-12-06
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Api(tags="手动微信推送")
|
||||
@RestController
|
||||
@RequestMapping("/kcWechatSendLog/kcWechatSendLog")
|
||||
@Slf4j
|
||||
public class KcWechatSendLogController extends JeecgController<KcWechatSendLog, IKcWechatSendLogService> {
|
||||
@Autowired
|
||||
private IKcWechatSendLogService kcWechatSendLogService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
* @param kcWechatSendLog
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
//@AutoLog(value = "手动微信推送-分页列表查询")
|
||||
@ApiOperation(value="手动微信推送-分页列表查询", notes="手动微信推送-分页列表查询")
|
||||
@GetMapping(value = "/list")
|
||||
public Result<IPage<KcWechatSendLog>> queryPageList(KcWechatSendLog kcWechatSendLog,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<KcWechatSendLog> queryWrapper = QueryGenerator.initQueryWrapper(kcWechatSendLog, req.getParameterMap());
|
||||
Page<KcWechatSendLog> page = new Page<KcWechatSendLog>(pageNo, pageSize);
|
||||
IPage<KcWechatSendLog> pageList = kcWechatSendLogService.page(page, queryWrapper);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加
|
||||
*
|
||||
* @param kcWechatSendLog
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "手动微信推送-添加")
|
||||
@ApiOperation(value="手动微信推送-添加", notes="手动微信推送-添加")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<String> add(@RequestBody KcWechatSendLog kcWechatSendLog) {
|
||||
kcWechatSendLogService.save(kcWechatSendLog);
|
||||
sendWxmessage(kcWechatSendLog);
|
||||
return Result.OK("添加成功!");
|
||||
}
|
||||
|
||||
|
||||
// appId
|
||||
private static final String appId = "wx59920eb69d611d7f";//东师
|
||||
|
||||
// appIdSecret
|
||||
private static final String appIdSecret = "bf0c19af0e956f447ede4dd902ea63b7";//东师
|
||||
|
||||
//微信通知点击后跳转的页面
|
||||
private static final String domainTo = "https://zxkccx.webvpn.nenu.edu.cn";
|
||||
public void sendWxmessage(KcWechatSendLog kcWechatSendLog) {
|
||||
String openId = kcWechatSendLog.getOpenid();//曹老师账号
|
||||
System.out.println("openId:"+openId+"");
|
||||
if(StringUtils.isNotEmpty(openId)){
|
||||
try {
|
||||
String urlToken = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+ appId +"&secret=" + appIdSecret;
|
||||
System.out.println("urlToken: "+ urlToken);
|
||||
String res = HttpUtil.get(urlToken);
|
||||
JSONObject jsonObjectToken = JSONObject.parseObject(res);
|
||||
System.out.println("jsonObjectToken:{}"+ jsonObjectToken);
|
||||
String accessToken = jsonObjectToken.getString("access_token");
|
||||
System.out.println("accessToken:{}"+ accessToken);
|
||||
|
||||
// 模板参数
|
||||
Map<String, WeChatTemplateMsg> sendMag = new HashMap<String, WeChatTemplateMsg>();
|
||||
|
||||
// 微信的基础accessToken
|
||||
String url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken;
|
||||
// 1、xx老师,你好,您本学期(2023秋)听课要求为:5次,当前实际听课次数:3次,请尽快完成本学期的听课任务。
|
||||
// 如需听评课,请点击:课程信息中心(链接)
|
||||
sendMag.put("thing2", new WeChatTemplateMsg(kcWechatSendLog.getTeacherName()));//授课老师
|
||||
sendMag.put("time3", new WeChatTemplateMsg(DateUtils.formatDate(new Date(),"yyyy-MM-dd")));//上课时间
|
||||
sendMag.put("const1", new WeChatTemplateMsg("应听"+kcWechatSendLog.getYtkcs()+"次,实际听课:"+kcWechatSendLog.getSjtkcs()+"次"));//课程名称
|
||||
System.out.println("getSkjs : " + kcWechatSendLog.getTeacherName() + ", getSkrq: " );
|
||||
RestTemplate restTemplate = new RestTemplate();
|
||||
//拼接base参数
|
||||
Map<String, Object> sendBody = new HashMap<>();
|
||||
sendBody.put("touser", openId); // openId
|
||||
sendBody.put("url", domainTo); // 点击模板信息跳转地址
|
||||
sendBody.put("topcolor", "#FF0000"); // 顶色
|
||||
sendBody.put("data", sendMag); // 模板参数
|
||||
sendBody.put("template_id", "zybkRmDuTePoC67FViLZGo3O2f5Q-t23M0ILnCH_0K8"); // 模板Id
|
||||
ResponseEntity<String> forEntity = restTemplate.postForEntity(url, sendBody, String.class);
|
||||
JSONObject jsonObject2 = JSONObject.parseObject(forEntity.getBody());
|
||||
System.out.println("jsonObject2 : " + jsonObject2);
|
||||
String messageCode = jsonObject2.getString("errcode");
|
||||
String msgId = jsonObject2.getString("msgid");
|
||||
System.out.println("messageCode : " + messageCode + ", msgId: " +msgId);
|
||||
kcWechatSendLog.setRemark(jsonObject2.toString());
|
||||
kcWechatSendLogService.updateById(kcWechatSendLog);
|
||||
}catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
kcWechatSendLog.setRemark(e.getMessage());
|
||||
kcWechatSendLogService.updateById(kcWechatSendLog);
|
||||
}
|
||||
}else{
|
||||
kcWechatSendLog.setRemark("未获取到openid");
|
||||
kcWechatSendLogService.updateById(kcWechatSendLog);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
* @param kcWechatSendLog
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "手动微信推送-编辑")
|
||||
@ApiOperation(value="手动微信推送-编辑", notes="手动微信推送-编辑")
|
||||
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
|
||||
public Result<String> edit(@RequestBody KcWechatSendLog kcWechatSendLog) {
|
||||
kcWechatSendLogService.updateById(kcWechatSendLog);
|
||||
return Result.OK("编辑成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "手动微信推送-通过id删除")
|
||||
@ApiOperation(value="手动微信推送-通过id删除", notes="手动微信推送-通过id删除")
|
||||
@DeleteMapping(value = "/delete")
|
||||
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
|
||||
kcWechatSendLogService.removeById(id);
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "手动微信推送-批量删除")
|
||||
@ApiOperation(value="手动微信推送-批量删除", notes="手动微信推送-批量删除")
|
||||
@DeleteMapping(value = "/deleteBatch")
|
||||
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
|
||||
this.kcWechatSendLogService.removeByIds(Arrays.asList(ids.split(",")));
|
||||
return Result.OK("批量删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
//@AutoLog(value = "手动微信推送-通过id查询")
|
||||
@ApiOperation(value="手动微信推送-通过id查询", notes="手动微信推送-通过id查询")
|
||||
@GetMapping(value = "/queryById")
|
||||
public Result<KcWechatSendLog> queryById(@RequestParam(name="id",required=true) String id) {
|
||||
KcWechatSendLog kcWechatSendLog = kcWechatSendLogService.getById(id);
|
||||
if(kcWechatSendLog==null) {
|
||||
return Result.error("未找到对应数据");
|
||||
}
|
||||
return Result.OK(kcWechatSendLog);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*
|
||||
* @param request
|
||||
* @param kcWechatSendLog
|
||||
*/
|
||||
@RequestMapping(value = "/exportXls")
|
||||
public ModelAndView exportXls(HttpServletRequest request, KcWechatSendLog kcWechatSendLog) {
|
||||
return super.exportXls(request, kcWechatSendLog, KcWechatSendLog.class, "手动微信推送");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过excel导入数据
|
||||
*
|
||||
* @param request
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
@RequiresPermissions("kcWechatSendLog:kc_wechat_send_log:importExcel")
|
||||
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
|
||||
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
|
||||
return super.importExcel(request, response, KcWechatSendLog.class);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,84 @@
|
|||
package org.jeecg.modules.kc.kcWechatSendLog.entity;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.util.Date;
|
||||
import java.math.BigDecimal;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import lombok.Data;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.jeecg.common.aspect.annotation.Dict;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* @Description: 手动微信推送
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2023-12-06
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("kc_wechat_send_log")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value="kc_wechat_send_log对象", description="手动微信推送")
|
||||
public class KcWechatSendLog implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**主键*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "主键")
|
||||
private java.lang.String id;
|
||||
/**创建人*/
|
||||
@ApiModelProperty(value = "创建人")
|
||||
private java.lang.String createBy;
|
||||
/**创建日期*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "创建日期")
|
||||
private java.util.Date createTime;
|
||||
/**更新人*/
|
||||
@ApiModelProperty(value = "更新人")
|
||||
private java.lang.String updateBy;
|
||||
/**更新日期*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "更新日期")
|
||||
private java.util.Date updateTime;
|
||||
/**所属部门*/
|
||||
@ApiModelProperty(value = "所属部门")
|
||||
private java.lang.String sysOrgCode;
|
||||
/**openid*/
|
||||
@Excel(name = "openid", width = 15)
|
||||
@ApiModelProperty(value = "openid")
|
||||
private java.lang.String openid;
|
||||
/**教师姓名*/
|
||||
@Excel(name = "教师姓名", width = 15)
|
||||
@ApiModelProperty(value = "教师姓名")
|
||||
private java.lang.String teacherName;
|
||||
/**学期学年*/
|
||||
@Excel(name = "学期学年", width = 15)
|
||||
@ApiModelProperty(value = "学期学年")
|
||||
private java.lang.String xqxn;
|
||||
/**应听课次数*/
|
||||
@Excel(name = "应听课次数", width = 15)
|
||||
@ApiModelProperty(value = "应听课次数")
|
||||
private java.lang.String ytkcs;
|
||||
/**实际听课次数*/
|
||||
@Excel(name = "实际听课次数", width = 15)
|
||||
@ApiModelProperty(value = "实际听课次数")
|
||||
private java.lang.String sjtkcs;
|
||||
/**推送id*/
|
||||
@Excel(name = "推送id", width = 15)
|
||||
@ApiModelProperty(value = "推送id")
|
||||
private java.lang.String msgid;
|
||||
|
||||
private String remark;
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
package org.jeecg.modules.kc.kcWechatSendLog.mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.jeecg.modules.kc.kcWechatSendLog.entity.KcWechatSendLog;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @Description: 手动微信推送
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2023-12-06
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface KcWechatSendLogMapper extends BaseMapper<KcWechatSendLog> {
|
||||
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
<?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="org.jeecg.modules.kc.kcWechatSendLog.mapper.KcWechatSendLogMapper">
|
||||
|
||||
</mapper>
|
|
@ -0,0 +1,14 @@
|
|||
package org.jeecg.modules.kc.kcWechatSendLog.service;
|
||||
|
||||
import org.jeecg.modules.kc.kcWechatSendLog.entity.KcWechatSendLog;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @Description: 手动微信推送
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2023-12-06
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface IKcWechatSendLogService extends IService<KcWechatSendLog> {
|
||||
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
package org.jeecg.modules.kc.kcWechatSendLog.service.impl;
|
||||
|
||||
import org.jeecg.modules.kc.kcWechatSendLog.entity.KcWechatSendLog;
|
||||
import org.jeecg.modules.kc.kcWechatSendLog.mapper.KcWechatSendLogMapper;
|
||||
import org.jeecg.modules.kc.kcWechatSendLog.service.IKcWechatSendLogService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
/**
|
||||
* @Description: 手动微信推送
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2023-12-06
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Service
|
||||
public class KcWechatSendLogServiceImpl extends ServiceImpl<KcWechatSendLogMapper, KcWechatSendLog> implements IKcWechatSendLogService {
|
||||
|
||||
}
|
|
@ -501,7 +501,8 @@
|
|||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="getOpenId" resultType="org.jeecg.modules.kc.qa.entity.KcEvaluation">
|
||||
SELECT * from choice.bdgxbcopy where
|
||||
<select id="getOpenId" resultType="org.jeecg.modules.kc.KcBdgxbcopy.entity.KcBdgxbcopy">
|
||||
SELECT a.* from choice.bdgxbcopy a
|
||||
left join xxhbuser b on a.userid = b.gh where b.xm = #{username} and a.openid is not null limit 1
|
||||
</select>
|
||||
</mapper>
|
|
@ -115,9 +115,9 @@ public class KcEvaluationServiceImpl extends ServiceImpl<KcEvaluationMapper, KcE
|
|||
changeTingKeTongJi.updateTingKeTongJiAndPingKeByUserId(String.valueOf(kcEvaluation.getUpuserid()),kcEvaluation.getMinkcid());
|
||||
|
||||
|
||||
// String ketangbiaoid = kcEvaluation.getKetangbiaoid();//课堂表id
|
||||
// KcKetangbiao kcKetangbiao = kcKetangbiaoService.getById(ketangbiaoid);
|
||||
// sendWxmessage(kcKetangbiao);
|
||||
String ketangbiaoid = kcEvaluation.getMinkcid();//课堂表id
|
||||
KcKetangbiao kcKetangbiao = kcKetangbiaoService.getById(ketangbiaoid);
|
||||
sendWxmessage(kcKetangbiao);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -174,17 +174,20 @@ public class KcEvaluationServiceImpl extends ServiceImpl<KcEvaluationMapper, KcE
|
|||
public void sendWxmessage(KcKetangbiao kcKetangbiao) {
|
||||
|
||||
String skjs = kcKetangbiao.getSkjs();
|
||||
QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("realname",skjs);
|
||||
List<SysUser> sysUserList = sysUserService.list(queryWrapper);
|
||||
// QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>();
|
||||
// queryWrapper.eq("realname",skjs);
|
||||
// List<SysUser> sysUserList = sysUserService.list(queryWrapper);
|
||||
String openId = "";
|
||||
for(SysUser SysUserPar : sysUserList){
|
||||
KcBdgxbcopy kcBdgxbcopy=baseMapper.getOpenId(SysUserPar.getUsername());
|
||||
try{
|
||||
System.out.println("skjs:"+skjs+"");
|
||||
KcBdgxbcopy kcBdgxbcopy=baseMapper.getOpenId(skjs);
|
||||
if(kcBdgxbcopy !=null){
|
||||
System.out.println("kcBdgxbcopy.getOpenid():"+kcBdgxbcopy.getOpenid()+"");
|
||||
openId = kcBdgxbcopy.getOpenid();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}catch (Exception e){e.printStackTrace();}
|
||||
System.out.println("openId:"+openId+"");
|
||||
// openId = "oak6lwKGlGQQwt83nuynZnP4HUR4";//曹老师账号
|
||||
if(StringUtils.isNotEmpty(openId)){
|
||||
String urlToken = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+ appId +"&secret=" + appIdSecret;
|
||||
System.out.println("urlToken: "+ urlToken);
|
||||
|
@ -197,29 +200,15 @@ public class KcEvaluationServiceImpl extends ServiceImpl<KcEvaluationMapper, KcE
|
|||
// 模板参数
|
||||
Map<String, WeChatTemplateMsg> sendMag = new HashMap<String, WeChatTemplateMsg>();
|
||||
|
||||
// openId = "oak6lwKGlGQQwt83nuynZnP4HUR4";//曹老师账号
|
||||
// 微信的基础accessToken
|
||||
String url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken;
|
||||
|
||||
/**
|
||||
* 其他模板可以从模板库中自己添加
|
||||
* 模板ID
|
||||
* KtWw0lwQ8FOgJdKgrmya0eoafGkMfMN8ECdZs8oSJys
|
||||
* 开发者调用模板消息接口时需提供模板ID
|
||||
* 标题 上课提醒
|
||||
* 行业 教育 - 院校
|
||||
* 详细内容
|
||||
* {{first.DATA}}
|
||||
* 课程:{{keyword1.DATA}}
|
||||
* 时间:{{keyword2.DATA}}
|
||||
* 地点:{{keyword3.DATA}}
|
||||
* {{remark.DATA}}
|
||||
*/
|
||||
sendMag.put("first", new WeChatTemplateMsg("有课程即将开始"));
|
||||
sendMag.put("keyword1", new WeChatTemplateMsg("线性代数"));
|
||||
sendMag.put("keyword2", new WeChatTemplateMsg("[1,2节] 08:30-10:00"));
|
||||
sendMag.put("keyword3", new WeChatTemplateMsg("上课地点N304"));
|
||||
sendMag.put("remark", new WeChatTemplateMsg("请开发者为用户提供定制提醒的选项,以免打扰。"));
|
||||
// xx老师,你好,您于2023.12.01在逸夫楼101室任教的“马克思列宁主义”课程,收到一条听课评价,评价分数为5分(满分5分)。
|
||||
// 如需查看,请点击:课程信息中心(链接)
|
||||
System.out.println("getSkjs : " + kcKetangbiao.getSkjs() + ", getSkrq: " +kcKetangbiao.getSkrq()+ ", getKcmc: " +kcKetangbiao.getKcmc());
|
||||
sendMag.put("thing10", new WeChatTemplateMsg(kcKetangbiao.getSkjs()));//授课老师
|
||||
sendMag.put("time4", new WeChatTemplateMsg(kcKetangbiao.getSkrq()));//上课时间
|
||||
sendMag.put("thing3", new WeChatTemplateMsg(kcKetangbiao.getKcmc()));//课程名称
|
||||
sendMag.put("thing7", new WeChatTemplateMsg("评价分数为5分(满分5分)"));//课后作业
|
||||
RestTemplate restTemplate = new RestTemplate();
|
||||
//拼接base参数
|
||||
Map<String, Object> sendBody = new HashMap<>();
|
||||
|
@ -227,9 +216,10 @@ public class KcEvaluationServiceImpl extends ServiceImpl<KcEvaluationMapper, KcE
|
|||
sendBody.put("url", domainTo); // 点击模板信息跳转地址
|
||||
sendBody.put("topcolor", "#FF0000"); // 顶色
|
||||
sendBody.put("data", sendMag); // 模板参数
|
||||
sendBody.put("template_id", templateId); // 模板Id
|
||||
sendBody.put("template_id", "-XCApC7nfBDmwEqP8b1WC1BfF3mXjtSTRPwUTJRtz2I"); // 模板Id
|
||||
ResponseEntity<String> forEntity = restTemplate.postForEntity(url, sendBody, String.class);
|
||||
JSONObject jsonObject2 = JSONObject.parseObject(forEntity.getBody());
|
||||
System.out.println("jsonObject2 : " + jsonObject2);
|
||||
String messageCode = jsonObject2.getString("errcode");
|
||||
String msgId = jsonObject2.getString("msgid");
|
||||
System.out.println("messageCode : " + messageCode + ", msgId: " +msgId);
|
||||
|
|
Loading…
Reference in New Issue