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 {
}
@Override
@Transactional
public ServiceResponse<Integer> saveStoreForOrder(Integer enterpriseId, String storeCode, String storeName, Integer regionId, String orderNum) {
return saveStoreForOrder(enterpriseId, storeCode, storeName, regionId, orderNum, null);
}
@Override
@Transactional
public ServiceResponse<Integer> saveStoreForOrder(Integer enterpriseId, String storeCode, String storeName, Integer regionId, String orderNum, Integer storeBrandId) {
ServiceResponse<List<EnterpriseLicenseDTO>> listEnterpriseLicense = this.enterpriseApiService.listEnterpriseLicense(enterpriseId);
Integer storeLicenseNum = 0;
......@@ -293,11 +295,13 @@ public class StoreApiServiceImpl implements StoreApiService {
}
@Override
@Transactional
public ServiceResponse<Integer> saveStoreForPosMember(Integer enterpriseId, String storeCode, String storeName, Integer regionId, String cardNo) {
return saveStoreForPosMember(enterpriseId, storeCode, storeName, regionId, cardNo, null);
}
@Override
@Transactional
public ServiceResponse<Integer> saveStoreForPosMember(Integer enterpriseId, String storeCode, String storeName, Integer regionId, String cardNo, Integer storeBrandId) {
ServiceResponse<List<EnterpriseLicenseDTO>> listEnterpriseLicense = this.enterpriseApiService.listEnterpriseLicense(enterpriseId);
Integer storeLicenseNum = 0;
......@@ -336,6 +340,7 @@ public class StoreApiServiceImpl implements StoreApiService {
}
@Override
@Transactional
public ServiceResponse<Void> tranOverFlow(Integer enterpriseId, String storeIds) {
ServiceResponse<List<EnterpriseLicenseDTO>> listEnterpriseLicense = this.enterpriseApiService.listEnterpriseLicense(enterpriseId);
if (listEnterpriseLicense.isSuccess() && CollectionUtils.isNotEmpty(listEnterpriseLicense.getResult())) {
......@@ -583,7 +588,7 @@ public class StoreApiServiceImpl implements StoreApiService {
return ServiceResponse.success(new Page<>(pageNum, pageSize));
}
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,
Double.valueOf(storeSearchDTO.getLatitude()), Double.valueOf(storeSearchDTO.getLongitude()));
}else {
......@@ -601,7 +606,7 @@ public class StoreApiServiceImpl implements StoreApiService {
if(StringUtils.isNotBlank(storeSearchDTO.getLatitude()) && StringUtils.isNotBlank(storeSearchDTO.getLongitude()) &&
CollectionUtils.isNotEmpty(storeDTO.getLocation())){
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);
}
result.add(storeDTO);
......@@ -892,6 +897,7 @@ public class StoreApiServiceImpl implements StoreApiService {
}
@Override
@Transactional
public ServiceResponse<String> importStoreForOperation(ProcessBatchStoreDTO processBatchStoreDTO) {
logger.info("批量处理门店:{}", JSON.toJSONString(processBatchStoreDTO));
StoreDTO storeDTO = new StoreDTO();
......@@ -1066,6 +1072,7 @@ public class StoreApiServiceImpl implements StoreApiService {
}
@Override
@Transactional
public ServiceResponse<Void> saveStoreAndClerkForBulkOrder(String params) {
logger.info("saveStoreAndClerkForBulkOrder:{}", params);
Map<String, Object> message = new HashMap<>();
......
......@@ -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