All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.kedauis.common.service.BaseService Maven / Gradle / Ivy

The newest version!
package com.kedauis.common.service;

import com.kedauis.system.model.SysEnumItem;
import com.kedauis.system.model.SysUser;
import com.kedauis.system.service.EnumService;
import com.kedauis.system.service.SequenceService;
import com.kedauis.util.StaticEnum;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 项目名称:kd-uip
 * 类描述:
 * 创建人:QiuYu
 * 创建时间:2017/12/22 15:09
 * 修改人:
 * 修改时间:
 * 修改备注:
 */
public class BaseService {

    private static final Logger logger = LoggerFactory.getLogger(BaseService.class);

    @Autowired
    protected EnumService enumService;

    @Autowired
    protected SequenceService sequenceService;

    /**
     * @author QiuYu
     * date 2017/12/22
     * time 15:15
     * description 获取登陆用户信息
     * @return 登陆用户
     */
    protected SysUser getLoginUser(){
        try {
            HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
            HttpSession session = request.getSession();
            if(null != session){
                return (SysUser) session.getAttribute(StaticEnum.LOGIN_USER);
            }
        } catch (Exception e) {
            logger.info("Get Login User In Service Failed", e);
        }
        return null;
    }

    /**
     * 获取对应的枚举类型下的枚举信息
     * @param enumTypeCode 枚举类型编码
     * @return 枚举信息列表
     */
    protected List getEnumItemsByTypeCode(String enumTypeCode){
        return enumService.qryEnumItemsByTypeCode(enumTypeCode);
    }

    /**
     * 根据枚举类型编码以及枚举值获取对应类型下的枚举信息
     * @param enumTypeCode 枚举类型编码
     * @param enumItemValue 枚举值
     * @return 检索的枚举值
     */
    protected SysEnumItem getEnumItemByTypeCodeAndValue(String enumTypeCode, String enumItemValue){
        Map params = new HashMap();
        params.put("enumTypeCode", enumTypeCode);
        params.put("enumItemValue", enumItemValue);
        return enumService.qryEnumItemsByTypeCodeAndValue(params);
    }

    /**
     * author QiuYu
     * date 2018/3/29
     * time 17:34
     * description 获取序列下一个值
     * @param seqCode 序列编号
     * @return 序列
     */
    protected String nextVal(String seqCode){
        return sequenceService.nextVal(seqCode);
    }

    /**
     * author QiuYu
     * date 2018/3/29
     * time 17:35
     * description 根据序列编号和要使用的数量获取序列集合
     * @param seqCode 序列编号
     * @param seqLen 要获取的序列长度
     * @return 序列值数组
     */
    protected String[] nextVals(String seqCode, Integer seqLen){
        return sequenceService.nextVals(seqCode, seqLen);
    }

    public EnumService getEnumService() {
        return enumService;
    }

    public void setEnumService(EnumService enumService) {
        this.enumService = enumService;
    }

    public SequenceService getSequenceService() {
        return sequenceService;
    }

    public void setSequenceService(SequenceService sequenceService) {
        this.sequenceService = sequenceService;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy