main
黄海 2 years ago
parent 1435ee76c1
commit 6486102c82

@ -1,12 +0,0 @@
<License>
<Data>
<Products>
<Product>Aspose.Total for Java</Product>
</Products>
<EditionType>Enterprise</EditionType>
<SubscriptionExpiry>20991231</SubscriptionExpiry>
<LicenseExpiry>20991231</LicenseExpiry>
<SerialNumber>8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7</SerialNumber>
</Data>
<Signature>sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU=</Signature>
</License>

@ -20,6 +20,30 @@
<artifactId>shardingsphere-jdbc-core</artifactId> <artifactId>shardingsphere-jdbc-core</artifactId>
<version>5.3.2</version> <version>5.3.2</version>
</dependency> </dependency>
<!--引用本地jar包-->
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>20.12</version>
<scope>system</scope> <!--system类似provided需要显式提供依赖的jar以后Maven就不会在Repository中查找它-->
<systemPath>${project.basedir}/ExtendJar/aspose-words-20.12-jdk17-crack.jar</systemPath>
</dependency>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-cells</artifactId>
<version>20.7</version>
<scope>system</scope>
<systemPath>${project.basedir}/ExtendJar/aspose-cells-20.7-crack.jar</systemPath>
</dependency>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose.slides</artifactId>
<version>19.3</version>
<scope>system</scope>
<systemPath>${project.basedir}/ExtendJar/aspose.slides-19.3.jar</systemPath>
</dependency>
<!--jfinal主框架--> <!--jfinal主框架-->
<dependency> <dependency>
<groupId>com.jfinal</groupId> <groupId>com.jfinal</groupId>
@ -185,12 +209,12 @@
<artifactId>dom4j</artifactId> <artifactId>dom4j</artifactId>
<version>2.1.3</version> <version>2.1.3</version>
</dependency> </dependency>
<!-- 注意:更高版本不支持 jdk 8 -->
<dependency> <dependency>
<groupId>redis.clients</groupId> <groupId>redis.clients</groupId>
<artifactId>jedis</artifactId> <artifactId>jedis</artifactId>
<version>3.8.0</version> <version>3.9.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.httpcomponents</groupId> <groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId> <artifactId>httpmime</artifactId>

@ -1,63 +0,0 @@
### 备份表结构
```c++
mysqldump -h localhost -uroot -pDsideaL147258369 -d gtzz_base_db t_xgk_student t_xgk_teacher t_xgk_xzb v_xgk_kc v_xgk_kc_tea_releation > xgk.sql;
sz xgk.sql;
```
**注:-d表示不要数据只要结构去掉-d就是又要数据又要结构。**
参考资料:
[/*!40101的含义](https://blog.csdn.net/sinat_30990593/article/details/81295538)
### Finish
* 教师导入
* 班级学生导入
<font color="red" size="4"><b>如果是 通用/信息 是一周一节的话,需要人为扩充为两列
</b></font>
### TODO
* 课程计划教师
* 疑问老师的周课时在哪里能够读取到默认是20
如果特殊提,只有自动分配教师时才有效。
* 学生选科模板
* 任课计划
如果系统中已有教师数据,就要小心了,因为可能会造成数据不一致发生。
那就会有一个问题,如果以任课计划为准,那上面还提供一个**学科教师及教师周课时**就感觉很鸡肋了,
因为反正都不敢相信,那还要上面那个**学科教师及教师周课时**还有啥用?答:用于数据校验~
---
* 首先要确认课程是否都在系统中,这个课程应该是隶属于学校的概念,不是隶属于全局的概念。没有的课程要先维护进入系统。
学科管理中创建新学科。
* 其次要保证是排的是哪个学期的课程,开学日期等概念,一定要选好。后期改就不好改了。
* 每个学部都可以有自己的学期选择,而<font color='red' size=6><b>不是全局唯一的</b></font>,这个需要仔细品味思考。
* 创建课程计划:学段,年级,学期, 常规模式、走班模式。检查基础课程是不是缺少了
* 课程计划是可以多套的。
* 课时概念在EXCEL里怎么样同步到数据库中
* 疑问:港澳台台怎么处理??大众化的标准,**个性化的标准在智能排课班级课时里去修改**
* 先按主要的,大众化的标准去设置。特殊班级特殊处理。
* 课程计划安排:一周排几天,上午几节,下午几节
* 选课计划:
* 选科计划名称:随意
* 选科计划类型:预选、正式选无所谓
* 选科模式无所谓视频选的是第3个。学生在线选才有意义。
* 走课模式:同时开选考和学考课程,建议选择这个。
* 开始日期和结束日期:随意
* 课程计划:要对应上
* 选科班级:一定要选好
* 可用教室资源原来7个班也输入7个教室
* 最小班额最大班额对排课影响不大一般最小30最大不超过55也可以不限。学校问的多很烦。
* 成绩选择:淡化,后期取消。
启动一下:右三角
* 下载模板:把选课计划填写进去,然后导入进来。
* 学生选科模板将手里的EXCEL志愿信息想办法导入到
* 因学生可能重名,方法是:
* 在导出  学生选科模板 时,需要使用班级+学生名的办法进行导出,通过substr截取掉2020级这样前5个字符后面的进行匹配
* 如果存在同班,同名学生,要加倍小心
分批次,教学班,行政班都支持

@ -1,27 +0,0 @@
package UnitTest;
import org.apache.rocketmq.client.producer.DefaultMQProducer;
import org.apache.rocketmq.client.producer.SendResult;
import org.apache.rocketmq.common.message.Message;
import java.util.UUID;
/**
* @Date 2021-04-20 15:40
*/
public class Producer {
public static void main(String[] args) throws Exception {
//声明发送者
DefaultMQProducer producer = new DefaultMQProducer("default_producter_group");
producer.setNamesrvAddr("10.10.14.231:9876");
producer.start();
//发送
String body = "你好 RocketMQ";
Message message = new Message("TopicXuanKe", null, body.getBytes());
message.setKeys(UUID.randomUUID().toString());
SendResult sendResult = producer.send(message);
System.out.printf("发送结果:%s%n", sendResult);
//关闭生产者
producer.shutdown();
}
}

@ -8,12 +8,12 @@ import org.apache.rocketmq.common.consumer.ConsumeFromWhere;
/** /**
* @Date 2021-04-20 15:47 * @Date 2021-04-20 15:47
*/ */
public class Consumer { public class TestRocketMqConsumer {
public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("default_consumer_group"); DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("default_consumer_group");
consumer.setNamesrvAddr("10.10.14.231:9876"); consumer.setNamesrvAddr("10.10.14.169:9876");
consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET); consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET);
consumer.subscribe("TopicXuanKe", "*");//订阅topic和tag设置 consumer.subscribe("name", "*");//订阅topic和tag设置
consumer.registerMessageListener((MessageListenerConcurrently) (msgs, context) -> { consumer.registerMessageListener((MessageListenerConcurrently) (msgs, context) -> {
String body = new String(msgs.get(0).getBody()); String body = new String(msgs.get(0).getBody());
System.out.printf("消息内容:%s%n", body); System.out.printf("消息内容:%s%n", body);

@ -0,0 +1,35 @@
package UnitTest;
import org.apache.rocketmq.client.producer.DefaultMQProducer;
import org.apache.rocketmq.client.producer.SendResult;
import org.apache.rocketmq.common.message.Message;
import java.util.UUID;
/**
* @Date 2021-04-20 15:40
*/
public class TestRocketMqProducer {
public static void main(String[] args) throws Exception {
//声明发送者
DefaultMQProducer producer = new DefaultMQProducer("default_producter_group");
producer.setNamesrvAddr("10.10.14.169:9876");
producer.start();
//发送
//43778 ms
long startTime = System.currentTimeMillis();
for (int i = 1; i <= 100000; i++) {
String body = "I am ChengXuYuan!Hello World!" + i;
Message message = new Message("name", null, body.getBytes());
message.setKeys(UUID.randomUUID().toString());
SendResult sendResult = producer.send(message);
}
long endTime = System.currentTimeMillis();
long totalTime = endTime - startTime;
System.out.println(totalTime);
//System.out.printf("发送结果:%s%n", sendResult);
//关闭生产者
producer.shutdown();
}
}

@ -0,0 +1,32 @@
package UnitTest;
import com.jfinal.kit.PathKit;
import com.jfinal.kit.PropKit;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Record;
import com.jfinal.plugin.druid.DruidPlugin;
import java.io.File;
import java.util.List;
public class TestWriteMysql {
public static void main(String[] args) {
String jdbcUrl = "jdbc:mysql://10.10.14.169:22066/db0?rewriteBatchedStatements=true&useUnicode=true&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";
DruidPlugin druid = new DruidPlugin(jdbcUrl, "root", "DsideaL147258369", "com.mysql.cj.jdbc.Driver");
druid.start();
// 配置ActiveRecord插件
ActiveRecordPlugin arp = new ActiveRecordPlugin(druid);
arp.start();
//写入速度42207ms
String sql = "insert into t1(name) values(?)";
long startTime = System.currentTimeMillis();
for(int i=1;i<=100000;i++){
Db.update(sql,"I am ChengXuYuan!Hello World!" + i);
}
long endTime = System.currentTimeMillis();
long totalTime = endTime - startTime;
System.out.println(totalTime);
}
}

@ -0,0 +1,56 @@
package UnitTest;
import com.jfinal.plugin.redis.Redis;
import com.jfinal.plugin.redis.RedisPlugin;
import redis.clients.jedis.Pipeline;
public class TestWritePika {
public static void main(String[] args) {
/*
Pika
pipeline10000set4298
pipeline10000set254
*/
//RedisPlugin redis = new RedisPlugin("myRedis", "10.10.14.169", 9221, 10 * 1000);
/*
Centos 6+Redis 5
pipeline100000set22813
pipeline100000set236
*/
//RedisPlugin redis = new RedisPlugin("myRedis", "10.10.14.199", 18890, 10 * 1000);
/*
Centos 7+Redis 7
pipeline10000set2701
pipeline10000set45
*/
//RedisPlugin redis = new RedisPlugin("myRedis", "10.10.14.67", 6379, 10 * 1000);
/*
OpenEuler+Redis 7
pipeline100000set39698
pipeline100000set249
*/
RedisPlugin redis = new RedisPlugin("myRedis", "10.10.14.62", 6379, 10 * 1000);
//结论如果有预热登录账号到redis的场景那么这个管道将非常有用。
redis.start();
long setStart = System.currentTimeMillis();
for (int i = 0; i < 100000; i++) {
Redis.use().set("key_" + i, String.valueOf(i));
}
long setEnd = System.currentTimeMillis();
System.out.println("非pipeline操作100000次字符串数据类型set写入耗时" + (setEnd - setStart) + "毫秒");
long pipelineStart = System.currentTimeMillis();
Pipeline pipeline = Redis.use().getJedis().pipelined();
for (int i = 0; i < 100000; i++) {
pipeline.set("key_" + i, String.valueOf(i));
}
pipeline.sync();
long pipelineEnd = System.currentTimeMillis();
System.out.println("pipeline操作100000次字符串数据类型set写入耗时" + (pipelineEnd - pipelineStart) + "毫秒");
}
}

@ -28,8 +28,10 @@ import com.jfinal.plugin.druid.DruidPlugin;
import com.jfinal.plugin.druid.DruidStatViewHandler; import com.jfinal.plugin.druid.DruidStatViewHandler;
import com.jfinal.plugin.druid.IDruidStatViewAuth; import com.jfinal.plugin.druid.IDruidStatViewAuth;
import com.jfinal.plugin.redis.RedisPlugin; import com.jfinal.plugin.redis.RedisPlugin;
import com.jfinal.plugin.redis.serializer.ISerializer;
import com.jfinal.server.undertow.UndertowServer; import com.jfinal.server.undertow.UndertowServer;
import com.jfinal.template.Engine; import com.jfinal.template.Engine;
import redis.clients.jedis.util.SafeEncoder;
import javax.servlet.http.Cookie; import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@ -149,6 +151,35 @@ public class Start extends JFinalConfig {
me.add(arp); me.add(arp);
// 用于缓存模块的redis服务 // 用于缓存模块的redis服务
RedisPlugin redis = new RedisPlugin("myRedis", PropKit.get("redis_ip"), PropKit.getInt("redis_port"), 10 * 1000); RedisPlugin redis = new RedisPlugin("myRedis", PropKit.get("redis_ip"), PropKit.getInt("redis_port"), 10 * 1000);
redis.setSerializer(new ISerializer() {
@Override
public byte[] keyToBytes(String key) {
return SafeEncoder.encode(key);
}
@Override
public String keyFromBytes(byte[] bytes) {
return SafeEncoder.encode(bytes);
}
@Override
public byte[] fieldToBytes(Object field) {
return valueToBytes(field);
}
@Override
public Object fieldFromBytes(byte[] bytes) {
return valueFromBytes(bytes);
}
@Override
public byte[] valueToBytes(Object value) {
return SafeEncoder.encode(value.toString());
}
@Override
public Object valueFromBytes(byte[] bytes) {
if(bytes == null || bytes.length == 0)
return null;
return SafeEncoder.encode(bytes);
}
});
//启动redis组件 //启动redis组件
me.add(redis); me.add(redis);
} }

@ -5,7 +5,7 @@ password=DsideaL147258369
#jdbcUrl=jdbc:mysql://10.10.14.169:22066/FengHuang_db?rewriteBatchedStatements=true&useUnicode=true&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai #jdbcUrl=jdbc:mysql://10.10.14.169:22066/FengHuang_db?rewriteBatchedStatements=true&useUnicode=true&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
jdbcUrl=jdbc:mysql://10.10.14.169:22066/db0?rewriteBatchedStatements=true&useUnicode=true&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai jdbcUrl=jdbc:mysql://10.10.14.169:22066/db0?rewriteBatchedStatements=true&useUnicode=true&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
# redis ip # redis ip
redis_ip=10.10.14.169 redis_ip=10.10.14.199
# redis port # redis port
redis_port=18890 redis_port=18890
# ============================================================== # ==============================================================

@ -5,7 +5,7 @@ password=DsideaL147258369
#jdbcUrl=jdbc:mysql://10.10.14.169:22066/FengHuang_db?rewriteBatchedStatements=true&useUnicode=true&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai #jdbcUrl=jdbc:mysql://10.10.14.169:22066/FengHuang_db?rewriteBatchedStatements=true&useUnicode=true&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
jdbcUrl=jdbc:mysql://10.10.14.169:22066/db0?rewriteBatchedStatements=true&useUnicode=true&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai jdbcUrl=jdbc:mysql://10.10.14.169:22066/db0?rewriteBatchedStatements=true&useUnicode=true&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
# redis ip # redis ip
redis_ip=10.10.14.169 redis_ip=10.10.14.199
# redis port # redis port
redis_port=18890 redis_port=18890
# ============================================================== # ==============================================================

Loading…
Cancel
Save