首页>代码>java开源cms管理系统框架-PublicCMS后台管理系统>/PublicCMS-master/publiccms-by-gradle/src/com/publiccms/common/base/AbstractAppV1Directive.java
package com.publiccms.common.base;

import java.io.IOException;

import org.springframework.beans.factory.annotation.Autowired;

import com.publiccms.common.base.app.AppV1;
import com.publiccms.entities.sys.SysApp;
import com.publiccms.entities.sys.SysAppToken;
import com.publiccms.entities.sys.SysUser;
import com.publiccms.entities.sys.SysUserToken;
import com.publiccms.logic.service.sys.SysAppService;
import com.publiccms.logic.service.sys.SysAppTokenService;
import com.publiccms.logic.service.sys.SysUserService;
import com.publiccms.logic.service.sys.SysUserTokenService;
import com.sanluan.common.handler.RenderHandler;

/**
 * 
 * BaseDirective 自定义接口指令基类
 *
 */
public abstract class AbstractAppV1Directive extends AbstractAppDirective implements AppV1 {
    public final static String REQUIRED_PARAMTER = "required_paramter:";
    private SysUser getUser(RenderHandler handler) throws Exception {
        String authToken = handler.getString("authToken");
        Long authUserId = handler.getLong("authUserId");
        if (notEmpty(authToken) && notEmpty(authUserId)) {
            SysUserToken sysUserToken = sysUserTokenService.getEntity(authToken);
            if (notEmpty(sysUserToken) && sysUserToken.getUserId() == authUserId) {
                return sysUserService.getEntity(sysUserToken.getUserId());
            }
        }
        return null;
    }

    private SysApp getApp(RenderHandler handler) throws Exception {
        SysAppToken appToken = appTokenService.getEntity(handler.getString("appToken"));
        if (notEmpty(appToken)) {
            return appService.getEntity(appToken.getAppId());
        }
        return null;
    }

    @Override
    public void execute(RenderHandler handler) throws IOException, Exception {
        SysApp app = null;
        SysUser user = null;
        if (needAppToken() && empty((app = getApp(handler)))) {
            handler.put("error", "needAppToken").render();
        } else if (needUserToken() && empty((user = getUser(handler)))) {
            handler.put("error", "needLogin").render();
        } else {
            execute(handler, app, user);
        }
    }

    public abstract void execute(RenderHandler handler, SysApp app, SysUser user) throws IOException, Exception;

    @Override
    public String getVersion() {
        return VERSION;
    }

    @Autowired
    private SysAppTokenService appTokenService;
    @Autowired
    private SysAppService appService;
    @Autowired
    private SysUserTokenService sysUserTokenService;
    @Autowired
    private SysUserService sysUserService;
}
最近下载更多
wanglinddad  LV55 2022年3月11日
tiansitong  LV14 2022年3月8日
heliosd  LV2 2022年2月15日
heqian  LV17 2021年8月11日
马123456  LV8 2021年7月13日
judy0971  LV12 2021年5月5日
zjjhzjb  LV14 2021年3月15日
ExamplesDYC  LV13 2020年11月21日
guoruchao  LV13 2020年9月28日
wzzhou  LV6 2020年9月14日
最近浏览更多
lavaicer 11月13日
暂无贡献等级
King_wsk  LV18 11月2日
暂无贡献等级
小王wang  LV10 2月29日
WBelong  LV8 2023年12月25日
locklock  LV2 2023年12月22日
chenxina 2023年12月6日
暂无贡献等级
丝绸之路  LV1 2023年12月6日
草帽小小鸡  LV7 2023年11月27日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友