完善租户功能,默认开启

This commit is contained in:
季圣华
2019-08-15 22:53:27 +08:00
parent 630394c7ed
commit 10e392a00b
7 changed files with 51 additions and 129 deletions

View File

@@ -46,7 +46,6 @@
//进入页面聚焦在username输入框,方便 用户输入 //进入页面聚焦在username输入框,方便 用户输入
$("#user_name").focus(); $("#user_name").focus();
browserFit(); browserFit();
checkTenantStatus();
}); });
//浏览器适配 //浏览器适配
@@ -57,32 +56,6 @@
$("#user_vcodepwd").empty().append("密    码:"); $("#user_vcodepwd").empty().append("密    码:");
} }
//判断是否开启多租户
function checkTenantStatus(){
$("#btn_register").hide();
$.ajax({
type: "get",
url: "/user/getTenantStatus",
dataType: "json",
success: function (res) {
if(res && res.code === 200) {
if(res.data) {
if(res.data.status == "open") {
$("#btn_register").show();
} else if(res.data.status == "close") {
$("#btn_register").hide();
}
}
} else {
$("#btn_register").hide();
}
},
error: function () {
$("#btn_register").hide();
}
});
}
//初始化键盘enter事件 //初始化键盘enter事件
$(document).keydown(function (event) { $(document).keydown(function (event) {
//兼容 IE和firefox 事件 //兼容 IE和firefox 事件

View File

@@ -48,8 +48,8 @@ public class TenantConfig {
@Override @Override
public boolean doTableFilter(String tableName) { public boolean doTableFilter(String tableName) {
//获取开启状态 //获取开启状态
Object mybatisPlusStatus = request.getSession().getAttribute("mybatisPlusStatus"); Object tenantId = request.getSession().getAttribute("tenantId");
if(mybatisPlusStatus !=null && mybatisPlusStatus.toString().equals("open")) { if(tenantId!=null) {
//从session中获取租户id //从session中获取租户id
String loginName = null; String loginName = null;
Object userInfo = request.getSession().getAttribute("user"); Object userInfo = request.getSession().getAttribute("user");
@@ -62,7 +62,7 @@ public class TenantConfig {
} else { } else {
// 这里可以判断是否过滤表 // 这里可以判断是否过滤表
if ("databasechangelog".equals(tableName) || "databasechangeloglock".equals(tableName) if ("databasechangelog".equals(tableName) || "databasechangeloglock".equals(tableName)
|| "jsh_materialproperty".equals(tableName) || "tbl_sequence".equals(tableName) || "dual".equals(tableName) || "jsh_materialproperty".equals(tableName) || "tbl_sequence".equals(tableName)
|| "jsh_userbusiness".equals(tableName) || "jsh_app".equals(tableName) || "jsh_functions".equals(tableName) || "jsh_userbusiness".equals(tableName) || "jsh_app".equals(tableName) || "jsh_functions".equals(tableName)
|| "jsh_tenant".equals(tableName)) { || "jsh_tenant".equals(tableName)) {
return true; return true;

View File

@@ -32,9 +32,6 @@ import java.util.Properties;
public class AppController { public class AppController {
private Logger logger = LoggerFactory.getLogger(AppController.class); private Logger logger = LoggerFactory.getLogger(AppController.class);
@Value("${mybatis-plus.status}")
private String mybatisPlusStatus;
@Resource @Resource
private AppService appService; private AppService appService;
@@ -175,23 +172,19 @@ public class AppController {
//根据条件从列表里面移除"系统管理" //根据条件从列表里面移除"系统管理"
List<App> dataList = new ArrayList<App>(); List<App> dataList = new ArrayList<App>();
for (App appOne : dataListApp) { for (App appOne : dataListApp) {
if(("open").equals(mybatisPlusStatus)){ //从session中获取租户id
//从session中获取租户id String loginName = null;
String loginName = null; Object userInfo = request.getSession().getAttribute("user");
Object userInfo = request.getSession().getAttribute("user"); if(userInfo != null) {
if(userInfo != null) { User user = (User) userInfo;
User user = (User) userInfo; loginName = user.getLoginame();
loginName = user.getLoginame(); }
} if(("admin").equals(loginName)) {
if(("admin").equals(loginName)) {
dataList.add(appOne);
} else {
if(!("系统管理").equals(appOne.getName())) {
dataList.add(appOne);
}
}
} else {
dataList.add(appOne); dataList.add(appOne);
} else {
if(!("系统管理").equals(appOne.getName())) {
dataList.add(appOne);
}
} }
} }

View File

@@ -39,9 +39,6 @@ import static com.jsh.erp.utils.ResponseJsonUtil.returnJson;
public class DepotHeadController { public class DepotHeadController {
private Logger logger = LoggerFactory.getLogger(DepotHeadController.class); private Logger logger = LoggerFactory.getLogger(DepotHeadController.class);
@Value("${mybatis-plus.status}")
private String mybatisPlusStatus;
@Resource @Resource
private DepotHeadService depotHeadService; private DepotHeadService depotHeadService;
@@ -398,15 +395,11 @@ public class DepotHeadController {
@RequestParam("deleted") String deleted, @RequestParam("deleted") String deleted,
@RequestParam("updated") String updated, HttpServletRequest request) throws Exception{ @RequestParam("updated") String updated, HttpServletRequest request) throws Exception{
JSONObject result = ExceptionConstants.standardSuccess(); JSONObject result = ExceptionConstants.standardSuccess();
if(("open").equals(mybatisPlusStatus)) { Long billsNumLimit = Long.parseLong(request.getSession().getAttribute("billsNumLimit").toString());
Long billsNumLimit = Long.parseLong(request.getSession().getAttribute("billsNumLimit").toString()); Long count = depotHeadService.countDepotHead(null,null,null,null,null,null,null);
Long count = depotHeadService.countDepotHead(null,null,null,null,null,null,null); if(count>= billsNumLimit) {
if(count>= billsNumLimit) { throw new BusinessParamCheckingException(ExceptionConstants.DEPOT_HEAD_OVER_LIMIT_FAILED_CODE,
throw new BusinessParamCheckingException(ExceptionConstants.DEPOT_HEAD_OVER_LIMIT_FAILED_CODE, ExceptionConstants.DEPOT_HEAD_OVER_LIMIT_FAILED_MSG);
ExceptionConstants.DEPOT_HEAD_OVER_LIMIT_FAILED_MSG);
} else {
depotHeadService.addDepotHeadAndDetail(beanJson,inserted,deleted,updated);
}
} else { } else {
depotHeadService.addDepotHeadAndDetail(beanJson,inserted,deleted,updated); depotHeadService.addDepotHeadAndDetail(beanJson,inserted,deleted,updated);
} }

View File

@@ -29,9 +29,6 @@ import java.util.List;
public class FunctionsController { public class FunctionsController {
private Logger logger = LoggerFactory.getLogger(FunctionsController.class); private Logger logger = LoggerFactory.getLogger(FunctionsController.class);
@Value("${mybatis-plus.status}")
private String mybatisPlusStatus;
@Resource @Resource
private FunctionsService functionsService; private FunctionsService functionsService;
@@ -139,23 +136,19 @@ public class FunctionsController {
//根据条件从列表里面移除"系统管理" //根据条件从列表里面移除"系统管理"
List<Functions> dataList = new ArrayList<Functions>(); List<Functions> dataList = new ArrayList<Functions>();
for (Functions fun : dataListFun) { for (Functions fun : dataListFun) {
if(("open").equals(mybatisPlusStatus)){ //从session中获取租户id
//从session中获取租户id String loginName = null;
String loginName = null; Object userInfo = request.getSession().getAttribute("user");
Object userInfo = request.getSession().getAttribute("user"); if(userInfo != null) {
if(userInfo != null) { User user = (User) userInfo;
User user = (User) userInfo; loginName = user.getLoginame();
loginName = user.getLoginame(); }
} if(("admin").equals(loginName)) {
if(("admin").equals(loginName)) {
dataList.add(fun);
} else {
if(!("系统管理").equals(fun.getName())) {
dataList.add(fun);
}
}
} else {
dataList.add(fun); dataList.add(fun);
} else {
if(!("系统管理").equals(fun.getName())) {
dataList.add(fun);
}
} }
} }

View File

@@ -42,9 +42,6 @@ import static com.jsh.erp.utils.ResponseJsonUtil.returnJson;
public class UserController { public class UserController {
private Logger logger = LoggerFactory.getLogger(UserController.class); private Logger logger = LoggerFactory.getLogger(UserController.class);
@Value("${mybatis-plus.status}")
private String mybatisPlusStatus;
@Value("${manage.roleId}") @Value("${manage.roleId}")
private Integer manageRoleId; private Integer manageRoleId;
@@ -110,22 +107,19 @@ public class UserController {
//验证通过 可以登录放入session记录登录日志 //验证通过 可以登录放入session记录登录日志
user = userService.getUserByUserName(username); user = userService.getUserByUserName(username);
request.getSession().setAttribute("user",user); request.getSession().setAttribute("user",user);
if(("open").equals(mybatisPlusStatus)) { if(user.getTenantId()!=null) {
if(user.getTenantId()!=null) { Tenant tenant = tenantService.getTenantByTenantId(user.getTenantId());
Tenant tenant = tenantService.getTenantByTenantId(user.getTenantId()); if(tenant!=null) {
if(tenant!=null) { Long tenantId = tenant.getTenantId();
Long tenantId = tenant.getTenantId(); Integer userNumLimit = tenant.getUserNumLimit();
Integer userNumLimit = tenant.getUserNumLimit(); Integer billsNumLimit = tenant.getBillsNumLimit();
Integer billsNumLimit = tenant.getBillsNumLimit(); if(tenantId!=null) {
if(tenantId!=null) { request.getSession().setAttribute("tenantId",tenantId); //租户tenantId
request.getSession().setAttribute("tenantId",tenantId); //租户tenantId request.getSession().setAttribute("userNumLimit",userNumLimit); //用户限制数
request.getSession().setAttribute("userNumLimit",userNumLimit); //用户限制数 request.getSession().setAttribute("billsNumLimit",billsNumLimit); //单据限制数
request.getSession().setAttribute("billsNumLimit",billsNumLimit); //单据限制数
}
} }
} }
} }
request.getSession().setAttribute("mybatisPlusStatus",mybatisPlusStatus); //开启状态
logService.insertLog(BusinessConstants.LOG_INTERFACE_NAME_USER, logService.insertLog(BusinessConstants.LOG_INTERFACE_NAME_USER,
new StringBuffer(BusinessConstants.LOG_OPERATION_TYPE_LOGIN).append(user.getId()).toString(), new StringBuffer(BusinessConstants.LOG_OPERATION_TYPE_LOGIN).append(user.getId()).toString(),
((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest()); ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest());
@@ -182,12 +176,9 @@ public class UserController {
BaseResponseInfo res = new BaseResponseInfo(); BaseResponseInfo res = new BaseResponseInfo();
try { try {
request.getSession().removeAttribute("user"); request.getSession().removeAttribute("user");
request.getSession().removeAttribute("mybatisPlusStatus"); request.getSession().removeAttribute("tenantId");
if(("open").equals(mybatisPlusStatus)) { request.getSession().removeAttribute("userNumLimit");
request.getSession().removeAttribute("tenantId"); request.getSession().removeAttribute("billsNumLimit");
request.getSession().removeAttribute("userNumLimit");
request.getSession().removeAttribute("billsNumLimit");
}
response.sendRedirect("/login.html"); response.sendRedirect("/login.html");
} catch(Exception e){ } catch(Exception e){
e.printStackTrace(); e.printStackTrace();
@@ -323,16 +314,11 @@ public class UserController {
@ResponseBody @ResponseBody
public Object addUser(@RequestParam("info") String beanJson, HttpServletRequest request)throws Exception{ public Object addUser(@RequestParam("info") String beanJson, HttpServletRequest request)throws Exception{
JSONObject result = ExceptionConstants.standardSuccess(); JSONObject result = ExceptionConstants.standardSuccess();
if(("open").equals(mybatisPlusStatus)) { Long userNumLimit = Long.parseLong(request.getSession().getAttribute("userNumLimit").toString());
Long userNumLimit = Long.parseLong(request.getSession().getAttribute("userNumLimit").toString()); Long count = userService.countUser(null,null);
Long count = userService.countUser(null,null); if(count>= userNumLimit) {
if(count>= userNumLimit) { throw new BusinessParamCheckingException(ExceptionConstants.USER_OVER_LIMIT_FAILED_CODE,
throw new BusinessParamCheckingException(ExceptionConstants.USER_OVER_LIMIT_FAILED_CODE, ExceptionConstants.USER_OVER_LIMIT_FAILED_MSG);
ExceptionConstants.USER_OVER_LIMIT_FAILED_MSG);
} else {
UserEx ue= JSON.parseObject(beanJson, UserEx.class);
userService.addUserAndOrgUserRel(ue);
}
} else { } else {
UserEx ue= JSON.parseObject(beanJson, UserEx.class); UserEx ue= JSON.parseObject(beanJson, UserEx.class);
userService.addUserAndOrgUserRel(ue); userService.addUserAndOrgUserRel(ue);
@@ -405,20 +391,4 @@ public class UserController {
} }
return arr; return arr;
} }
@GetMapping("/getTenantStatus")
public BaseResponseInfo getTenantStatus(HttpServletRequest request)throws Exception {
BaseResponseInfo res = new BaseResponseInfo();
try {
Map<String, Object> data = new HashMap<String, Object>();
data.put("status", mybatisPlusStatus);
res.code = 200;
res.data = data;
} catch(Exception e){
e.printStackTrace();
res.code = 500;
res.data = "获取失败";
}
return res;
}
} }

View File

@@ -15,7 +15,7 @@ import java.util.regex.Pattern;
@WebFilter(filterName = "LogCostFilter", urlPatterns = {"/*"}, @WebFilter(filterName = "LogCostFilter", urlPatterns = {"/*"},
initParams = {@WebInitParam(name = "ignoredUrl", value = ".css#.js#.jpg#.png#.gif#.ico"), initParams = {@WebInitParam(name = "ignoredUrl", value = ".css#.js#.jpg#.png#.gif#.ico"),
@WebInitParam(name = "filterPath", @WebInitParam(name = "filterPath",
value = "/user/login#/user/registerUser#/user/getTenantStatus")}) value = "/user/login#/user/registerUser")})
public class LogCostFilter implements Filter { public class LogCostFilter implements Filter {
private static final String FILTER_PATH = "filterPath"; private static final String FILTER_PATH = "filterPath";