Java tutorial
package com.yougou.kaidian.user.service.impl; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.yougou.kaidian.common.util.UUIDGenerator; import com.yougou.kaidian.user.constant.UserConstant; import com.yougou.kaidian.user.dao.ApiKeyMapper; import com.yougou.kaidian.user.model.pojo.ApiKey; import com.yougou.kaidian.user.model.pojo.ApiKeyMetadata; import com.yougou.kaidian.user.model.pojo.ApiLicense; import com.yougou.kaidian.user.model.vo.AppKeySecretVo; import com.yougou.kaidian.user.service.IApiKeyService; @Service public class ApiKeyServiceImpl implements IApiKeyService { @Autowired private ApiKeyMapper apiKeyMapper; private Logger logger = LoggerFactory.getLogger(ApiKeyServiceImpl.class); private void saveApiKey(ApiKey apiKey) { apiKeyMapper.saveApiKey(apiKey); } private boolean authorizeApiKeyToMerchant(List<ApiLicense> licenses) { boolean flag = false; try { apiKeyMapper.authorizeApiKeyToMerchant(licenses); flag = true; } catch (Exception e) { logger.error("?apilicenses:{}?", new Object[] { ToStringBuilder.reflectionToString(licenses, ToStringStyle.SHORT_PREFIX_STYLE), e }); } return flag; } private boolean bindingApiKeyToMerchant(ApiKeyMetadata keyMetadata) { boolean flag = false; try { apiKeyMapper.bindingApiKeyToMerchant(keyMetadata); flag = true; } catch (Exception e) { logger.error("appkey?{}appkeyId{}?", new Object[] { keyMetadata.getMetadataVal(), keyMetadata.getKeyId(), e }); } return flag; } @Transactional(rollbackFor = Exception.class) @Override public boolean generateApiKeyAndBandingAndAuthorize(String merchantCode, ApiKey apiKey) throws Exception { boolean flag = false; try { //1 ?appkey this.saveApiKey(apiKey); //2 appkey ApiKeyMetadata metadata = new ApiKeyMetadata(); metadata.setId(UUIDGenerator.getUUID()); metadata.setKeyId(apiKey.getId()); metadata.setMetadataKey("MERCHANTS"); metadata.setMetadataVal(merchantCode); this.bindingApiKeyToMerchant(metadata); //3 ?appkey List<ApiLicense> licenses = new ArrayList<ApiLicense>(); ApiLicense license = null; for (String apiId : UserConstant.APIIDS) { license = new ApiLicense(); license.setId(UUIDGenerator.getUUID()); license.setApiId(apiId); license.setKeyId(apiKey.getId()); license.setLicensed(new Date()); license.setLicensor(merchantCode); licenses.add(license); } this.authorizeApiKeyToMerchant(licenses); flag = true; } catch (Exception e) { logger.error("{}appkey{}?", new Object[] { merchantCode, ToStringBuilder.reflectionToString(apiKey, ToStringStyle.SHORT_PREFIX_STYLE), e }); throw new Exception("appkey??", e); } return flag; } @Override public boolean changeApiStatus(String apiId, Integer status) { boolean flag = false; try { if (status != 1) { status = 0; } apiKeyMapper.changeApiStatus(apiId, status); flag = true; } catch (Exception e) { logger.error("api?", e); } return flag; } @Override public Map<String, Object> findAppKeyIsExist(String merchantCode) { return apiKeyMapper.findAppKeyIsExist(merchantCode); } @Override public List<AppKeySecretVo> findAppKeySecret() { return apiKeyMapper.findAppKeySecret(); } }