Commit ff07dbee authored by shiyu's avatar shiyu

商品列表加上状态筛选条件

parent dec9de47
......@@ -61,12 +61,12 @@ public class AdminGoodsController {
@RequiresPermissions("admin:goods:list")
@RequiresPermissionsDesc(menu = { "商品管理", "商品管理" }, button = "查询")
@GetMapping("/list")
public Object list(String name, @RequestParam(defaultValue = "1") Integer page,
public Object list(String name, Integer state, @RequestParam(defaultValue = "1") Integer page,
@RequestParam(defaultValue = "10") Integer limit,
@Sort @RequestParam(defaultValue = "update_time") String sort,
@Order @RequestParam(defaultValue = "asc") String order) {
logger.info("【请求开始】操作人:[" + AuthSupport.userName()+ "] 商品管理->商品管理->查询,请求参数:name:{},page:{}", name, page);
return adminGoodsService.list(name, page, limit, sort, order);
return adminGoodsService.list(name, state, page, limit, sort, order);
}
/**
......
......@@ -36,10 +36,10 @@ public class AdminGoodsServiceImpl implements AdminGoodsService {
private QCodeService qCodeService;
@Override
public Object list(String name, Integer page, Integer limit, String sort, String order) {
public Object list(String name, Integer state, Integer page, Integer limit, String sort, String order) {
Map<String, Object> data = new HashMap<>();
try {
List<Item> itemList = itemDao.querySelective(name, page, limit, sort, order);
List<Item> itemList = itemDao.querySelective(name, state, page, limit, sort, order);
long total = PageInfo.of(itemList).getTotal();
List<ItemVo> itemVoList = new ArrayList<>();
itemVoList = itemList.stream().map(i -> ItemVo.fromItem(i)).collect(Collectors.toList());
......
......@@ -4,7 +4,7 @@ import com.wwdz.ch.db.domain.Item;
import org.springframework.transaction.annotation.Transactional;
public interface AdminGoodsService {
Object list(String name, Integer page, Integer limit, String sort, String order);
Object list(String name, Integer state, Integer page, Integer limit, String sort, String order);
Object update(Item item);
......
......@@ -26,4 +26,17 @@ public class CharUtil {
return sb.toString();
}
public static String getInvitationCode(Integer num) {
String base = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
Random random = new Random();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < num; i++) {
int number = random.nextInt(base.length());
sb.append(base.charAt(number));
}
return sb.toString();
}
}
......@@ -178,21 +178,6 @@
<version>8.8.2</version>
</dependency>
<!-- <dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.8.0</version>
<exclusions>
<exclusion>
<artifactId>elasticsearch-rest-client</artifactId>
<groupId>org.elasticsearch.client</groupId>
</exclusion>
<exclusion>
<artifactId>jackson-core</artifactId>
<groupId>com.fasterxml.jackson.core</groupId>
</exclusion>
</exclusions>
</dependency>-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
......
......@@ -71,7 +71,7 @@ public interface ItemDao {
List<Item> querySelective(Integer catId, String keywords, Integer offset, Integer limit, String sort, String order);
List<Item> querySelective(String name, Integer page, Integer size, String sort, String order);
List<Item> querySelective(String name, Integer state, Integer page, Integer size, String sort, String order);
/**
* 获取某个商品信息,包含完整信息
......
......@@ -43,6 +43,7 @@ public class ItemEsDao {
private final static List<String> SOURCE_LIST = Arrays.asList("1", "3", "8", "11", "1000");
@Resource(name="clientByPasswd")
ElasticsearchClient elasticsearchClient;
......@@ -94,7 +95,13 @@ public class ItemEsDao {
sourceQueryList.add(FieldValue.of(i));
});
Query termsQuery = QueryBuilders.terms(s->s.field("source").terms(t->t.value(sourceQueryList)));
Query shouldQuery = QueryBuilders.bool(q->q.should(termsQuery));
//展示待处理和已发布状态的商品
List<FieldValue> stateQueryList = new ArrayList<>();
stateQueryList.add(FieldValue.of(1));
stateQueryList.add(FieldValue.of(10));
Query stateQuery = QueryBuilders.terms(s->s.field("state").terms(t->t.value(stateQueryList)));
Query shouldQuery = QueryBuilders.bool(q->q.should(termsQuery, stateQuery));
BoolQuery.Builder build = QueryBuilders.bool().filter(shouldQuery);
if(StringUtils.hasLength(esSearchRequestDto.getContent())) {
......
......@@ -256,7 +256,7 @@ public class ItemDaoImpl implements ItemDao {
return itemMapper.selectByExampleWithBLOBs(example);
}
public List<Item> querySelective(String name, Integer page, Integer size, String sort,
public List<Item> querySelective(String name, Integer state, Integer page, Integer size, String sort,
String order) {
ItemExample example = new ItemExample();
ItemExample.Criteria criteria = example.createCriteria();
......@@ -266,6 +266,10 @@ public class ItemDaoImpl implements ItemDao {
}
criteria.andIsDeletedEqualTo(false);
if (state != null) {
criteria.andStateEqualTo(state);
}
if (!StringUtils.isEmpty(sort) && !StringUtils.isEmpty(order)) {
example.setOrderByClause(sort + " " + order);
}
......
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