Commit e2556f29 by guojuxing

分组策略

parent 606b95ed
package com.gic.store.constant;
/**
* 分组策略中国的门店属性下拉数据
* @author guojx
* @date 2019/7/4 4:03 PM
*/
public enum StrategyStoreFieldEnum {
StoreProvince("province", "门店省"),
StoreCity("city", "门店市"),
StoreCountry("country", "门店区县"),
RelatedBrand("relatedBrand", "关联品牌");
private String code;
private String message;
private StrategyStoreFieldEnum(String code, String message) {
this.code = code;
this.message = message;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
......@@ -4,8 +4,14 @@ import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.EntityUtil;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.store.constant.StoreFieldTypeEnum;
import com.gic.store.constant.StoreGroupConstant;
import com.gic.store.constant.StrategyStoreFieldEnum;
import com.gic.store.dto.StoreFieldDTO;
import com.gic.store.dto.StoreFieldSelectDTO;
import com.gic.store.dto.StoreStrategyDTO;
import com.gic.store.service.StoreFieldApiService;
import com.gic.store.service.StoreFieldSelectApiService;
import com.gic.store.service.StoreStrategyApiService;
import com.gic.store.utils.ErrorCode;
import com.gic.store.web.qo.PageQO;
......@@ -18,6 +24,10 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author guojx
* @date 2019/7/4 1:56 PM
......@@ -31,6 +41,53 @@ public class StoreStrategyController {
@Autowired
private StoreStrategyApiService storeStrategyApiService;
@Autowired
private StoreFieldApiService storeFieldApiService;
@Autowired
private StoreFieldSelectApiService storeFieldSelectApiService;
@RequestMapping("/list-store-field")
public RestResponse listStoreField(Integer regionId) {
if (regionId == null) {
return RestResponse.failure(ErrorCode.ERR_5.getCode(), "门店域ID不能为空");
}
Map<String, String> result = new HashMap<>(16);
for (StrategyStoreFieldEnum fieldEnum : StrategyStoreFieldEnum.values()) {
result.put(fieldEnum.getCode(), fieldEnum.getMessage());
}
//单选或者多选的,也需要
ServiceResponse<List<StoreFieldDTO>> storeFieldDTOServiceResponse = storeFieldApiService.listStoreFieldByRegionId(regionId);
if (storeFieldDTOServiceResponse.isSuccess()) {
List<StoreFieldDTO> storeFieldDTOList = storeFieldDTOServiceResponse.getResult();
for (StoreFieldDTO storeFieldDTO : storeFieldDTOList) {
int storeFieldType = storeFieldDTO.getStoreFieldType();
boolean isRadioOrCheck = storeFieldType == StoreFieldTypeEnum.RADIO.getCode() ||
storeFieldType == StoreFieldTypeEnum.CHECK.getCode();
if (isRadioOrCheck) {
result.put(storeFieldDTO.getStoreFieldId().toString(), storeFieldDTO.getStoreFieldName());
}
}
}
return RestResponse.success(result);
}
@RequestMapping("/list-store-field-select")
public RestResponse listStoreFieldSelect(Integer storeFieldId) {
if (storeFieldId == null) {
return RestResponse.failure(ErrorCode.ERR_5.getCode(), "单选或者多选自定义不能为空");
}
Map<Integer, String> result = new HashMap<>(16);
ServiceResponse<Page<StoreFieldSelectDTO>> serviceResponse = storeFieldSelectApiService.listStoreFieldSelect(storeFieldId, null,
1, Integer.MAX_VALUE);
if (serviceResponse.isSuccess()) {
List<StoreFieldSelectDTO> selectDTOList = serviceResponse.getResult().getResult();
for (StoreFieldSelectDTO dto : selectDTOList) {
result.put(dto.getStoreFieldSelectId(), dto.getStoreFieldSelectName());
}
}
return RestResponse.success(result);
}
@RequestMapping("/save-store-strategy")
public RestResponse saveStoreStrategy(@Validated({StoreStrategyQO.SaveValidView.class, StoreStrategyQO.StoreStrategyTypeValidView.class})
StoreStrategyQO storeStrategyQO) {
......
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