mirror of
https://github.com/chatopera/cosin.git
synced 2025-08-01 16:38:02 +08:00
#58 merge code.
This commit is contained in:
commit
e42eebe282
@ -17,6 +17,7 @@
|
|||||||
package com.chatopera.cc.webim.web.handler;
|
package com.chatopera.cc.webim.web.handler;
|
||||||
|
|
||||||
import static org.elasticsearch.index.query.QueryBuilders.termQuery;
|
import static org.elasticsearch.index.query.QueryBuilders.termQuery;
|
||||||
|
import static org.elasticsearch.index.query.QueryBuilders.termsQuery;
|
||||||
|
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
|
|
||||||
@ -25,6 +26,7 @@ import javax.servlet.http.HttpServletRequest;
|
|||||||
|
|
||||||
import com.chatopera.cc.core.UKDataContext;
|
import com.chatopera.cc.core.UKDataContext;
|
||||||
import com.chatopera.cc.util.UKView;
|
import com.chatopera.cc.util.UKView;
|
||||||
|
import com.chatopera.cc.util.exception.CSKefuException;
|
||||||
import com.chatopera.cc.webim.service.cache.CacheHelper;
|
import com.chatopera.cc.webim.service.cache.CacheHelper;
|
||||||
import com.chatopera.cc.webim.service.repository.TenantRepository;
|
import com.chatopera.cc.webim.service.repository.TenantRepository;
|
||||||
import com.chatopera.cc.webim.web.handler.api.rest.QueryParams;
|
import com.chatopera.cc.webim.web.handler.api.rest.QueryParams;
|
||||||
@ -36,6 +38,8 @@ import org.elasticsearch.index.query.QueryBuilders;
|
|||||||
import org.elasticsearch.index.query.QueryStringQueryBuilder;
|
import org.elasticsearch.index.query.QueryStringQueryBuilder;
|
||||||
import org.elasticsearch.index.query.QueryStringQueryBuilder.Operator;
|
import org.elasticsearch.index.query.QueryStringQueryBuilder.Operator;
|
||||||
import org.elasticsearch.index.query.RangeQueryBuilder;
|
import org.elasticsearch.index.query.RangeQueryBuilder;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.ui.ModelMap;
|
import org.springframework.ui.ModelMap;
|
||||||
@ -49,6 +53,8 @@ import com.chatopera.cc.webim.web.model.SystemConfig;
|
|||||||
@Controller
|
@Controller
|
||||||
@SessionAttributes
|
@SessionAttributes
|
||||||
public class Handler {
|
public class Handler {
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(Handler.class);
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private TenantRepository tenantRes;
|
private TenantRepository tenantRes;
|
||||||
|
|
||||||
@ -86,6 +92,32 @@ public class Handler {
|
|||||||
return user ;
|
return user ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构建ElasticSearch基于部门查询的Filter
|
||||||
|
* @param request
|
||||||
|
* @param boolQueryBuilder
|
||||||
|
* @return
|
||||||
|
* @throws CSKefuException
|
||||||
|
*/
|
||||||
|
public boolean esOrganFilter(final HttpServletRequest request, final BoolQueryBuilder boolQueryBuilder) throws CSKefuException {
|
||||||
|
// 组合部门条件
|
||||||
|
User u = getUser(request);
|
||||||
|
if( u == null){
|
||||||
|
throw new CSKefuException("[esOrganFilter] 未能获取到登录用户。");
|
||||||
|
} else if(u.isSuperuser()){
|
||||||
|
// 超级管理员, 查看任何数据
|
||||||
|
return true;
|
||||||
|
} else if(u.getMyorgans().size() == 0){
|
||||||
|
// 用户没有被分配到部门,返回空数据
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
// 用户在部门中,通过部门过滤数据
|
||||||
|
String[] values = u.getMyorgans().toArray(new String[u.getMyorgans().size()]);
|
||||||
|
boolQueryBuilder.filter(termsQuery("organ", values));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param queryBuilder
|
* @param queryBuilder
|
||||||
@ -253,8 +285,6 @@ public class Handler {
|
|||||||
return user ;
|
return user ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void setUser(HttpServletRequest request , User user){
|
public void setUser(HttpServletRequest request , User user){
|
||||||
request.getSession(true).removeAttribute(UKDataContext.USER_SESSION_NAME) ;
|
request.getSession(true).removeAttribute(UKDataContext.USER_SESSION_NAME) ;
|
||||||
request.getSession(true).setAttribute(UKDataContext.USER_SESSION_NAME , user) ;
|
request.getSession(true).setAttribute(UKDataContext.USER_SESSION_NAME , user) ;
|
||||||
|
@ -16,10 +16,26 @@
|
|||||||
*/
|
*/
|
||||||
package com.chatopera.cc.webim.web.handler;
|
package com.chatopera.cc.webim.web.handler;
|
||||||
|
|
||||||
import java.security.NoSuchAlgorithmException;
|
import com.chatopera.cc.core.UKDataContext;
|
||||||
import java.util.ArrayList;
|
import com.chatopera.cc.util.Menu;
|
||||||
import java.util.Date;
|
import com.chatopera.cc.util.UKTools;
|
||||||
import java.util.List;
|
import com.chatopera.cc.webim.service.cache.CacheHelper;
|
||||||
|
import com.chatopera.cc.webim.service.repository.OrganRepository;
|
||||||
|
import com.chatopera.cc.webim.service.repository.RoleAuthRepository;
|
||||||
|
import com.chatopera.cc.webim.service.repository.UserRepository;
|
||||||
|
import com.chatopera.cc.webim.service.repository.UserRoleRepository;
|
||||||
|
import com.chatopera.cc.webim.util.OnlineUserUtils;
|
||||||
|
import com.chatopera.cc.webim.web.model.*;
|
||||||
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.data.jpa.domain.Specification;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.web.bind.annotation.RequestHeader;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
|
||||||
import javax.persistence.criteria.CriteriaBuilder;
|
import javax.persistence.criteria.CriteriaBuilder;
|
||||||
import javax.persistence.criteria.CriteriaQuery;
|
import javax.persistence.criteria.CriteriaQuery;
|
||||||
@ -29,49 +45,22 @@ import javax.servlet.http.Cookie;
|
|||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
import java.security.NoSuchAlgorithmException;
|
||||||
import com.chatopera.cc.core.UKDataContext;
|
import java.util.ArrayList;
|
||||||
import com.chatopera.cc.util.Menu;
|
import java.util.Date;
|
||||||
import com.chatopera.cc.webim.service.cache.CacheHelper;
|
import java.util.List;
|
||||||
import com.chatopera.cc.webim.service.repository.OrganRepository;
|
|
||||||
import com.chatopera.cc.webim.service.repository.OrganRoleRepository;
|
|
||||||
import com.chatopera.cc.webim.service.repository.RoleAuthRepository;
|
|
||||||
import com.chatopera.cc.webim.service.repository.UserRoleRepository;
|
|
||||||
import com.chatopera.cc.webim.util.OnlineUserUtils;
|
|
||||||
import org.apache.commons.lang.StringUtils;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.data.jpa.domain.Specification;
|
|
||||||
import org.springframework.stereotype.Controller;
|
|
||||||
import org.springframework.web.bind.annotation.RequestHeader;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
|
||||||
|
|
||||||
import com.chatopera.cc.util.UKTools;
|
|
||||||
import com.chatopera.cc.webim.service.repository.UserRepository;
|
|
||||||
import com.chatopera.cc.webim.web.model.Organ;
|
|
||||||
import com.chatopera.cc.webim.web.model.OrganRole;
|
|
||||||
import com.chatopera.cc.webim.web.model.Role;
|
|
||||||
import com.chatopera.cc.webim.web.model.RoleAuth;
|
|
||||||
import com.chatopera.cc.webim.web.model.SystemConfig;
|
|
||||||
import com.chatopera.cc.webim.web.model.User;
|
|
||||||
import com.chatopera.cc.webim.web.model.UserRole;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author UK
|
* @author UK
|
||||||
* @version 1.0.0
|
* @version 1.0.0
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
@Controller
|
@Controller
|
||||||
public class LoginController extends Handler {
|
public class LoginController extends Handler {
|
||||||
|
private final static Logger logger = LoggerFactory.getLogger(LoginController.class);
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private UserRepository userRepository;
|
private UserRepository userRepository;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private OrganRoleRepository organRoleRes ;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private UserRoleRepository userRoleRes;
|
private UserRoleRepository userRoleRes;
|
||||||
|
|
||||||
@ -81,6 +70,21 @@ public class LoginController extends Handler{
|
|||||||
@Autowired
|
@Autowired
|
||||||
private OrganRepository organRepository;
|
private OrganRepository organRepository;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取一个用户所拥有的所有部门ID
|
||||||
|
*
|
||||||
|
* @param user
|
||||||
|
*/
|
||||||
|
private void organs(final User user, final String organ) {
|
||||||
|
if (organ == null)
|
||||||
|
return;
|
||||||
|
user.getMyorgans().add(organ);
|
||||||
|
List<Organ> y = organRepository.findByOrgiAndParent(user.getOrgi(), organ);
|
||||||
|
for (Organ x : y) {
|
||||||
|
organs(user, x.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@RequestMapping(value = "/login", method = RequestMethod.GET)
|
@RequestMapping(value = "/login", method = RequestMethod.GET)
|
||||||
@Menu(type = "apps", subtype = "user", access = true)
|
@Menu(type = "apps", subtype = "user", access = true)
|
||||||
public ModelAndView login(HttpServletRequest request, HttpServletResponse response, @RequestHeader(value = "referer", required = false) String referer, @Valid String msg) throws NoSuchAlgorithmException {
|
public ModelAndView login(HttpServletRequest request, HttpServletResponse response, @RequestHeader(value = "referer", required = false) String referer, @Valid String msg) throws NoSuchAlgorithmException {
|
||||||
@ -179,18 +183,11 @@ public class LoginController extends Handler{
|
|||||||
loginUser.getRoleList().add(userRole.getRole());
|
loginUser.getRoleList().add(userRole.getRole());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(!StringUtils.isBlank(loginUser.getOrgan())){
|
|
||||||
Organ organ = organRepository.findByIdAndOrgi(loginUser.getOrgan(), loginUser.getOrgi()) ;
|
// 获取用户部门以及下级部门
|
||||||
if(organ!=null){
|
organs(loginUser, loginUser.getOrgan()); // 添加部门到myorgans中
|
||||||
List<OrganRole> organRoleList = organRoleRes.findByOrgiAndOrgan(loginUser.getOrgi(), organ) ;
|
|
||||||
if(organRoleList.size() > 0){
|
// 获取用户的角色权限,进行授权
|
||||||
for(OrganRole organRole : organRoleList){
|
|
||||||
loginUser.getRoleAuthMap().put(organRole.getDicvalue(),true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//获取用户的授权资源
|
|
||||||
List<RoleAuth> roleAuthList = roleAuthRes.findAll(new Specification<RoleAuth>() {
|
List<RoleAuth> roleAuthList = roleAuthRes.findAll(new Specification<RoleAuth>() {
|
||||||
@Override
|
@Override
|
||||||
public Predicate toPredicate(Root<RoleAuth> root, CriteriaQuery<?> query,
|
public Predicate toPredicate(Root<RoleAuth> root, CriteriaQuery<?> query,
|
||||||
@ -204,7 +201,9 @@ public class LoginController extends Handler{
|
|||||||
Predicate[] p = new Predicate[list.size()];
|
Predicate[] p = new Predicate[list.size()];
|
||||||
cb.and(cb.equal(root.get("orgi").as(String.class), loginUser.getOrgi()));
|
cb.and(cb.equal(root.get("orgi").as(String.class), loginUser.getOrgi()));
|
||||||
return cb.or(list.toArray(p));
|
return cb.or(list.toArray(p));
|
||||||
}}) ;
|
}
|
||||||
|
});
|
||||||
|
|
||||||
if (roleAuthList != null) {
|
if (roleAuthList != null) {
|
||||||
for (RoleAuth roleAuth : roleAuthList) {
|
for (RoleAuth roleAuth : roleAuthList) {
|
||||||
loginUser.getRoleAuthMap().put(roleAuth.getDicvalue(), true);
|
loginUser.getRoleAuthMap().put(roleAuth.getDicvalue(), true);
|
||||||
@ -215,6 +214,7 @@ public class LoginController extends Handler{
|
|||||||
if (!StringUtils.isBlank(loginUser.getId())) {
|
if (!StringUtils.isBlank(loginUser.getId())) {
|
||||||
userRepository.save(loginUser);
|
userRepository.save(loginUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
super.setUser(request, loginUser);
|
super.setUser(request, loginUser);
|
||||||
//当前用户 企业id为空 调到创建企业页面
|
//当前用户 企业id为空 调到创建企业页面
|
||||||
if (StringUtils.isBlank(loginUser.getOrgid())) {
|
if (StringUtils.isBlank(loginUser.getOrgid())) {
|
||||||
|
@ -317,25 +317,6 @@ public class OrganController extends Handler{
|
|||||||
return request(super.createRequestPageTempletResponse("redirect:/admin/organ/index.html?msg="+msg));
|
return request(super.createRequestPageTempletResponse("redirect:/admin/organ/index.html?msg="+msg));
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping("/auth")
|
|
||||||
@Menu(type = "admin" , subtype = "organ")
|
|
||||||
public ModelAndView auth(ModelMap map ,HttpServletRequest request , @Valid String id) {
|
|
||||||
|
|
||||||
SysDic sysDic = sysDicRes.findByCode(UKDataContext.UKEFU_SYSTEM_AUTH_DIC) ;
|
|
||||||
if(sysDic!=null){
|
|
||||||
map.addAttribute("resourceList", sysDicRes.findByDicid(sysDic.getId())) ;
|
|
||||||
}
|
|
||||||
|
|
||||||
map.addAttribute("sysDic", sysDic) ;
|
|
||||||
Organ organData = organRepository.findByIdAndOrgi(id, super.getOrgiByTenantshare(request)) ;
|
|
||||||
map.addAttribute("organData", organData) ;
|
|
||||||
map.addAttribute("roleList", roleRepository.findByOrgiAndOrgid(super.getOrgiByTenantshare(request),super.getOrgid(request))) ;
|
|
||||||
|
|
||||||
map.addAttribute("organRoleList", organRoleRes.findByOrgiAndOrgan(super.getOrgiByTenantshare(request), organData)) ;
|
|
||||||
|
|
||||||
return request(super.createRequestPageTempletResponse("/admin/organ/auth"));
|
|
||||||
}
|
|
||||||
|
|
||||||
@RequestMapping("/auth/save")
|
@RequestMapping("/auth/save")
|
||||||
@Menu(type = "admin" , subtype = "role")
|
@Menu(type = "admin" , subtype = "role")
|
||||||
public ModelAndView authsave(HttpServletRequest request ,@Valid String id ,@Valid String menus) {
|
public ModelAndView authsave(HttpServletRequest request ,@Valid String id ,@Valid String menus) {
|
||||||
|
@ -217,6 +217,7 @@ public class AppsController extends Handler {
|
|||||||
User sessionUser = super.getUser(request) ;
|
User sessionUser = super.getUser(request) ;
|
||||||
tempUser.setRoleList(sessionUser.getRoleList()) ;
|
tempUser.setRoleList(sessionUser.getRoleList()) ;
|
||||||
tempUser.setRoleAuthMap(sessionUser.getRoleAuthMap());
|
tempUser.setRoleAuthMap(sessionUser.getRoleAuthMap());
|
||||||
|
tempUser.setMyorgans(sessionUser.getMyorgans());
|
||||||
User u = tempUser;
|
User u = tempUser;
|
||||||
u.setOrgi(super.getOrgi(request));
|
u.setOrgi(super.getOrgi(request));
|
||||||
super.setUser(request, u);
|
super.setUser(request, u);
|
||||||
|
@ -17,29 +17,28 @@
|
|||||||
|
|
||||||
package com.chatopera.cc.webim.web.handler.apps.contacts;
|
package com.chatopera.cc.webim.web.handler.apps.contacts;
|
||||||
|
|
||||||
import static org.elasticsearch.index.query.QueryBuilders.termQuery;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
|
||||||
import javax.validation.Valid;
|
|
||||||
|
|
||||||
import com.chatopera.cc.util.Menu;
|
import com.chatopera.cc.util.Menu;
|
||||||
import com.chatopera.cc.util.PinYinTools;
|
import com.chatopera.cc.util.PinYinTools;
|
||||||
|
import com.chatopera.cc.util.UKTools;
|
||||||
|
import com.chatopera.cc.util.exception.CSKefuException;
|
||||||
|
import com.chatopera.cc.util.task.DSData;
|
||||||
|
import com.chatopera.cc.util.task.DSDataEvent;
|
||||||
|
import com.chatopera.cc.util.task.ExcelImportProecess;
|
||||||
|
import com.chatopera.cc.util.task.export.ExcelExporterProcess;
|
||||||
|
import com.chatopera.cc.util.task.process.ContactsProcess;
|
||||||
|
import com.chatopera.cc.webim.service.es.ContactsRepository;
|
||||||
|
import com.chatopera.cc.webim.service.repository.MetadataRepository;
|
||||||
import com.chatopera.cc.webim.service.repository.PropertiesEventRepository;
|
import com.chatopera.cc.webim.service.repository.PropertiesEventRepository;
|
||||||
|
import com.chatopera.cc.webim.service.repository.ReporterRepository;
|
||||||
import com.chatopera.cc.webim.util.PropertiesEventUtils;
|
import com.chatopera.cc.webim.util.PropertiesEventUtils;
|
||||||
|
import com.chatopera.cc.webim.web.handler.Handler;
|
||||||
|
import com.chatopera.cc.webim.web.model.*;
|
||||||
import org.apache.commons.io.FileUtils;
|
import org.apache.commons.io.FileUtils;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.elasticsearch.index.query.BoolQueryBuilder;
|
import org.elasticsearch.index.query.BoolQueryBuilder;
|
||||||
import org.elasticsearch.index.query.QueryBuilders;
|
import org.elasticsearch.index.query.QueryBuilders;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.data.domain.PageRequest;
|
import org.springframework.data.domain.PageRequest;
|
||||||
@ -50,23 +49,21 @@ import org.springframework.web.bind.annotation.RequestParam;
|
|||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
|
||||||
import com.chatopera.cc.util.UKTools;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import com.chatopera.cc.util.task.DSData;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import com.chatopera.cc.util.task.DSDataEvent;
|
import javax.validation.Valid;
|
||||||
import com.chatopera.cc.util.task.ExcelImportProecess;
|
import java.io.File;
|
||||||
import com.chatopera.cc.util.task.export.ExcelExporterProcess;
|
import java.io.IOException;
|
||||||
import com.chatopera.cc.util.task.process.ContactsProcess;
|
import java.text.SimpleDateFormat;
|
||||||
import com.chatopera.cc.webim.service.es.ContactsRepository;
|
import java.util.*;
|
||||||
import com.chatopera.cc.webim.service.repository.MetadataRepository;
|
|
||||||
import com.chatopera.cc.webim.service.repository.ReporterRepository;
|
import static org.elasticsearch.index.query.QueryBuilders.termQuery;
|
||||||
import com.chatopera.cc.webim.web.handler.Handler;
|
import static org.elasticsearch.index.query.QueryBuilders.termsQuery;
|
||||||
import com.chatopera.cc.webim.web.model.Contacts;
|
|
||||||
import com.chatopera.cc.webim.web.model.MetadataTable;
|
|
||||||
import com.chatopera.cc.webim.web.model.PropertiesEvent;
|
|
||||||
|
|
||||||
@Controller
|
@Controller
|
||||||
@RequestMapping("/apps/contacts")
|
@RequestMapping("/apps/contacts")
|
||||||
public class ContactsController extends Handler {
|
public class ContactsController extends Handler {
|
||||||
|
private final static Logger logger = LoggerFactory.getLogger(ContactsController.class);
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ContactsRepository contactsRes;
|
private ContactsRepository contactsRes;
|
||||||
@ -85,15 +82,22 @@ public class ContactsController extends Handler{
|
|||||||
|
|
||||||
@RequestMapping("/index")
|
@RequestMapping("/index")
|
||||||
@Menu(type = "customer", subtype = "index")
|
@Menu(type = "customer", subtype = "index")
|
||||||
public ModelAndView index(ModelMap map , HttpServletRequest request , @Valid String q , @Valid String ckind) {
|
public ModelAndView index(ModelMap map, HttpServletRequest request, @Valid String q, @Valid String ckind) throws CSKefuException {
|
||||||
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
|
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
|
||||||
|
|
||||||
|
if(!super.esOrganFilter(request, boolQueryBuilder)){
|
||||||
|
return request(super.createAppsTempletResponse("/apps/business/contacts/index"));
|
||||||
|
}
|
||||||
|
|
||||||
if (!StringUtils.isBlank(q)) {
|
if (!StringUtils.isBlank(q)) {
|
||||||
map.put("q", q);
|
map.put("q", q);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!StringUtils.isBlank(ckind)) {
|
if (!StringUtils.isBlank(ckind)) {
|
||||||
boolQueryBuilder.must(termQuery("ckind", ckind));
|
boolQueryBuilder.must(termQuery("ckind", ckind));
|
||||||
map.put("ckind", ckind);
|
map.put("ckind", ckind);
|
||||||
}
|
}
|
||||||
|
|
||||||
map.addAttribute("contactsList", contactsRes.findByCreaterAndSharesAndOrgi(super.getUser(request).getId(), super.getUser(request).getId(), super.getOrgi(request), null, null, false, boolQueryBuilder, q, new PageRequest(super.getP(request), super.getPs(request))));
|
map.addAttribute("contactsList", contactsRes.findByCreaterAndSharesAndOrgi(super.getUser(request).getId(), super.getUser(request).getId(), super.getOrgi(request), null, null, false, boolQueryBuilder, q, new PageRequest(super.getP(request), super.getPs(request))));
|
||||||
|
|
||||||
return request(super.createAppsTempletResponse("/apps/business/contacts/index"));
|
return request(super.createAppsTempletResponse("/apps/business/contacts/index"));
|
||||||
|
@ -17,11 +17,7 @@
|
|||||||
package com.chatopera.cc.webim.web.model;
|
package com.chatopera.cc.webim.web.model;
|
||||||
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Date;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
@ -104,6 +100,7 @@ public class User implements java.io.Serializable{
|
|||||||
private int fans; //粉丝
|
private int fans; //粉丝
|
||||||
private int follows; //关注
|
private int follows; //关注
|
||||||
private int integral; //积分
|
private int integral; //积分
|
||||||
|
private HashSet<String> myorgans = new HashSet<>();
|
||||||
private List<Role> roleList = new ArrayList<Role>();
|
private List<Role> roleList = new ArrayList<Role>();
|
||||||
private Map<String ,Object> roleAuthMap = new HashMap<String ,Object>();
|
private Map<String ,Object> roleAuthMap = new HashMap<String ,Object>();
|
||||||
|
|
||||||
@ -517,4 +514,13 @@ public class User implements java.io.Serializable{
|
|||||||
public void setOrdertype(String ordertype) {
|
public void setOrdertype(String ordertype) {
|
||||||
this.ordertype = ordertype;
|
this.ordertype = ordertype;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
public HashSet<String> getMyorgans() {
|
||||||
|
return myorgans;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMyorgans(HashSet<String> myorgans) {
|
||||||
|
this.myorgans = myorgans;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,60 +0,0 @@
|
|||||||
<div class="uk-layui-form">
|
|
||||||
<form class="layui-form uk-form" action="/admin/organ/auth/save.html">
|
|
||||||
<input type="hidden" name="id" value="${organData.id!''}">
|
|
||||||
<input type="hidden" name="menus" id="menus" value="<#if organRoleList??><#list organRoleList as organRole><#if organRole_index gt 0>,</#if>${organRole.dicid!''}</#list></#if>">
|
|
||||||
<div class="layui-form-item">
|
|
||||||
<div class="layui-input-inline">
|
|
||||||
<ul id="organTree" class="ztree"></ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="layui-form-button">
|
|
||||||
<div class="layui-button-block">
|
|
||||||
<button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button>
|
|
||||||
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
<SCRIPT type="text/javascript">
|
|
||||||
var setting = {
|
|
||||||
check: {
|
|
||||||
enable: true
|
|
||||||
},
|
|
||||||
data: {
|
|
||||||
simpleData: {
|
|
||||||
enable: true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
callback: {
|
|
||||||
onCheck: zTreeOnCheck
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
//获取所有选中节点的值
|
|
||||||
function zTreeOnCheck() {
|
|
||||||
var treeObj = $.fn.zTree.getZTreeObj("organTree");
|
|
||||||
var nodes = treeObj.getCheckedNodes(true);
|
|
||||||
var msg = "";
|
|
||||||
for (var i = 0; i < nodes.length; i++) {
|
|
||||||
if(msg!='' && nodes[i].id != ''){
|
|
||||||
msg = msg+"," ;
|
|
||||||
}
|
|
||||||
msg += nodes[i].id;
|
|
||||||
}
|
|
||||||
$("#menus").val(msg);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
var zNodes =[
|
|
||||||
<#if sysDic??>{ id:'${sysDic.id!''}', pId:'0', name:"菜单资源", open:true , value : ""}</#if>
|
|
||||||
<#if resourceList??>
|
|
||||||
<#list resourceList as dic>
|
|
||||||
,{ id:'${dic.id}', pId:'${dic.parentid!''}' <#if organRoleList??><#list organRoleList as organRole><#if organRole.dicid?? && organRole.dicid == dic.id>,checked:true</#if></#list></#if> , name:"${dic.name!''}" , value : "${dic.code!''}", open:true , icon : "<#if dic.level?? && (dic.level == '1' || dic.level == '2')>/images/dir.png<#else>/images/menu.png</#if>"}
|
|
||||||
</#list>
|
|
||||||
</#if>
|
|
||||||
];
|
|
||||||
|
|
||||||
$(document).ready(function(){
|
|
||||||
$.fn.zTree.init($("#organTree"), setting, zNodes);
|
|
||||||
});
|
|
||||||
</SCRIPT>
|
|
@ -31,9 +31,6 @@
|
|||||||
<button class="layui-btn layui-btn-danger layui-btn-small" href="/admin/organ/delete.html?id=${organData.id!''}" data-toggle="tip" data-title="请确认是否删除该部门?">
|
<button class="layui-btn layui-btn-danger layui-btn-small" href="/admin/organ/delete.html?id=${organData.id!''}" data-toggle="tip" data-title="请确认是否删除该部门?">
|
||||||
删除部门
|
删除部门
|
||||||
</button>
|
</button>
|
||||||
<button class="layui-btn layui-btn-danger layui-btn-small" href="/admin/organ/auth.html?id=${organData.id!''}" data-toggle="ajax" title="给机构授权角色" data-width="400" data-height="450">
|
|
||||||
部门授权
|
|
||||||
</button>
|
|
||||||
</#if>
|
</#if>
|
||||||
</span>
|
</span>
|
||||||
</h1>
|
</h1>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user