修改bug

This commit is contained in:
yangjun 2025-03-06 10:04:30 +08:00
parent 04fa67adf1
commit 10acdc1220
9 changed files with 1886 additions and 16 deletions

View File

@ -50,7 +50,7 @@ public class SyncTJwTkxx extends BaseSync {
//清洗数据
inDataList.forEach(x -> {
Xxhbtkxx outData = BeanUtil.toBean(x, Xxhbtkxx.class);
outData.setTimestamps(DateUtil.format(x.getTimestamps(), DatePattern.NORM_DATETIME_PATTERN));
// outData.setTimestamps(DateUtil.format(x.getTimestamps(), DatePattern.NORM_DATETIME_PATTERN));
outDataList.add(outData);
});

View File

@ -0,0 +1,58 @@
package org.jeecg.modules.kc.grab.SynchronizationService;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.modules.kc.grab.SynchronizationService.base.BaseSync;
import org.jeecg.modules.kc.wjxWjxx.service.IWjxWjxxService;
import org.jeecg.modules.kc.zyCcjg.service.IZyCcjgService;
import org.jeecg.modules.kc.zyInfo.service.IZyInfoService;
import org.quartz.JobExecutionContext;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.Map;
/**
* 作业修改没有提交给维普的作业信息
*/
@Slf4j
public class SyncZyCxtj extends BaseSync {
@Autowired
private IZyCcjgService zyCcjgService;
@Autowired
private IZyInfoService zyInfoService;
@Autowired
private IWjxWjxxService wjxWjxxService;
/**
* 若参数变量名修改 QuartzJobController中也需对应修改
*/
@Override
public void execute(JobExecutionContext jobExecutionContext) {
start();
run(getParamMap());
end();
}
/**
* 有参定时任务实现
* @param param
*/
public void run(Map<String, Object> param){
try {
zyCcjgService.getCxtj();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 无参定时任务实现
*/
public void run(){
run(null);
}
}

View File

@ -2,4 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.kc.grab.exports.mapper.TJwTkxxMapper">
<select id="selectList" resultType="org.jeecg.modules.kc.grab.exports.entity.TJwTkxx">
select xm,jgh as cjr ,'' as sjh,tksy,'' as xyjwmsshyj,'' as yjxq,'' as sqrdw ,'' as bizbh,'' as jwcsh,''szxyldshyj,''as shxq,'' as lcjgbh,bkjh,sqsj as timestamps,kcmc,'' as phb,jc,skrq,'' kcxxbh,'' as xq,jsh as jsbh,kch as bh,skjs,'' as lcbh,tklx from t_jw_tkxx order by sqsj desc;
</select>
</mapper>

View File

@ -35,7 +35,6 @@ public class Xxhbtkxx implements Serializable {
@ApiModelProperty(value = "id")
private java.lang.String id;
@Excel(name = "学年学期", width = 15)
@TableField(exist = false)
private String xqxn;
/**姓名*/
@ -43,11 +42,10 @@ public class Xxhbtkxx implements Serializable {
@ApiModelProperty(value = "姓名")
private java.lang.String xm;
/**cjr*/
@Excel(name = "创建人", width = 15)
@Excel(name = "工号", width = 15)
@ApiModelProperty(value = "cjr")
private java.lang.String cjr;
/**sjh*/
@Excel(name = "手机号", width = 15)
@ApiModelProperty(value = "sjh")
private java.lang.String sjh;
/**tksy*/
@ -61,7 +59,6 @@ public class Xxhbtkxx implements Serializable {
@ApiModelProperty(value = "yjxq")
private java.lang.String yjxq;
/**sqrdw*/
@Excel(name = "申请人单位", width = 15)
@ApiModelProperty(value = "sqrdw")
private java.lang.String sqrdw;
/**bizbh*/
@ -84,8 +81,6 @@ public class Xxhbtkxx implements Serializable {
@ApiModelProperty(value = "bkjh")
private java.lang.String bkjh;
/**时间戳*/
@Excel(name = "时间戳", width = 15)
@ApiModelProperty(value = "时间戳")
private java.lang.String timestamps;
/**课程名称*/
@Excel(name = "课程名称", width = 15)
@ -94,24 +89,21 @@ public class Xxhbtkxx implements Serializable {
/**pbh*/
@ApiModelProperty(value = "pbh")
private java.lang.String pbh;
/**教材*/
@Excel(name = "教材", width = 15)
@ApiModelProperty(value = "教材")
/**节次*/
@Excel(name = "节次", width = 15)
@ApiModelProperty(value = "节次")
private java.lang.String jc;
/**上课日期*/
@Excel(name = "上课日期", width = 15)
@ApiModelProperty(value = "上课日期")
private java.lang.String skrq;
/**kcxxbh*/
@Excel(name = "课程信息编号", width = 15)
@ApiModelProperty(value = "kcxxbh")
private java.lang.String kcxxbh;
/**学期*/
@Excel(name = "校区", width = 15)
@ApiModelProperty(value = "校区")
private java.lang.String xq;
/**jsgh*/
@Excel(name = "教师工号", width = 15)
@ApiModelProperty(value = "jsgh")
private java.lang.String jsgh;
/**编号*/

View File

@ -16,6 +16,8 @@ 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.grab.imports.entity.Xxhbuser;
import org.jeecg.modules.kc.grab.imports.service.IXxhbuserService;
import org.jeecg.modules.kc.kcWechatSendLog.entity.KcWechatSendLog;
import org.jeecg.modules.kc.kcWechatSendLog.service.IKcWechatSendLogService;
@ -59,6 +61,8 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
public class KcWechatSendLogController extends JeecgController<KcWechatSendLog, IKcWechatSendLogService> {
@Autowired
private IKcWechatSendLogService kcWechatSendLogService;
@Autowired
private IXxhbuserService xxhbuserService;
/**
* 分页列表查询
@ -92,8 +96,21 @@ public class KcWechatSendLogController extends JeecgController<KcWechatSendLog,
@ApiOperation(value="手动微信推送-添加", notes="手动微信推送-添加")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody KcWechatSendLog kcWechatSendLog) {
kcWechatSendLogService.save(kcWechatSendLog);
sendWxmessage(kcWechatSendLog);
String[] openIds = kcWechatSendLog.getOpenid().split(",");
for(String openId:openIds){
QueryWrapper<Xxhbuser> xxhbuserQueryWrapper = new QueryWrapper<>();
xxhbuserQueryWrapper.eq("gh",openId);
xxhbuserQueryWrapper.last("limit 1");
Xxhbuser xxhbuser = xxhbuserService.getOne(xxhbuserQueryWrapper);
KcWechatSendLog kcWechatSendLogNew = new KcWechatSendLog();
kcWechatSendLogNew.setOpenid(openId);
kcWechatSendLogNew.setTeacherName(xxhbuser.getXm());
kcWechatSendLogNew.setYtkcs(kcWechatSendLog.getYtkcs());
kcWechatSendLogService.save(kcWechatSendLogNew);
sendWxmessage(kcWechatSendLogNew);
}
return Result.OK("添加成功!");
}

View File

@ -0,0 +1,73 @@
package org.jeecg.modules.kc.zyInfoStudent.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.kc.zyInfo.entity.ZyXzryInfo;
import org.jeecg.modules.kc.zyInfoStudent.entity.ZyInfoStudent;
import org.jeecg.modules.kc.zyInfoStudent.entity.ZyInfoStudentSys;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* @Description: 学生提交作业
* @Author: jeecg-boot
* @Date: 2024-05-06
* @Version: V1.0
*/
public interface IZyInfoStudent2Service extends IService<ZyInfoStudent> {
public boolean save(ZyInfoStudent zyInfoStudent);
void deleteMainId(String id);
public boolean updateById(ZyInfoStudent zyInfoStudent, HttpServletResponse response);
void editFabu(ZyInfoStudent zyInfoStudent);
IPage<ZyInfoStudent> cdxxlist(Page<ZyInfoStudent> page, QueryWrapper<ZyInfoStudent> queryWrapper);
List<ZyInfoStudent> getCcjg(ZyInfoStudent zyInfoStudent);
void fabuBatch(List<String> asList);
IPage<ZyInfoStudentSys> sysList(Page<ZyInfoStudentSys> page, QueryWrapper<ZyInfoStudentSys> queryWrapper, ZyInfoStudentSys zyInfoStudentSys);
List<ZyInfoStudentSys> exportSysXls(QueryWrapper<ZyInfoStudentSys> queryWrapper, ZyInfoStudentSys zyInfoStudentSys);
boolean stuWpKsjc(ZyInfoStudent zyInfoStudent, HttpServletResponse response);
IPage<ZyInfoStudent> getHpxxList(Page<ZyInfoStudent> page, QueryWrapper<ZyInfoStudent> queryWrapper, String zyStuId);
void batchKhcl(List<String> list);
IPage<ZyInfoStudent> getList2(Page<ZyInfoStudent> page, QueryWrapper<ZyInfoStudent> queryWrapper);
List<ZyInfoStudent> getDocNoPdfList();
List<ZyInfoStudent> xnccBatchWeipu(ZyInfoStudent zyInfoStudent, HttpServletResponse response);
List<ZyInfoStudent> cxccByZyId(ZyInfoStudent zyInfoStudent2);
ZyInfoStudent scccjg(ZyInfoStudent zyInfoStudent, HttpServletRequest req, HttpServletResponse response);
void batchZyinfoKhcl(String ids);
List<ZyInfoStudent> cxtjByJccsbz();
void sysWpKsjc(ZyInfoStudent zyInfoStudent, HttpServletResponse response);
List<JSONObject> getWpSycccs();
void getWpcccs();
List<ZyInfoStudent> getZyStuId(ZyXzryInfo zyXzryInfo);
List<ZyInfoStudent> getZyStuIdById(ZyXzryInfo zyXzryInfo);
void sckhclxb();
}

View File

@ -139,7 +139,7 @@ spring:
driver-class-name: com.mysql.cj.jdbc.Driver
# 多数据源配置
multi-oracle:
url: jdbc:mysql://127.0.0.1:3306/dbsd_zjpt?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&sessionVariables=sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
url: jdbc:mysql://127.0.0.1:3306/course_information_center_jeecg_db?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&sessionVariables=sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver

View File

@ -0,0 +1,375 @@
server:
port: 8080
tomcat:
max-swallow-size: -1
error:
include-exception: false
include-stacktrace: NEVER
include-message: NEVER
servlet:
context-path: /jeecg-boot
compression:
enabled: true
min-response-size: 1024
mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/*
management:
endpoints:
web:
exposure:
include: metrics,httptrace
spring:
servlet:
multipart:
max-file-size: 10MB
max-request-size: 10MB
mail:
host: smtp.163.com
username: ??
password: ??
properties:
mail:
smtp:
auth: true
starttls:
enable: true
required: true
## quartz定时任务,采用数据库方式
quartz:
job-store-type: jdbc
initialize-schema: embedded
#定时任务启动开关true-开 false-关
auto-startup: true
#延迟1秒启动定时任务
startup-delay: 1s
#启动时更新己存在的Job
overwrite-existing-jobs: true
properties:
org:
quartz:
scheduler:
instanceName: MyScheduler
instanceId: AUTO
jobStore:
class: org.springframework.scheduling.quartz.LocalDataSourceJobStore
driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate
tablePrefix: QRTZ_
isClustered: true
misfireThreshold: 12000
clusterCheckinInterval: 15000
threadPool:
class: org.quartz.simpl.SimpleThreadPool
threadCount: 100
threadPriority: 5
threadsInheritContextClassLoaderOfInitializingThread: true
#json 时间戳统一转换
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
jpa:
open-in-view: false
aop:
proxy-target-class: true
#配置freemarker
freemarker:
# 设置模板后缀名
suffix: .ftl
# 设置文档类型
content-type: text/html
# 设置页面编码格式
charset: UTF-8
# 设置页面缓存
cache: false
prefer-file-system-access: false
# 设置ftl文件路径
template-loader-path:
- classpath:/templates
template_update_delay: 0
# 设置静态文件路径js,css等
mvc:
static-path-pattern: /**
#Spring Boot 2.6+后映射匹配的默认策略已从AntPathMatcher更改为PathPatternParser,需要手动指定为ant-path-matcher
pathmatch:
matching-strategy: ant_path_matcher
resource:
static-locations: classpath:/static/,classpath:/public/
autoconfigure:
exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
datasource:
druid:
stat-view-servlet:
enabled: true
loginUsername: admin
loginPassword: 123456
allow:
web-stat-filter:
enabled: true
dynamic:
druid: # 全局druid参数绝大部分值和默认保持一致。(现已支持的参数如下,不清楚含义不要乱设置)
# 连接池的配置信息
# 初始化大小,最小,最大
initial-size: 5
min-idle: 5
maxActive: 1000
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
# 打开PSCache并且指定每个连接上PSCache的大小
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize: 20
# 配置监控统计拦截的filters去掉后监控界面sql无法统计'wall'用于防火墙
filters: stat,wall,slf4j
# 通过connectProperties属性来打开mergeSql功能慢SQL记录
connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
datasource:
master:
url: jdbc:mysql://127.0.0.1:3306/course_information_center_jeecg_db?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
username: root
password: ABCabc@123
# password: root
driver-class-name: com.mysql.cj.jdbc.Driver
# 多数据源配置
# multi-oracle:
# url: jdbc:oracle:thin:@202.198.129.24:1521:orcl?useUnicode=true&characterEncoding=utf8
# username: C##XSKC
# password: mAPP2t2ABAfx7
# driver-class-name: oracle.jdbc.OracleDriver
multi-oracle:
url: jdbc:oracle:thin:@//202.198.129.24:1521/orcl
username: C##XSKC
password: mAPP2t2ABAfx7
driver-class-name: oracle.jdbc.OracleDriver
#redis 配置
redis:
database: 1
host: 127.0.0.1
port: 6379
password: ''
#mybatis plus 设置
mybatis-plus:
mapper-locations: classpath*:org/jeecg/modules/**/xml/*Mapper.xml
global-config:
# 关闭MP3.0自带的banner
banner: false
db-config:
#主键类型 0:"数据库ID自增",1:"该类型为未设置主键类型", 2:"用户输入ID",3:"全局唯一ID (数字类型唯一ID)", 4:"全局唯一ID UUID",5:"字符串全局唯一ID (idWorker 的字符串表示)";
id-type: ASSIGN_ID
# 默认数据库表下划线命名
table-underline: true
configuration:
# 这个配置会将执行的sql打印出来在开发或测试的时候可以用
#log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# 返回类型为Map,显示null对应的字段
call-setters-on-nulls: true
#jeecg专用配置
minidao:
base-package: org.jeecg.modules.jmreport.*
jeecg:
# 是否启用安全模式
safeMode: false
# 签名密钥串(前后端要一致,正式发布请自行修改)
signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a
# 签名拦截接口
signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys
#local\minio\alioss
uploadType: local
# uploadType: sftp
# 前端访问地址
domainUrl:
pc: http://210.47.17.166
app: http://localhost:8051
path:
#文件上传根目录 设置
upload: /opt/jeecg-boot/upload
#webapp文件路径
webapp: /opt/jeecg-boot/webapp
shiro:
excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**,/api/getUserInfo
#阿里云oss存储和大鱼短信秘钥配置
oss:
accessKey: ??
secretKey: ??
endpoint: oss-cn-beijing.aliyuncs.com
bucketName: jeecgdev
staticDomain: https://static.jeecg.com
# ElasticSearch 设置
elasticsearch:
cluster-name: jeecg-ES
cluster-nodes: 127.0.0.1:9200
check-enabled: true
# 在线预览文件服务器地址配置
file-view-domain: http://fileview.jeecg.com
# minio文件上传
minio:
minio_url: http://minio.jeecg.com
minio_name: ??
minio_pass: ??
bucketName: otatest
#大屏报表参数设置
jmreport:
mode: prod
#数据字典是否进行saas数据隔离自己看自己的字典
saas: false
#是否开启租户模式 Support By v1.5.5+
openTenant: false
#安全模式(敏感接口校验、saas模式下不允许使用平台数据源)
#safeMode: true
#是否需要校验token
is_verify_token: true
#必须校验方法
verify_methods: remove,delete,save,add,update
#xxl-job配置
xxljob:
enabled: false
adminAddresses: http://127.0.0.1:9080/xxl-job-admin
appname: ${spring.application.name}
accessToken: ''
address: 127.0.0.1:30007
ip: 127.0.0.1
port: 30007
logPath: logs/jeecg/job/jobhandler/
logRetentionDays: 30
#分布式锁配置
redisson:
address: 127.0.0.1:6379
password:
type: STANDALONE
enabled: true
#cas单点登录
cas:
prefixUrl: https://authserver.nenu.edu.cn/authserver
#Mybatis输出sql日志
logging:
level:
org.jeecg.modules.system.mapper: info
#swagger
knife4j:
#开启增强配置
enable: true
#开启生产环境屏蔽
production: false
basic:
enable: true
username: jeecg
password: jeecg1314
#第三方登录
justauth:
enabled: true
type:
GITHUB:
client-id: ??
client-secret: ??
redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/github/callback
WECHAT_ENTERPRISE:
client-id: ??
client-secret: ??
redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/wechat_enterprise/callback
agent-id: ??
DINGTALK:
client-id: ??
client-secret: ??
redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/dingtalk/callback
WECHAT_OPEN:
client-id: ??
client-secret: ??
redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/wechat_open/callback
cache:
type: default
prefix: 'demo::'
timeout: 1h
#第三方APP对接
third-app:
enabled: false
type:
#企业微信
WECHAT_ENTERPRISE:
enabled: false
#CORP_ID
client-id: ??
#SECRET
client-secret: ??
#自建应用id
agent-id: ??
#自建应用秘钥(新版企微需要配置)
# agent-app-secret: ??
#钉钉
DINGTALK:
enabled: false
# appKey
client-id: ??
# appSecret
client-secret: ??
agent-id: ??
# libreOffice5弃用
libreOffice:
url: 127.0.0.1
port: 8100
# 文档转换(新)
jodconverter:
# 使用本机作为转换服务器如果使用其它主机作为转换服务器则需要配置remote
# 请参考 org.jodconverter.boot.autoconfigure.JodConverterRemoteProperties
local:
enabled: true
# 为了避免不必要的兼容问题需要配置本机的LibreOffice安装目录
office-home: /usr/lib64/libreoffice
# 配置LibreOffice的服务端口以逗号分隔每个端口为一个独立的进程
port-numbers: 2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020
# 配置最大的任务队列
max-tasks-per-process: 100
# 媒体处理器
ffmpeg:
# 根路径
path: D:\ProgramGreeFile\ffmpeg\bin
# 执行命令的核心文件
executableFile: ${ffmpeg.path}\ffmpeg.exe
# 压缩相关
compress:
# 是否开启压缩【true:开启压缩 | false:关闭压缩 】
enable: false
# 日志等级,【 quiet | panic | fatal | error | warning | info | verbose | debug | trace】默认值为info
loglevel: error
# 压缩比,正整数,数越大压缩比越高
compressionRatio: 50
# 是否覆盖输出文件【 y:覆盖 | n:不覆盖 】
isOverwrite: y
# 是否删除源文件【 true:删除源文件 | false:不删除源文件 】
isDeleteSourceFile: true
# 压缩文件扩展名范围
extensionFilter: png,jpg,jpeg
# 视频截图相关
videoScreenshot:
# 日志等级,【 quiet | panic | fatal | error | warning | info | verbose | debug | trace】默认值为info
loglevel: error
# 是否覆盖输出文件【 y:覆盖 | n:不覆盖 】
isOverwrite: y
# 压缩 数越大,图越小
compressionRatio: 2
# 视频过滤器参数此处用意为截1张原尺寸当前时间的最新帧
vf: '"select=not(mod(n\,15)),scale=-1:-1"'
# 维普检测接口
weipu:
userId: 765996
userKey: 330ed91f6c7e4600a454a6a5216723bf
wjx:
appid: 1321039
appkey: 55328ebd11964fc8b40c10011bcb425d
url: https://www.wjx.cn/openapi/default.aspx
#SFTP
sftp:
hostname: 210.47.29.99
port: 22
username: root
password: hmZ2a*G7fwwj
timeout: 1000
uploadpath: kczx
fullpath: /data