Commit 1ccdd5d9 by guos

会员标签4.0

parent 0ccb9708
......@@ -199,7 +199,7 @@ public class TagProcessManager {
for(TagConditionDTO conditionDTO:entity.tagList){
if(tagIdToFilterMap.containsKey(conditionDTO.getTagId())){
BaseTagFilter tagFilter=tagIdToFilterMap.get(conditionDTO.getTagId());
AbstractFilterRequest filterRequest=TagValueParser.parseFilterValue(conditionDTO);
AbstractFilterRequest filterRequest=TagValueParser.parseFilterValue(conditionDTO,enterpriseId);
final String groupId = entity.tagGroupId + "_" + conditionDTO.getTagId() + "_" + entity.level;
......
......@@ -6,6 +6,7 @@ import com.gic.spark.entity.TagConditionValDTO;
import com.gic.spark.entity.enumtype.*;
import com.gic.spark.entity.request.*;
import com.gic.spark.util.DateUtil;
import com.gic.spark.util.IndexRequestUtil;
import org.apache.commons.lang3.StringUtils;
import java.sql.Timestamp;
......@@ -21,7 +22,7 @@ import static com.gic.spark.entity.enumtype.TagValKeyEnum.COMPONENT_STORE;
*/
public class TagValueParser {
public static AbstractFilterRequest parseFilterValue(TagConditionDTO conditionDTO){
public static AbstractFilterRequest parseFilterValue(TagConditionDTO conditionDTO,Integer enterpriseId){
AbstractFilterRequest request=null;
switch (conditionDTO.getTagEsFieldName()){
//积分
......@@ -121,30 +122,30 @@ public class TagValueParser {
break;
//线下消费门店
case TagConstant.TAG_CODE_FIRST_OFFLINE_CONSUMPTION_STORE:
request=getOfflineConsumeStoreRequest(conditionDTO.getTagTemplateElInfo());
request=getOfflineConsumeStoreRequest(conditionDTO.getTagTemplateElInfo(),enterpriseId);
break;
case TagConstant.TAG_CODE_RECENTLY_OFFLINE_CONSUMPTION_STORE:
request=getOfflineConsumeStoreRequest(conditionDTO.getTagTemplateElInfo());
request=getOfflineConsumeStoreRequest(conditionDTO.getTagTemplateElInfo(),enterpriseId);
break;
case TagConstant.TAG_CODE_HISTORY_OFFLINE_CONSUMPTION_STORE:
request=getOfflineConsumeStoreRequest(conditionDTO.getTagTemplateElInfo());
request=getOfflineConsumeStoreRequest(conditionDTO.getTagTemplateElInfo(),enterpriseId);
break;
case TagConstant.TAG_CODE_OFFLINE_CONSUMPTION_STORE:
request=getOfflineConsumeStoreRequest(conditionDTO.getTagTemplateElInfo());
request=getOfflineConsumeStoreRequest(conditionDTO.getTagTemplateElInfo(),enterpriseId);
break;
//线上消费店铺
case TagConstant.TAG_CODE_FIRST_ONLINE_CONSUMPTION_STORE:
request=getOnlineConsumeStoreRequest(conditionDTO.getTagTemplateElInfo());
request=getOnlineConsumeStoreRequest(conditionDTO.getTagTemplateElInfo(),enterpriseId);
break;
case TagConstant.TAG_CODE_LATELY_ONLINE_CONSUMPTION_STORE:
request=getOnlineConsumeStoreRequest(conditionDTO.getTagTemplateElInfo());
request=getOnlineConsumeStoreRequest(conditionDTO.getTagTemplateElInfo(),enterpriseId);
break;
case TagConstant.TAG_CODE_HISTORY_ONLINE_CONSUMPTION_STORE:
request=getOnlineConsumeStoreRequest(conditionDTO.getTagTemplateElInfo());
request=getOnlineConsumeStoreRequest(conditionDTO.getTagTemplateElInfo(),enterpriseId);
break;
case TagConstant.TAG_CODE_ONLINE_CONSUMPTION_STORE:
request=getOnlineConsumeStoreRequest(conditionDTO.getTagTemplateElInfo());
request=getOnlineConsumeStoreRequest(conditionDTO.getTagTemplateElInfo(),enterpriseId);
break;
//消费商品
......@@ -200,18 +201,14 @@ public class TagValueParser {
return request;
}
private static AbstractFilterRequest getOnlineConsumeStoreRequest(List<TagConditionValDTO> conditionValDTOList) {
private static AbstractFilterRequest getOnlineConsumeStoreRequest(List<TagConditionValDTO> conditionValDTOList,Integer enterpriseId) {
TagConsumeStoreRequest request=new TagConsumeStoreRequest();
List<String>storeList=new ArrayList();
for (TagConditionValDTO conditionValDTO : conditionValDTOList) {
if (Pattern.compile("flag").matcher(conditionValDTO.getKey()).find()) {
setStatisticsTypeHandle(request, conditionValDTO.getKey(), conditionValDTO.getVal());
} else if(conditionValDTO.getKey().equals(TagValKeyEnum.COMPONENT_STORE.getKey())){
String val=conditionValDTO.getVal();
Map<String,List<String>> storeMap = JSONObject.parseObject(val,HashMap.class);
for(List<String>lts:storeMap.values()){
lts.forEach(store->storeList.add(store));
}
List<String>storeList = IndexRequestUtil.getStoreId(enterpriseId, val, TagProcessManager.getInstance().isProduction());
request.setStoreList(storeList);
}else if(Pattern.compile("timeRange").matcher(conditionValDTO.getKey()).find()){
String[] keys=conditionValDTO.getKey().split("\\.");
......@@ -239,14 +236,14 @@ public class TagValueParser {
return request;
}
private static AbstractFilterRequest getOfflineConsumeStoreRequest(List<TagConditionValDTO> conditionValDTOList) {
private static AbstractFilterRequest getOfflineConsumeStoreRequest(List<TagConditionValDTO> conditionValDTOList,Integer enterpriseId) {
TagConsumeStoreRequest request=new TagConsumeStoreRequest();
for (TagConditionValDTO conditionValDTO : conditionValDTOList) {
if (Pattern.compile("flag").matcher(conditionValDTO.getKey()).find()) {
setStatisticsTypeHandle(request, conditionValDTO.getKey(), conditionValDTO.getVal());
} else if(conditionValDTO.getKey().equals(TagValKeyEnum.COMPONENT_STORE.getKey())){
String val=conditionValDTO.getVal();
List<String>storeList=null ;//需要调用接口
List<String>storeList= IndexRequestUtil.getStoreId(enterpriseId,val,TagProcessManager.getInstance().isProduction()) ;//需要调用接口
request.setStoreList(storeList);
}else if(Pattern.compile("timeRange").matcher(conditionValDTO.getKey()).find()){
String[] keys=conditionValDTO.getKey().split("\\.");
......
......@@ -17,23 +17,17 @@ import java.util.List;
*/
public class IndexRequestUtil {
public static List<String> getStoreInfoById(String enterpriseId, String widgetId, boolean isProd) {
String url = "http://gicdev.demogic.com/api-plug/get-store-widget-store-ignorelogin?requestProject=gic-web&currentPage=1&pageSize=" + Integer.MAX_VALUE + "&key=" + widgetId + "&enterpriseId=" + enterpriseId;
if (isProd) {
url = "http://demogic.com/api-plug/get-store-widget-store-ignorelogin?requestProject=gic-web&currentPage=1&pageSize=" + Integer.MAX_VALUE + "&key=" + widgetId + "&enterpriseId=" + enterpriseId;
}
public static List<String> getStoreId(Integer enterpriseId, String widgetId, boolean isProd) {
String url = isProd?"https://four.gicdev.com/gic-store-web/list-widget-store-info?enterpriseId="+enterpriseId+"&storeWidgetId="+widgetId
:"https://ideal.demogic.com/gic-store-web/list-widget-store-info?enterpriseId="+enterpriseId+"&storeWidgetId="+widgetId;
HttpResponse response = HttpClient.getHttpResponseByGet(url);
// System.out.println(HttpClient.getResponseString(response));
JSONObject jsonObject = JSONObject.parseObject(HttpClient.getResponseString(response));
List<String> result = new ArrayList();
try {
JSONArray jsonArray = jsonObject.getJSONObject("result").getJSONArray("result");
for (Object o : jsonArray) {
JSONObject storeInfo = (JSONObject) o;
result.add(storeInfo.getString("storeId"));
for (Object obj : jsonArray) {
result.add((String)obj);
}
} catch (Exception e) {
DingtalkMessageUtil.sendAlertMessage("widgetId: " + widgetId + " enterpriseId: " + enterpriseId + " parsing store error " );
......@@ -42,59 +36,6 @@ public class IndexRequestUtil {
}
/*public static List<String> getGoodsInfoById(String enterpriseId ,String selectorId, boolean isProd) {
String url = "http://gicdev.demogic.com/api-plug/get-store-goods-sku-filter?enterpriseId="+enterpriseId+"&id=" + selectorId;
if (isProd) {
url = "http://demogic.com/api-plug/get-store-goods-sku-filter?requestProject=goods&enterpriseId="+enterpriseId+"&id=" + selectorId;
}
try {
org.apache.http.client.HttpClient httpClient = HttpClient.getHttpClient();
HttpResponse response = HttpClient.getHttpResponseByGet(url);
JSONObject jsonObject = JSONObject.parseObject(HttpClient.getResponseString(response));
JSONArray filterConditions = jsonObject.getJSONObject("result").getJSONArray("filterCondition");
System.out.println("filterConditions==>"+filterConditions.toJSONString());
String skuUrl="http://gicdev.demogic.com/api-plug/store-goods-sku-filter?enterpriseId="+enterpriseId;
if(isProd){
skuUrl="http://demogic.com/api-plug/store-goods-sku-filter?enterpriseId="+enterpriseId;
}
HttpPost httpPost = new HttpPost(skuUrl);
httpPost.addHeader("Content-Type", "application/json;charset=UTF-8");
JSONObject requestObject = new JSONObject();
// requestObject.put("requestProject","goods");
requestObject.put("currentPage", 1);
requestObject.put("pageSize", Integer.MAX_VALUE);
requestObject.put("queryList", filterConditions);
requestObject.put("source", 1);
StringEntity stringEntity = new StringEntity(requestObject.toString(), "UTF-8");
stringEntity.setContentEncoding("UTF-8");
httpPost.setEntity(stringEntity);
try {
HttpResponse response1 = httpClient.execute(httpPost);
JSONObject result = JSONObject.parseObject(HttpClient.getResponseString(response1));
JSONArray resultArray = result.getJSONObject("result").getJSONArray("result");
List<String> skuList = new ArrayList<>();
for (Object object : resultArray) {
JSONObject goodsInfo = (JSONObject) object;
// System.out.println(object);
skuList.add(goodsInfo.getString("skuCode"));
}
return skuList;
} catch (IOException e) {
e.printStackTrace();
}
}catch (Exception e){
e.printStackTrace();
DingtalkMessageUtil.sendAlertMessage("selectorId: " + selectorId + " parsing result error " );
}
return null;
}*/
public static List<String> getGoodsInfoById(String enterpriseId ,String selectorId, boolean isProd) {
String url = "http://gicdev.demogic.com/api-plug/get-store-goods-sku-filter?enterpriseId="+enterpriseId+"&id=" + selectorId;
......
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