| | |
| | | import com.example.erp.common.Result; |
| | | import com.example.erp.entity.sd.OrderDetail; |
| | | import com.example.erp.entity.sd.OrderFile; |
| | | import com.example.erp.mapper.sd.OrderDetailMapper; |
| | | import com.example.erp.mapper.sd.OrderFileMapper; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | @RequiredArgsConstructor |
| | | public class OrderFileService { |
| | | private final OrderFileMapper orderFileMapper; |
| | | private final OrderDetailMapper orderDetailMapper; |
| | | public List<OrderFile> getOrderFilePicture(List<Map<String,Object>> orderDetails) throws NoSuchFieldException { |
| | | Set<String> seenKeys = new HashSet<>(); |
| | | List<Map<String,Object>> result = new ArrayList<>(); |
| | |
| | | result = orderDetails.stream() |
| | | .collect(Collectors.collectingAndThen( |
| | | Collectors.toMap( |
| | | map -> map.get("order_id"), |
| | | map -> { |
| | | Object v = map.get("order_id"); |
| | | if (v == null) { |
| | | v = map.get("orderId"); |
| | | } |
| | | return String.valueOf(v); |
| | | }, |
| | | map -> map, |
| | | (existing, replacement) -> existing // 保留第一个出现的 |
| | | (existing, replacement) -> existing // 保留第一个 |
| | | ), |
| | | map -> new ArrayList<>(map.values()) |
| | | m -> new ArrayList<>(m.values()) |
| | | )); |
| | | //循环获取图片 |
| | | List<OrderFile> orderFiles = new ArrayList<>(); |
| | | for (Map<String,Object> obj : result) { |
| | | List<OrderFile> orderFile = orderFileMapper.selectList(new QueryWrapper<OrderFile>() |
| | | .select("order_id, order_number, image_base64") |
| | | .eq("order_id", obj.get("order_id")) |
| | | for (Map<String, Object> obj : result) { |
| | | |
| | | Object orderId = obj.get("order_id"); |
| | | if (orderId == null) { |
| | | orderId = obj.get("orderId"); |
| | | } |
| | | |
| | | List<OrderFile> orderFile = orderFileMapper.selectList( |
| | | new QueryWrapper<OrderFile>() |
| | | .select("order_id, order_number, image_base64") |
| | | .eq("order_id", orderId) |
| | | ); |
| | | if (orderFile != null){ |
| | | |
| | | if (orderFile != null && !orderFile.isEmpty()) { |
| | | orderFiles.addAll(orderFile); |
| | | } |
| | | } |
| | |
| | | .eq(OrderFile::getOrderNumber, orderNumber) |
| | | ); |
| | | } |
| | | |
| | | orderDetailMapper.update(null,new LambdaUpdateWrapper<OrderDetail>() |
| | | .setSql("file_name = '" + name + "'") |
| | | .eq(OrderDetail::getOrderId, orderId)); |
| | | |
| | | return orderFile; |
| | | } catch (Exception e) { |