Exemple #1
0
  /**
   * 修改用户
   *
   * @return
   */
  @Action(
      value = "updateUser",
      results = {
        @Result(
            type = "json",
            params = {"root", "entityMap", "contentType", "text/html"})
      })
  public String updateUser() {
    try {
      logger.debug("userRoles	:" + multiUserRoles);
      logger.debug("begin update user " + portalUser);
      // 地市管理员编辑用户分配角色硬编码
      Set<RoleVO> rSet = new HashSet<RoleVO>();
      if (users.getUserType() == ApSmsConstants.USER_TYPE_CITY_ADMIN) {
        RoleVO roleVO = new RoleVO();
        roleVO.setId(ApSmsConstants.UNION_CORP_ADMIN_ROLEID);
        roleVO.setCreateBy(users.getId());
        rSet.add(roleVO);
      } else {
        String[] roles = multiUserRoles.split(", ");
        RoleVO roleVO = null;
        for (String _role : roles) {
          roleVO = new RoleVO();
          roleVO.setId(Long.parseLong(_role));
          roleVO.setCreateBy(users.getId());
          rSet.add(roleVO);
        }
      }
      // 添加解锁~加锁
      isLockFlag(portalUser);

      portalUser.setRoles(rSet);
      portalUser.setUpdateBy(users.getId()); // 这里是登录用户的ID;
      userService.updateUser(portalUser);

      // 更新用户扩展信息(不含发送条数,统计时间)
      portalUserExt.setId(portalUser.getId());
      portalUserExt.setSmsSendCount(null);
      portalUserExt.setCountTime(null);
      portalUserExtService.update(portalUserExt);

      // 地市管理员更新企业管理员,需要同步至业务节点 20130926
      if (users.getUserType() == ApSmsConstants.USER_TYPE_CITY_ADMIN) {
        addUserToNode(portalUser, portalUserExt);
      }
      entityMap = new HashMap<String, Object>();
      entityMap.put("flag", SUCCESS);
    } catch (Exception exception) {
      entityMap = new HashMap<String, Object>();
      entityMap.put("flag", ERROR);
      logger.error("update user error", exception);
      return ERROR;
    }
    return SUCCESS;
  }