public PutItemRequest buildPutItemRequest()

in sources/coffeeshop/infrastructure/src/main/java/solid/humank/coffeeshop/infra/repositories/orders/OrderDDBMapper.java [22:44]


    public <T extends AggregateRoot> PutItemRequest buildPutItemRequest(T aggregateRoot) {
        Order order = (Order) aggregateRoot;
        DomainModelMapper mapper = new DomainModelMapper();

        String orderItemsJson = mapper.writeToJsonString(order.getOrderItems());

        logger.info("orderItemsJson is:" + orderItemsJson);
        HashMap<String, AttributeValue> item_values = new HashMap();

        item_values.put("seqNo", AttributeValue.builder().n(String.valueOf(order.getId().getSeqNo())).build());
        item_values.put("tableNo", AttributeValue.builder().n(order.getTableNo()).build());
        item_values.put("orderStatus", AttributeValue.builder().n(String.valueOf(order.getStatus().getValue())).build());
        item_values.put("items", AttributeValue.builder().s(orderItemsJson).build());
        item_values.put("totalFee", AttributeValue.builder().n(String.valueOf(order.totalFee())).build());
        item_values.put("createDate", AttributeValue.builder().s(order.createdDateString()).build());
        item_values.put("modifyDate", AttributeValue.builder().s(order.modifiedDateString()).build());

        PutItemRequest request = PutItemRequest.builder()
                .tableName(TABLE_NAME)
                .item(item_values)
                .build();
        return request;
    }