/* * Copyright 2015-2016 http://hsweb.me * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.hsweb.web.oauth2.service; import org.hsweb.commons.MD5; import org.hsweb.web.bean.common.PagerResult; import org.hsweb.web.bean.common.QueryParam; import org.hsweb.web.bean.common.UpdateMapParam; import org.hsweb.web.bean.common.UpdateParam; import org.hsweb.web.core.exception.NotFoundException; import org.hsweb.web.oauth2.dao.OAuth2AccessMapper; import org.hsweb.web.oauth2.dao.OAuth2ClientMapper; import org.hsweb.web.oauth2.po.OAuth2Access; import org.hsweb.web.oauth2.po.OAuth2Client; import org.hsweb.web.service.impl.AbstractServiceImpl; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.UUID; @Service("oAuth2ClientService") public class OAuth2ClientServiceImpl extends AbstractServiceImpl<OAuth2Client, String> implements OAuth2ClientService { @Resource private OAuth2ClientMapper oAuth2ClientMapper; @Resource private OAuth2AccessMapper oAuth2AccessMapper; @Override protected OAuth2ClientMapper getMapper() { return oAuth2ClientMapper; } @Override public PagerResult<OAuth2Access> selectAccessList(QueryParam param) { PagerResult<OAuth2Access> pagerResult = new PagerResult<>(); param.setPaging(false); int total = getMapper().total(param); pagerResult.setTotal(total); param.rePaging(total); pagerResult.setData(oAuth2AccessMapper.select(param)); return pagerResult; } @Override public int deleteAccess(String accessId) { return oAuth2AccessMapper.deleteById(accessId); } @Override public String insert(OAuth2Client data) { data.setSecret(MD5.encode(UUID.randomUUID().toString() + Math.random())); data.setStatus(1); return super.insert(data); } @Override public String refreshSecret(String clientId) { String secret = MD5.encode(UUID.randomUUID().toString() + Math.random()); int size = createUpdate().set("secret", secret).where("id", clientId).exec(); if (size != 1) throw new NotFoundException("客户端不存在"); return secret; } @Override public void enable(String id) { OAuth2Client old = selectByPk(id); assertNotNull(old, "客户端不存在"); createUpdate().set("status", 1).where("id", id).exec(); } @Override public void disable(String id) { OAuth2Client old = selectByPk(id); assertNotNull(old, "客户端不存在"); createUpdate().set("status", -1).where("id", id).exec(); } @Override public int update(OAuth2Client data) { return createUpdate(data).excludes("secret", "status").where("id", data.getId()).exec(); } }