|
@@ -1,5 +1,7 @@
|
|
|
package com.tzld.piaoquan.longarticle.service.local.impl;
|
|
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.ctrip.framework.apollo.spring.annotation.ApolloJsonValue;
|
|
|
import com.tzld.piaoquan.longarticle.dao.mapper.longarticle.AccountSpecialSettingsMapper;
|
|
|
import com.tzld.piaoquan.longarticle.model.po.longarticle.AccountSpecialSettings;
|
|
|
import com.tzld.piaoquan.longarticle.model.po.longarticle.AccountSpecialSettingsExample;
|
|
@@ -9,7 +11,10 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
|
public class AccountServiceImpl implements AccountService {
|
|
@@ -17,6 +22,9 @@ public class AccountServiceImpl implements AccountService {
|
|
|
@Autowired
|
|
|
private AccountSpecialSettingsMapper accountSpecialSettingsMapper;
|
|
|
|
|
|
+ @ApolloJsonValue("${specialBeforeDays:{}}")
|
|
|
+ private Map<String, Integer> specialBeforeDaysMap;
|
|
|
+
|
|
|
@Override
|
|
|
public List<AccountSpecialSettings> getAccountSpecialSettings() {
|
|
|
String dateString = DateUtil.getThatDayDateString();
|
|
@@ -31,7 +39,23 @@ public class AccountServiceImpl implements AccountService {
|
|
|
AccountSpecialSettingsExample example = new AccountSpecialSettingsExample();
|
|
|
example.createCriteria().andEffectiveDateEqualTo(dateString).andIsDeleteEqualTo(0)
|
|
|
.andOpenStatusEqualTo(1);
|
|
|
- return accountSpecialSettingsMapper.selectByExample(example);
|
|
|
+ List<AccountSpecialSettings> accountSpecialSettings = accountSpecialSettingsMapper.selectByExample(example);
|
|
|
+ if (CollectionUtils.isEmpty(accountSpecialSettings)) {
|
|
|
+ accountSpecialSettings = new ArrayList<>();
|
|
|
+ }
|
|
|
+ accountSpecialSettings = accountSpecialSettings.stream().filter(f -> specialBeforeDaysMap.containsKey(f.getSpecialSettingId())).collect(Collectors.toList());
|
|
|
+ for (Map.Entry<String, Integer> entry : specialBeforeDaysMap.entrySet()) {
|
|
|
+ dateString = DateUtil.getAfterDaysDateString(entry.getValue());
|
|
|
+ AccountSpecialSettingsExample accountSpecialSettingsExample = new AccountSpecialSettingsExample();
|
|
|
+ accountSpecialSettingsExample.createCriteria().andEffectiveDateEqualTo(dateString).andIsDeleteEqualTo(0)
|
|
|
+ .andOpenStatusEqualTo(1).andSpecialSettingIdEqualTo(entry.getKey());
|
|
|
+ List<AccountSpecialSettings> accountSpecialSettingsList = accountSpecialSettingsMapper.selectByExample(accountSpecialSettingsExample);
|
|
|
+ if (!CollectionUtils.isEmpty(accountSpecialSettingsList)) {
|
|
|
+ accountSpecialSettings.addAll(accountSpecialSettingsList);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ return accountSpecialSettings;
|
|
|
}
|
|
|
|
|
|
public void saveOrUpdateAccountSpecialSettings(AccountSpecialSettings accountSpecialSettings) {
|