Commit 254245fb by guojuxing

新增 门店启用策略修改:允许条件为空,即所有门店

parent 80141798
......@@ -54,8 +54,6 @@ public class StoreStrategyDTO implements Serializable {
/**
* 门店分组条件,json数组
*/
@NotBlank(message = "门店属性条件配置不能为空", groups = { StoreStrategyApiService.SaveStoreStrategy.class,
StoreStrategyApiService.ModifyStoreStrategy.class })
private String conditions;
/**
......
......@@ -192,6 +192,19 @@ public class StoreStrategyServiceImpl implements StoreStrategyService{
validSize ++;
if (strategyType == StoreGroupConstant.STORE_STRATEGY_TYPE) {
//如果是门店启用状态策略,需要验证门店创建方式
if (!isValueHitStrategy(store.getCreateType().toString(), storeCreateType)) {
continue;
}
if (StringUtils.isBlank(conditions)) {
//如果没有条件,则是所有门店适用
result = targetValue;
break;
}
validSize ++;
}
JSONArray jsonArray = JSONArray.parseArray(conditions);
for (int i = 0, length = jsonArray.size(); i < length; i ++) {
JSONObject object = jsonArray.getJSONObject(i);
......@@ -230,13 +243,6 @@ public class StoreStrategyServiceImpl implements StoreStrategyService{
validSize ++;
}
if (strategyType == StoreGroupConstant.STORE_STRATEGY_TYPE) {
//如果是门店启用状态策略,需要验证门店创建方式
if (!isValueHitStrategy(store.getCreateType().toString(), storeCreateType)) {
continue;
}
validSize ++;
}
int hitSize;
if (strategyType == StoreGroupConstant.STORE_STRATEGY_TYPE) {
......
......@@ -53,12 +53,22 @@ public class StoreStrategyApiServiceImpl implements StoreStrategyApiService{
}
}
String conditions = storeStrategyDTO.getConditions();
//验证conditions合法性
if (isConditionsSizeOver(conditions)) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "门店属性条件配置超出5个");
boolean isNotRightConditionsField = storeStrategyDTO.getStrategyType() != StoreGroupConstant.STORE_STRATEGY_TYPE && StringUtils.isBlank(conditions);
if (isNotRightConditionsField) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "门店分组策略条件不能为空");
}
if (validConditionsIsRepeatKey(conditions)) {
ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "门店属性条件每一种都不能重复");
//是否是门店启用状态没有选择条件,即所有门店策略
boolean isAllConditions = storeStrategyDTO.getStrategyType() == StoreGroupConstant.STORE_STRATEGY_TYPE && StringUtils.isBlank(conditions);
if (!isAllConditions) {
//验证conditions合法性
if (isConditionsSizeOver(conditions)) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "门店属性条件配置超出5个");
}
if (validConditionsIsRepeatKey(conditions)) {
ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "门店属性条件每一种都不能重复");
}
}
storeStrategyDTO.setCreateTime(new Date());
......@@ -96,12 +106,22 @@ public class StoreStrategyApiServiceImpl implements StoreStrategyApiService{
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "策略主键ID错误,查询不到数据");
}
String conditions = storeStrategyDTO.getConditions();
//验证conditions合法性
if (isConditionsSizeOver(conditions)) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "门店属性条件配置超出5个");
boolean isNotRightConditionsField = storeStrategyDTO.getStrategyType() != StoreGroupConstant.STORE_STRATEGY_TYPE && StringUtils.isBlank(conditions);
if (isNotRightConditionsField) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "门店分组策略条件不能为空");
}
if (validConditionsIsRepeatKey(conditions)) {
ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "门店属性条件每一种都不能重复");
//是否是门店启用状态没有选择条件,即所有门店策略
boolean isAllConditions = storeStrategyDTO.getStrategyType() == StoreGroupConstant.STORE_STRATEGY_TYPE && StringUtils.isBlank(conditions);
if (!isAllConditions) {
//验证conditions合法性
if (isConditionsSizeOver(conditions)) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "门店属性条件配置超出5个");
}
if (validConditionsIsRepeatKey(conditions)) {
ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "门店属性条件每一种都不能重复");
}
}
if (storeStrategy.getStrategyType() == StoreGroupConstant.STORE_STRATEGY_TYPE) {
//如果是门店状态策略类型,必须有
......
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