Commit 496d95f7 authored by Aleyn's avatar Aleyn

Merge branch 'lyg_dev' into 'master'

Lyg dev

See merge request !37
parents 6db36227 657fd7b4
......@@ -8,6 +8,7 @@ import com.weface.dto.MultiMsgDTO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import java.util.List;
import java.util.Objects;
......@@ -98,4 +99,18 @@ public class ValidatorParam {
return null;
}
/**
* 根据地理位置推送校验
* @param informForm
* @return
*/
public static CommonResult validRegion(InformForm informForm) {
if (StringUtils.isBlank(informForm.getCity()) && StringUtils.isBlank(informForm.getProvince()) && StringUtils.isBlank(informForm.getCountry())) {
log.error("region中至少有一个字段不为空", informForm);
return CommonResult.validateFailed("region中至少有一个字段不为空");
}
return null;
}
}
......@@ -75,17 +75,27 @@ public class MobPushService {
//appkey
request.put("appkey", APP_KEY);
informForm.setUrl(HtmlUtil.unescape(informForm.getUrl()));
String[] split = new String[0];
if (target.getKey() != 1) {
//推送目标
String cid = informForm.getCid();
if (cid.contains(",")) {
split = cid.split(",");
} else {
split = new String[]{cid};
Map<String, Object> pushTarget = new HashMap<>();
if (Constant.PushTarget.CITY.getKey() != target.getKey()) {
String[] split = new String[0];
if (target.getKey() != 1) {
//推送目标
String cid = informForm.getCid();
if (cid.contains(",")) {
split = cid.split(",");
} else {
split = new String[]{cid};
}
}
pushTarget = getPushTarget(target.getKey(), split);
} else {
Map<String, String> regionMap = new HashMap<>();
regionMap.put("city", informForm.getCity());
regionMap.put("province", informForm.getProvince());
regionMap.put("country", informForm.getCountry());
pushTarget = getPushTarget(target.getKey(), regionMap);
}
Map<String, Object> pushTarget = getPushTarget(target.getKey(), split);
request.put("pushTarget", pushTarget);
//推送展示细节配置
......
......@@ -33,7 +33,7 @@ public class FilterConfig {
*/
@Bean
public FilterRegistrationBean<SignValidateFilter> signValidateFilter() {
final String include = "/push/single/alias,/push/single/cid,/push/batch/alias";
final String include = "/push/single/alias,/push/single/cid,/push/batch/alias,/push/region";
//不拦截的url列表
final String excludes = "";
//拦截url列表
......
......@@ -132,4 +132,22 @@ public class PushController {
return mobPushService.batchMobPush(multiInformForm);
}
/**
* 别名批量推送
*/
@PostMapping("/region")
public CommonResult region(@RequestBody @Validated InformForm informForm) {
ValidatorUtils.validateEntity(informForm, InformForm.PushValid.class);
CommonResult result = ValidatorParam.validPushParams(informForm);
if (result != null) {
return result;
}
result = ValidatorParam.validRegion(informForm);
if (result != null) {
return result;
}
return mobPushService.mobPush(informForm, Constant.PushTarget.CITY);
}
}
......@@ -45,6 +45,23 @@ public class InformForm {
private String content;
//推送大图标的url地址小米厂商对图片尺寸有严格要求
private String image;
// 按区域推(city、province、country必选一个不为空)
/**
* 推送地理位置的城市例:上海市
*/
private String city;
/**
* 推送地理位置的省份例:浙江省
*/
private String province;
/**
* 推送地理位置的国家例:中国
*/
private String country;
public interface PushValid{
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment