|
@@ -56,6 +56,10 @@ public class MktMgmtRuleServiceImpl implements MktMgmtRuleService {
|
|
@Override
|
|
@Override
|
|
@Transactional
|
|
@Transactional
|
|
public void saveMktRule(SaveMktRuleDTO reqDto){
|
|
public void saveMktRule(SaveMktRuleDTO reqDto){
|
|
|
|
+
|
|
|
|
+ // 新增规则
|
|
|
|
+ MktMgmtRule rule = new MktMgmtRule();
|
|
|
|
+ StringBuilder addrBuilder = new StringBuilder();
|
|
// 验证IP列表
|
|
// 验证IP列表
|
|
List<String> ipList = reqDto.getIp();
|
|
List<String> ipList = reqDto.getIp();
|
|
// 验证域名列表
|
|
// 验证域名列表
|
|
@@ -78,9 +82,30 @@ public class MktMgmtRuleServiceImpl implements MktMgmtRuleService {
|
|
validateRuleName(reqDto.getRuleName(), reqDto.getId());
|
|
validateRuleName(reqDto.getRuleName(), reqDto.getId());
|
|
|
|
|
|
if (reqDto.getId() == null) {
|
|
if (reqDto.getId() == null) {
|
|
- // 新增规则
|
|
|
|
- MktMgmtRule rule = new MktMgmtRule();
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ //处理推送地址
|
|
|
|
+ if (reqDto.getPushAddr() != null && !reqDto.getPushAddr().isEmpty()){
|
|
|
|
+ if (reqDto.getPushAddr().size()>1){
|
|
|
|
+ for (String addr : reqDto.getPushAddr()){
|
|
|
|
+ addrBuilder.append(addr);
|
|
|
|
+ addrBuilder.append("&&");
|
|
|
|
+ }
|
|
|
|
+ addrBuilder.delete(addrBuilder.length()-2, addrBuilder.length());
|
|
|
|
+
|
|
|
|
+ } else {
|
|
|
|
+ if ("All".equals(reqDto.getPushAddr().get(0))){
|
|
|
|
+ addrBuilder.append("All");
|
|
|
|
+ } else {
|
|
|
|
+ addrBuilder.append(reqDto.getPushAddr().get(0));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
BeanUtils.copyProperties(reqDto, rule);
|
|
BeanUtils.copyProperties(reqDto, rule);
|
|
|
|
+ if (StringUtils.hasText(addrBuilder)) {
|
|
|
|
+ rule.setPushAddr(addrBuilder.toString());
|
|
|
|
+ }
|
|
mktMgmtRuleMapper.insert(rule);
|
|
mktMgmtRuleMapper.insert(rule);
|
|
|
|
|
|
// 保存IP列表
|
|
// 保存IP列表
|
|
@@ -93,6 +118,8 @@ public class MktMgmtRuleServiceImpl implements MktMgmtRuleService {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+
|
|
// 保存域名列表
|
|
// 保存域名列表
|
|
if (domainList != null && !domainList.isEmpty()) {
|
|
if (domainList != null && !domainList.isEmpty()) {
|
|
for (String domain : domainList) {
|
|
for (String domain : domainList) {
|
|
@@ -116,6 +143,8 @@ public class MktMgmtRuleServiceImpl implements MktMgmtRuleService {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
// 修改规则
|
|
// 修改规则
|
|
@@ -124,8 +153,29 @@ public class MktMgmtRuleServiceImpl implements MktMgmtRuleService {
|
|
if (mktMgmtRule == null) {
|
|
if (mktMgmtRule == null) {
|
|
throw new BusinessException("规则不存在");
|
|
throw new BusinessException("规则不存在");
|
|
}
|
|
}
|
|
- MktMgmtRule rule = new MktMgmtRule();
|
|
|
|
|
|
+
|
|
|
|
+ //处理推送地址
|
|
|
|
+ if (reqDto.getPushAddr() != null && !reqDto.getPushAddr().isEmpty()){
|
|
|
|
+ if (reqDto.getPushAddr().size()>1){
|
|
|
|
+ for (String addr : reqDto.getPushAddr()){
|
|
|
|
+ addrBuilder.append(addr);
|
|
|
|
+ addrBuilder.append("&&");
|
|
|
|
+ }
|
|
|
|
+ addrBuilder.delete(addrBuilder.length()-2, addrBuilder.length());
|
|
|
|
+
|
|
|
|
+ } else {
|
|
|
|
+ if ("All".equals(reqDto.getPushAddr().get(0))){
|
|
|
|
+ addrBuilder.append("All");
|
|
|
|
+ } else {
|
|
|
|
+ addrBuilder.append(reqDto.getPushAddr().get(0));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
BeanUtils.copyProperties(reqDto, rule);
|
|
BeanUtils.copyProperties(reqDto, rule);
|
|
|
|
+ if (StringUtils.hasText(addrBuilder)) {
|
|
|
|
+ rule.setPushAddr(addrBuilder.toString());
|
|
|
|
+ }
|
|
mktMgmtRuleMapper.updateById(rule);
|
|
mktMgmtRuleMapper.updateById(rule);
|
|
|
|
|
|
Long ruleId = reqDto.getId();
|
|
Long ruleId = reqDto.getId();
|
|
@@ -259,6 +309,21 @@ public class MktMgmtRuleServiceImpl implements MktMgmtRuleService {
|
|
PageMktRuleVO vo = new PageMktRuleVO();
|
|
PageMktRuleVO vo = new PageMktRuleVO();
|
|
BeanUtils.copyProperties(rule, vo);
|
|
BeanUtils.copyProperties(rule, vo);
|
|
|
|
|
|
|
|
+ // 规则 pushAddr 拆分
|
|
|
|
+ if (StringUtils.hasText(rule.getPushAddr())) {
|
|
|
|
+ String raw = rule.getPushAddr().trim();
|
|
|
|
+ java.util.List<String> addrs;
|
|
|
|
+ if (raw.contains("&&")) {
|
|
|
|
+ addrs = java.util.Arrays.stream(raw.split("&&"))
|
|
|
|
+ .map(String::trim)
|
|
|
|
+ .filter(StringUtils::hasText)
|
|
|
|
+ .toList();
|
|
|
|
+ } else {
|
|
|
|
+ addrs = java.util.List.of(raw);
|
|
|
|
+ }
|
|
|
|
+ vo.setPushAddr(addrs);
|
|
|
|
+ }
|
|
|
|
+
|
|
// 查询该规则对应的关键字列表
|
|
// 查询该规则对应的关键字列表
|
|
List<MktMgmtKeyword> keywords = mktMgmtKeywordMapper.selectList(
|
|
List<MktMgmtKeyword> keywords = mktMgmtKeywordMapper.selectList(
|
|
Wrappers.<MktMgmtKeyword>lambdaQuery()
|
|
Wrappers.<MktMgmtKeyword>lambdaQuery()
|
|
@@ -327,6 +392,21 @@ public class MktMgmtRuleServiceImpl implements MktMgmtRuleService {
|
|
PageMktRuleVO result = new PageMktRuleVO();
|
|
PageMktRuleVO result = new PageMktRuleVO();
|
|
BeanUtils.copyProperties(mktMgmtRule, result);
|
|
BeanUtils.copyProperties(mktMgmtRule, result);
|
|
|
|
|
|
|
|
+ // 规则 pushAddr 拆分
|
|
|
|
+ if (StringUtils.hasText(mktMgmtRule.getPushAddr())) {
|
|
|
|
+ String raw = mktMgmtRule.getPushAddr().trim();
|
|
|
|
+ java.util.List<String> addrs;
|
|
|
|
+ if (raw.contains("&&")) {
|
|
|
|
+ addrs = java.util.Arrays.stream(raw.split("&&"))
|
|
|
|
+ .map(String::trim)
|
|
|
|
+ .filter(StringUtils::hasText)
|
|
|
|
+ .toList();
|
|
|
|
+ } else {
|
|
|
|
+ addrs = java.util.List.of(raw);
|
|
|
|
+ }
|
|
|
|
+ result.setPushAddr(addrs);
|
|
|
|
+ }
|
|
|
|
+
|
|
// 查询该规则对应的关键字列表
|
|
// 查询该规则对应的关键字列表
|
|
List<MktMgmtKeyword> keywords = mktMgmtKeywordMapper.selectList(
|
|
List<MktMgmtKeyword> keywords = mktMgmtKeywordMapper.selectList(
|
|
Wrappers.<MktMgmtKeyword>lambdaQuery()
|
|
Wrappers.<MktMgmtKeyword>lambdaQuery()
|