1
0
mirror of https://github.com/chatopera/cosin.git synced 2025-08-01 16:38:02 +08:00

Fix SysDicRepository related class

This commit is contained in:
dengchao@xgtl 2020-04-16 16:43:20 +08:00
parent a3e5b1660e
commit 4f4616ccba
7 changed files with 796 additions and 803 deletions

View File

@ -31,8 +31,9 @@ import com.chatopera.cc.persistence.repository.UserRepository;
import com.chatopera.cc.proxy.OnlineUserProxy;
import com.chatopera.cc.socketio.client.NettyClients;
import com.chatopera.cc.util.Menu;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.lang.NonNull;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
@ -45,28 +46,29 @@ import java.util.Date;
import java.util.List;
@Controller
@RequiredArgsConstructor
public class AdminController extends Handler {
@Autowired
private ACDWorkMonitor acdWorkMonitor;
@NonNull
private final ACDWorkMonitor acdWorkMonitor;
@Autowired
private UserRepository userRes;
@NonNull
private final UserRepository userRes;
@Autowired
private OnlineUserRepository onlineUserRes;
@NonNull
private final OnlineUserRepository onlineUserRes;
@Autowired
private UserEventRepository userEventRes;
@NonNull
private final UserEventRepository userEventRes;
@Autowired
private SysDicRepository sysDicRes;
@NonNull
private final SysDicRepository sysDicRes;
@Autowired
private Cache cache;
@NonNull
private final Cache cache;
@RequestMapping("/admin")
public ModelAndView index(ModelMap map, HttpServletRequest request) {
public ModelAndView index(HttpServletRequest request) {
ModelAndView view = request(super.createRequestPageTempletResponse("redirect:/"));
User user = super.getUser(request);
view.addObject("agentStatusReport", acdWorkMonitor.getAgentReport(user.getOrgi()));
@ -107,13 +109,13 @@ public class AdminController extends Handler {
private List<User> getAgent(HttpServletRequest request) {
//获取当前产品or租户坐席数
List<User> userList = new ArrayList<>();
List<User> userList;
if (super.isEnabletneant()) {
userList = userRes.findByOrgidAndAgentAndDatastatus(super.getOrgid(request), true, false);
} else {
userList = userRes.findByOrgiAndAgentAndDatastatus(super.getOrgi(request), true, false);
}
return userList.isEmpty() ? new ArrayList<User>() : userList;
return userList.isEmpty() ? new ArrayList<>() : userList;
}
@RequestMapping("/admin/content")
@ -131,7 +133,7 @@ public class AdminController extends Handler {
@RequestMapping("/admin/auth/infoacq")
@Menu(type = "admin", subtype = "infoacq", admin = true)
public ModelAndView infoacq(ModelMap map, HttpServletRequest request) {
public ModelAndView infoacq(HttpServletRequest request) {
String inacq = (String) request.getSession().getAttribute(Constants.CSKEFU_SYSTEM_INFOACQ);
if (StringUtils.isNotBlank(inacq)) {
request.getSession().removeAttribute(Constants.CSKEFU_SYSTEM_INFOACQ);
@ -143,7 +145,7 @@ public class AdminController extends Handler {
@RequestMapping("/admin/auth/event")
@Menu(type = "admin", subtype = "authevent")
public ModelAndView authevent(ModelMap map, HttpServletRequest request, @Valid String title, @Valid String url, @Valid String iconstr, @Valid String icontext) {
public ModelAndView authevent(ModelMap map, @Valid String title, @Valid String url, @Valid String iconstr, @Valid String icontext) {
map.addAttribute("title", title);
map.addAttribute("url", url);
if (StringUtils.isNotBlank(iconstr) && StringUtils.isNotBlank(icontext)) {
@ -154,7 +156,7 @@ public class AdminController extends Handler {
@RequestMapping("/admin/auth/save")
@Menu(type = "admin", subtype = "authsave")
public ModelAndView authsave(ModelMap map, HttpServletRequest request, @Valid String title, @Valid SysDic dic) {
public ModelAndView authsave(HttpServletRequest request, @Valid SysDic dic) {
SysDic sysDic = sysDicRes.findByCode(Constants.CSKEFU_SYSTEM_AUTH_DIC);
boolean newdic = false;
if (sysDic != null && StringUtils.isNotBlank(dic.getName())) {

View File

@ -25,7 +25,8 @@ import com.chatopera.cc.model.SysDic;
import com.chatopera.cc.persistence.repository.AreaTypeRepository;
import com.chatopera.cc.persistence.repository.SysDicRepository;
import com.chatopera.cc.util.Menu;
import org.springframework.beans.factory.annotation.Autowired;
import lombok.RequiredArgsConstructor;
import org.springframework.lang.NonNull;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
@ -33,92 +34,89 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import java.io.IOException;
import java.util.Date;
/**
*
* @author 程序猿DD
* @author <a href="http://blog.didispace.com">程序猿DD</a>
* @version 1.0.0
* @blog http://blog.didispace.com
*
*/
@Controller
@RequestMapping("/admin/area")
public class AreaController extends Handler{
@RequiredArgsConstructor
public class AreaController extends Handler {
@Autowired
private AreaTypeRepository areaRepository;
@NonNull
private final AreaTypeRepository areaRepository;
@Autowired
private SysDicRepository sysDicRepository;
@NonNull
private final SysDicRepository sysDicRepository;
@RequestMapping("/index")
@Menu(type = "admin" , subtype = "area")
public ModelAndView index(ModelMap map , HttpServletRequest request) throws IOException {
@Menu(type = "admin", subtype = "area")
public ModelAndView index(ModelMap map, HttpServletRequest request) {
map.addAttribute("areaList", areaRepository.findByOrgi(super.getOrgi(request)));
return request(super.createAdminTempletResponse("/admin/area/index"));
}
@RequestMapping("/add")
@Menu(type = "admin" , subtype = "area")
public ModelAndView add(ModelMap map , HttpServletRequest request) {
SysDic sysDic = sysDicRepository.findByCode(Constants.CSKEFU_SYSTEM_AREA_DIC) ;
if(sysDic!=null){
map.addAttribute("sysarea", sysDic) ;
map.addAttribute("areaList", sysDicRepository.findByDicid(sysDic.getId())) ;
@Menu(type = "admin", subtype = "area")
public ModelAndView add(ModelMap map) {
SysDic sysDic = sysDicRepository.findByCode(Constants.CSKEFU_SYSTEM_AREA_DIC);
if (sysDic != null) {
map.addAttribute("sysarea", sysDic);
map.addAttribute("areaList", sysDicRepository.findByDicid(sysDic.getId()));
}
map.addAttribute("cacheList", Dict.getInstance().getDic(Constants.CSKEFU_SYSTEM_AREA_DIC)) ;
map.addAttribute("cacheList", Dict.getInstance().getDic(Constants.CSKEFU_SYSTEM_AREA_DIC));
return request(super.createRequestPageTempletResponse("/admin/area/add"));
}
@RequestMapping("/save")
@Menu(type = "admin" , subtype = "area")
public ModelAndView save(HttpServletRequest request ,@Valid AreaType area) {
int areas = areaRepository.countByNameAndOrgi(area.getName(), super.getOrgi(request)) ;
if(areas == 0){
@Menu(type = "admin", subtype = "area")
public ModelAndView save(HttpServletRequest request, @Valid AreaType area) {
int areas = areaRepository.countByNameAndOrgi(area.getName(), super.getOrgi(request));
if (areas == 0) {
area.setOrgi(super.getOrgi(request));
area.setCreatetime(new Date());
area.setCreater(super.getUser(request).getId());
areaRepository.save(area) ;
areaRepository.save(area);
MainUtils.initSystemArea();
}
return request(super.createRequestPageTempletResponse("redirect:/admin/area/index.html"));
}
@RequestMapping("/edit")
@Menu(type = "admin" , subtype = "area")
public ModelAndView edit(ModelMap map ,HttpServletRequest request , @Valid String id) {
map.addAttribute("area", areaRepository.findByIdAndOrgi(id, super.getOrgi(request))) ;
@Menu(type = "admin", subtype = "area")
public ModelAndView edit(ModelMap map, HttpServletRequest request, @Valid String id) {
map.addAttribute("area", areaRepository.findByIdAndOrgi(id, super.getOrgi(request)));
SysDic sysDic = sysDicRepository.findByCode(Constants.CSKEFU_SYSTEM_AREA_DIC) ;
if(sysDic!=null){
map.addAttribute("sysarea", sysDic) ;
map.addAttribute("areaList", sysDicRepository.findByDicid(sysDic.getId())) ;
SysDic sysDic = sysDicRepository.findByCode(Constants.CSKEFU_SYSTEM_AREA_DIC);
if (sysDic != null) {
map.addAttribute("sysarea", sysDic);
map.addAttribute("areaList", sysDicRepository.findByDicid(sysDic.getId()));
}
map.addAttribute("cacheList", Dict.getInstance().getDic(Constants.CSKEFU_SYSTEM_AREA_DIC)) ;
map.addAttribute("cacheList", Dict.getInstance().getDic(Constants.CSKEFU_SYSTEM_AREA_DIC));
return request(super.createRequestPageTempletResponse("/admin/area/edit"));
}
@RequestMapping("/update")
@Menu(type = "admin" , subtype = "area" , admin = true)
public ModelAndView update(HttpServletRequest request ,@Valid AreaType area) {
AreaType areaType = areaRepository.findByIdAndOrgi(area.getId(), super.getOrgi(request)) ;
if(areaType != null){
@Menu(type = "admin", subtype = "area", admin = true)
public ModelAndView update(HttpServletRequest request, @Valid AreaType area) {
AreaType areaType = areaRepository.findByIdAndOrgi(area.getId(), super.getOrgi(request));
if (areaType != null) {
area.setCreatetime(areaType.getCreatetime());
area.setOrgi(super.getOrgi(request));
area.setCreater(areaType.getCreater());
areaRepository.save(area) ;
areaRepository.save(area);
MainUtils.initSystemArea();
}
return request(super.createRequestPageTempletResponse("redirect:/admin/area/index.html"));
}
@RequestMapping("/delete")
@Menu(type = "admin" , subtype = "area")
public ModelAndView delete(HttpServletRequest request ,@Valid AreaType area) {
AreaType areaType = areaRepository.findByIdAndOrgi(area.getId(), super.getOrgi(request)) ;
if(areaType!=null){
@Menu(type = "admin", subtype = "area")
public ModelAndView delete(HttpServletRequest request, @Valid AreaType area) {
AreaType areaType = areaRepository.findByIdAndOrgi(area.getId(), super.getOrgi(request));
if (areaType != null) {
areaRepository.delete(areaType);
MainUtils.initSystemArea();
}

View File

@ -26,10 +26,11 @@ import com.chatopera.cc.proxy.OnlineUserProxy;
import com.chatopera.cc.proxy.OrganProxy;
import com.chatopera.cc.proxy.UserProxy;
import com.chatopera.cc.util.Menu;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.lang.NonNull;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
@ -43,45 +44,45 @@ import java.util.Date;
import java.util.List;
/**
* @author 程序猿DD
* @author <a href="http://blog.didispace.com">程序猿DD</a>
* @version 1.0.0
* @blog http://blog.didispace.com
*/
@Controller
@RequiredArgsConstructor
@RequestMapping("/admin/organ")
public class OrganController extends Handler {
private final static Logger logger = LoggerFactory.getLogger(OrganController.class);
@Autowired
private OrganRepository organRepository;
@NonNull
private final OrganRepository organRepository;
@Autowired
private OrganUserRepository organUserRes;
@NonNull
private final OrganUserRepository organUserRes;
@Autowired
private RoleRepository roleRepository;
@NonNull
private final RoleRepository roleRepository;
@Autowired
private SysDicRepository sysDicRepository;
@NonNull
private final SysDicRepository sysDicRepository;
@Autowired
private AreaTypeRepository areaRepository;
@NonNull
private final AreaTypeRepository areaRepository;
@Autowired
private UserRepository userRepository;
@NonNull
private final UserRepository userRepository;
@Autowired
private OrganRoleRepository organRoleRes;
@NonNull
private final OrganRoleRepository organRoleRes;
@Autowired
private OrganProxy organProxy;
@NonNull
private final OrganProxy organProxy;
@Autowired
private Cache cache;
@NonNull
private final Cache cache;
@Autowired
private UserProxy userProxy;
@NonNull
private final UserProxy userProxy;
@RequestMapping("/index")
@Menu(type = "admin", subtype = "organ")
@ -166,11 +167,6 @@ public class OrganController extends Handler {
/**
* 添加用户到当前部门时选择坐席
*
* @param map
* @param request
* @param organ
* @return
*/
@RequestMapping("/seluser")
@Menu(type = "admin", subtype = "seluser", admin = true)
@ -188,11 +184,6 @@ public class OrganController extends Handler {
/**
* 执行添加用户到组织中
*
* @param request
* @param users
* @param organ
* @return
*/
@RequestMapping("/saveuser")
@Menu(type = "admin", subtype = "saveuser", admin = true)
@ -205,13 +196,13 @@ public class OrganController extends Handler {
final User loginUser = super.getUser(request);
if (users != null && users.length > 0) {
List<String> chosen = new ArrayList<String>(Arrays.asList(users));
List<String> chosen = new ArrayList<>(Arrays.asList(users));
Organ organData = organRepository.findByIdAndOrgi(organ, super.getOrgiByTenantshare(request));
List<User> organUserList = userRepository.findAll(chosen);
List<User> organUserList = userRepository.findAllById(chosen);
for (final User user : organUserList) {
OrganUser ou = organUserRes.findByUseridAndOrgan(user.getId(), organ);
/**
/*
* 检查人员和技能组关系
*/
if (organData.isSkill()) {
@ -236,7 +227,7 @@ public class OrganController extends Handler {
organUserRes.save(ou);
if (user.isAgent()) {
/**
/*
* 以下更新技能组状态
*/
AgentStatus agentStatus = cache.findOneAgentStatusByAgentnoAndOrig(
@ -251,7 +242,7 @@ public class OrganController extends Handler {
}
}
}
userRepository.save(organUserList);
userRepository.saveAll(organUserList);
OnlineUserProxy.clean(super.getOrgi(request));
}
@ -332,17 +323,17 @@ public class OrganController extends Handler {
public ModelAndView delete(HttpServletRequest request, @Valid Organ organ) {
String msg = "admin_organ_delete";
if (organ != null) {
Organ organSelf = organRepository.findByIdAndOrgi(organ.getId(), super.getOrgiByTenantshare(request));
List<Organ> organParentAre = organRepository.findByOrgiAndParent(organSelf.getOrgi(), organSelf.getId());
if (organ != null && organParentAre != null && organParentAre.size() > 0) {
if (organParentAre != null && organParentAre.size() > 0) {
msg = "admin_oran_not_delete";
} else if (organ != null) {
} else {
List<OrganUser> organUsers = organUserRes.findByOrgan(organ.getId());
organUserRes.deleteInBatch(organUsers);
organRepository.delete(organ);
OnlineUserProxy.clean(super.getOrgi(request));
} else {
msg = "admin_organ_not_exist";
}
}
return request(super.createRequestPageTempletResponse("redirect:/admin/organ/index.html?msg=" + msg));
}
@ -352,7 +343,7 @@ public class OrganController extends Handler {
public ModelAndView authsave(HttpServletRequest request, @Valid String id, @Valid String menus) {
Organ organData = organRepository.findByIdAndOrgi(id, super.getOrgiByTenantshare(request));
List<OrganRole> organRoleList = organRoleRes.findByOrgiAndOrgan(super.getOrgiByTenantshare(request), organData);
organRoleRes.delete(organRoleList);
organRoleRes.deleteAll(organRoleList);
if (!StringUtils.isBlank(menus)) {
String[] menusarray = menus.split(",");
for (String menu : menusarray) {

View File

@ -22,11 +22,12 @@ import com.chatopera.cc.controller.Handler;
import com.chatopera.cc.model.*;
import com.chatopera.cc.persistence.repository.*;
import com.chatopera.cc.util.Menu;
import lombok.RequiredArgsConstructor;
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.domain.PageRequest;
import org.springframework.lang.NonNull;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
@ -38,25 +39,26 @@ import java.util.Date;
import java.util.List;
@Controller
@RequiredArgsConstructor
@RequestMapping("/admin/role")
public class RoleController extends Handler {
private final static Logger logger = LoggerFactory.getLogger(RoleController.class);
@Autowired
private RoleRepository roleRepository;
@NonNull
private final RoleRepository roleRepository;
@Autowired
private UserRoleRepository userRoleRes;
@NonNull
private final UserRoleRepository userRoleRes;
@Autowired
private RoleAuthRepository roleAuthRes;
@NonNull
private final RoleAuthRepository roleAuthRes;
@Autowired
private UserRepository userRepository;
@NonNull
private final UserRepository userRepository;
@Autowired
private SysDicRepository sysDicRes;
@NonNull
private final SysDicRepository sysDicRes;
@RequestMapping("/index")
@Menu(type = "admin", subtype = "role")
@ -85,7 +87,7 @@ public class RoleController extends Handler {
@RequestMapping("/add")
@Menu(type = "admin", subtype = "role")
public ModelAndView add(ModelMap map, HttpServletRequest request) {
public ModelAndView add() {
return request(super.createRequestPageTempletResponse("/admin/role/add"));
}
@ -135,10 +137,10 @@ public class RoleController extends Handler {
for (UserRole userRole : userRoleList) {
if (user.equals(userRole.getUser().getId())) {
exist = true;
continue;
break;
}
}
if (exist == false) {
if (!exist) {
UserRole userRole = new UserRole();
userRole.setUser(new User(user));
userRole.setRole(new Role(role));
@ -153,16 +155,16 @@ public class RoleController extends Handler {
@RequestMapping("/user/delete")
@Menu(type = "admin", subtype = "role")
public ModelAndView userroledelete(HttpServletRequest request, @Valid String id, @Valid String role) {
public ModelAndView userroledelete(@Valid String id, @Valid String role) {
if (role != null) {
userRoleRes.delete(id);
userRoleRes.deleteById(id);
}
return request(super.createRequestPageTempletResponse("redirect:/admin/role/index.html?role=" + role));
}
@RequestMapping("/edit")
@Menu(type = "admin", subtype = "role")
public ModelAndView edit(ModelMap map, HttpServletRequest request, @Valid String id) {
public ModelAndView edit(HttpServletRequest request, @Valid String id) {
ModelAndView view = request(super.createRequestPageTempletResponse("/admin/role/edit"));
view.addObject("roleData", roleRepository.findByIdAndOrgi(id, super.getOrgiByTenantshare(request)));
return view;
@ -197,7 +199,7 @@ public class RoleController extends Handler {
public ModelAndView delete(HttpServletRequest request, @Valid Role role) {
String msg = "admin_role_delete";
if (role != null) {
userRoleRes.delete(userRoleRes.findByOrgiAndRole(super.getOrgiByTenantshare(request), role));
userRoleRes.deleteAll(userRoleRes.findByOrgiAndRole(super.getOrgiByTenantshare(request), role));
roleRepository.delete(role);
} else {
msg = "admin_role_not_exist";
@ -226,7 +228,7 @@ public class RoleController extends Handler {
logger.info("[authsave] id {}, menus {}", id, menus);
List<RoleAuth> roleAuthList = roleAuthRes.findByRoleidAndOrgi(id, super.getOrgiByTenantshare(request));
roleAuthRes.delete(roleAuthList);
roleAuthRes.deleteAll(roleAuthList);
if (StringUtils.isNotBlank(menus)) {
String[] menuarray = menus.split(",");

View File

@ -21,13 +21,16 @@ import com.chatopera.cc.controller.Handler;
import com.chatopera.cc.model.SysDic;
import com.chatopera.cc.persistence.repository.SysDicRepository;
import com.chatopera.cc.util.Menu;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort.Direction;
import org.springframework.http.HttpStatus;
import org.springframework.lang.NonNull;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.server.ResponseStatusException;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
@ -36,15 +39,14 @@ import java.util.Date;
import java.util.List;
@Controller
@RequiredArgsConstructor
@RequestMapping("/admin/sysdic")
public class SysDicController extends Handler {
@NonNull
private final SysDicRepository sysDicRes;
@Autowired
private SysDicRepository sysDicRes;
@Autowired
private Cache cache;
@NonNull
private final Cache cache;
@RequestMapping("/index")
@Menu(type = "admin", subtype = "sysdic")
@ -55,7 +57,7 @@ public class SysDicController extends Handler {
@RequestMapping("/add")
@Menu(type = "admin", subtype = "sysdic")
public ModelAndView add(ModelMap map, HttpServletRequest request) {
public ModelAndView add() {
return request(super.createRequestPageTempletResponse("/admin/system/sysdic/add"));
}
@ -80,7 +82,7 @@ public class SysDicController extends Handler {
@RequestMapping("/edit")
@Menu(type = "admin", subtype = "sysdic")
public ModelAndView edit(ModelMap map, HttpServletRequest request, @Valid String id, @Valid String p) {
public ModelAndView edit(ModelMap map, @Valid String id, @Valid String p) {
map.addAttribute("sysDic", sysDicRes.findById(id));
map.addAttribute("p", p);
return request(super.createRequestPageTempletResponse("/admin/system/sysdic/edit"));
@ -91,7 +93,8 @@ public class SysDicController extends Handler {
public ModelAndView update(HttpServletRequest request, @Valid SysDic dic, @Valid String p) {
List<SysDic> sysDicList = sysDicRes.findByCodeOrName(dic.getCode(), dic.getName());
if (sysDicList.size() == 0 || (sysDicList.size() == 1 && sysDicList.get(0).getId().equals(dic.getId()))) {
SysDic sysDic = sysDicRes.findById(dic.getId());
SysDic sysDic = sysDicRes.findById(dic.getId())
.orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND, "Value not found for " + dic.getId()));
sysDic.setName(dic.getName());
sysDic.setCode(dic.getCode());
sysDic.setCtype(dic.getCtype());
@ -107,9 +110,10 @@ public class SysDicController extends Handler {
@RequestMapping("/delete")
@Menu(type = "admin", subtype = "sysdic")
public ModelAndView delete(ModelMap map, HttpServletRequest request, @Valid String id, @Valid String p) {
SysDic sysDic = sysDicRes.findById(id);
sysDicRes.delete(sysDicRes.findByDicid(id));
public ModelAndView delete(HttpServletRequest request, @Valid String id, @Valid String p) {
SysDic sysDic = sysDicRes.findById(id)
.orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND, "Value not found for " + id));
sysDicRes.deleteAll(sysDicRes.findByDicid(id));
sysDicRes.delete(sysDic);
reloadSysDicItem(sysDic, super.getOrgi(request));
@ -127,7 +131,7 @@ public class SysDicController extends Handler {
@RequestMapping("/dicitem/add")
@Menu(type = "admin", subtype = "sysdic")
public ModelAndView dicitemadd(ModelMap map, HttpServletRequest request, @Valid String id, @Valid String p) {
public ModelAndView dicitemadd(ModelMap map, @Valid String id, @Valid String p) {
map.addAttribute("sysDic", sysDicRes.findById(id));
map.addAttribute("p", p);
return request(super.createRequestPageTempletResponse("/admin/system/sysdic/dicitemadd"));
@ -154,8 +158,6 @@ public class SysDicController extends Handler {
/**
* 更新系统词典缓存
* @param dic
* @param orgi
*/
public void reloadSysDicItem(final SysDic dic, final String orgi) {
cache.putSysDicByOrgi(dic.getId(), orgi, dic);
@ -176,7 +178,7 @@ public class SysDicController extends Handler {
@RequestMapping("/dicitem/batadd")
@Menu(type = "admin", subtype = "sysdic")
public ModelAndView dicitembatadd(ModelMap map, HttpServletRequest request, @Valid String id, @Valid String p) {
public ModelAndView dicitembatadd(ModelMap map, @Valid String id, @Valid String p) {
map.addAttribute("sysDic", sysDicRes.findById(id));
map.addAttribute("p", p);
return request(super.createRequestPageTempletResponse("/admin/system/sysdic/batadd"));
@ -185,11 +187,11 @@ public class SysDicController extends Handler {
@RequestMapping("/dicitem/batsave")
@Menu(type = "admin", subtype = "sysdic")
public ModelAndView dicitembatsave(HttpServletRequest request, @Valid SysDic sysDic, @Valid String content, @Valid String p) {
String[] dicitems = content.split("[\n\r\n]");
String[] dicitems = content.split("[\n\r]");
int count = 0;
String orig = super.getOrgi(request);
for (String dicitem : dicitems) {
String[] dicValues = dicitem.split("[\t, ;]{1,}");
String[] dicValues = dicitem.split("[\t, ;]+");
if (dicValues.length == 2 && dicValues[0].length() > 0 && dicValues[1].length() > 0) {
SysDic dic = new SysDic();
dic.setOrgi(orig);
@ -215,7 +217,7 @@ public class SysDicController extends Handler {
@RequestMapping("/dicitem/edit")
@Menu(type = "admin", subtype = "sysdic")
public ModelAndView dicitemedit(ModelMap map, HttpServletRequest request, @Valid String id, @Valid String p) {
public ModelAndView dicitemedit(ModelMap map, @Valid String id, @Valid String p) {
map.addAttribute("sysDic", sysDicRes.findById(id));
map.addAttribute("p", p);
return request(super.createRequestPageTempletResponse("/admin/system/sysdic/dicitemedit"));
@ -227,7 +229,8 @@ public class SysDicController extends Handler {
List<SysDic> sysDicList = sysDicRes.findByDicidAndName(dic.getDicid(), dic.getName());
String orgi = super.getOrgi(request);
if (sysDicList.size() == 0 || (sysDicList.size() == 1 && sysDicList.get(0).getId().equals(dic.getId()))) {
SysDic sysDic = sysDicRes.findById(dic.getId());
SysDic sysDic = sysDicRes.findById(dic.getId())
.orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND, "Value not found for " + dic.getId()));
sysDic.setName(dic.getName());
sysDic.setCode(dic.getCode());
sysDic.setCtype(dic.getCtype());
@ -245,8 +248,8 @@ public class SysDicController extends Handler {
@RequestMapping("/dicitem/delete")
@Menu(type = "admin", subtype = "sysdic")
public ModelAndView dicitemdelete(ModelMap map, HttpServletRequest request, @Valid String id, @Valid String p) {
sysDicRes.delete(sysDicRes.findByDicid(id));
public ModelAndView dicitemdelete(HttpServletRequest request, @Valid String id, @Valid String p) {
sysDicRes.deleteAll(sysDicRes.findByDicid(id));
SysDic dic = sysDicRes.getOne(id);
sysDicRes.delete(dic);
reloadSysDicItem(dic, super.getOrgi(request));

View File

@ -26,8 +26,9 @@ import com.chatopera.cc.model.Template;
import com.chatopera.cc.persistence.repository.SysDicRepository;
import com.chatopera.cc.persistence.repository.TemplateRepository;
import com.chatopera.cc.util.Menu;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.lang.NonNull;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
@ -43,51 +44,51 @@ import java.util.Date;
import java.util.List;
@Controller
@RequiredArgsConstructor
@RequestMapping("/admin/template")
public class TemplateController extends Handler{
public class TemplateController extends Handler {
@NonNull
private final TemplateRepository templateRes;
@Autowired
private TemplateRepository templateRes;
@NonNull
private final SysDicRepository dicRes;
@Autowired
private SysDicRepository dicRes;
@Autowired
private Cache cache;
@NonNull
private final Cache cache;
@RequestMapping("/index")
@Menu(type = "admin" , subtype = "template" , access = false , admin = true)
public ModelAndView index(ModelMap map , HttpServletRequest request) {
@Menu(type = "admin", subtype = "template", access = false, admin = true)
public ModelAndView index(ModelMap map, HttpServletRequest request) {
map.addAttribute("sysDicList", Dict.getInstance().getDic(Constants.CSKEFU_SYSTEM_DIC));
return request(super.createAdminTempletResponse("/admin/system/template/index"));
}
@RequestMapping("/expall")
@Menu(type = "admin" , subtype = "template" , access = false , admin = true)
public void expall(ModelMap map , HttpServletRequest request , HttpServletResponse response) throws Exception {
List<Template> templateList = templateRes.findByOrgi(super.getOrgi(request)) ;
response.setHeader("content-disposition", "attachment;filename=UCKeFu-Template-Export-"+new SimpleDateFormat("yyyy-MM-dd").format(new Date())+".data");
@Menu(type = "admin", subtype = "template", access = false, admin = true)
public void expall(ModelMap map, HttpServletRequest request, HttpServletResponse response) throws Exception {
List<Template> templateList = templateRes.findByOrgi(super.getOrgi(request));
response.setHeader("content-disposition", "attachment;filename=UCKeFu-Template-Export-" + new SimpleDateFormat("yyyy-MM-dd").format(new Date()) + ".data");
response.getOutputStream().write(MainUtils.toBytes(templateList));
return ;
return;
}
@RequestMapping("/imp")
@Menu(type = "admin" , subtype = "template" , access = false , admin = true)
public ModelAndView imp(ModelMap map , HttpServletRequest request) {
@Menu(type = "admin", subtype = "template", access = false, admin = true)
public ModelAndView imp(ModelMap map, HttpServletRequest request) {
return request(super.createRequestPageTempletResponse("/admin/system/template/imp"));
}
@SuppressWarnings("unchecked")
@RequestMapping("/impsave")
@Menu(type = "admin" , subtype = "template" , access = false , admin = true)
public ModelAndView impsave(ModelMap map , HttpServletRequest request , @RequestParam(value = "dataFile", required = false) MultipartFile dataFile) throws Exception {
if(dataFile!=null && dataFile.getSize() > 0){
List<Template> templateList = (List<Template>) MainUtils.toObject(dataFile.getBytes()) ;
if(templateList!=null && templateList.size() >0){
@Menu(type = "admin", subtype = "template", access = false, admin = true)
public ModelAndView impsave(ModelMap map, HttpServletRequest request, @RequestParam(value = "dataFile", required = false) MultipartFile dataFile) throws Exception {
if (dataFile != null && dataFile.getSize() > 0) {
List<Template> templateList = (List<Template>) MainUtils.toObject(dataFile.getBytes());
if (templateList != null && templateList.size() > 0) {
templateRes.deleteInBatch(templateList);
for(Template template : templateList){
templateRes.save(template) ;
for (Template template : templateList) {
templateRes.save(template);
}
}
}
@ -95,53 +96,52 @@ public class TemplateController extends Handler{
}
@RequestMapping("/list")
@Menu(type = "admin" , subtype = "template" , access = false , admin = true)
public ModelAndView list(ModelMap map , HttpServletRequest request ,@Valid String type) {
@Menu(type = "admin", subtype = "template", access = false, admin = true)
public ModelAndView list(ModelMap map, HttpServletRequest request, @Valid String type) {
map.addAttribute("sysDic", dicRes.findById(type));
map.addAttribute("templateList", templateRes.findByTemplettypeAndOrgi(type, super.getOrgi(request)));
return request(super.createAdminTempletResponse("/admin/system/template/list"));
}
@RequestMapping("/add")
@Menu(type = "admin" , subtype = "template" , access = false , admin = true)
public ModelAndView add(ModelMap map , HttpServletRequest request ,@Valid String type) {
@Menu(type = "admin", subtype = "template", access = false, admin = true)
public ModelAndView add(ModelMap map, HttpServletRequest request, @Valid String type) {
map.addAttribute("sysDic", dicRes.findById(type));
return request(super.createRequestPageTempletResponse("/admin/system/template/add"));
}
@RequestMapping( "/save")
@Menu(type = "admin" , subtype = "template" , access = false , admin = true)
public ModelAndView save(HttpServletRequest request , @Valid Template template) {
@RequestMapping("/save")
@Menu(type = "admin", subtype = "template", access = false, admin = true)
public ModelAndView save(HttpServletRequest request, @Valid Template template) {
template.setOrgi(super.getOrgi(request));
template.setCreatetime(new Date());
SysDic dic = dicRes.findById(template.getTemplettype());
if(dic!=null && StringUtils.isBlank(template.getCode())) {
String dicId = template.getTemplettype();
SysDic dic = dicRes.findById(dicId).orElse(null);
if (dic != null && StringUtils.isBlank(template.getCode())) {
template.setCode(dic.getCode());
}
templateRes.save(template) ;
templateRes.save(template);
return request(super.createRequestPageTempletResponse("redirect:/admin/template/list.html?type="+template.getTemplettype()));
return request(super.createRequestPageTempletResponse("redirect:/admin/template/list.html?type=" + dicId));
}
@RequestMapping("/edit")
@Menu(type = "admin" , subtype = "template" , access = false , admin = true)
public ModelAndView edit(ModelMap map , HttpServletRequest request , @Valid String id, @Valid String type) {
@Menu(type = "admin", subtype = "template", access = false, admin = true)
public ModelAndView edit(ModelMap map, HttpServletRequest request, @Valid String id, @Valid String type) {
map.addAttribute("sysDic", dicRes.findById(type));
map.addAttribute("template", templateRes.findByIdAndOrgi(id, super.getOrgi(request))) ;
map.addAttribute("template", templateRes.findByIdAndOrgi(id, super.getOrgi(request)));
return request(super.createRequestPageTempletResponse("/admin/system/template/edit"));
}
@RequestMapping( "/update")
@Menu(type = "admin" , subtype = "template" , access = false , admin = true)
public ModelAndView update(HttpServletRequest request , @Valid Template template) {
Template oldTemplate = templateRes.findByIdAndOrgi(template.getId(), super.getOrgi(request)) ;
if(oldTemplate!=null){
SysDic dic = dicRes.findById(oldTemplate.getTemplettype());
if(dic!=null) {
oldTemplate.setCode(dic.getCode());
}
if(!StringUtils.isBlank(template.getCode())) {
@RequestMapping("/update")
@Menu(type = "admin", subtype = "template", access = false, admin = true)
public ModelAndView update(HttpServletRequest request, @Valid Template template) {
Template oldTemplate = templateRes.findByIdAndOrgi(template.getId(), super.getOrgi(request));
if (oldTemplate != null) {
String dicId = oldTemplate.getTemplettype();
dicRes.findById(dicId).ifPresent(dic -> oldTemplate.setCode(dic.getCode()));
if (!StringUtils.isBlank(template.getCode())) {
oldTemplate.setCode(template.getCode());
}
oldTemplate.setName(template.getName());
@ -149,44 +149,41 @@ public class TemplateController extends Handler{
oldTemplate.setIconstr(template.getIconstr());
oldTemplate.setDatatype(template.getDatatype());
oldTemplate.setCharttype(template.getCharttype());
templateRes.save(oldTemplate) ;
templateRes.save(oldTemplate);
cache.deleteSystembyIdAndOrgi(template.getId(), super.getOrgi(request));
}
return request(super.createRequestPageTempletResponse("redirect:/admin/template/list.html?type="+template.getTemplettype()));
return request(super.createRequestPageTempletResponse("redirect:/admin/template/list.html?type=" + template.getTemplettype()));
}
@RequestMapping("/code")
@Menu(type = "admin" , subtype = "template" , access = false , admin = true)
public ModelAndView code(ModelMap map , HttpServletRequest request , @Valid String id, @Valid String type) {
@Menu(type = "admin", subtype = "template", access = false, admin = true)
public ModelAndView code(ModelMap map, HttpServletRequest request, @Valid String id, @Valid String type) {
map.addAttribute("sysDic", dicRes.findById(type));
map.addAttribute("template", templateRes.findByIdAndOrgi(id, super.getOrgi(request))) ;
map.addAttribute("template", templateRes.findByIdAndOrgi(id, super.getOrgi(request)));
return request(super.createRequestPageTempletResponse("/admin/system/template/code"));
}
@RequestMapping( "/codesave")
@Menu(type = "admin" , subtype = "template" , access = false , admin = true)
public ModelAndView codesave(HttpServletRequest request , @Valid Template template) {
Template oldTemplate = templateRes.findByIdAndOrgi(template.getId(), super.getOrgi(request)) ;
if(oldTemplate!=null){
@RequestMapping("/codesave")
@Menu(type = "admin", subtype = "template", access = false, admin = true)
public ModelAndView codesave(HttpServletRequest request, @Valid Template template) {
Template oldTemplate = templateRes.findByIdAndOrgi(template.getId(), super.getOrgi(request));
if (oldTemplate != null) {
oldTemplate.setTemplettext(template.getTemplettext());
oldTemplate.setTemplettitle(template.getTemplettitle());
templateRes.save(oldTemplate) ;
templateRes.save(oldTemplate);
cache.deleteSystembyIdAndOrgi(template.getId(), super.getOrgi(request));
}
return request(super.createRequestPageTempletResponse("redirect:/admin/template/list.html?type="+template.getTemplettype()));
return request(super.createRequestPageTempletResponse("redirect:/admin/template/list.html?type=" + template.getTemplettype()));
}
@RequestMapping("/delete")
@Menu(type = "admin" , subtype = "template" , access = false , admin = true)
public ModelAndView delete(HttpServletRequest request ,@Valid Template template) {
if(template!=null){
templateRes.delete(template) ;
@Menu(type = "admin", subtype = "template", access = false, admin = true)
public ModelAndView delete(HttpServletRequest request, @Valid Template template) {
templateRes.delete(template);
cache.deleteSystembyIdAndOrgi(template.getId(), super.getOrgi(request));
}
return request(super.createRequestPageTempletResponse("redirect:/admin/template/list.html?type="+template.getTemplettype()));
return request(super.createRequestPageTempletResponse("redirect:/admin/template/list.html?type=" + template.getTemplettype()));
}
}

View File

@ -23,10 +23,10 @@ import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
public interface SysDicRepository extends JpaRepository<SysDic, String>{
public interface SysDicRepository extends JpaRepository<SysDic, String> {
SysDic findById(String id);
// SysDic findById(String id);
SysDic findByCode(String code);