/** * */ package com.zteits.pay.biz; import java.util.Optional; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import com.clouds.common.cache.pay.AppAuthCacheUtil; import com.clouds.common.utils.BeanValidatorsUtils; import com.zteits.clouds.api.apibase.bean.BizResult; import com.zteits.clouds.api.dto.pay.ThirdPartAuthorizationCacheDTO; import com.zteits.clouds.api.dto.pay.param.DeleteAuthorizationRequest; import com.zteits.clouds.api.dto.pay.param.GetAuthorizationByAppIdRequest; import com.zteits.clouds.api.dto.pay.param.SaveAuthorizationRequest; import com.zteits.clouds.api.dto.pay.param.UpdateAuthorizationRequest; import com.zteits.clouds.api.service.pay.ThirdPartAppAuthorizationService; import com.zteits.pay.dao.TdCThirdPartAppAuthorizationDao; import com.zteits.pay.domain.TdCThirdPartAppAuthorization; import org.springframework.stereotype.Service; /** * @author hxz * */ @Service("com.zteits.pay.biz.ThirdPartAppAuthorizationServiceImpl") public class ThirdPartAppAuthorizationServiceImpl implements ThirdPartAppAuthorizationService { private static final Logger logger = LoggerFactory.getLogger(ThirdPartAppAuthorizationServiceImpl.class); @Autowired private TdCThirdPartAppAuthorizationDao tdCThirdPartAppAuthorizationDao; @Override public BizResult insertThirdPartAppAuthorization(SaveAuthorizationRequest request) { logger.info("开始插入第三方授权配置"); TdCThirdPartAppAuthorization record = new TdCThirdPartAppAuthorization(); BeanUtils.copyProperties(request, record); tdCThirdPartAppAuthorizationDao.insertSelective(record ); //插入缓存 final ThirdPartAuthorizationCacheDTO cacheDTO = new ThirdPartAuthorizationCacheDTO(); BeanUtils.copyProperties(request, cacheDTO); AppAuthCacheUtil.setThirdPartAuthInfo(request.getAppId(), cacheDTO); return new BizResult(record.getId()); } @Override public BizResult updateThirdPartAppAuthorization(UpdateAuthorizationRequest request) { logger.info("开始更新第三方授权配置"); TdCThirdPartAppAuthorization record = new TdCThirdPartAppAuthorization(); BeanUtils.copyProperties(request, record); tdCThirdPartAppAuthorizationDao.updateByPrimaryKeySelective(record); //删除缓存 AppAuthCacheUtil.deleteThirdPartAuthInfo(request.getAppid()); return new BizResult(true); } @Override public BizResult deleteThirdPartAppAuthorization(DeleteAuthorizationRequest request) { logger.info("开始删除第三方授权配置,id:"+request.getId()); BeanValidatorsUtils.validateWithException(request); tdCThirdPartAppAuthorizationDao.deleteByPrimaryKey(request.getId()); //删除缓存 AppAuthCacheUtil.deleteThirdPartAuthInfo(request.getAppId()); return new BizResult(true); } @Override public BizResult getThirdPartAppAuthorizationByAppId( GetAuthorizationByAppIdRequest request) { logger.info("开始根据appId查询第三方授权配置信息:"+request.getAppId()); ThirdPartAuthorizationCacheDTO authorizationCacheDTO = null; //查询缓存 authorizationCacheDTO = AppAuthCacheUtil.getThirdPartAuthInfo(request.getAppId()); if(authorizationCacheDTO==null){ //查询数据库 final ThirdPartAuthorizationCacheDTO cacheDTO = new ThirdPartAuthorizationCacheDTO(); TdCThirdPartAppAuthorization appAuthorization = tdCThirdPartAppAuthorizationDao.queryByAppId(request.getAppId()); Optional.ofNullable(appAuthorization).ifPresent(item-> { BeanUtils.copyProperties(appAuthorization, cacheDTO); //放入缓存 AppAuthCacheUtil.setThirdPartAuthInfo(request.getAppId(), cacheDTO); }); authorizationCacheDTO = cacheDTO; } return new BizResult(authorizationCacheDTO); } }