Commit df36199e by zhiwj

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

parents 3b6b2502 f04cdee7
...@@ -256,11 +256,13 @@ public class StoreApiServiceImpl implements StoreApiService { ...@@ -256,11 +256,13 @@ public class StoreApiServiceImpl implements StoreApiService {
} }
@Override @Override
@Transactional
public ServiceResponse<Integer> saveStoreForOrder(Integer enterpriseId, String storeCode, String storeName, Integer regionId, String orderNum) { public ServiceResponse<Integer> saveStoreForOrder(Integer enterpriseId, String storeCode, String storeName, Integer regionId, String orderNum) {
return saveStoreForOrder(enterpriseId, storeCode, storeName, regionId, orderNum, null); return saveStoreForOrder(enterpriseId, storeCode, storeName, regionId, orderNum, null);
} }
@Override @Override
@Transactional
public ServiceResponse<Integer> saveStoreForOrder(Integer enterpriseId, String storeCode, String storeName, Integer regionId, String orderNum, Integer storeBrandId) { public ServiceResponse<Integer> saveStoreForOrder(Integer enterpriseId, String storeCode, String storeName, Integer regionId, String orderNum, Integer storeBrandId) {
ServiceResponse<List<EnterpriseLicenseDTO>> listEnterpriseLicense = this.enterpriseApiService.listEnterpriseLicense(enterpriseId); ServiceResponse<List<EnterpriseLicenseDTO>> listEnterpriseLicense = this.enterpriseApiService.listEnterpriseLicense(enterpriseId);
Integer storeLicenseNum = 0; Integer storeLicenseNum = 0;
...@@ -293,11 +295,13 @@ public class StoreApiServiceImpl implements StoreApiService { ...@@ -293,11 +295,13 @@ public class StoreApiServiceImpl implements StoreApiService {
} }
@Override @Override
@Transactional
public ServiceResponse<Integer> saveStoreForPosMember(Integer enterpriseId, String storeCode, String storeName, Integer regionId, String cardNo) { public ServiceResponse<Integer> saveStoreForPosMember(Integer enterpriseId, String storeCode, String storeName, Integer regionId, String cardNo) {
return saveStoreForPosMember(enterpriseId, storeCode, storeName, regionId, cardNo, null); return saveStoreForPosMember(enterpriseId, storeCode, storeName, regionId, cardNo, null);
} }
@Override @Override
@Transactional
public ServiceResponse<Integer> saveStoreForPosMember(Integer enterpriseId, String storeCode, String storeName, Integer regionId, String cardNo, Integer storeBrandId) { public ServiceResponse<Integer> saveStoreForPosMember(Integer enterpriseId, String storeCode, String storeName, Integer regionId, String cardNo, Integer storeBrandId) {
ServiceResponse<List<EnterpriseLicenseDTO>> listEnterpriseLicense = this.enterpriseApiService.listEnterpriseLicense(enterpriseId); ServiceResponse<List<EnterpriseLicenseDTO>> listEnterpriseLicense = this.enterpriseApiService.listEnterpriseLicense(enterpriseId);
Integer storeLicenseNum = 0; Integer storeLicenseNum = 0;
...@@ -336,6 +340,7 @@ public class StoreApiServiceImpl implements StoreApiService { ...@@ -336,6 +340,7 @@ public class StoreApiServiceImpl implements StoreApiService {
} }
@Override @Override
@Transactional
public ServiceResponse<Void> tranOverFlow(Integer enterpriseId, String storeIds) { public ServiceResponse<Void> tranOverFlow(Integer enterpriseId, String storeIds) {
ServiceResponse<List<EnterpriseLicenseDTO>> listEnterpriseLicense = this.enterpriseApiService.listEnterpriseLicense(enterpriseId); ServiceResponse<List<EnterpriseLicenseDTO>> listEnterpriseLicense = this.enterpriseApiService.listEnterpriseLicense(enterpriseId);
if (listEnterpriseLicense.isSuccess() && CollectionUtils.isNotEmpty(listEnterpriseLicense.getResult())) { if (listEnterpriseLicense.isSuccess() && CollectionUtils.isNotEmpty(listEnterpriseLicense.getResult())) {
...@@ -583,7 +588,7 @@ public class StoreApiServiceImpl implements StoreApiService { ...@@ -583,7 +588,7 @@ public class StoreApiServiceImpl implements StoreApiService {
return ServiceResponse.success(new Page<>(pageNum, pageSize)); return ServiceResponse.success(new Page<>(pageNum, pageSize));
} }
JSONObject sortJson = null; JSONObject sortJson = null;
if(StringUtils.isNotBlank(storeSearchDTO.getLatitude()) && StringUtils.isNotBlank(storeSearchDTO.getLatitude())){ if(StringUtils.isNotBlank(storeSearchDTO.getLatitude()) && StringUtils.isNotBlank(storeSearchDTO.getLongitude())){
sortJson = QueryConditionAssemblyUtil.createSortNodeByLocation(StoreESFieldsEnum.LOCATION.getField(), QueryConditionAssemblyUtil.SORT_RULE_ASC, sortJson = QueryConditionAssemblyUtil.createSortNodeByLocation(StoreESFieldsEnum.LOCATION.getField(), QueryConditionAssemblyUtil.SORT_RULE_ASC,
Double.valueOf(storeSearchDTO.getLatitude()), Double.valueOf(storeSearchDTO.getLongitude())); Double.valueOf(storeSearchDTO.getLatitude()), Double.valueOf(storeSearchDTO.getLongitude()));
}else { }else {
...@@ -601,7 +606,7 @@ public class StoreApiServiceImpl implements StoreApiService { ...@@ -601,7 +606,7 @@ public class StoreApiServiceImpl implements StoreApiService {
if(StringUtils.isNotBlank(storeSearchDTO.getLatitude()) && StringUtils.isNotBlank(storeSearchDTO.getLongitude()) && if(StringUtils.isNotBlank(storeSearchDTO.getLatitude()) && StringUtils.isNotBlank(storeSearchDTO.getLongitude()) &&
CollectionUtils.isNotEmpty(storeDTO.getLocation())){ CollectionUtils.isNotEmpty(storeDTO.getLocation())){
double v = GeoUtils.arcDistance(Double.valueOf(storeSearchDTO.getLatitude()), Double.valueOf(storeSearchDTO.getLongitude()), double v = GeoUtils.arcDistance(Double.valueOf(storeSearchDTO.getLatitude()), Double.valueOf(storeSearchDTO.getLongitude()),
Double.valueOf(storeDTO.getLocation().get(1)), storeDTO.getLocation().get(0)); storeDTO.getLocation().get(1), storeDTO.getLocation().get(0));
storeDTO.setDistance(v); storeDTO.setDistance(v);
} }
result.add(storeDTO); result.add(storeDTO);
...@@ -892,6 +897,7 @@ public class StoreApiServiceImpl implements StoreApiService { ...@@ -892,6 +897,7 @@ public class StoreApiServiceImpl implements StoreApiService {
} }
@Override @Override
@Transactional
public ServiceResponse<String> importStoreForOperation(ProcessBatchStoreDTO processBatchStoreDTO) { public ServiceResponse<String> importStoreForOperation(ProcessBatchStoreDTO processBatchStoreDTO) {
logger.info("批量处理门店:{}", JSON.toJSONString(processBatchStoreDTO)); logger.info("批量处理门店:{}", JSON.toJSONString(processBatchStoreDTO));
StoreDTO storeDTO = new StoreDTO(); StoreDTO storeDTO = new StoreDTO();
...@@ -1066,6 +1072,7 @@ public class StoreApiServiceImpl implements StoreApiService { ...@@ -1066,6 +1072,7 @@ public class StoreApiServiceImpl implements StoreApiService {
} }
@Override @Override
@Transactional
public ServiceResponse<Void> saveStoreAndClerkForBulkOrder(String params) { public ServiceResponse<Void> saveStoreAndClerkForBulkOrder(String params) {
logger.info("saveStoreAndClerkForBulkOrder:{}", params); logger.info("saveStoreAndClerkForBulkOrder:{}", params);
Map<String, Object> message = new HashMap<>(); Map<String, Object> message = new HashMap<>();
......
...@@ -41,47 +41,10 @@ public class StoreStrategyApiServiceImpl implements StoreStrategyApiService{ ...@@ -41,47 +41,10 @@ public class StoreStrategyApiServiceImpl implements StoreStrategyApiService{
@Override @Override
public ServiceResponse<Integer> saveStoreStrategy(StoreStrategyDTO storeStrategyDTO) { public ServiceResponse<Integer> saveStoreStrategy(StoreStrategyDTO storeStrategyDTO) {
ServiceResponse validParam = ValidUtil.allCheckValidate(storeStrategyDTO, SaveStoreStrategy.class); String errorMessage = validParam(storeStrategyDTO);
if (!validParam.isSuccess()) { if (StringUtils.isNotBlank(errorMessage)) {
return validParam; return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), errorMessage);
}
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(), "门店分组策略条件不能为空");
} }
//是否是门店启用状态没有选择条件,即所有门店策略
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)); return ServiceResponse.success(storeStrategyService.saveStoreGroupStrategy(storeStrategyDTO));
} }
...@@ -97,47 +60,9 @@ public class StoreStrategyApiServiceImpl implements StoreStrategyApiService{ ...@@ -97,47 +60,9 @@ public class StoreStrategyApiServiceImpl implements StoreStrategyApiService{
@Override @Override
public ServiceResponse<Integer> editStoreStrategy(StoreStrategyDTO storeStrategyDTO) { public ServiceResponse<Integer> editStoreStrategy(StoreStrategyDTO storeStrategyDTO) {
ServiceResponse validParam = ValidUtil.allCheckValidate(storeStrategyDTO, SaveStoreStrategy.class); String errorMessage = validParam(storeStrategyDTO);
if (!validParam.isSuccess()) { if (StringUtils.isNotBlank(errorMessage)) {
return validParam; return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), errorMessage);
}
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(), "策略名称不能重复");
} }
return ServiceResponse.success(storeStrategyService.modifyStoreGroupStrategy(storeStrategyDTO)); return ServiceResponse.success(storeStrategyService.modifyStoreGroupStrategy(storeStrategyDTO));
} }
...@@ -284,4 +209,67 @@ public class StoreStrategyApiServiceImpl implements StoreStrategyApiService{ ...@@ -284,4 +209,67 @@ public class StoreStrategyApiServiceImpl implements StoreStrategyApiService{
} }
return false; 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{ ...@@ -58,7 +58,6 @@ public class StoreStrategyQO implements Serializable{
/** /**
* 门店分组条件,json数组 * 门店分组条件,json数组
*/ */
@NotBlank(message = "门店属性条件配置不能为空", groups = {SaveValidView.class})
private String conditions; 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