!146 修复秒杀活动相同商品参与时,删除其他活动商品信息问题
Merge pull request !146 from OceansDeep/feature/pg
This commit is contained in:
commit
3439b7aee5
@ -2,9 +2,9 @@ package cn.lili.controller.common;
|
||||
|
||||
import cn.lili.common.enums.ResultUtil;
|
||||
import cn.lili.common.vo.ResultMessage;
|
||||
import cn.lili.modules.system.service.RegionService;
|
||||
import cn.lili.modules.system.entity.dos.Region;
|
||||
import cn.lili.modules.system.entity.vo.RegionVO;
|
||||
import cn.lili.modules.system.service.RegionService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
@ -38,6 +38,11 @@ public class RegionController {
|
||||
return ResultUtil.data(regionService.getRegion(cityCode,townName));
|
||||
}
|
||||
|
||||
@GetMapping(value = "/name")
|
||||
@ApiOperation(value = "根据名字获取地区地址id")
|
||||
public ResultMessage<String> getItemByLastName(String lastName) {
|
||||
return ResultUtil.data(regionService.getItemByLastName(lastName));
|
||||
}
|
||||
|
||||
@GetMapping(value = "/item/{id}")
|
||||
@ApiImplicitParam(name = "id", value = "地区ID", required = true, dataType = "String", paramType = "path")
|
||||
|
@ -184,6 +184,7 @@ public class SeckillApplyServiceImpl extends ServiceImpl<SeckillApplyMapper, Sec
|
||||
//保存促销活动商品信息
|
||||
if (!promotionGoodsList.isEmpty()) {
|
||||
PromotionGoodsSearchParams searchParams = new PromotionGoodsSearchParams();
|
||||
searchParams.setPromotionId(seckillId);
|
||||
searchParams.setStoreId(storeId);
|
||||
searchParams.setPromotionType(PromotionTypeEnum.SECKILL.name());
|
||||
searchParams.setSkuIds(promotionGoodsList.stream().map(PromotionGoods::getSkuId).collect(Collectors.toList()));
|
||||
|
@ -562,7 +562,8 @@ public class EsGoodsSearchServiceImpl implements EsGoodsSearchService {
|
||||
*/
|
||||
private List<FunctionScoreQueryBuilder.FilterFunctionBuilder> buildKeywordSearch(String keyword) {
|
||||
List<FunctionScoreQueryBuilder.FilterFunctionBuilder> filterFunctionBuilders = new ArrayList<>();
|
||||
MatchQueryBuilder goodsNameQuery = QueryBuilders.matchQuery("goodsName", keyword).operator(Operator.AND);
|
||||
// operator 为 AND 时 需全部分词匹配。为 OR 时 需配置 minimumShouldMatch(最小分词匹配数)不设置默认为1
|
||||
MatchQueryBuilder goodsNameQuery = QueryBuilders.matchQuery("goodsName", keyword).operator(Operator.OR).minimumShouldMatch("2");
|
||||
//分词匹配
|
||||
filterFunctionBuilders.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(goodsNameQuery,
|
||||
ScoreFunctionBuilders.weightFactorFunction(10)));
|
||||
|
@ -36,6 +36,14 @@ public interface RegionService extends IService<Region> {
|
||||
@Cacheable(key = "#id")
|
||||
List<Region> getItem(String id);
|
||||
|
||||
/**
|
||||
* 根据最后一级名称获取改所有上级地区id
|
||||
*
|
||||
* @param lastName 最后一级名称
|
||||
* @return 全部地区id
|
||||
*/
|
||||
String getItemByLastName(String lastName);
|
||||
|
||||
/**
|
||||
* 获取地址
|
||||
*
|
||||
|
@ -61,6 +61,25 @@ public class RegionServiceImpl extends ServiceImpl<RegionMapper, Region> impleme
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据最后一级名称获取改所有上级地区id
|
||||
*
|
||||
* @param lastName 最后一级名称
|
||||
* @return 全部地区id
|
||||
*/
|
||||
@Override
|
||||
public String getItemByLastName(String lastName) {
|
||||
StringBuilder sql = new StringBuilder();
|
||||
LambdaQueryWrapper<Region> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(Region::getName, lastName);
|
||||
Region region = this.getOne(lambdaQueryWrapper, false);
|
||||
if (region != null) {
|
||||
sql.append(region.getPath()).append(",").append(region.getId());
|
||||
return sql.toString().replace(",0,","");
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Region> getItem(String id) {
|
||||
LambdaQueryWrapper<Region> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
|
Loading…
x
Reference in New Issue
Block a user