Commit b489bb4d by xub

积分商品同步es测试接口

parent 90ebd4b2
...@@ -24,6 +24,7 @@ import com.gic.widget.screening.api.service.EsScreeningSearchService; ...@@ -24,6 +24,7 @@ import com.gic.widget.screening.api.service.EsScreeningSearchService;
import com.google.common.base.Joiner; import com.google.common.base.Joiner;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.curator.shaded.com.google.common.base.Splitter;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -36,6 +37,7 @@ import java.util.ArrayList; ...@@ -36,6 +37,7 @@ import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
/** /**
* 商城装修选择器 * 商城装修选择器
...@@ -91,6 +93,7 @@ public class AppletConfigGoodsController extends BaseGoodsController { ...@@ -91,6 +93,7 @@ public class AppletConfigGoodsController extends BaseGoodsController {
/** /**
* 商城组对外提供的组件 * 商城组对外提供的组件
*
* @param currentPage * @param currentPage
* @param pageSize * @param pageSize
* @param appConfigId * @param appConfigId
...@@ -100,7 +103,7 @@ public class AppletConfigGoodsController extends BaseGoodsController { ...@@ -100,7 +103,7 @@ public class AppletConfigGoodsController extends BaseGoodsController {
*/ */
@RequestMapping("list-mall-goods-selector") @RequestMapping("list-mall-goods-selector")
public RestResponse listGoodsByChannel(@RequestParam(value = "currentPage", defaultValue = "1") Integer currentPage, public RestResponse listGoodsByChannel(@RequestParam(value = "currentPage", defaultValue = "1") Integer currentPage,
@RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize, String appConfigId, String search, Long cordId, @RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize, String appConfigId, String search, Long cordId,
Long shopId) { Long shopId) {
Long areaId = null; Long areaId = null;
if (StringUtils.isNotBlank(appConfigId)) { if (StringUtils.isNotBlank(appConfigId)) {
...@@ -135,21 +138,21 @@ public class AppletConfigGoodsController extends BaseGoodsController { ...@@ -135,21 +138,21 @@ public class AppletConfigGoodsController extends BaseGoodsController {
ServiceResponse<ESResponseQueryBatchDTO> serviceResponse = searchGoods(currentPage, pageSize, areaId, search, ServiceResponse<ESResponseQueryBatchDTO> serviceResponse = searchGoods(currentPage, pageSize, areaId, search,
Constant.CHANNEL_CODE_MALL, cordJSON); Constant.CHANNEL_CODE_MALL, cordJSON);
if (serviceResponse.isSuccess()) { if (serviceResponse.isSuccess()) {
List<Long> goodsIds = new ArrayList<>(); List<Long> goodsIds = new ArrayList<>();
if (CollectionUtils.isNotEmpty(serviceResponse.getResult().getRes())) { if (CollectionUtils.isNotEmpty(serviceResponse.getResult().getRes())) {
serviceResponse.getResult().getRes().forEach(json -> { serviceResponse.getResult().getRes().forEach(json -> {
Long goodsId = json.getLong("goodsId"); Long goodsId = json.getLong("goodsId");
goodsIds.add(goodsId); goodsIds.add(goodsId);
}); });
} }
ServiceResponse<Map<Long, BigDecimal>> mapServiceResponse = mallGoodsBusinessApiService.getLowestSkuPrice(goodsIds, getEnterpriseId()); ServiceResponse<Map<Long, BigDecimal>> mapServiceResponse = mallGoodsBusinessApiService.getLowestSkuPrice(goodsIds, getEnterpriseId());
if (mapServiceResponse.isSuccess()) { if (mapServiceResponse.isSuccess()) {
Map<Long, BigDecimal> map = mapServiceResponse.getResult(); Map<Long, BigDecimal> map = mapServiceResponse.getResult();
serviceResponse.getResult().getRes().forEach(json -> { serviceResponse.getResult().getRes().forEach(json -> {
Long goodsId = json.getLong("goodsId"); Long goodsId = json.getLong("goodsId");
json.put("minSkuPrice", map.getOrDefault(goodsId, BigDecimal.valueOf(0))); json.put("minSkuPrice", map.getOrDefault(goodsId, BigDecimal.valueOf(0)));
}); });
} }
return RestResponse.success(serviceResponse.getResult()); return RestResponse.success(serviceResponse.getResult());
} }
return RestResponse.failure(serviceResponse.getCode(), serviceResponse.getMessage()); return RestResponse.failure(serviceResponse.getCode(), serviceResponse.getMessage());
...@@ -157,6 +160,7 @@ public class AppletConfigGoodsController extends BaseGoodsController { ...@@ -157,6 +160,7 @@ public class AppletConfigGoodsController extends BaseGoodsController {
/** /**
* 商城组对内的渠道商品组件 * 商城组对内的渠道商品组件
*
* @param currentPage * @param currentPage
* @param pageSize * @param pageSize
* @param search * @param search
...@@ -164,8 +168,8 @@ public class AppletConfigGoodsController extends BaseGoodsController { ...@@ -164,8 +168,8 @@ public class AppletConfigGoodsController extends BaseGoodsController {
*/ */
@RequestMapping("list-channel-goods-selector") @RequestMapping("list-channel-goods-selector")
public RestResponse listGoodsChannel(@RequestParam(value = "currentPage", defaultValue = "1") Integer currentPage, public RestResponse listGoodsChannel(@RequestParam(value = "currentPage", defaultValue = "1") Integer currentPage,
@RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize, String search, @RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize, String search,
Double startPrice, Double endPrice, Integer startStock, Integer endStock, String channelCode) { Double startPrice, Double endPrice, Integer startStock, Integer endStock, String channelCode) {
JSONObject queryObject = null; JSONObject queryObject = null;
if (startPrice != null) { if (startPrice != null) {
queryObject = QueryConditionAssemblyUtil.createSimpleQueryNode("goodsPrice", queryObject = QueryConditionAssemblyUtil.createSimpleQueryNode("goodsPrice",
...@@ -206,8 +210,27 @@ public class AppletConfigGoodsController extends BaseGoodsController { ...@@ -206,8 +210,27 @@ public class AppletConfigGoodsController extends BaseGoodsController {
return RestResponse.failure(serviceResponse.getCode(), serviceResponse.getMessage()); return RestResponse.failure(serviceResponse.getCode(), serviceResponse.getMessage());
} }
private Long getGoodsDomainIdByAponfigId(String appConfigId) {
Long goodsDomainId = null;
ServiceResponse<AppletsConfigSimpleOutputDTO> appServiceResponse = appletsConfigApiService.selectAppletsConfigIdByAppId(appConfigId, getEnterpriseId());
if (appServiceResponse.getResult() == null) {
log.info("查不到小程序信息 appConfigId={}", appConfigId);
}
Integer shopType = 2;
ServiceResponse<ShopDTO> shopDTOServiceResponse = shopApiService.getShopByAppletId(appServiceResponse.getResult().getAppletConfigId(), getEnterpriseId(), shopType);
if (shopDTOServiceResponse.getResult() == null) {
log.info("查不到店铺信息 appConfigId={}", appConfigId);
return null;
}
goodsDomainId = shopDTOServiceResponse.getResult().getAreaId();
return goodsDomainId;
}
private ServiceResponse<ESResponseQueryBatchDTO> searchGoods(Integer currentPage, Integer pageSize, private ServiceResponse<ESResponseQueryBatchDTO> searchGoods(Integer currentPage, Integer pageSize,
Long goodsDomainId, String search, String channelCode, JSONObject queryObject) { Long goodsDomainId, String search, String channelCode, JSONObject queryObject) {
DynamicSearchDTO searchDTO = new DynamicSearchDTO(); DynamicSearchDTO searchDTO = new DynamicSearchDTO();
String searchCode = ""; String searchCode = "";
if (Constant.CHANNEL_CODE_MALL.equals(channelCode)) { if (Constant.CHANNEL_CODE_MALL.equals(channelCode)) {
...@@ -258,4 +281,62 @@ public class AppletConfigGoodsController extends BaseGoodsController { ...@@ -258,4 +281,62 @@ public class AppletConfigGoodsController extends BaseGoodsController {
return serviceResponse; return serviceResponse;
} }
/**
* 小程序积分商城查询
*
* @param currentPage
* @param pageSize
* @param appConfigId
* @param cordId
* @return 调试接口
*/
//@RequestMapping("list-integral-goods-selector")
public RestResponse listIntegralGoodsByChannel(@RequestParam(value = "currentPage", defaultValue = "1") Integer currentPage,
@RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize, String appConfigId, Long cordId,String sortColumn,String ids,Integer proType) {
Long goodsDomainId = getGoodsDomainIdByAponfigId(appConfigId);
DynamicSearchDTO searchDTO = new DynamicSearchDTO();
String columnCategoryCode = "gic_integral_goods";
String esName = esScreeningSearchService.getCurrentEsName(getEnterpriseId() + "", columnCategoryCode);
searchDTO.setIndexName(esName);
searchDTO.setColumnCategoryCode(columnCategoryCode);
searchDTO.setEnterpriseId(getEnterpriseId() + "");
searchDTO.setType("mapper_type");
searchDTO.setBegin((currentPage - 1) * pageSize);
searchDTO.setRecordNumber(pageSize);
JSONObject sortNode = QueryConditionAssemblyUtil.createSortNode(sortColumn, "desc");
List<JSONObject> jsonArray = new ArrayList<>();
JSONObject proTypejson = QueryConditionAssemblyUtil.createSimpleQueryNode("proType", OperateEnum.OPERATE_EQ, proType);
JSONObject goodsDomainIdJson = QueryConditionAssemblyUtil.createSimpleQueryNode("goodsDomainId", OperateEnum.OPERATE_EQ, goodsDomainId);
JSONObject json = QueryConditionAssemblyUtil.addQueryNodeForSiblin(proTypejson, goodsDomainIdJson, OperateEnum.OPERATE_AND);
JSONObject upShelvesTimejson = QueryConditionAssemblyUtil.createSimpleQueryNode("upShelvesTime", OperateEnum.OPERATE_LTE, System.currentTimeMillis());
json = QueryConditionAssemblyUtil.addQueryNodeForSiblin(json, upShelvesTimejson, OperateEnum.OPERATE_AND);
if (cordId != null) {
JSONObject goodsCodeJson = QueryConditionAssemblyUtil.createSimpleQueryNode("goodsCordId", OperateEnum.OPERATE_EQ, cordId);
json = QueryConditionAssemblyUtil.addQueryNodeForSiblin(json, goodsCodeJson, OperateEnum.OPERATE_AND);
jsonArray.add(goodsCodeJson);
}
if (ids != null) {
List<Long> collect = Splitter.on(",").splitToList(ids).stream().map(x -> Long.parseLong(x)).collect(Collectors.toList());
JSONObject goodsIdsJSON = QueryConditionAssemblyUtil.createSimpleQueryNode("id", OperateEnum.OPERATE_CONTAIN, Joiner.on(" ").join(collect));
JSONObject strategyJson = QueryConditionAssemblyUtil.createSimpleQueryNode("strategyFlag", OperateEnum.OPERATE_EQ, 0);
JSONObject strategyAndgoodsIdsJSON = QueryConditionAssemblyUtil.addQueryNodeForSiblin(goodsIdsJSON, strategyJson, OperateEnum.OPERATE_OR);
json = QueryConditionAssemblyUtil.addQueryNodeForSiblin(json, strategyAndgoodsIdsJSON, OperateEnum.OPERATE_AND);
jsonArray.add(strategyAndgoodsIdsJSON);
}else{
JSONObject strategyJson = QueryConditionAssemblyUtil.createSimpleQueryNode("strategyFlag", OperateEnum.OPERATE_EQ, 0);
json = QueryConditionAssemblyUtil.addQueryNodeForSiblin(json, strategyJson, OperateEnum.OPERATE_AND);
jsonArray.add(strategyJson);
}
searchDTO.setSearchJson(json);
searchDTO.setSortJson(sortNode);
log.info("查询条件 = {}",JSONObject.toJSONString(searchDTO));
ServiceResponse<ESResponseQueryBatchDTO> serviceResponse = esBusinessOperaApiService.queryDataBatch(searchDTO, false, null);
if (serviceResponse.isSuccess()) {
return RestResponse.success(serviceResponse.getResult());
}
return RestResponse.failure(serviceResponse.getCode(), serviceResponse.getMessage());
}
} }
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