/* * Copyright [2021] [MaxKey of copyright http://www.maxkey.top] * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.maxkey.web.contorller; import java.util.HashMap; import java.util.List; import org.apache.mybatis.jpa.persistence.JpaPageResults; import org.maxkey.constants.ConstantsOperateMessage; import org.maxkey.entity.Synchronizers; import org.maxkey.persistence.service.SynchronizersService; import org.maxkey.synchronizer.ISynchronizerService; import org.maxkey.util.StringUtils; import org.maxkey.web.WebContext; import org.maxkey.web.message.Message; import org.maxkey.web.message.MessageType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; @Controller @RequestMapping(value={"/synchronizers"}) public class SynchronizersController { final static Logger _logger = LoggerFactory.getLogger(SynchronizersController.class); @Autowired @Qualifier("synchronizersService") SynchronizersService synchronizerssService; private static HashMap synchronizerMap =new HashMap(); static { synchronizerMap.put("1", "ldapSynchronizerService"); synchronizerMap.put("2", "activeDirectorySynchronizerService"); synchronizerMap.put("3", "dingdingSynchronizerService"); synchronizerMap.put("4", "workweixinSynchronizerService"); } @RequestMapping(value={"/list"}) public ModelAndView groupsList(){ return new ModelAndView("synchronizers/synchronizersList"); } @RequestMapping(value = { "/grid" }) @ResponseBody public JpaPageResults queryDataGrid(@ModelAttribute("synchronizers") Synchronizers synchronizers) { _logger.debug(""+synchronizers); return synchronizerssService.queryPageResults(synchronizers); } @RequestMapping(value = { "/forwardUpdate/{id}" }) public ModelAndView forwardUpdate(@PathVariable("id") String id) { ModelAndView modelAndView=new ModelAndView("synchronizers/synchronizerUpdate"); Synchronizers synchronizers=synchronizerssService.get(id); modelAndView.addObject("model",synchronizers); return modelAndView; } /** * 修改 * @param group * @return */ @ResponseBody @RequestMapping(value={"/update"}) public Message update(@ModelAttribute("synchronizers") Synchronizers synchronizers) { _logger.debug("-update synchronizers :" + synchronizers); if (synchronizerssService.update(synchronizers)) { return new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_SUCCESS),MessageType.success); } else { return new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_ERROR),MessageType.error); } } /** * 修改 * @param group * @return */ @ResponseBody @RequestMapping(value={"/sync"}) public Message sync(@RequestParam("id") String id) { _logger.debug("-update synchronizers ids :" + id); List ids = StringUtils.string2List(id, ","); try { for(String sysId : ids) { Synchronizers synchronizer = synchronizerssService.get(sysId); _logger.debug("synchronizer " + synchronizer); ISynchronizerService synchronizerService = (ISynchronizerService)WebContext.getBean(synchronizerMap.get(sysId)); synchronizerService.setSynchronizer(synchronizer); synchronizerService.sync(); } }catch(Exception e) { _logger.error("synchronizer Exception " , e); return new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_ERROR),MessageType.error); } return new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_SUCCESS),MessageType.success); } }