package api.service; import api.bean.AccessEntity; import api.dao.AccessDao; import api.result.Msg; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; import java.util.UUID; /** * @program: wog * @description: * @author: YSS * @create: 2020-09-25 14:34 **/ @Service public class AccessService { private static final Long OUT_EXPRESS_TIME = (long)7 * 1000 * 60 * 60 * 24; @Autowired private AccessDao accessDao; public void update(AccessEntity accessEntity) { accessDao.update(accessEntity); } public AccessEntity selectAccessEntityByKey(String accessKey) { return accessDao.selectAccessEntityByKey(accessKey); } public Long getUserId(String accessToken) { return accessDao.selectUserIdByToken(accessToken); } public Long getRoleId(Long userId) { return accessDao.selectRoleIdByUserId(userId); } public Msg getAccessToken(AccessEntity accessEntity) { AccessEntity accessData = selectAccessEntityByKey(accessEntity.getAccessKey()); if(null == accessData) { return Msg.error("user no exist"); } if(!accessData.getAccessSercet().equals(accessEntity.getAccessSercet())) { return Msg.error("secret mistake"); } if(System.currentTimeMillis() - accessData.getUpdateTime().getTime() > OUT_EXPRESS_TIME) { accessData.setAccessToken(UUID.randomUUID().toString()); accessData.setUpdateTime(new Date()); update(accessData); } return Msg.ok().put("accessToken",accessData.getAccessToken()); } public String getYs7AccountId(String accessKey) { String ys7AccountId = accessDao.selectYs7AccountIdByAccessToken(accessKey); return ys7AccountId; } public void setYs7Token(String ys7AccessToken,String accessToken){ accessDao.setYs7Token(ys7AccessToken,accessToken); } }