fix
Helius
2021-07-22 740add0b62d86090d953ca0008163b988663ad65
fix
3 files modified
26 ■■■■ changed files
gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderItemsMapper.java 2 ●●●●● patch | view | raw | blame | history
gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java 19 ●●●● patch | view | raw | blame | history
gc-order/src/main/resources/mapper/order/JhyOrderItemsMapper.xml 5 ●●●●● patch | view | raw | blame | history
gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderItemsMapper.java
@@ -12,4 +12,6 @@
    List<JhyOrderItems> selectOrderItems(@Param("orderId") Long orderId);
    BigDecimal selectOrderScoreByOrderId(@Param("orderId") Long orderId);
    int deleteItemsByOrderId(@Param("orderId") Long orderId);
}
gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java
@@ -183,14 +183,23 @@
            throw new RestException(-3, "不是集物员");
        }
        jhyOrderItemsMapper.deleteItemsByOrderId(confirmDto.getOrderId());
        BigDecimal totalScore = BigDecimal.ZERO;
        for (JhyOrderConfirmItemsDto item : confirmDto.getItems()) {
            JhyOrderItems orderItem = jhyOrderItemsMapper.selectByPrimaryKey(item.getId());
            BigDecimal weight = StrUtil.isNotBlank(item.getWeight()) ? new BigDecimal(item.getWeight()) : BigDecimal.ZERO;
            BigDecimal total = orderItem.getPrice().multiply(BigDecimal.valueOf(40)).multiply(weight);
            orderItem.setScore(total.setScale(0, BigDecimal.ROUND_DOWN).toString());
            orderItem.setWeight(weight);
            jhyOrderItemsMapper.updateByPrimaryKey(orderItem);
            SysEnvironmentalInfo environmentalInfo = environmentalInfoMapper.selectByPrimaryKey(item.getId());
            JhyOrderItems orderItems = new JhyOrderItems();
            orderItems.setOrderId(confirmDto.getOrderId());
            orderItems.setPicture(environmentalInfo.getPicture());
            orderItems.setItemType(item.getId());
            orderItems.setTitle(environmentalInfo.getTitle());
            orderItems.setPrice(new BigDecimal(environmentalInfo.getPrice()));
            BigDecimal total = orderItems.getPrice().multiply(BigDecimal.valueOf(40)).multiply(weight);
            orderItems.setScore(total.setScale(0, BigDecimal.ROUND_DOWN).toString());
            orderItems.setWeight(weight);
            jhyOrderItemsMapper.insert(orderItems);
            totalScore = totalScore.add(total);
        }
gc-order/src/main/resources/mapper/order/JhyOrderItemsMapper.xml
@@ -13,4 +13,9 @@
        where order_id=#{orderId}
        group by order_id
    </select>
    <delete id="deleteItemsByOrderId">
        delete from xzx_jhy_order_items
        where order_id=#{orderId}
    </delete>
</mapper>