Files
dsProject/dsRes/src/main/java/com/dsideal/Ai/Util/PkUtil.java
2025-08-14 15:45:08 +08:00

88 lines
2.8 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.dsideal.Ai.Util;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Record;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.HashMap;
import java.util.Map;
public class PkUtil {
//在独立的main函数中使用下面的方式进行声明logback对象
private static final Logger log = LoggerFactory.getLogger(PkUtil.class);
public static Map<Integer, String> identityMap = new HashMap<>();
/**
* 功能:初始化人员主键
* 作者:黄海
* 时间2018-12-11
*/
public static void InitPersonNumPk() {
//初始化字典
InitIdentityMap();
for (Integer key : identityMap.keySet()) {
String sql = Db.getSql("loginPerson.getMaxPkByIdentityId");
int identity_id = key;
Record record = Db.findFirst(sql, identity_id);
int identity_pk_num = record.getInt("identity_pk_num");
//初始化要删除掉
RedisKit.del(identityMap.get(key) + "_identity_pk_num");
RedisKit.incrBy(identityMap.get(key) + "_identity_pk_num", identity_pk_num);
log.info("初始化人员身份主键生成器成功:" + identityMap.get(key));
}
}
/**
* 功能:初始化组织机构主键
* 作者:黄海
* 时间2018-12-11
*/
public static void InitOrgNumPk() {
String sql = Db.getSql("organization.getMaxPkByOrg");
Record record = Db.findFirst(sql);
int org_pk_num = record.getInt("org_pk_num");
//初始化要删除掉
RedisKit.del("org_pk_num");
RedisKit.incrBy("org_pk_num", org_pk_num);
}
/**
* 功能:初始化身份字典
* 作者:黄海
* 时间2018-12-21
*/
public static void InitIdentityMap() {
if (identityMap.isEmpty()) {
identityMap.put(1, "sys");
identityMap.put(2, "shi");
identityMap.put(3, "qu");
identityMap.put(4, "dw");
identityMap.put(5, "tea");
identityMap.put(6, "stu");
}
}
/**
* 功能:设置每种角色的最大主键生成器值(教师,学生,家长)
* 作者:黄海
* 时间2018-11-22
*
* @param identity_id 身份
*/
public static long GetPersonNumPk(int identity_id, int count) {
String redisPrefix = identityMap.get(identity_id);
return RedisKit.incrBy(redisPrefix + "_identity_pk_num", count);
}
/**
* 功能:获取组织机构的最大值
* 作者:黄海
* 时间2018-11-22
*/
public static long GetOrgNumPk(int count) {
return RedisKit.incrBy("org_pk_num", count);
}
}