!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.enums.ResultUtil;
|
||||||
import cn.lili.common.vo.ResultMessage;
|
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.dos.Region;
|
||||||
import cn.lili.modules.system.entity.vo.RegionVO;
|
import cn.lili.modules.system.entity.vo.RegionVO;
|
||||||
|
import cn.lili.modules.system.service.RegionService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParam;
|
||||||
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiImplicitParams;
|
||||||
@ -38,6 +38,11 @@ public class RegionController {
|
|||||||
return ResultUtil.data(regionService.getRegion(cityCode,townName));
|
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}")
|
@GetMapping(value = "/item/{id}")
|
||||||
@ApiImplicitParam(name = "id", value = "地区ID", required = true, dataType = "String", paramType = "path")
|
@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()) {
|
if (!promotionGoodsList.isEmpty()) {
|
||||||
PromotionGoodsSearchParams searchParams = new PromotionGoodsSearchParams();
|
PromotionGoodsSearchParams searchParams = new PromotionGoodsSearchParams();
|
||||||
|
searchParams.setPromotionId(seckillId);
|
||||||
searchParams.setStoreId(storeId);
|
searchParams.setStoreId(storeId);
|
||||||
searchParams.setPromotionType(PromotionTypeEnum.SECKILL.name());
|
searchParams.setPromotionType(PromotionTypeEnum.SECKILL.name());
|
||||||
searchParams.setSkuIds(promotionGoodsList.stream().map(PromotionGoods::getSkuId).collect(Collectors.toList()));
|
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) {
|
private List<FunctionScoreQueryBuilder.FilterFunctionBuilder> buildKeywordSearch(String keyword) {
|
||||||
List<FunctionScoreQueryBuilder.FilterFunctionBuilder> filterFunctionBuilders = new ArrayList<>();
|
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,
|
filterFunctionBuilders.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(goodsNameQuery,
|
||||||
ScoreFunctionBuilders.weightFactorFunction(10)));
|
ScoreFunctionBuilders.weightFactorFunction(10)));
|
||||||
|
@ -36,6 +36,14 @@ public interface RegionService extends IService<Region> {
|
|||||||
@Cacheable(key = "#id")
|
@Cacheable(key = "#id")
|
||||||
List<Region> getItem(String 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
|
@Override
|
||||||
public List<Region> getItem(String id) {
|
public List<Region> getItem(String id) {
|
||||||
LambdaQueryWrapper<Region> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<Region> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user