fix: 优化日志搜索,关闭商品删除索引

This commit is contained in:
misworga831 2023-03-14 19:37:22 +08:00
parent a81faf4ba4
commit c793c47d45
3 changed files with 18 additions and 15 deletions

View File

@ -133,7 +133,7 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
//获取商品ID列表
List<String> list = this.baseMapper.getGoodsIdByStoreId(storeId);
//下架店铺下的商品
updateGoodsMarketAble(list, GoodsStatusEnum.DOWN, "店铺关闭");
this.updateGoodsMarketAbleByStoreId(storeId, GoodsStatusEnum.DOWN, "店铺关闭");
applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("下架商品",
rocketmqCustomProperties.getGoodsTopic(), GoodsTagsEnum.DOWN.name(), JSONUtil.toJsonStr(list)));

View File

@ -1,6 +1,5 @@
package cn.lili.modules.permission.serviceimpl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.text.CharSequenceUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.SearchVO;
@ -9,7 +8,9 @@ import cn.lili.modules.permission.repository.SystemLogRepository;
import cn.lili.modules.permission.service.SystemLogService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.elasticsearch.common.unit.Fuzziness;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.MultiMatchQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.sort.SortBuilders;
import org.elasticsearch.search.sort.SortOrder;
@ -82,25 +83,22 @@ public class SystemLogServiceImpl implements SystemLogService {
}
if (CharSequenceUtil.isNotEmpty(operatorName)) {
nativeSearchQueryBuilder.withFilter(QueryBuilders.wildcardQuery("username", "*" + operatorName + "*"));
nativeSearchQueryBuilder.withQuery(QueryBuilders.matchQuery("username", operatorName));
}
if (CharSequenceUtil.isNotEmpty(key)) {
BoolQueryBuilder filterBuilder = new BoolQueryBuilder();
filterBuilder.should(QueryBuilders.wildcardQuery("requestUrl", "*" + key + "*"))
.should(QueryBuilders.wildcardQuery("requestParam", "*" + key + "*"))
.should(QueryBuilders.wildcardQuery("responseBody", "*" + key + "*"))
.should(QueryBuilders.wildcardQuery("name", "*" + key + "*"));
nativeSearchQueryBuilder.withFilter(filterBuilder);
MultiMatchQueryBuilder multiMatchQueryBuilder = QueryBuilders.multiMatchQuery(key, "requestUrl", "requestParam", "responseBody", "name");
multiMatchQueryBuilder.fuzziness(Fuzziness.AUTO);
nativeSearchQueryBuilder.withFilter(multiMatchQueryBuilder);
}
//时间有效性判定
if (searchVo.getConvertStartDate() != null && searchVo.getConvertEndDate() != null) {
BoolQueryBuilder filterBuilder = new BoolQueryBuilder();
//大于方法
filterBuilder.must(
filterBuilder.filter(
QueryBuilders.rangeQuery("createTime")
.gte(DateUtil.format(searchVo.getConvertStartDate(), "dd/MM/yyyy"))
.lte(DateUtil.format(searchVo.getConvertEndDate(), "dd/MM/yyyy")).format("dd/MM/yyyy||yyyy"));
.gte(searchVo.getConvertStartDate().getTime())
.lte(searchVo.getConvertEndDate().getTime()));
nativeSearchQueryBuilder.withFilter(filterBuilder);
}

View File

@ -235,11 +235,16 @@ public class StoreServiceImpl extends ServiceImpl<StoreMapper, Store> implements
public boolean disable(String id) {
Store store = this.getById(id);
if (store != null) {
store.setStoreDisable(StoreStatusEnum.CLOSED.value());
LambdaUpdateWrapper<Store> storeLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
storeLambdaUpdateWrapper.eq(Store::getId, id);
storeLambdaUpdateWrapper.set(Store::getStoreDisable, StoreStatusEnum.CLOSED.value());
boolean update = this.update(storeLambdaUpdateWrapper);
//下架所有此店铺商品
goodsService.underStoreGoods(id);
return this.updateById(store);
if (update) {
goodsService.underStoreGoods(id);
}
return update;
}
throw new ServiceException(ResultCode.STORE_NOT_EXIST);