main
黄海 10 months ago
parent 6b5ddd9a53
commit 6819e65cce

@ -4,6 +4,7 @@ import com.alibaba.druid.filter.stat.StatFilter;
import com.alibaba.druid.wall.WallFilter;
import com.dsideal.base.Base.Controller.BaseController;
import com.dsideal.base.Classes.Controller.ClassController;
import com.dsideal.base.DataAuthority.Controller.DataAuthorityController;
import com.dsideal.base.Dm.Controller.DmController;
import com.dsideal.base.Global.Controller.GlobalController;
import com.dsideal.base.Handler.XssHandler;
@ -28,6 +29,7 @@ import com.jfinal.plugin.druid.IDruidStatViewAuth;
import com.jfinal.plugin.redis.RedisPlugin;
import com.jfinal.server.undertow.UndertowServer;
import com.jfinal.template.Engine;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
@ -40,7 +42,7 @@ public class BaseApplication extends JFinalConfig {
}
public static void main(String[] args) {
System.out.println("当前环境: " + getEnvPrefix());
System.out.println("当前环境: " + getEnvPrefix());
String configFile = "undertow_{?}.properties".replace("{?}", getEnvPrefix());
UndertowServer.create(BaseApplication.class, configFile).start();
}
@ -86,6 +88,8 @@ public class BaseApplication extends JFinalConfig {
me.add("/studentYd", StudentYdController.class);
//菜单管理
me.add("/menu", MenuController.class);
//数据权限
me.add("/dataAuthority", DataAuthorityController.class);
}
@Override
@ -143,7 +147,7 @@ public class BaseApplication extends JFinalConfig {
//加载
me.add(arp);
// 用于缓存模块的redis服务
RedisPlugin redis = new RedisPlugin("myRedis", PropKit.get("redis_ip"), PropKit.getInt("redis_port"), 10 * 1000,PropKit.get("redis_password"));
RedisPlugin redis = new RedisPlugin("myRedis", PropKit.get("redis_ip"), PropKit.getInt("redis_port"), 10 * 1000, PropKit.get("redis_password"));
me.add(redis);
}

@ -0,0 +1,25 @@
package com.dsideal.base.DataAuthority.Controller;
import com.dsideal.base.DataAuthority.Model.DataAuthorityModel;
import com.dsideal.base.Interceptor.IsSysAdminInterface;
import com.jfinal.aop.Before;
import com.jfinal.core.Controller;
import com.jfinal.ext.interceptor.POST;
import com.jfinal.kit.Kv;
@SuppressWarnings("unchecked")
public class DataAuthorityController extends Controller {
DataAuthorityModel dm = new DataAuthorityModel();
/**
*
*/
@Before({POST.class})
@IsSysAdminInterface({"1"})//只有超级管理员才能调用此接口
public void syncResource() {
Kv kv = dm.syncResource();
kv.set("success", true);
kv.set("message", "共同步了" + kv.getInt("count") + "条数据,共" + kv.getInt("total") + "条数据");
renderJson(kv);
}
}

@ -0,0 +1,48 @@
package com.dsideal.base.DataAuthority.Model;
import com.jfinal.kit.Kv;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Record;
import java.util.List;
@SuppressWarnings("unchecked")
public class DataAuthorityModel {
/**
*
*
* @return
*/
public static Kv syncResource() {
//找出所有需要同步的资源类型
String sql = "select * from t_sys_resource_type";
List<Record> list = Db.find(sql);
int count = 0;
for (Record record : list) {
String sync_sql = record.getStr("sync_sql");
if (sync_sql != null) {
String resource_type_code = record.getStr("resource_type_code");
List<Record> records = Db.find(sync_sql);
for (int i = 0; i < records.size(); i++) {
Record r = records.get(i);
String resource_id = r.getStr("resource_id");
String resource_name = r.getStr("resource_name");
//检查这个资源是否已经存在
sql = "select count(1) as c from t_sys_resource where resource_type_code=? and resource_id=?";
Record res = Db.findFirst(sql, resource_type_code, resource_id);
if (res.getInt("c") == 0) {
sql = "insert into t_sys_resource(resource_type_code,resource_id,resource_name) values(?,?,?)";
Db.update(sql, resource_type_code, resource_id, resource_name);
count++;
}
}
}
}
sql = "select count(1) as c from t_sys_resource";
Record record = Db.findFirst(sql);
int total = record.getInt("c");
return Kv.by("total", total).set("count", count);
}
}

@ -0,0 +1,28 @@
package com.dsideal.base.Tools;
import com.jfinal.kit.Kv;
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.util.List;
public class SyncResource {
public static void main(String[] args) {
//1、配置数据库
PropKit.use("application_dev.properties");
DruidPlugin druid = new DruidPlugin(PropKit.get("jdbcUrl"), PropKit.get("user"),
PropKit.get("password").trim(), PropKit.get("driverClassName"));
druid.start();
// 配置ActiveRecord插件
ActiveRecordPlugin arp = new ActiveRecordPlugin(druid);
arp.start();
//Kv kv = syncResource();
//System.out.println("共同步了" + kv.getInt("count") + "条数据,共" + kv.getInt("total") + "条数据");
}
}
Loading…
Cancel
Save