Commit b7762403 authored by 成亚卿's avatar 成亚卿

登录密码验证

parent e3320858
...@@ -116,6 +116,8 @@ public class IndexController extends Controller { ...@@ -116,6 +116,8 @@ public class IndexController extends Controller {
username = this.getPara("username"); username = this.getPara("username");
password = this.getPara("password"); password = this.getPara("password");
} }
//校验密码是否符合强度设置
String verify = password;
password = HashKit.sha256(password); password = HashKit.sha256(password);
User user = User.dao.template("getUser", username).findFirst(); User user = User.dao.template("getUser", username).findFirst();
if (user == null) { if (user == null) {
...@@ -259,8 +261,9 @@ public class IndexController extends Controller { ...@@ -259,8 +261,9 @@ public class IndexController extends Controller {
Redis.use().expire(username, 60 * 60 * 24); Redis.use().expire(username, 60 * 60 * 24);
}catch (Exception e) { }catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
this.renderJson(Ret.ok("token", jws).set("callback", callback)); Boolean aBoolean = userService.verifyPassword(verify);
this.renderJson(Ret.ok("token", jws).set("callback", callback).set("verify",aBoolean));
logService.saveAsLog("login", username, JwtInterceptor.getIpAddr(getRequest()), username + "登录" + app + "成功", app); logService.saveAsLog("login", username, JwtInterceptor.getIpAddr(getRequest()), username + "登录" + app + "成功", app);
/** /**
* 20200706 lidecai 将用户信息保存到Redis end * 20200706 lidecai 将用户信息保存到Redis end
...@@ -272,6 +275,35 @@ public class IndexController extends Controller { ...@@ -272,6 +275,35 @@ public class IndexController extends Controller {
} }
} }
/**
* @Description: 验证密码强度
* @authorAndDate: ChengYaqing create on 2020/10/30 10:38
* @return void
*/
public void verifyPassword() {
String password = getPara("password");
if(password==null||"".equals(password)||"null".equals(password)) {
renderJson(Ret.fail("msg","密码不能为空"));
return;
}
try {
password = decrypt(password);
} catch (Exception e1) {
e1.printStackTrace();
password = this.getPara("password");
}
try {
String verify = userService.verifyPasswordInfo(password);
if("".equals(verify)) {
renderJson(Ret.ok());
} else {
renderJson(Ret.fail("msg",verify));
}
} catch (Exception e) {
renderJson(Ret.fail("error",e.getMessage()));
}
}
// 密码正确时错误次数清零 // 密码正确时错误次数清零
private void setErrZero(User user) { private void setErrZero(User user) {
Db.update(Db.getSqlPara("updateForOk", Kv.by("id", user.getId()))); Db.update(Db.getSqlPara("updateForOk", Kv.by("id", user.getId())));
...@@ -473,4 +505,6 @@ public class IndexController extends Controller { ...@@ -473,4 +505,6 @@ public class IndexController extends Controller {
Redis.use().del(userName + "_INFO"); Redis.use().del(userName + "_INFO");
renderJson(Ret.ok()); renderJson(Ret.ok());
} }
} }
...@@ -11,6 +11,8 @@ import com.jfinal.kit.Kv; ...@@ -11,6 +11,8 @@ import com.jfinal.kit.Kv;
import com.jfinal.plugin.activerecord.Db; import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Record; import com.jfinal.plugin.activerecord.Record;
import com.jfinal.plugin.activerecord.tx.Tx; import com.jfinal.plugin.activerecord.tx.Tx;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class UserService { public class UserService {
...@@ -82,7 +84,7 @@ public class UserService { ...@@ -82,7 +84,7 @@ public class UserService {
* 判断用户是否有指定系统的权限 * 判断用户是否有指定系统的权限
* *
* @param userId * @param userId
* @param menuName * @param userId
* @return * @return
*/ */
public boolean checkUserSystemPermission(int userId, String systemType) { public boolean checkUserSystemPermission(int userId, String systemType) {
...@@ -177,5 +179,78 @@ public class UserService { ...@@ -177,5 +179,78 @@ public class UserService {
.findFirst(); .findFirst();
} }
/**
* @Description: 校验密码强度符合规范
* @authorAndDate: ChengYaqing create on 2020/10/30 10:23
* @return java.lang.Boolean
*/
public Boolean verifyPassword(String password) {
try {
String verify = verifyPasswordInfo(password);
if("".equals(verify)) {
return true;
} else {
return false;
}
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
/**
* @Description: 校验密码强度
* @authorAndDate: ChengYaqing create on 2020/10/30 10:06
* @return java.lang.String
*/
public String verifyPasswordInfo(String password) {
try {
StringBuilder info = new StringBuilder();
//获取规则设置
Record strength = Db.findFirst(Db.getSql("getSetPassword"));
if(strength==null) {
return "";
}
Integer size = strength.getInt("lmin");
int length = password.length();
if(length < size) {
return "密码长度不能小于"+size;
}
if(length > 32) {
return "密码长度没必要大于32位";
}
String contain = strength.getStr("contain");
String number = ".*\\d+.*";
String low = ".*[a-z]+.*";
String up = ".*[A-Z]+.*";
String spe = ".*[ _`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]+.*";
if(contain.contains("数字")) {
Pattern p = Pattern.compile(number);
Matcher m = p.matcher(password);
if(!m.matches()) info.append("数字、");
} if (contain.contains("小写字母")) {
Pattern p = Pattern.compile(low);
Matcher m = p.matcher(password);
if(!m.matches()) info.append("小写字母、");
} if (contain.contains("大写字母")) {
Pattern p = Pattern.compile(up);
Matcher m = p.matcher(password);
if(!m.matches()) info.append("大写字母、");
} if (contain.contains("特殊字符")) {
Pattern p = Pattern.compile(spe);
Matcher m = p.matcher(password);
if(!m.matches()) info.append("特殊字符、");
}
if (info.length()==0) {
return "";
} else {
String verify = info.deleteCharAt(info.length() - 1).toString();
return "密码中缺少"+verify;
}
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
} }
...@@ -2141,177 +2141,190 @@ ...@@ -2141,177 +2141,190 @@
</sql> </sql>
</version> </version>
<version edition="90" description="创建年报设置表"> <version edition="90" description="创建年报设置表">
<sql creator="yangrifei" createDate="20201027" note="创建年报设置表"> <sql creator="yangrifei" createDate="20201027" note="创建年报设置表">
CREATE TABLE "AS_ANNUAL" CREATE TABLE "AS_ANNUAL"
( (
"ID" INT NOT NULL, "ID" INT NOT NULL,
"ANNUAL_NAME" VARCHAR2(50), "ANNUAL_NAME" VARCHAR2(50),
"CREAT_NAME" VARCHAR2(50), "CREAT_NAME" VARCHAR2(50),
"CREAT_DATA" TIMESTAMP(6), "CREAT_DATA" TIMESTAMP(6),
"CODE" INT, "CODE" INT,
CLUSTER PRIMARY KEY("ID")) STORAGE(ON "MAIN", CLUSTERBTR) ; CLUSTER PRIMARY KEY("ID")) STORAGE(ON "MAIN", CLUSTERBTR) ;
COMMENT ON TABLE "AS_ANNUAL" IS '年报'; COMMENT ON TABLE "AS_ANNUAL" IS '年报';
</sql> </sql>
</version> </version>
<version edition="91" description="创建档案备份离线备份表"> <version edition="91" description="创建档案备份离线备份表">
<sql creator="durui" createDate="20201028" note="创建档案备份离线备份表"> <sql creator="durui" createDate="20201028" note="创建档案备份离线备份表">
CREATE TABLE "AS_OFFLINE_BACKUP" CREATE TABLE "AS_OFFLINE_BACKUP"
( (
"ID" NUMBER(22,0) NOT NULL, "ID" NUMBER(22,0) NOT NULL,
"TITLE" VARCHAR(64), "TITLE" VARCHAR(64),
"CARRIER" VARCHAR2(100), "CARRIER" VARCHAR2(100),
"PATH" VARCHAR2(100), "PATH" VARCHAR2(100),
"SIZE" VARCHAR2(50), "SIZE" VARCHAR2(50),
"DETAILS" VARCHAR2(500), "DETAILS" VARCHAR2(500),
"CAEATE_TIME" TIMESTAMP(6), "CAEATE_TIME" TIMESTAMP(6),
"CREATOR" VARCHAR2(40), "CREATOR" VARCHAR2(40),
CLUSTER PRIMARY KEY("ID"), CLUSTER PRIMARY KEY("ID"),
UNIQUE("ID")) STORAGE(ON "MAIN", CLUSTERBTR) ; UNIQUE("ID")) STORAGE(ON "MAIN", CLUSTERBTR) ;
COMMENT ON TABLE "AS_OFFLINE_BACKUP" IS '离线备份表'; COMMENT ON TABLE "AS_OFFLINE_BACKUP" IS '离线备份表';
COMMENT ON COLUMN "AS_OFFLINE_BACKUP"."CAEATE_TIME" IS '备份时间'; COMMENT ON COLUMN "AS_OFFLINE_BACKUP"."CAEATE_TIME" IS '备份时间';
COMMENT ON COLUMN "AS_OFFLINE_BACKUP"."CARRIER" IS '备份载体'; COMMENT ON COLUMN "AS_OFFLINE_BACKUP"."CARRIER" IS '备份载体';
COMMENT ON COLUMN "AS_OFFLINE_BACKUP"."CREATOR" IS '操作人'; COMMENT ON COLUMN "AS_OFFLINE_BACKUP"."CREATOR" IS '操作人';
COMMENT ON COLUMN "AS_OFFLINE_BACKUP"."DETAILS" IS '备份详情'; COMMENT ON COLUMN "AS_OFFLINE_BACKUP"."DETAILS" IS '备份详情';
COMMENT ON COLUMN "AS_OFFLINE_BACKUP"."PATH" IS '备份路径'; COMMENT ON COLUMN "AS_OFFLINE_BACKUP"."PATH" IS '备份路径';
COMMENT ON COLUMN "AS_OFFLINE_BACKUP"."SIZE" IS '文件大小'; COMMENT ON COLUMN "AS_OFFLINE_BACKUP"."SIZE" IS '文件大小';
COMMENT ON COLUMN "AS_OFFLINE_BACKUP"."TITLE" IS '标题'; COMMENT ON COLUMN "AS_OFFLINE_BACKUP"."TITLE" IS '标题';
</sql> </sql>
</version> </version>
<version edition="92" description="创建档案备份在线备份表"> <version edition="92" description="创建档案备份在线备份表">
<sql creator="durui" createDate="20201028" note="创建档案备份在线备份表"> <sql creator="durui" createDate="20201028" note="创建档案备份在线备份表">
CREATE TABLE "AS_ONLINE_BACKUP" CREATE TABLE "AS_ONLINE_BACKUP"
( (
"ID" NUMBER(22,0) NOT NULL, "ID" NUMBER(22,0) NOT NULL,
"TITLE" VARCHAR(100), "TITLE" VARCHAR(100),
"SERVER" VARCHAR(50), "SERVER" VARCHAR(50),
"PATH" VARCHAR(100), "PATH" VARCHAR(100),
"SIZE" VARCHAR(20), "SIZE" VARCHAR(20),
"NUMBER" VARCHAR(100), "NUMBER" VARCHAR(100),
"MODE" VARCHAR(10), "MODE" VARCHAR(10),
"STATE" VARCHAR(10), "STATE" VARCHAR(10),
"BACKUP_CREATE_TIME" TIMESTAMP(6), "BACKUP_CREATE_TIME" TIMESTAMP(6),
"TIME_SPENT" VARCHAR(20), "TIME_SPENT" VARCHAR(20),
"DEL_FLAG" VARCHAR(20), "DEL_FLAG" VARCHAR(20),
"CREATOR" VARCHAR2(40), "CREATOR" VARCHAR2(40),
"REMARKS" VARCHAR2(255), "REMARKS" VARCHAR2(255),
"CREATE_TIME" TIMESTAMP(6), "CREATE_TIME" TIMESTAMP(6),
"LIBRARY_ID" VARCHAR2(500), "LIBRARY_ID" VARCHAR2(500),
CLUSTER PRIMARY KEY("ID"), CLUSTER PRIMARY KEY("ID"),
UNIQUE("ID")) STORAGE(ON "MAIN", CLUSTERBTR) ; UNIQUE("ID")) STORAGE(ON "MAIN", CLUSTERBTR) ;
COMMENT ON TABLE "AS_ONLINE_BACKUP" IS '在线备份表'; COMMENT ON TABLE "AS_ONLINE_BACKUP" IS '在线备份表';
COMMENT ON COLUMN "AS_ONLINE_BACKUP"."BACKUP_CREATE_TIME" IS '备份开始时间'; COMMENT ON COLUMN "AS_ONLINE_BACKUP"."BACKUP_CREATE_TIME" IS '备份开始时间';
COMMENT ON COLUMN "AS_ONLINE_BACKUP"."CREATE_TIME" IS '创建时间'; COMMENT ON COLUMN "AS_ONLINE_BACKUP"."CREATE_TIME" IS '创建时间';
COMMENT ON COLUMN "AS_ONLINE_BACKUP"."CREATOR" IS '操作人'; COMMENT ON COLUMN "AS_ONLINE_BACKUP"."CREATOR" IS '操作人';
COMMENT ON COLUMN "AS_ONLINE_BACKUP"."DEL_FLAG" IS '删除标识'; COMMENT ON COLUMN "AS_ONLINE_BACKUP"."DEL_FLAG" IS '删除标识';
COMMENT ON COLUMN "AS_ONLINE_BACKUP"."LIBRARY_ID" IS '档案门类ID'; COMMENT ON COLUMN "AS_ONLINE_BACKUP"."LIBRARY_ID" IS '档案门类ID';
COMMENT ON COLUMN "AS_ONLINE_BACKUP"."MODE" IS '备份方式'; COMMENT ON COLUMN "AS_ONLINE_BACKUP"."MODE" IS '备份方式';
COMMENT ON COLUMN "AS_ONLINE_BACKUP"."NUMBER" IS '备份文件数量'; COMMENT ON COLUMN "AS_ONLINE_BACKUP"."NUMBER" IS '备份文件数量';
COMMENT ON COLUMN "AS_ONLINE_BACKUP"."PATH" IS '备份路径'; COMMENT ON COLUMN "AS_ONLINE_BACKUP"."PATH" IS '备份路径';
COMMENT ON COLUMN "AS_ONLINE_BACKUP"."REMARKS" IS '备注'; COMMENT ON COLUMN "AS_ONLINE_BACKUP"."REMARKS" IS '备注';
COMMENT ON COLUMN "AS_ONLINE_BACKUP"."SERVER" IS '备份服务器'; COMMENT ON COLUMN "AS_ONLINE_BACKUP"."SERVER" IS '备份服务器';
COMMENT ON COLUMN "AS_ONLINE_BACKUP"."SIZE" IS '备份文件大小'; COMMENT ON COLUMN "AS_ONLINE_BACKUP"."SIZE" IS '备份文件大小';
COMMENT ON COLUMN "AS_ONLINE_BACKUP"."STATE" IS '备份状态'; COMMENT ON COLUMN "AS_ONLINE_BACKUP"."STATE" IS '备份状态';
COMMENT ON COLUMN "AS_ONLINE_BACKUP"."TIME_SPENT" IS '备份用时'; COMMENT ON COLUMN "AS_ONLINE_BACKUP"."TIME_SPENT" IS '备份用时';
COMMENT ON COLUMN "AS_ONLINE_BACKUP"."TITLE" IS '标题'; COMMENT ON COLUMN "AS_ONLINE_BACKUP"."TITLE" IS '标题';
</sql> </sql>
</version> </version>
<version edition="93" description="创建档案备份在线备份记录表"> <version edition="93" description="创建档案备份在线备份记录表">
<sql creator="durui" createDate="20201028" note="创建档案备份在线备份记录表"> <sql creator="durui" createDate="20201028" note="创建档案备份在线备份记录表">
CREATE TABLE "AS_ONLINE_BACKUP_RECORD" CREATE TABLE "AS_ONLINE_BACKUP_RECORD"
( (
"ID" NUMBER(22,0) NOT NULL, "ID" NUMBER(22,0) NOT NULL,
"ONLINE_BACKUP_ID" NUMBER(22,0), "ONLINE_BACKUP_ID" NUMBER(22,0),
"TITLE" VARCHAR(100), "TITLE" VARCHAR(100),
"SERVER" VARCHAR(50), "SERVER" VARCHAR(50),
"PATH" VARCHAR(100), "PATH" VARCHAR(100),
"SIZE" VARCHAR(20), "SIZE" VARCHAR(20),
"NUMBER" VARCHAR(100), "NUMBER" VARCHAR(100),
"MODE" VARCHAR(10), "MODE" VARCHAR(10),
"STATE" VARCHAR(10), "STATE" VARCHAR(10),
"BACKUP_CREATE_TIME" TIMESTAMP(6), "BACKUP_CREATE_TIME" TIMESTAMP(6),
"TIME_SPENT" VARCHAR(20), "TIME_SPENT" VARCHAR(20),
"DEL_FLAG" VARCHAR(20), "DEL_FLAG" VARCHAR(20),
"CREATOR" VARCHAR2(40), "CREATOR" VARCHAR2(40),
"REMARKS" VARCHAR2(255), "REMARKS" VARCHAR2(255),
"CREATE_TIME" TIMESTAMP(6), "CREATE_TIME" TIMESTAMP(6),
CLUSTER PRIMARY KEY("ID"), CLUSTER PRIMARY KEY("ID"),
UNIQUE("ID")) STORAGE(ON "MAIN", CLUSTERBTR) ; UNIQUE("ID")) STORAGE(ON "MAIN", CLUSTERBTR) ;
COMMENT ON TABLE "AS_ONLINE_BACKUP_RECORD" IS '在线备份记录表'; COMMENT ON TABLE "AS_ONLINE_BACKUP_RECORD" IS '在线备份记录表';
COMMENT ON COLUMN "AS_ONLINE_BACKUP_RECORD"."BACKUP_CREATE_TIME" IS '备份开始时间'; COMMENT ON COLUMN "AS_ONLINE_BACKUP_RECORD"."BACKUP_CREATE_TIME" IS '备份开始时间';
COMMENT ON COLUMN "AS_ONLINE_BACKUP_RECORD"."CREATE_TIME" IS '创建时间'; COMMENT ON COLUMN "AS_ONLINE_BACKUP_RECORD"."CREATE_TIME" IS '创建时间';
COMMENT ON COLUMN "AS_ONLINE_BACKUP_RECORD"."CREATOR" IS '操作人'; COMMENT ON COLUMN "AS_ONLINE_BACKUP_RECORD"."CREATOR" IS '操作人';
COMMENT ON COLUMN "AS_ONLINE_BACKUP_RECORD"."DEL_FLAG" IS '删除标识'; COMMENT ON COLUMN "AS_ONLINE_BACKUP_RECORD"."DEL_FLAG" IS '删除标识';
COMMENT ON COLUMN "AS_ONLINE_BACKUP_RECORD"."MODE" IS '备份方式'; COMMENT ON COLUMN "AS_ONLINE_BACKUP_RECORD"."MODE" IS '备份方式';
COMMENT ON COLUMN "AS_ONLINE_BACKUP_RECORD"."NUMBER" IS '备份文件数量'; COMMENT ON COLUMN "AS_ONLINE_BACKUP_RECORD"."NUMBER" IS '备份文件数量';
COMMENT ON COLUMN "AS_ONLINE_BACKUP_RECORD"."ONLINE_BACKUP_ID" IS '在线备份任务id'; COMMENT ON COLUMN "AS_ONLINE_BACKUP_RECORD"."ONLINE_BACKUP_ID" IS '在线备份任务id';
COMMENT ON COLUMN "AS_ONLINE_BACKUP_RECORD"."PATH" IS '备份路径'; COMMENT ON COLUMN "AS_ONLINE_BACKUP_RECORD"."PATH" IS '备份路径';
COMMENT ON COLUMN "AS_ONLINE_BACKUP_RECORD"."REMARKS" IS '备注'; COMMENT ON COLUMN "AS_ONLINE_BACKUP_RECORD"."REMARKS" IS '备注';
COMMENT ON COLUMN "AS_ONLINE_BACKUP_RECORD"."SERVER" IS '备份服务器'; COMMENT ON COLUMN "AS_ONLINE_BACKUP_RECORD"."SERVER" IS '备份服务器';
COMMENT ON COLUMN "AS_ONLINE_BACKUP_RECORD"."SIZE" IS '备份文件大小'; COMMENT ON COLUMN "AS_ONLINE_BACKUP_RECORD"."SIZE" IS '备份文件大小';
COMMENT ON COLUMN "AS_ONLINE_BACKUP_RECORD"."STATE" IS '备份状态'; COMMENT ON COLUMN "AS_ONLINE_BACKUP_RECORD"."STATE" IS '备份状态';
COMMENT ON COLUMN "AS_ONLINE_BACKUP_RECORD"."TIME_SPENT" IS '备份用时'; COMMENT ON COLUMN "AS_ONLINE_BACKUP_RECORD"."TIME_SPENT" IS '备份用时';
COMMENT ON COLUMN "AS_ONLINE_BACKUP_RECORD"."TITLE" IS '标题'; COMMENT ON COLUMN "AS_ONLINE_BACKUP_RECORD"."TITLE" IS '标题';
</sql> </sql>
</version> </version>
<version edition="94" description="创建档案备份在线备份配置表"> <version edition="94" description="创建档案备份在线备份配置表">
<sql creator="durui" createDate="20201028" note="创建档案备份在线备份配置表"> <sql creator="durui" createDate="20201028" note="创建档案备份在线备份配置表">
CREATE TABLE "AS_ONLINE_BACKUP_CONFIG" CREATE TABLE "AS_ONLINE_BACKUP_CONFIG"
( (
"ID" NUMBER(22,0) NOT NULL, "ID" NUMBER(22,0) NOT NULL,
"SERVER" VARCHAR(50), "SERVER" VARCHAR(50),
"PATH" VARCHAR(100), "PATH" VARCHAR(100),
"MODE" VARCHAR(10), "MODE" VARCHAR(10),
"CREATOR" VARCHAR2(40), "CREATOR" VARCHAR2(40),
"CREATE_TIME" TIMESTAMP(6), "CREATE_TIME" TIMESTAMP(6),
"LIBRARY_ID" VARCHAR2(500), "LIBRARY_ID" VARCHAR2(500),
CLUSTER PRIMARY KEY("ID"), CLUSTER PRIMARY KEY("ID"),
UNIQUE("ID")) STORAGE(ON "MAIN", CLUSTERBTR) ; UNIQUE("ID")) STORAGE(ON "MAIN", CLUSTERBTR) ;
COMMENT ON TABLE "AS_ONLINE_BACKUP_CONFIG" IS '在线备份记录表'; COMMENT ON TABLE "AS_ONLINE_BACKUP_CONFIG" IS '在线备份记录表';
COMMENT ON COLUMN "AS_ONLINE_BACKUP_CONFIG"."CREATE_TIME" IS '创建时间'; COMMENT ON COLUMN "AS_ONLINE_BACKUP_CONFIG"."CREATE_TIME" IS '创建时间';
COMMENT ON COLUMN "AS_ONLINE_BACKUP_CONFIG"."CREATOR" IS '操作人'; COMMENT ON COLUMN "AS_ONLINE_BACKUP_CONFIG"."CREATOR" IS '操作人';
COMMENT ON COLUMN "AS_ONLINE_BACKUP_CONFIG"."LIBRARY_ID" IS '档案门类ID'; COMMENT ON COLUMN "AS_ONLINE_BACKUP_CONFIG"."LIBRARY_ID" IS '档案门类ID';
COMMENT ON COLUMN "AS_ONLINE_BACKUP_CONFIG"."MODE" IS '备份方式'; COMMENT ON COLUMN "AS_ONLINE_BACKUP_CONFIG"."MODE" IS '备份方式';
COMMENT ON COLUMN "AS_ONLINE_BACKUP_CONFIG"."PATH" IS '备份路径'; COMMENT ON COLUMN "AS_ONLINE_BACKUP_CONFIG"."PATH" IS '备份路径';
COMMENT ON COLUMN "AS_ONLINE_BACKUP_CONFIG"."SERVER" IS '备份服务器'; COMMENT ON COLUMN "AS_ONLINE_BACKUP_CONFIG"."SERVER" IS '备份服务器';
</sql> </sql>
</version> </version>
<version edition="95" description="创建年报封面表"> <version edition="95" description="创建年报封面表">
<sql creator="yangrifei" createDate="20201028" note="创建年报封面表"> <sql creator="yangrifei" createDate="20201028" note="创建年报封面表">
CREATE TABLE "AS_ANNUAL_COVER" CREATE TABLE "AS_ANNUAL_COVER"
( (
"ID" INT NOT NULL, "ID" INT NOT NULL,
"UNIT_NAME" VARCHAR2(255), "UNIT_NAME" VARCHAR2(255),
"NAME" VARCHAR2(50), "NAME" VARCHAR2(50),
"PRINCIPAL" VARCHAR2(50), "PRINCIPAL" VARCHAR2(50),
"FILL_NAME" VARCHAR2(50), "FILL_NAME" VARCHAR2(50),
"AREA_CODE" VARCHAR2(50), "AREA_CODE" VARCHAR2(50),
"TELEPHONE" VARCHAR2(50), "TELEPHONE" VARCHAR2(50),
"EXTENSION" VARCHAR2(50), "EXTENSION" VARCHAR2(50),
"UNITADDRESS" VARCHAR2(255), "UNITADDRESS" VARCHAR2(255),
"UNITCATEGORY" VARCHAR2(255), "UNITCATEGORY" VARCHAR2(255),
"EDITDATA" DATE, "EDITDATA" DATE,
"CREDITCODE" VARCHAR2(50), "CREDITCODE" VARCHAR2(50),
"INSTITUTIONCODE" VARCHAR2(50), "INSTITUTIONCODE" VARCHAR2(50),
"TYPE" VARCHAR2(50), "TYPE" VARCHAR2(50),
"POSTALCODE" VARCHAR2(50), "POSTALCODE" VARCHAR2(50),
CLUSTER PRIMARY KEY("ID")) STORAGE(ON "MAIN", CLUSTERBTR) ; CLUSTER PRIMARY KEY("ID")) STORAGE(ON "MAIN", CLUSTERBTR) ;
COMMENT ON TABLE "AS_ANNUAL_COVER" IS '年报封面表'; COMMENT ON TABLE "AS_ANNUAL_COVER" IS '年报封面表';
</sql> </sql>
</version> </version>
<version edition="96" description="创建年报配置表"> <version edition="96" description="创建年报配置表">
<sql creator="yangrifei" createDate="20201028" note="创建年报配置表"> <sql creator="yangrifei" createDate="20201028" note="创建年报配置表">
CREATE TABLE "AS_ANNUAL_SET" CREATE TABLE "AS_ANNUAL_SET"
( (
"ID" INT NOT NULL, "ID" INT NOT NULL,
"CODE" INT, "CODE" INT,
"NUMBER" INT DEFAULT 0 NOT NULL, "NUMBER" INT DEFAULT 0 NOT NULL,
"CONDITION" VARCHAR2(255), "CONDITION" VARCHAR2(255),
NOT CLUSTER PRIMARY KEY("ID")) STORAGE(ON "MAIN", CLUSTERBTR) ; NOT CLUSTER PRIMARY KEY("ID")) STORAGE(ON "MAIN", CLUSTERBTR) ;
COMMENT ON TABLE "AS_ANNUAL_SET" IS '年报设置表'; COMMENT ON TABLE "AS_ANNUAL_SET" IS '年报设置表';
</sql> </sql>
</version> </version>
<version edition="97" description="创建密码强度设置表">
<sql creator="ChengYaqing" createDate="20201102" note="创建密码强度设置表">
CREATE TABLE "ARCHSER"."AS_SET_PASSWORD"
(
"ID" NUMBER(3,0),
"LMIN" NUMBER(3,0),
"CONTAIN" VARCHAR2(100)) STORAGE(ON "MAIN", CLUSTERBTR) ;
COMMENT ON COLUMN "ARCHSER"."AS_SET_PASSWORD"."CONTAIN" IS '选取类型,集合';
COMMENT ON COLUMN "ARCHSER"."AS_SET_PASSWORD"."ID" IS '值为固定值1';
COMMENT ON COLUMN "ARCHSER"."AS_SET_PASSWORD"."LMIN" IS '密码最小长度,最长为32';
</sql>
</version>
</update> </update>
\ No newline at end of file
...@@ -299,4 +299,8 @@ select * from AS_MENU where ID in ( ...@@ -299,4 +299,8 @@ select * from AS_MENU where ID in (
#end #end
#include("message.sql") #include("message.sql")
\ No newline at end of file
#sql("getSetPassword")
select * from AS_SET_PASSWORD where id = '1'
#end
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment