/* * Copyright (c) 2008-2016 Computer Network Information Center (CNIC), Chinese Academy of Sciences. * * This file is part of Duckling project. * * 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 cn.vlabs.umt.ui.user; import java.io.IOException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import cn.vlabs.umt.common.util.RequestUtil; import cn.vlabs.umt.services.account.ICoreMailClient; import cn.vlabs.umt.services.session.SessionUtils; import cn.vlabs.umt.services.user.UserService; import cn.vlabs.umt.services.user.bean.User; import cn.vlabs.umt.ui.ShowPageController; /** * 账户合并 * * @author lvly * @since 2013-2-4 */ @Controller @RequestMapping("/user/merge.do") public class MergeController { @Autowired private UserService userService; /** * 显示合并页面 * @throws IOException * */ @RequestMapping(params = "act=show") public String show(HttpServletRequest request, HttpServletResponse response) throws IOException { // 检查是否是该用户真的需要合并? User user = SessionUtils.getUser(request); if (user.getType().equals(User.USER_TYPE_MAIL_AND_UMT)) { return "/user/passportMerge"; } else { response.sendRedirect(ShowPageController.getMessageUrl(request, "passport.merge.can.not")); return null; } } /** * 合并用户 * */ @RequestMapping(params = "act=merge") public String merge(HttpServletRequest request, HttpServletResponse response) { String username = SessionUtils.getUser(request).getCstnetId(); String password = request.getParameter("password"); boolean flag = ICoreMailClient.getInstance() .authenticate(username, password).isSuccess(); if (flag) { return success(request, response); } else { request.setAttribute("password_error", "current.password.error"); return "/user/passportMerge"; } } private String success(HttpServletRequest request, HttpServletResponse response) { int userId = SessionUtils.getUserId(request); userService.updateValueByColumn(userId, "type", User.USER_TYPE_CORE_MAIL); return "redirect:" + RequestUtil.addParam("/index.jsp", "msg", "passport.merge.success"); } }