Commit f04cdee7 by 陶光胜

Merge branch 'developer' of http://115.159.76.241/base_platform_enterprise/gic-store into developer

parents 037492ec 2299d76e
......@@ -41,47 +41,10 @@ public class StoreStrategyApiServiceImpl implements StoreStrategyApiService{
@Override
public ServiceResponse<Integer> saveStoreStrategy(StoreStrategyDTO storeStrategyDTO) {
ServiceResponse validParam = ValidUtil.allCheckValidate(storeStrategyDTO, SaveStoreStrategy.class);
if (!validParam.isSuccess()) {
return validParam;
}
if (storeStrategyDTO.getStrategyType() == StoreGroupConstant.STORE_STRATEGY_TYPE) {
//如果是门店状态策略类型,必须有
if (StringUtils.isBlank(storeStrategyDTO.getStoreCreateType())) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "门店创建方式不能为空");
}
}
String conditions = storeStrategyDTO.getConditions();
boolean isNotRightConditionsField = storeStrategyDTO.getStrategyType() != StoreGroupConstant.STORE_STRATEGY_TYPE && StringUtils.isBlank(conditions);
if (isNotRightConditionsField) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "门店分组策略条件不能为空");
String errorMessage = validParam(storeStrategyDTO);
if (StringUtils.isNotBlank(errorMessage)) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), errorMessage);
}
//是否是门店启用状态没有选择条件,即所有门店策略
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());
storeStrategyDTO.setUpdateTime(new Date());
storeStrategyDTO.setDeleteFlag(0);
//sort
storeStrategyDTO.setSort(storeStrategyService.getMinSort(storeStrategyDTO.getEnterpriseId(), storeStrategyDTO.getStrategyType()) - 1d);
TabStoreStrategy record = EntityUtil.changeEntityNew(TabStoreStrategy.class, storeStrategyDTO);
if (storeStrategyService.isRepeatGroupStrategyName(record)) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "策略名称不能重复");
}
return ServiceResponse.success(storeStrategyService.saveStoreGroupStrategy(storeStrategyDTO));
}
......@@ -97,47 +60,9 @@ public class StoreStrategyApiServiceImpl implements StoreStrategyApiService{
@Override
public ServiceResponse<Integer> editStoreStrategy(StoreStrategyDTO storeStrategyDTO) {
ServiceResponse validParam = ValidUtil.allCheckValidate(storeStrategyDTO, SaveStoreStrategy.class);
if (!validParam.isSuccess()) {
return validParam;
}
TabStoreStrategy storeStrategy = storeStrategyService.getStoreStrategyById(storeStrategyDTO.getStrategyId());
if (storeStrategy == null) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "策略主键ID错误,查询不到数据");
}
String conditions = storeStrategyDTO.getConditions();
boolean isNotRightConditionsField = storeStrategyDTO.getStrategyType() != StoreGroupConstant.STORE_STRATEGY_TYPE && StringUtils.isBlank(conditions);
if (isNotRightConditionsField) {
return 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) {
//如果是门店状态策略类型,必须有
if (StringUtils.isBlank(storeStrategyDTO.getStoreCreateType())) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "门店创建方式不能为空");
}
}
storeStrategyDTO.setCreateTime(storeStrategy.getCreateTime());
storeStrategyDTO.setUpdateTime(new Date());
storeStrategyDTO.setEnterpriseId(storeStrategy.getEnterpriseId());
storeStrategyDTO.setStrategyType(storeStrategy.getStrategyType());
TabStoreStrategy record = EntityUtil.changeEntityNew(TabStoreStrategy.class, storeStrategyDTO);
if (storeStrategyService.isRepeatGroupStrategyName(record)) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "策略名称不能重复");
String errorMessage = validParam(storeStrategyDTO);
if (StringUtils.isNotBlank(errorMessage)) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), errorMessage);
}
return ServiceResponse.success(storeStrategyService.modifyStoreGroupStrategy(storeStrategyDTO));
}
......@@ -284,4 +209,67 @@ public class StoreStrategyApiServiceImpl implements StoreStrategyApiService{
}
return false;
}
/**
* 验证新增/编辑参数
* @param storeStrategyDTO
* @return 错误信息
*/
private String validParam(StoreStrategyDTO storeStrategyDTO) {
ServiceResponse validParam = ValidUtil.allCheckValidate(storeStrategyDTO, SaveStoreStrategy.class);
if (!validParam.isSuccess()) {
return validParam.getMessage();
}
TabStoreStrategy storeStrategy = storeStrategyService.getStoreStrategyById(storeStrategyDTO.getStrategyId());
//是否是新增操作
boolean isAddOperation = storeStrategy == null;
boolean isStoreStrategyType = storeStrategyDTO.getStrategyType() == StoreGroupConstant.STORE_STRATEGY_TYPE;
if (isStoreStrategyType) {
//如果是门店状态策略类型,必须有
if (StringUtils.isBlank(storeStrategyDTO.getStoreCreateType())) {
return "门店创建方式不能为空";
}
}
String conditions = storeStrategyDTO.getConditions();
boolean isNotRightConditionsField = storeStrategyDTO.getStrategyType() != StoreGroupConstant.STORE_STRATEGY_TYPE && StringUtils.isBlank(conditions);
if (isNotRightConditionsField) {
return "门店分组策略条件不能为空";
}
//是否是门店启用状态没有选择条件,即所有门店策略
boolean isAllConditions = storeStrategyDTO.getStrategyType() == StoreGroupConstant.STORE_STRATEGY_TYPE && StringUtils.isBlank(conditions);
if (!isAllConditions) {
//验证conditions合法性
if (isConditionsSizeOver(conditions)) {
return "门店属性条件配置超出5个";
}
if (validConditionsIsRepeatKey(conditions)) {
return "门店属性条件每一种都不能重复";
}
}
if (isAddOperation) {
storeStrategyDTO.setCreateTime(new Date());
storeStrategyDTO.setUpdateTime(new Date());
storeStrategyDTO.setDeleteFlag(0);
//sort
storeStrategyDTO.setSort(storeStrategyService.getMinSort(storeStrategyDTO.getEnterpriseId(), storeStrategyDTO.getStrategyType()) - 1d);
} else {
storeStrategyDTO.setCreateTime(storeStrategy.getCreateTime());
storeStrategyDTO.setUpdateTime(new Date());
storeStrategyDTO.setEnterpriseId(storeStrategy.getEnterpriseId());
storeStrategyDTO.setStrategyType(storeStrategy.getStrategyType());
}
TabStoreStrategy record = EntityUtil.changeEntityNew(TabStoreStrategy.class, storeStrategyDTO);
if (storeStrategyService.isRepeatGroupStrategyName(record)) {
return "策略名称不能重复";
}
return null;
}
}
......@@ -58,7 +58,6 @@ public class StoreStrategyQO implements Serializable{
/**
* 门店分组条件,json数组
*/
@NotBlank(message = "门店属性条件配置不能为空", groups = {SaveValidView.class})
private String conditions;
/**
......
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