| | |
| | |
|
| | | import javax.annotation.Resource;
|
| | |
|
| | | import com.yeshi.fanli.entity.SystemEnum;
|
| | | import org.springframework.cache.annotation.Cacheable;
|
| | | import org.springframework.stereotype.Service;
|
| | | import org.springframework.transaction.annotation.Transactional;
|
| | |
| | |
|
| | | @Resource
|
| | | private AppVersionService appVersionService;
|
| | | |
| | |
|
| | | @Resource
|
| | | private AdActivityVersionControlService adActivityVersionControlService;
|
| | | |
| | | |
| | | @Override
|
| | | public AppPageNotification getAppPageNotificationByType(String type) {
|
| | |
|
| | | return appPageNotificationMapper.selectByType(type);
|
| | | @Override
|
| | | public AppPageNotification getAppPageNotificationByType(String type, SystemEnum system) {
|
| | |
|
| | | return appPageNotificationMapper.selectByType(type,system);
|
| | | }
|
| | |
|
| | | @Cacheable(value = "configCache", key = "'getValidNotificationByTypeCache-'+#type+'-'+ #platform+'-'+#versionCode")
|
| | | @Cacheable(value = "configCache", key = "'getValidNotificationByTypeCache-'+#type+'-'+ #platform+'-'+#versionCode+'-'+#system")
|
| | | @Override
|
| | | public AppPageNotification getValidNotificationByTypeCache(String type, String platform, Integer versionCode) {
|
| | | AppPageNotification record = appPageNotificationMapper.selectValidByType(type);
|
| | | if (record == null)
|
| | | public AppPageNotification getValidNotificationByTypeCache(String type, String platform, Integer versionCode, SystemEnum system) {
|
| | | List<AppPageNotification> recordList = appPageNotificationMapper.listValidByType(type,system);
|
| | | if (recordList == null || recordList.size() == 0)
|
| | | return null;
|
| | | |
| | |
|
| | | // 过滤版本
|
| | | AppVersionInfo app = appVersionService.getClientVersion(platform, versionCode);
|
| | | AppVersionInfo app = appVersionService.getClientVersion(platform, versionCode,system);
|
| | | if (app == null) {
|
| | | return null;
|
| | | }
|
| | | List<Long> versionIdList = new ArrayList<>();
|
| | | versionIdList.add(app.getId());
|
| | | |
| | |
|
| | | List<Long> sourceIdList = new ArrayList<>();
|
| | | sourceIdList.add(record.getId());
|
| | | for (AppPageNotification an : recordList)
|
| | | sourceIdList.add(an.getId());
|
| | | Set<Long> sourceIds = adActivityVersionControlService.filterSourceIdByVersion(sourceIdList,
|
| | | AdActivityType.notification, versionIdList);
|
| | | |
| | | if (!sourceIds.contains(record.getId())) {
|
| | | if (sourceIds == null || sourceIds.size() == 0)
|
| | | return null;
|
| | | long sourceId = sourceIds.iterator().next();
|
| | |
|
| | | for (AppPageNotification record : recordList) {
|
| | | if (record.getId().longValue() == sourceId)
|
| | | return record;
|
| | | }
|
| | | |
| | | return record;
|
| | | return null;
|
| | | }
|
| | | |
| | |
|
| | | @Override
|
| | | public void addAppPageNotification(AppPageNotification apn) throws Exception {
|
| | |
| | | return;
|
| | | if (apn.getType() == null)
|
| | | throw new Exception("类型为空");
|
| | | AppPageNotification old = getAppPageNotificationByType(apn.getType().name());
|
| | | AppPageNotification old = getAppPageNotificationByType(apn.getType().name(),apn.getSystem());
|
| | |
|
| | | if (old != null)
|
| | | throw new Exception("已存在改类型");
|
| | |
| | |
|
| | | @Override
|
| | | public void updateByPrimaryKey(AppPageNotification record) {
|
| | | appPageNotificationMapper.updateByPrimaryKey(record); |
| | | appPageNotificationMapper.updateByPrimaryKey(record);
|
| | | }
|
| | | |
| | |
|
| | | @Override
|
| | | public void updateByPrimaryKeySelective(AppPageNotification record) {
|
| | | appPageNotificationMapper.updateByPrimaryKeySelective(record); |
| | | appPageNotificationMapper.updateByPrimaryKeySelective(record);
|
| | | }
|
| | |
|
| | | @Override
|
| | |
| | | }
|
| | |
|
| | | @Override
|
| | | public List<AppPageNotification> listQuery(long start, int count, String key, Integer show, Integer canClose) {
|
| | | return appPageNotificationMapper.listQuery(start, count, key, show, canClose);
|
| | | public List<AppPageNotification> listQuery(long start, int count, String key, Integer show, Integer canClose, SystemEnum system) {
|
| | | return appPageNotificationMapper.listQuery(start, count, key, show, canClose,system);
|
| | | }
|
| | |
|
| | | @Override
|
| | | public long countQuery(String key, Integer show, Integer canClose) {
|
| | | return appPageNotificationMapper.countQuery(key, show, canClose);
|
| | | public long countQuery(String key, Integer show, Integer canClose, SystemEnum system) {
|
| | | return appPageNotificationMapper.countQuery(key, show, canClose,system);
|
| | | }
|
| | |
|
| | | |
| | | @Transactional(rollbackFor = Exception.class)
|
| | | @Override
|
| | | public void setVersions(Long id, List<Long> versions) throws Exception {
|
| | |
| | | }
|
| | | }
|
| | | }
|
| | | |
| | |
|
| | | }
|