Search in sources :

Example 1 with CommitSuccess

use of io.github.ihongs.action.anno.CommitSuccess in project HongsCORE by ihongs.

the class DeptAction method doSave.

@Action("save")
@CommitSuccess
public void doSave(ActionHelper helper) throws HongsException {
    Map rd = helper.getRequestData();
    String id = model.set(rd);
    CoreLocale ln = CoreLocale.getInstance().clone();
    ln.load("master");
    String ms = ln.translate("core.save.dept.success");
    helper.reply(ms, id);
}
Also used : CoreLocale(io.github.ihongs.CoreLocale) HashMap(java.util.HashMap) NaviMap(io.github.ihongs.action.NaviMap) Map(java.util.Map) Action(io.github.ihongs.action.anno.Action) CommitSuccess(io.github.ihongs.action.anno.CommitSuccess)

Example 2 with CommitSuccess

use of io.github.ihongs.action.anno.CommitSuccess in project HongsCORE by ihongs.

the class UserAction method doDelete.

@Action("delete")
@CommitSuccess
public void doDelete(ActionHelper helper) throws HongsException {
    // 不能删除自己和超级管理员
    Set rs = Synt.asSet(helper.getParameter(Cnst.ID_KEY));
    if (rs != null) {
        if (rs.contains(helper.getSessibute(Cnst.UID_SES))) {
            helper.fault("不能删除当前登录用户");
            return;
        }
        if (rs.contains(Cnst.ADM_UID)) {
            helper.fault("不能删除超级管理账号");
            return;
        }
    }
    Map rd = helper.getRequestData();
    int rn = model.delete(rd);
    CoreLocale ln = CoreLocale.getInstance().clone();
    ln.load("master");
    String ms = ln.translate("core.delete.user.success", null, Integer.toString(rn));
    helper.reply(ms, rn);
}
Also used : CoreLocale(io.github.ihongs.CoreLocale) Set(java.util.Set) HashSet(java.util.HashSet) HashMap(java.util.HashMap) NaviMap(io.github.ihongs.action.NaviMap) Map(java.util.Map) Action(io.github.ihongs.action.anno.Action) CommitSuccess(io.github.ihongs.action.anno.CommitSuccess)

Example 3 with CommitSuccess

use of io.github.ihongs.action.anno.CommitSuccess in project HongsCORE by ihongs.

the class UserAction method doSave.

@Action("save")
@Verify(conf = "master", form = "user")
@CommitSuccess
public void doSave(ActionHelper helper) throws HongsException {
    Map rd = helper.getRequestData();
    // Ignore empty password in update
    boolean cp;
    if (null == rd.get("password") || "".equals(rd.get("password"))) {
        rd.remove("password");
        rd.remove("passcode");
        cp = false;
    } else if (null == rd.get("id") || "".equals(rd.get("id"))) {
        cp = false;
    } else {
        cp = true;
    }
    String id = model.set(rd);
    CoreLocale ln = CoreLocale.getInstance().clone();
    ln.load("master");
    String ms = ln.translate("core.save.user.success");
    helper.reply(ms, id);
    /**
     * 2019/02/26
     * 有修改密码则将重试次数归零,
     * 若密码重试次数标记有用到IP,
     * 需告知登录的校验标记改用ID.
     *
     * 2021/06/20
     * 已加修改密码需重新登录逻辑,
     * 重写会话规避当前用户重登录.
     */
    if (cp) {
        Calendar ca;
        long et;
        ca = Calendar.getInstance(Core.getTimezone());
        ca.setTimeInMillis(Core.ACTION_TIME.get());
        ca.set(Calendar.HOUR_OF_DAY, 23);
        ca.set(Calendar.MINUTE, 59);
        ca.set(Calendar.SECOND, 59);
        et = ca.getTimeInMillis() / 1000 + 1;
        Record.set("sign.retry.allow." + id, 1, et);
        Record.del("sign.retry.times." + id);
        if ("*".equals(helper.getSessibute(Cnst.USK_SES))) {
            helper.setSessibute(Cnst.UST_SES, System.currentTimeMillis() / 1000);
        }
    }
}
Also used : CoreLocale(io.github.ihongs.CoreLocale) Calendar(java.util.Calendar) HashMap(java.util.HashMap) NaviMap(io.github.ihongs.action.NaviMap) Map(java.util.Map) Action(io.github.ihongs.action.anno.Action) CommitSuccess(io.github.ihongs.action.anno.CommitSuccess) Verify(io.github.ihongs.action.anno.Verify)

Example 4 with CommitSuccess

use of io.github.ihongs.action.anno.CommitSuccess in project HongsCORE by ihongs.

the class QQAction method inWeb.

/**
 * QQ Web 登录回调
 * @param helper
 * @throws HongsException
 */
@Action("web/create")
@CommitSuccess
public void inWeb(ActionHelper helper) throws HongsException {
    CoreConfig cc = CoreConfig.getInstance("oauth2");
    String appId = cc.getProperty("oauth2.qq.web.app.id");
    String appSk = cc.getProperty("oauth2.qq.web.app.key");
    String rurl = cc.getProperty("oauth2.qq.wap.bak.url");
    String code = helper.getParameter("code");
    if (appId == null || appSk == null) {
        helper.error(400, "Not support this mode");
    }
    try {
        Map info = getUserInfo(code, appId, appSk, rurl, false);
        String opnId = (String) info.get("opnid");
        String opuId = (String) info.get("opuid");
        String name = (String) info.get("name");
        String head = (String) info.get("head");
        Map back = AuthKit.openSign(helper, "qq", Synt.defoult(opuId, opnId), name, head);
        // 登记 openId
        if (opnId != null && opuId != null) {
            String usrId = (String) back.get(Cnst.UID_SES);
            setUserSign("qq.web", opnId, usrId);
        }
        AuthKit.redirect(helper, back);
    } catch (HongsException ex) {
        AuthKit.redirect(helper, ex);
    }
}
Also used : CoreConfig(io.github.ihongs.CoreConfig) HongsException(io.github.ihongs.HongsException) HashMap(java.util.HashMap) Map(java.util.Map) Action(io.github.ihongs.action.anno.Action) CommitSuccess(io.github.ihongs.action.anno.CommitSuccess)

Example 5 with CommitSuccess

use of io.github.ihongs.action.anno.CommitSuccess in project HongsCORE by ihongs.

the class QQAction method inWap.

/**
 * QQ WAP 登录回调
 * @param helper
 * @throws HongsException
 */
@Action("wap/create")
@CommitSuccess
public void inWap(ActionHelper helper) throws HongsException {
    CoreConfig cc = CoreConfig.getInstance("oauth2");
    String appId = cc.getProperty("oauth2.qq.wap.app.id");
    String appSk = cc.getProperty("oauth2.qq.wap.app.key");
    String rurl = cc.getProperty("oauth2.qq.wap.bak.url");
    String code = helper.getParameter("code");
    if (appId == null || appSk == null) {
        helper.error(400, "Not support this mode");
    }
    try {
        Map info = getUserInfo(code, appId, appSk, rurl, true);
        String opnId = (String) info.get("opnid");
        String opuId = (String) info.get("opuid");
        String name = (String) info.get("name");
        String head = (String) info.get("head");
        Map back = AuthKit.openSign(helper, "qq", Synt.defoult(opuId, opnId), name, head);
        // 登记 openId
        if (opnId != null && opuId != null) {
            String usrId = (String) back.get(Cnst.UID_SES);
            setUserSign("qq.wap", opnId, usrId);
        }
        AuthKit.redirect(helper, back);
    } catch (HongsException ex) {
        AuthKit.redirect(helper, ex);
    }
}
Also used : CoreConfig(io.github.ihongs.CoreConfig) HongsException(io.github.ihongs.HongsException) HashMap(java.util.HashMap) Map(java.util.Map) Action(io.github.ihongs.action.anno.Action) CommitSuccess(io.github.ihongs.action.anno.CommitSuccess)

Aggregations

Action (io.github.ihongs.action.anno.Action)22 CommitSuccess (io.github.ihongs.action.anno.CommitSuccess)22 Map (java.util.Map)21 Verify (io.github.ihongs.action.anno.Verify)10 HashMap (java.util.HashMap)10 CoreConfig (io.github.ihongs.CoreConfig)7 CoreLocale (io.github.ihongs.CoreLocale)7 HongsException (io.github.ihongs.HongsException)7 Preset (io.github.ihongs.action.anno.Preset)7 NaviMap (io.github.ihongs.action.NaviMap)4 IAction (io.github.ihongs.dh.IAction)3 Table (io.github.ihongs.db.Table)2 Calendar (java.util.Calendar)2 Set (java.util.Set)2 DB (io.github.ihongs.db.DB)1 FetchCase (io.github.ihongs.db.util.FetchCase)1 SearchAction (io.github.ihongs.dh.search.SearchAction)1 RoleSet (io.github.ihongs.serv.auth.RoleSet)1 User (io.github.ihongs.serv.master.User)1 UserAction (io.github.ihongs.serv.master.UserAction)1