package com.cm.common.base; import com.cm.common.component.SecurityComponent; import com.cm.common.pojo.bos.UserInfoBO; import com.cm.common.pojo.dtos.ZTreeDTO; import com.cm.common.token.app.AppTokenManager; import com.cm.common.token.app.entity.AppToken; import com.cm.common.token.app.entity.AppTokenUser; import com.cm.common.utils.DateUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; import javax.servlet.http.HttpSession; import java.util.HashMap; import java.util.Map; /** * @ClassName: AbstractService * @Description: baseinfo service * @Author: wenc * @Date: 2018/9/27 下午3:49 * @Version: 1.0 **/ @Component public abstract class AbstractService { protected static Logger LOG = LoggerFactory.getLogger(AbstractService.class); @Autowired private SecurityComponent securityComponent; @Autowired private HttpSession httpSession; /** * 设置新增基础数据 * * @param params */ protected void setSaveInfo(Map params) { UserInfoBO userInfoBO = securityComponent.getCurrentUser(); setSave(userInfoBO.getUserId(), params); } /** * token类型设置新增基础数据 * * @param token * @param params */ protected void setSaveInfo(String token, Map params) { AppTokenUser appTokenUser = AppTokenManager.getInstance().getToken(token).getAppTokenUser(); setSave(appTokenUser.getId(), params); } /** * 设置新增 * * @param userId * @param params */ private void setSave(String userId, Map params) { String currentDate = DateUtil.getTime(); params.put("creator", userId); params.put("gmtCreate", currentDate); params.put("modifier", userId); params.put("gmtModified", currentDate); params.put("isDelete", 0); } /** * 设置修改基础数据 * * @param params */ protected void setUpdateInfo(Map params) { UserInfoBO userInfoBO = securityComponent.getCurrentUser(); setUpdate(userInfoBO.getUserId(), params); } /** * token类型设置修改基础数据 * * @param token * @param params */ protected void setUpdateInfo(String token, Map params) { AppTokenUser appTokenUser = AppTokenManager.getInstance().getToken(token).getAppTokenUser(); setUpdate(appTokenUser.getId(), params); } /** * 设置修改 * * @param userId * @param params */ private void setUpdate(String userId, Map params) { String currentDate = DateUtil.getTime(); params.put("modifier", userId); params.put("gmtModified", currentDate); } /** * 设置zTree内容 * * @param zTreeDTO * @param subCount */ protected void setZTreeInfo(ZTreeDTO zTreeDTO, Integer subCount) { zTreeDTO.setUrl("javascript:void(0);"); if (null != subCount && 0 < subCount) { zTreeDTO.setIsParent(true); } else { zTreeDTO.setIsParent(false); } } /** * 获取新的code * * @param code * @param parentCode * @return */ protected String getNewCode(String code, String parentCode) { // 最后的code长度 int lastCodeLength = code.length(); int lastNumber = Integer.parseInt(code.substring(lastCodeLength - 4, lastCodeLength)) + 1; code = String.format("%04d", lastNumber); if (!StringUtils.isEmpty(parentCode)) { code = parentCode + code; } return code; } /** * 获取session * * @return */ protected HttpSession getHttpSession() { return httpSession; } /** * 获取HashMap * * @return */ protected Map getHashMap(int initSize) { return new HashMap<>(initSize); } }