/** * Copyright 2016 benjobs * <p> * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you 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 * <p> * http://www.apache.org/licenses/LICENSE-2.0 * <p> * 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.opencron.server.controller; import com.alibaba.fastjson.JSON; import org.opencron.server.job.OpencronTools; import org.opencron.server.service.AgentService; import org.opencron.server.tag.PageBean; import org.opencron.common.utils.WebUtils; import org.opencron.server.domain.Role; import org.opencron.server.domain.User; import org.opencron.server.service.UserService; import org.quartz.SchedulerException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.util.Date; import java.util.List; import static org.opencron.common.utils.CommonUtils.notEmpty; /** * Created by ChenHui on 2016/2/18. */ @Controller @RequestMapping("/user") public class UserController extends BaseController { @Autowired private UserService userService; @Autowired private AgentService agentService; @RequestMapping("/view") public String queryUser(PageBean pageBean) { userService.queryUser(pageBean); return "/user/view"; } @RequestMapping("/detail") public String detail(Long userId, Model model) { User user = userService.queryUserById(userId); if (user == null) { return "/error/404"; } model.addAttribute("u", user); return "/user/detail"; } @RequestMapping("addpage") public String addPage(Model model) { List<Role> role = userService.getRoleGroup(); model.addAttribute("role", role); model.addAttribute("agents", agentService.getAll()); return "/user/add"; } @RequestMapping("add") public String add(HttpSession session, User user) { userService.addUser(user); return "redirect:/user/view?csrf=" + OpencronTools.getCSRF(session); } @RequestMapping("/editpage") public String editPage(HttpSession session, Model model, Long id) { if (!OpencronTools.isPermission(session) && !OpencronTools.getUserId(session).equals(id)) { return "redirect:/user/detail?csrf=" + OpencronTools.getCSRF(session); } User user = userService.queryUserById(id); if (user == null) { return "/error/404"; } model.addAttribute("u", user); model.addAttribute("role", userService.getRoleGroup()); model.addAttribute("agents", agentService.getAll()); return "/user/edit"; } @RequestMapping("/edit") public String edit(HttpSession session, User user) throws SchedulerException { User user1 = userService.getUserById(user.getUserId()); if (notEmpty(user.getRoleId()) && OpencronTools.isPermission(session)) { user1.setRoleId(user.getRoleId()); } user1.setAgentIds(user.getAgentIds()); user1.setRealName(user.getRealName()); user1.setContact(user.getContact()); user1.setEmail(user.getEmail()); user1.setQq(user.getQq()); user1.setModifyTime(new Date()); userService.updateUser(user1); return "redirect:/user/view?csrf=" + OpencronTools.getCSRF(session); } @RequestMapping("/pwdpage") public void pwdPage(HttpServletResponse response, Long id) { User user = userService.queryUserById(id); WebUtils.writeJson(response, JSON.toJSONString(user)); } @RequestMapping("/editpwd") public void editPwd(HttpServletResponse response, Long id, String pwd0, String pwd1, String pwd2) { String result = userService.editPwd(id, pwd0, pwd1, pwd2); WebUtils.writeHtml(response, result); } @RequestMapping("/checkname") public void checkName(HttpServletResponse response, String name) { boolean result = userService.existsName(name); WebUtils.writeHtml(response, result ? "false" : "true"); } }