| | |
| | | package com.vincent.rsf.server.manager.service; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | |
| | | return Collections.emptyList(); |
| | | } |
| | | List<CusBarcodeSyncView> rows = cusBarcodeSyncViewMapper.selectList( |
| | | Wrappers.<CusBarcodeSyncView>lambdaQuery() |
| | | .in(CusBarcodeSyncView::getBarcode, codes) |
| | | buildBarcodeOrQuery(codes) |
| | | .select( |
| | | CusBarcodeSyncView::getBarcode, |
| | | CusBarcodeSyncView::getItemName, |
| | |
| | | return toViewMaps(rows); |
| | | } |
| | | |
| | | private LambdaQueryWrapper<CusBarcodeSyncView> buildBarcodeOrQuery(List<String> codes) { |
| | | LambdaQueryWrapper<CusBarcodeSyncView> wrapper = Wrappers.lambdaQuery(); |
| | | wrapper.and(q -> { |
| | | for (int i = 0; i < codes.size(); i++) { |
| | | String code = codes.get(i); |
| | | if (i == 0) { |
| | | q.eq(CusBarcodeSyncView::getBarcode, code); |
| | | } else { |
| | | q.or().eq(CusBarcodeSyncView::getBarcode, code); |
| | | } |
| | | } |
| | | }); |
| | | return wrapper; |
| | | } |
| | | |
| | | private List<Map<String, Object>> toViewMaps(List<CusBarcodeSyncView> rows) { |
| | | if (rows == null || rows.isEmpty()) { |
| | | return Collections.emptyList(); |