diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/AddCartDTO.java b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/AddCartDTO.java index 6e4d085b..44335aaf 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/AddCartDTO.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/AddCartDTO.java @@ -2,10 +2,8 @@ package cn.ysk.cashier.dto.shoptable; import lombok.Data; -import javax.validation.constraints.Min; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; +import javax.validation.constraints.*; +import java.math.BigDecimal; @Data public class AddCartDTO { @@ -19,8 +17,8 @@ public class AddCartDTO { private Integer shopId; private String tableId; @NotNull - @Min(1) - private Integer num; + @DecimalMin("0.01") + private BigDecimal num; private boolean isPack; private boolean isGift; private Integer cartId; diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/AddTemporaryDishesDTO.java b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/AddTemporaryDishesDTO.java index eec2eb62..bd0e0cde 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/AddTemporaryDishesDTO.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/AddTemporaryDishesDTO.java @@ -2,10 +2,7 @@ package cn.ysk.cashier.dto.shoptable; import lombok.Data; -import javax.validation.constraints.Min; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; +import javax.validation.constraints.*; import java.math.BigDecimal; @Data @@ -22,8 +19,10 @@ public class AddTemporaryDishesDTO { @Min(value = 0, message = "价格最低为0") private BigDecimal price; @NotNull - @Min(1) - private Integer num; + @DecimalMin(value = "0.01") + private BigDecimal num; + @NotBlank(message = "单位不为空") + private String unit; private String note; // 用餐类型 @NotBlank diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ReturnCartDTO.java b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ReturnCartDTO.java index f8a9cc43..87239935 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ReturnCartDTO.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ReturnCartDTO.java @@ -2,8 +2,10 @@ package cn.ysk.cashier.dto.shoptable; import lombok.Data; +import javax.validation.constraints.DecimalMin; import javax.validation.constraints.Min; import javax.validation.constraints.NotNull; +import java.math.BigDecimal; @Data public class ReturnCartDTO { @@ -13,7 +15,7 @@ public class ReturnCartDTO { private Integer shopId; private Long tableId; @NotNull - @Min(value = 1, message = "最小数量为1") - private Integer num; + @DecimalMin(value = "0.01", message = "最小数量为0.01") + private BigDecimal num; private String note; } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ReturnOrderDTO.java b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ReturnOrderDTO.java index 75dc893c..54e1fe2d 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ReturnOrderDTO.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ReturnOrderDTO.java @@ -6,6 +6,7 @@ import javax.validation.Valid; import javax.validation.constraints.Min; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; +import java.math.BigDecimal; import java.util.List; @Data @@ -17,7 +18,7 @@ public class ReturnOrderDTO { private Integer id; @NotNull @Min(1) - private Integer num; + private BigDecimal num; } @NotNull private Integer orderId; diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/UpdateCartDTO.java b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/UpdateCartDTO.java index e5497eef..97b094c0 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/UpdateCartDTO.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/UpdateCartDTO.java @@ -2,9 +2,11 @@ package cn.ysk.cashier.dto.shoptable; import lombok.Data; +import javax.validation.constraints.DecimalMin; import javax.validation.constraints.Min; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; +import java.math.BigDecimal; @Data public class UpdateCartDTO { @@ -15,8 +17,8 @@ public class UpdateCartDTO { @NotNull private Integer shopId; @NotNull - @Min(0) - private Integer num; + @DecimalMin("0") + private BigDecimal num; private String note; private Boolean isPack; private Boolean isGift; diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbCashierCartMapper.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbCashierCartMapper.java index 6e8c29da..2d86fa55 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbCashierCartMapper.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbCashierCartMapper.java @@ -9,6 +9,7 @@ import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; +import java.math.BigDecimal; import java.util.List; public interface TbCashierCartMapper extends BaseMapper { @@ -47,7 +48,7 @@ public interface TbCashierCartMapper extends BaseMapper { */ @Update("update tb_cashier_cart set status=#{status}, total_amount=(number+#{changeNum})*sale_price,number=number+#{changeNum},total_number=total_number+#{changeNum} " + "where id=#{id}") - int updateNumAmountStatus(Integer id, String status, Integer changeNum); + int updateNumAmountStatus(Integer id, String status, BigDecimal changeNum); @Select("select a.* from tb_cashier_cart as a left join tb_order_detail as b on a.id=b.cart_id where a.shop_id=#{shopId} and a.status=#{state} and a.created_at>#{time} and b.id is not null;") List selectPlaceCart(Integer shopId, long time, String state); diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbOrderDetailMapper.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbOrderDetailMapper.java index 415eb6ce..ff9623cb 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbOrderDetailMapper.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbOrderDetailMapper.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; +import java.math.BigDecimal; import java.util.List; public interface TbOrderDetailMapper extends BaseMapper { @@ -19,7 +20,7 @@ public interface TbOrderDetailMapper extends BaseMapper { */ @Update("update tb_order_detail set status=#{status}, price_amount=(num+#{changeNum})*price,num=num+#{changeNum} " + "where id=#{id}") - int updateNumAmountStatus(Integer id, String status, int changeNum); + int updateNumAmountStatus(Integer id, String status, BigDecimal changeNum); /** * 查询包含打包费和是否赠送的订单详情信息 diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbProducSkutMapper.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbProducSkutMapper.java index 66fb09e5..dbfa6e0b 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbProducSkutMapper.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbProducSkutMapper.java @@ -6,6 +6,8 @@ import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; +import java.math.BigDecimal; + public interface TbProducSkutMapper extends BaseMapper { @@ -29,5 +31,5 @@ public interface TbProducSkutMapper extends BaseMapper { int decrStockUnCheck(String id, int num); @Update("update tb_product_sku set real_sales_number=real_sales_number-#{num} WHERE id=#{skuId}") - int decrRealSalesNumber(@Param("skuId") Integer skuId, @Param("num") Integer num); + int decrRealSalesNumber(@Param("skuId") Integer skuId, @Param("num") BigDecimal num); } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbProductMapper.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbProductMapper.java index e8448908..bfe3676d 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbProductMapper.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbProductMapper.java @@ -8,6 +8,8 @@ import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; import org.springframework.data.jpa.repository.Query; +import java.math.BigDecimal; + public interface TbProductMapper extends BaseMapper { @Select("select * from tb_product_sku as sku where sku.is_del=0 and sku.is_grounding=1 and sku.is_pause_sale=0 and sku.shop_id=#{shopId} and sku.id=#{skuId}") @@ -17,11 +19,11 @@ public interface TbProductMapper extends BaseMapper { TbProduct selectByIdAndShopId(@Param("shopId") Integer shopId, @Param("id") Integer id); @Update("update tb_product set stock_number=stock_number+#{addNum} WHERE id=#{id}") - int incrStock(@Param("id") Integer id, @Param("addNum") Integer addNum); + int incrStock(@Param("id") Integer id, @Param("addNum") BigDecimal addNum); @Update("update tb_product set stock_number=stock_number-#{decrNum} WHERE id=#{productId} and stock_number-#{decrNum} >= 0") - int decrStock(@Param("productId") Integer productId, @Param("decrNum") int decrNum); + int decrStock(@Param("productId") Integer productId, @Param("decrNum") BigDecimal decrNum); @Update("update tb_product set stock_number=stock_number-#{num} WHERE id=#{id}") - int decrStockUnCheck(Integer id, int num); + int decrStockUnCheck(Integer id, BigDecimal num); } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/pojo/order/TbCashierCart.java b/eladmin-system/src/main/java/cn/ysk/cashier/pojo/order/TbCashierCart.java index df1863f2..9bbd0a1d 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/pojo/order/TbCashierCart.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/pojo/order/TbCashierCart.java @@ -85,15 +85,15 @@ public class TbCashierCart implements Serializable { @Column(name = "`number`", nullable = false) @NotNull @ApiModelProperty(value = "结余数量") - private Integer number; + private BigDecimal number; @Column(name = "`total_number`") @ApiModelProperty(value = "总下单数量") - private Integer totalNumber; + private BigDecimal totalNumber; @Column(name = "`refund_number`") @ApiModelProperty(value = "退单数量") - private Integer refundNumber; + private BigDecimal refundNumber; @Column(name = "`category_id`") @ApiModelProperty(value = "分类Id") @@ -170,6 +170,7 @@ public class TbCashierCart implements Serializable { private Integer isMember; // 是否临时菜品 private Integer isTemporary; + private String unit; public void copy(TbCashierCart source) { BeanUtil.copyProperties(source, this, CopyOptions.create().setIgnoreNullValue(true)); @@ -186,9 +187,9 @@ public class TbCashierCart implements Serializable { totalAmount = packFee; } else { if (isMember != null && isMember == 1 && memberPrice != null && memberPrice.compareTo(BigDecimal.ZERO) > 0) { - totalAmount = BigDecimal.valueOf(totalNumber).multiply(memberPrice).add(packFee); + totalAmount = totalNumber.multiply(memberPrice).add(packFee); } else { - totalAmount = BigDecimal.valueOf(totalNumber).multiply(salePrice).add(packFee); + totalAmount = totalNumber.multiply(salePrice).add(packFee); } } } @@ -197,14 +198,15 @@ public class TbCashierCart implements Serializable { * 获取总价不包含打包费 * */ - public BigDecimal getTotalAmountByNum(Integer num) { + public BigDecimal getTotalAmountByNum(BigDecimal num) { if (num == null) { num = totalNumber; } if (isMember != null && isMember == 1 && memberPrice != null && memberPrice.compareTo(BigDecimal.ZERO) > 0) { - return BigDecimal.valueOf(num).multiply(memberPrice); + return num.multiply(memberPrice); } else { - return BigDecimal.valueOf(num).multiply(salePrice); + return num.multiply(salePrice); } } + } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/pojo/order/TbOrderDetail.java b/eladmin-system/src/main/java/cn/ysk/cashier/pojo/order/TbOrderDetail.java index 9e1b4227..295fed68 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/pojo/order/TbOrderDetail.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/pojo/order/TbOrderDetail.java @@ -61,7 +61,7 @@ public class TbOrderDetail implements Serializable { @Column(name = "`num`") @ApiModelProperty(value = "num") - private Integer num; + private BigDecimal num; @Column(name = "`product_name`") @ApiModelProperty(value = "productName") @@ -103,7 +103,7 @@ public class TbOrderDetail implements Serializable { @Transient @ApiModelProperty(value = "退单数量") @TableField(exist = false) - private Integer refundNumber; + private BigDecimal refundNumber; @Column(name = "`is_vip`") @ApiModelProperty(value = "isVip") diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/repository/product/TbProductRepository.java b/eladmin-system/src/main/java/cn/ysk/cashier/repository/product/TbProductRepository.java index eb19aa14..0d2fbb15 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/repository/product/TbProductRepository.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/repository/product/TbProductRepository.java @@ -34,7 +34,7 @@ public interface TbProductRepository extends JpaRepository, @Modifying @Query("update FROM TbProduct pro set pro.stockNumber=pro.stockNumber+:number WHERE pro.id =:productId") - void incrProductStockNumber(Integer productId, Integer number); + void incrProductStockNumber(Integer productId, BigDecimal number); @Transactional @Modifying @@ -44,7 +44,7 @@ public interface TbProductRepository extends JpaRepository, @Modifying @Query("update TbProduct set stockNumber=stockNumber+:num where id=:id") - void incrStock(@Param("id") Integer id, @Param("num") Integer num); + void incrStock(@Param("id") Integer id, @Param("num") BigDecimal num); @Query("select product from TbProduct product where product.shopId=:shopId") diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java index 52f21943..4e96acc2 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java @@ -178,17 +178,26 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService { List details = tbOrderDetailMapper.selectFullInfoByOrderId(tbOrderInfo.getId()); if (!tbOrderInfo.getOrderType().equals("return")) { List tbOrderInfos = tbOrderInfoRepository.selTbOrdersBysource(tbOrderInfo.getId(), tbOrderInfo.getShopId()); - Map map; + Map map; if (!CollectionUtils.isEmpty(tbOrderInfos)) { List ids = tbOrderInfos.stream().map(TbOrderInfo::getId).collect(Collectors.toList()); List refundOrderDetail = tbOrderDetailRepository.searchDetailByOrderIds(ids); - map = refundOrderDetail.stream().collect(Collectors.groupingBy(TbOrderDetail::getProductSkuId, Collectors.summingInt(TbOrderDetail::getNum))); + map = refundOrderDetail.stream() + .collect(Collectors.groupingBy( + TbOrderDetail::getProductSkuId, + Collectors.reducing( + BigDecimal.ZERO, + TbOrderDetail::getNum, + BigDecimal::add + ) + )); + refundAmount = tbOrderInfos.stream().map(TbOrderInfo::getOrderAmount).reduce(BigDecimal.ZERO, BigDecimal::add); } else { map = new HashMap<>(); } details.parallelStream().forEach(detail -> { - Integer refundNumber = map.get(detail.getProductSkuId()); + BigDecimal refundNumber = map.get(detail.getProductSkuId()); if (refundNumber != null) { detail.setRefundNumber(refundNumber); } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductServiceImpl.java index f069f840..5ac1de9c 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductServiceImpl.java @@ -735,12 +735,12 @@ public class TbProductServiceImpl implements TbProductService { } @Override - public void incrStockNumber(String productId, Integer number) { + public void incrStockNumber(String productId, BigDecimal number) { tbProductRepository.incrProductStockNumber(Integer.valueOf(productId), number); } @Override - public void returnStockByPro(Integer productId, Integer productSkuId, Integer num) { + public void returnStockByPro(Integer productId, Integer productSkuId, BigDecimal num) { if (productId > 0) { log.info("开始返还库存,订单超时取消,商品id:{}", productId); TbProduct product = tbProductRepository.findById(productId).orElse(null); diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java index a4ee952d..f681ecd4 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java @@ -425,7 +425,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { throw new BadRequestException("已下单商品仅支持退单操作"); } - if (updateCartDTO.getNum() == 0) { + if (updateCartDTO.getNum().compareTo(BigDecimal.ZERO) == 0) { cashierCartRepository.deleteById(updateCartDTO.getCartId()); return null; } @@ -452,18 +452,18 @@ public class TbShopTableServiceImpl implements TbShopTableService { tbCashierCart.setTradeDay(DateUtils.getDay()); tbCashierCart.setStatus("create"); tbCashierCart.setSalePrice(tbCashierCart.getSalePrice()); - tbCashierCart.setTotalAmount(new BigDecimal(updateCartDTO.getNum()).multiply(tbCashierCart.getSalePrice())); + tbCashierCart.setTotalAmount(updateCartDTO.getNum().multiply(tbCashierCart.getSalePrice())); tbCashierCart.setNote(updateCartDTO.getNote()); if (updateCartDTO.getIsPack() != null) { if (!updateCartDTO.getIsPack()) { tbCashierCart.setPackFee(BigDecimal.ZERO); - tbCashierCart.setTotalAmount(tbCashierCart.getSalePrice().multiply(BigDecimal.valueOf(updateCartDTO.getNum()))); + tbCashierCart.setTotalAmount(tbCashierCart.getSalePrice().multiply(updateCartDTO.getNum())); } else { if (product != null) { - tbCashierCart.setPackFee(new BigDecimal(updateCartDTO.getNum()).multiply(product.getPackFee())); + tbCashierCart.setPackFee(updateCartDTO.getNum().multiply(product.getPackFee())); } - tbCashierCart.setTotalAmount(tbCashierCart.getSalePrice().multiply(BigDecimal.valueOf(updateCartDTO.getNum())) + tbCashierCart.setTotalAmount(tbCashierCart.getSalePrice().multiply(updateCartDTO.getNum()) .add(tbCashierCart.getPackFee())); } tbCashierCart.setIsPack(updateCartDTO.getIsPack() ? "true" : "false"); @@ -559,14 +559,14 @@ public class TbShopTableServiceImpl implements TbShopTableService { tbCashierCart.setIsPack(String.valueOf(addCartDTO.isPack())); tbCashierCart.setIsGift(String.valueOf(addCartDTO.isGift())); tbCashierCart.setSalePrice(productSku.getSalePrice()); - tbCashierCart.setTotalAmount(new BigDecimal(addCartDTO.getNum()).multiply(productSku.getSalePrice())); + tbCashierCart.setTotalAmount(addCartDTO.getNum().multiply(productSku.getSalePrice())); tbCashierCart.setSkuName(productSku.getSpecSnap()); // 设置打包费 if (!addCartDTO.isPack() && !shopEatTypeInfoDTO.isTakeout()) { tbCashierCart.setPackFee(BigDecimal.ZERO); } else { tbCashierCart.setPackFee(product.getPackFee() != null ? - product.getPackFee().multiply(BigDecimal.valueOf(addCartDTO.getNum())) : BigDecimal.ZERO); + product.getPackFee().multiply(addCartDTO.getNum()) : BigDecimal.ZERO); tbCashierCart.setTotalAmount(tbCashierCart.getTotalAmount().add(tbCashierCart.getPackFee())); } @@ -588,12 +588,12 @@ public class TbShopTableServiceImpl implements TbShopTableService { } else { tbCashierCart.setIsMember(shopEatTypeInfoDTO.isMemberPrice() && addCartDTO.getVipUserId() != null ? 1 : 0); tbCashierCart.setNote(addCartDTO.getNote()); - tbCashierCart.setTotalAmount(new BigDecimal(addCartDTO.getNum()).multiply(productSku.getSalePrice())); + tbCashierCart.setTotalAmount(addCartDTO.getNum().multiply(productSku.getSalePrice())); if (!addCartDTO.isPack()) { tbCashierCart.setPackFee(BigDecimal.ZERO); } else { - tbCashierCart.setPackFee(new BigDecimal(addCartDTO.getNum()).multiply(product.getPackFee())); + tbCashierCart.setPackFee(addCartDTO.getNum().multiply(product.getPackFee())); tbCashierCart.setTotalAmount(tbCashierCart.getTotalAmount().add(tbCashierCart.getPackFee())); } @@ -610,7 +610,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { // 设置打包费 if (shopEatTypeInfoDTO.isTakeout()) { tbCashierCart.setPackFee(product.getPackFee() != null ? - product.getPackFee().multiply(BigDecimal.valueOf(addCartDTO.getNum())) : BigDecimal.ZERO); + product.getPackFee().multiply(addCartDTO.getNum()) : BigDecimal.ZERO); } cashierCartMapper.updateById(tbCashierCart); } @@ -646,7 +646,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { tbCashierCart.setStatus("create"); tbCashierCart.setIsPack("false"); tbCashierCart.setIsGift("false"); - tbCashierCart.setTotalAmount(new BigDecimal(temporaryDishesDTO.getNum()).multiply(temporaryDishesDTO.getPrice())); + tbCashierCart.setTotalAmount(temporaryDishesDTO.getNum().multiply(temporaryDishesDTO.getPrice())); tbCashierCart.setPackFee(BigDecimal.ZERO); tbCashierCart.setTotalNumber(temporaryDishesDTO.getNum()); tbCashierCart.setNumber(temporaryDishesDTO.getNum()); @@ -655,12 +655,13 @@ public class TbShopTableServiceImpl implements TbShopTableService { tbCashierCart.setPlatformType(OrderPlatformTypeEnum.PC.getValue()); tbCashierCart.setIsMember(shopEatTypeInfoDTO.isMemberPrice() && temporaryDishesDTO.getVipUserId() != null ? 1 : 0); tbCashierCart.setIsTemporary(1); + tbCashierCart.setUnit(temporaryDishesDTO.getUnit()); cashierCartRepository.save(tbCashierCart); } else { tbCashierCart.setIsMember(temporaryDishesDTO.getVipUserId() == null ? 0 : 1); tbCashierCart.setNote(temporaryDishesDTO.getNote()); - tbCashierCart.setTotalAmount(new BigDecimal(temporaryDishesDTO.getNum()).multiply(temporaryDishesDTO.getPrice())); + tbCashierCart.setTotalAmount(temporaryDishesDTO.getNum().multiply(temporaryDishesDTO.getPrice())); tbCashierCart.setPackFee(BigDecimal.ZERO); tbCashierCart.setIsPack("false"); tbCashierCart.setIsGift("false"); @@ -668,6 +669,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { tbCashierCart.setNumber(temporaryDishesDTO.getNum()); tbCashierCart.setUpdatedAt(DateUtil.current()); tbCashierCart.setIsTemporary(1); + tbCashierCart.setUnit(temporaryDishesDTO.getUnit()); cashierCartMapper.updateById(tbCashierCart); } @@ -761,7 +763,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { throw new BadRequestException("购物车商品不存在或已退单"); } - if (removeCartDTO.getNum() > cashierCart.getNumber()) { + if (removeCartDTO.getNum().compareTo(cashierCart.getNumber()) > 0) { throw new BadRequestException("最大退菜数量为: {}", cashierCart.getNumber()); } @@ -810,7 +812,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { returnCart.setNumber(removeCartDTO.getNum()); returnCart.setId(null); returnCart.setTotalNumber(removeCartDTO.getNum()); - BigDecimal returnCartAmount = returnCart.getSalePrice().multiply(BigDecimal.valueOf(returnCart.getNumber())); + BigDecimal returnCartAmount = returnCart.getSalePrice().multiply(returnCart.getNumber()); returnCart.setTotalAmount(returnCartAmount); returnCart.setStatus("return"); cashierCartMapper.insert(returnCart); @@ -826,8 +828,8 @@ public class TbShopTableServiceImpl implements TbShopTableService { returnOrderDetail.setRefundRemark(removeCartDTO.getNote()); orderDetailMapper.insert(returnOrderDetail); - cashierCartMapper.updateNumAmountStatus(cashierCart.getId(), cashierCart.getStatus(), -returnCart.getNumber()); - orderDetailMapper.updateNumAmountStatus(orderDetail.getId(), orderDetail.getStatus(), -returnCart.getNumber()); + cashierCartMapper.updateNumAmountStatus(cashierCart.getId(), cashierCart.getStatus(), returnCart.getNumber().negate()); + orderDetailMapper.updateNumAmountStatus(orderDetail.getId(), orderDetail.getStatus(), returnCart.getNumber().negate()); if (TableConstant.OrderInfo.UseType.DINE_IN_AFTER.equalsVals(tbOrderDetail.getUseType()) && !isSeatCart) { rabbitMsgUtils.printDishesTicket(returnOrderDetail.getOrderId(), true, returnOrderDetail); } @@ -837,9 +839,9 @@ public class TbShopTableServiceImpl implements TbShopTableService { if (cashierCart.getOrderId() != null) { // 减少订单金额 - orderInfoMapper.updateOrderAmount(cashierCart.getOrderId(), orderDetail.getPriceAmount().divide(BigDecimal.valueOf(orderDetail.getNum()), RoundingMode.HALF_UP) - .multiply(BigDecimal.valueOf(removeCartDTO.getNum())), orderDetail.getPackAmount().divide(BigDecimal.valueOf(orderDetail.getNum()), RoundingMode.HALF_UP) - .multiply(BigDecimal.valueOf(removeCartDTO.getNum()))); + orderInfoMapper.updateOrderAmount(cashierCart.getOrderId(), orderDetail.getPriceAmount().divide(orderDetail.getNum(), RoundingMode.HALF_UP) + .multiply(removeCartDTO.getNum()), orderDetail.getPackAmount().divide(orderDetail.getNum(), RoundingMode.HALF_UP) + .multiply(removeCartDTO.getNum())); } @@ -986,7 +988,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { * @param skuId sku * @param addNum 增加的库存数量 */ - public void incrStock(Integer productId, Integer skuId, Integer addNum) { + public void incrStock(Integer productId, Integer skuId, BigDecimal addNum) { productMapper.incrStock(productId, addNum); } @@ -997,7 +999,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { * @param skuId sku * @param decrNum 减少的数量 */ - public void decrStock(Integer productId, String skuId, int decrNum) { + public void decrStock(Integer productId, String skuId, BigDecimal decrNum) { TbProduct product = productMapper.selectById(productId); if (product.getIsStock() == 1) { if (productMapper.decrStock(productId, decrNum) < 1) { @@ -1042,14 +1044,14 @@ public class TbShopTableServiceImpl implements TbShopTableService { if (cashierCart.getOrderId() != null) { String message = redisTemplate.opsForValue().get(RedisConstant.ORDER_PRODUCT_NUM + cashierCart.getId()); if (message != null) { - int lastNum = Integer.parseInt(message); + BigDecimal lastNum = new BigDecimal(message); // 数量减少, 返还库存 - if (lastNum > cashierCart.getNumber()) { - incrStock(Integer.parseInt(cashierCart.getProductId()), Integer.parseInt(cashierCart.getSkuId()), lastNum - cashierCart.getNumber()); + if (lastNum.compareTo(cashierCart.getNumber()) > 0) { + incrStock(Integer.parseInt(cashierCart.getProductId()), Integer.parseInt(cashierCart.getSkuId()), lastNum.subtract(cashierCart.getNumber())); } else { - decrStock(Integer.parseInt(cashierCart.getProductId()), cashierCart.getSkuId(), cashierCart.getNumber() - lastNum); + decrStock(Integer.parseInt(cashierCart.getProductId()), cashierCart.getSkuId(), cashierCart.getNumber().subtract(lastNum)); } - redisTemplate.opsForValue().set(RedisConstant.ORDER_PRODUCT_NUM + cashierCart.getId(), cashierCart.getNumber().toString(), 24 * 60 * 60, TimeUnit.SECONDS); + redisTemplate.opsForValue().set(RedisConstant.ORDER_PRODUCT_NUM + cashierCart.getId(), cashierCart.getNumber().toPlainString(), 24 * 60 * 60, TimeUnit.SECONDS); } return false; @@ -1095,7 +1097,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { * * @param productSku sku */ - private void checkWarnLineAndSendMsg(TbProductSku productSku, TbProduct product, Integer shopId, Integer num) { + private void checkWarnLineAndSendMsg(TbProductSku productSku, TbProduct product, Integer shopId, BigDecimal num) { TbShopInfo shopInfo = shopInfoRepository.getById(shopId); if (product.getWarnLine() == null) { return; @@ -1108,9 +1110,9 @@ public class TbShopTableServiceImpl implements TbShopTableService { if (product.getStockNumber() == null) { product.setStockNumber(0); } - if (product.getStockNumber() - num <= product.getWarnLine()) { + if (product.getStockNumber() - num.doubleValue() <= product.getWarnLine()) { wxMsgUtils.aboardStockMsg(shopInfo.getShopName(), shopId, product.getName(), - product.getStockNumber() - num); + product.getStockNumber() - num.doubleValue()); } } @@ -1266,7 +1268,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { List tbUserCouponVos = couponMap.get(productId); if (tbUserCouponVos == null || tbUserCouponVos.isEmpty()) return null; for (TbUserCouponVo tbUserCouponVo : tbUserCouponVos) { - if (tbUserCouponVo.getCurrentUseNum() > 0) { + if (tbUserCouponVo.getCurrentUseNum().compareTo(BigDecimal.ZERO) > 0) { return tbUserCouponVo; } } @@ -1277,22 +1279,22 @@ public class TbShopTableServiceImpl implements TbShopTableService { List> usedCouponMap, BigDecimal discountAmount, ArrayList balanceCartList, ArrayList outRecords, Integer memberId) { TbUserCouponVo couponVo = getCanUseCoupon(couponMap, cashierCart.getProductId()); - if (couponVo != null && couponVo.getCurrentUseNum() > 0) { + if (couponVo != null && couponVo.getCurrentUseNum().compareTo(BigDecimal.ZERO) > 0) { BigDecimal currentUseNum; List tbUserCouponVos = usedCouponMap.computeIfAbsent(Integer.valueOf(cashierCart.getProductId()), k -> new ArrayList<>()); tbUserCouponVos.add(couponVo); TbCashierCart balanceCart = null; - if (cashierCart.getNumber() < couponVo.getCurrentUseNum()) { + if (cashierCart.getNumber().compareTo(couponVo.getCurrentUseNum()) < 0) { cashierCart.setUserCouponId(couponVo.getId()); discountAmount = discountAmount.add(cashierCart.getTotalAmountByNum(null)); - couponVo.setCurrentUseNum(couponVo.getCurrentUseNum() - cashierCart.getNumber()); - currentUseNum = BigDecimal.valueOf(cashierCart.getNumber()); + couponVo.setCurrentUseNum(couponVo.getCurrentUseNum().subtract(cashierCart.getNumber())); + currentUseNum = cashierCart.getNumber(); // 优惠券数量小于购物车数量,分割购物车数据 - }else if (cashierCart.getNumber() > couponVo.getCurrentUseNum()) { - currentUseNum = BigDecimal.valueOf(couponVo.getCurrentUseNum()); - BigDecimal cartNum = BigDecimal.valueOf(cashierCart.getNumber()); - int balanceNum = cashierCart.getTotalNumber() - couponVo.getCurrentUseNum(); + }else if (cashierCart.getNumber().compareTo(couponVo.getCurrentUseNum()) > 0) { + currentUseNum = couponVo.getCurrentUseNum(); + BigDecimal cartNum = BigDecimal.valueOf(cashierCart.getNumber().intValue()); + BigDecimal balanceNum = cashierCart.getTotalNumber().subtract(couponVo.getCurrentUseNum()); BigDecimal singlePackFee = cashierCart.getPackFee().divide(cartNum, RoundingMode.HALF_UP); cashierCart.setPackFee(singlePackFee.multiply(currentUseNum)); BigDecimal totalAmountByNum = cashierCart.getTotalAmountByNum(couponVo.getCurrentUseNum()); @@ -1301,14 +1303,14 @@ public class TbShopTableServiceImpl implements TbShopTableService { cashierCart.setTotalNumber(couponVo.getCurrentUseNum()); cashierCart.setUserCouponId(couponVo.getId()); discountAmount = discountAmount.add(totalAmountByNum); - couponVo.setCurrentUseNum(couponVo.getCurrentUseNum() - cashierCart.getNumber()); - currentUseNum = BigDecimal.valueOf(cashierCart.getNumber()); + couponVo.setCurrentUseNum(couponVo.getCurrentUseNum().subtract(cashierCart.getNumber())); + currentUseNum = cashierCart.getNumber(); // 创建结余购物车 balanceCart = BeanUtil.copyProperties(cashierCart, TbCashierCart.class); - BigDecimal num = BigDecimal.valueOf(balanceNum); + BigDecimal num = balanceNum; balanceCart.setUserCouponId(null); balanceCart.setId(null); balanceCart.setNumber(balanceNum); @@ -1317,10 +1319,10 @@ public class TbShopTableServiceImpl implements TbShopTableService { balanceCart.setTotalAmount(cashierCart.getTotalAmountByNum(balanceNum).add(singlePackFee.multiply(num))); balanceCartList.add(balanceCart); } else { - currentUseNum = BigDecimal.valueOf(cashierCart.getNumber()); + currentUseNum =cashierCart.getNumber(); discountAmount = discountAmount.add(cashierCart.getTotalAmount()); cashierCart.setUserCouponId(couponVo.getId()); - couponVo.setCurrentUseNum(couponVo.getCurrentUseNum() - cashierCart.getNumber()); + couponVo.setCurrentUseNum(couponVo.getCurrentUseNum().subtract(cashierCart.getNumber())); } // 消耗并返还商品优惠券 Integer shopId = Integer.valueOf(cashierCart.getShopId()); @@ -1350,7 +1352,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { BigDecimal discountAmount = BigDecimal.ZERO; HashMap> couponMap = new HashMap<>(); couponInfoDTO.getProductCouponMap().values().forEach(item -> { - if (item.getCurrentUseNum() <= 0) { + if (item.getCurrentUseNum().compareTo(BigDecimal.ZERO) <= 0) { return; } List tbUserCouponVos = couponMap.get(item.getProId().toString()); @@ -1431,7 +1433,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { if (couponVo.getNum() < item.getNum()) { throw new BadRequestException(couponVo.getName() + "数量不足: " + couponVo.getNum()); } - couponVo.setCurrentUseNum(item.getNum()); + couponVo.setCurrentUseNum(BigDecimal.valueOf(item.getNum())); infoDTO.getFullReductionCouponMap().put(couponVo.getId(), couponVo); return; } @@ -1439,7 +1441,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { if (couponVo == null) { throw new BadRequestException("存在不可用优惠券"); } - couponVo.setCurrentUseNum(item.getNum()); + couponVo.setCurrentUseNum(BigDecimal.valueOf(item.getNum())); couponVo.setFinalUseNum(item.getNum()); infoDTO.getProductCouponMap().put(item.getUserCouponId(), couponVo); }); @@ -1654,7 +1656,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { orderInfo.setUseType(eatTypeInfoDTO.getUseType()); if (seatCart != null) { orderInfo.setSeatAmount(seatCart.getTotalAmount()); - orderInfo.setSeatCount(seatCart.getNumber()); + orderInfo.setSeatCount(seatCart.getNumber().intValue()); } if (createOrderDTO.getVipUserId() != null) { orderInfo.setMemberId(String.valueOf(shopUser.getId())); @@ -2004,7 +2006,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { tbActivateOutRecord.setGiveId(couponVo.getId()); tbActivateOutRecord.setVipUserId(payDTO.getVipUserId()); tbActivateOutRecord.setType(TableConstant.ActivateOutRecord.Type.FULL_REDUCTION.getValue()); - tbActivateOutRecord.setUseNum(couponVo.getCurrentUseNum()); + tbActivateOutRecord.setUseNum(couponVo.getCurrentUseNum().intValue()); tbActivateOutRecord.setStatus(TableConstant.ActivateOutRecord.Status.CLOSED.getValue()); tbActivateOutRecord.setCreateTime(DateUtil.date()); tbActivateOutRecord.setRefNum(0); @@ -2455,6 +2457,9 @@ public class TbShopTableServiceImpl implements TbShopTableService { throw new BadRequestException("当前台桌最大人数为: " + shopTable.getMaxCapacity()); } + choseCountDTO.setUseType(!TableConstant.OrderInfo.UseType.TAKEOUT.equalsVals(choseCountDTO.getUseType()) + && StrUtil.isBlank(choseCountDTO.getTableId()) ? TableConstant.OrderInfo.UseType.NONE_TABLE.getValue() : choseCountDTO.getUseType()); + LambdaQueryWrapper query = new LambdaQueryWrapper() .eq(TbCashierCart::getShopId, choseCountDTO.getShopId()) .and(q -> q.eq(TbCashierCart::getMasterId, choseCountDTO.getMasterId()).or().isNull(TbCashierCart::getMasterId).or().eq(TbCashierCart::getMasterId, "")) @@ -2482,16 +2487,16 @@ public class TbShopTableServiceImpl implements TbShopTableService { tbCashierCart.setProductId("-999"); tbCashierCart.setSkuId("-999"); tbCashierCart.setPackFee(BigDecimal.ZERO); - tbCashierCart.setNumber(choseCountDTO.getNum()); - tbCashierCart.setTotalNumber(choseCountDTO.getNum()); + tbCashierCart.setNumber(BigDecimal.valueOf(choseCountDTO.getNum())); + tbCashierCart.setTotalNumber(BigDecimal.valueOf(choseCountDTO.getNum())); tbCashierCart.setUseType(choseCountDTO.getUseType()); tbCashierCartMapper.insert(tbCashierCart); } else { tbCashierCart.setMemberPrice(shopInfo.getTableFee()); tbCashierCart.setStatus(TableConstant.CashierCart.Status.CREATE.getValue()); tbCashierCart.setTotalAmount(new BigDecimal(choseCountDTO.getNum()).multiply(shopInfo.getTableFee())); - tbCashierCart.setNumber(choseCountDTO.getNum()); - tbCashierCart.setTotalNumber(choseCountDTO.getNum()); + tbCashierCart.setNumber(BigDecimal.valueOf(choseCountDTO.getNum())); + tbCashierCart.setTotalNumber(BigDecimal.valueOf(choseCountDTO.getNum())); tbCashierCart.setUseType(choseCountDTO.getUseType()); tbCashierCartMapper.updateById(tbCashierCart); } @@ -2613,7 +2618,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { mpCashierCartService.update(new LambdaUpdateWrapper() .eq(TbCashierCart::getId, item.getId()) .set(TbCashierCart::getPackFee, product.getPackFee() != null ? - product.getPackFee().multiply(BigDecimal.valueOf(item.getNumber())) : BigDecimal.ZERO) + product.getPackFee().multiply(item.getNumber()) : BigDecimal.ZERO) .set(TbCashierCart::getTableId, null) .set(TbCashierCart::getUseType, OrderUseTypeEnum.TAKEOUT.getValue()) .set(TbCashierCart::getIsPack, "true")); @@ -2628,7 +2633,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { TbProduct product = productMap.get(item.getProductId().toString()); // 设置打包费 item.setPackAmount(product.getPackFee() != null ? - product.getPackFee().multiply(BigDecimal.valueOf(item.getNum())) : BigDecimal.ZERO); + product.getPackFee().multiply(item.getNum()) : BigDecimal.ZERO); }); if (!detailList.isEmpty()) { @@ -2653,7 +2658,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { private HashMap updateReturnOrderInfo(ReturnOrderDTO returnOrderDTO, TbOrderInfo oldOrderInfo, boolean isOnline) { ArrayList detailIds = new ArrayList<>(); - HashMap returnNumMap = new HashMap<>(); + HashMap returnNumMap = new HashMap<>(); returnOrderDTO.getOrderDetails().forEach(item -> { detailIds.add(item.getId()); returnNumMap.put(item.getId().toString(), item.getNum()); @@ -2675,20 +2680,20 @@ public class TbShopTableServiceImpl implements TbShopTableService { if (orderDetail.getUserCouponId() != null) { throw new BadRequestException("选择了优惠券抵扣商品,无法退款"); } - Integer returnNum = returnNumMap.get(orderDetail.getId().toString()); - int remainNum = orderDetail.getNum() - returnNum; - if (remainNum < 0) { + BigDecimal returnNum = returnNumMap.get(orderDetail.getId().toString()); + BigDecimal remainNum = orderDetail.getNum().subtract(returnNum); + if (remainNum.compareTo(BigDecimal.ZERO) < 0) { throw new BadRequestException("{}最多可退数量为: {}", orderDetail.getProductName(), orderDetail.getNum()); } // 将未退款的剩余订单详情重新生成记录 - BigDecimal packFee = orderDetail.getPackAmount().divide(BigDecimal.valueOf(orderDetail.getNum()), RoundingMode.HALF_UP); - if (remainNum > 0) { + BigDecimal packFee = orderDetail.getPackAmount().divide(orderDetail.getNum(), RoundingMode.HALF_UP); + if (remainNum.compareTo(BigDecimal.ZERO) > 0) { // 单个打包费 - BigDecimal remainPackFee = packFee.multiply(BigDecimal.valueOf(remainNum)); + BigDecimal remainPackFee = packFee.multiply(remainNum); TbOrderDetail remainOrderDetail = BeanUtil.copyProperties(orderDetail, TbOrderDetail.class); remainOrderDetail.setNum(remainNum); - remainOrderDetail.setPriceAmount(BigDecimal.valueOf(remainNum).multiply(orderDetail.getPrice()) + remainOrderDetail.setPriceAmount(remainNum.multiply(orderDetail.getPrice()) .add(remainPackFee)); remainOrderDetail.setPackAmount(remainPackFee); remainOrderDetail.setReturnNum("0"); @@ -2697,16 +2702,16 @@ public class TbShopTableServiceImpl implements TbShopTableService { } returnAmount = returnAmount.add(orderDetail.getPriceAmount() - .divide(new BigDecimal(orderDetail.getNum()), 2, RoundingMode.DOWN) - .multiply(BigDecimal.valueOf(returnNum))); + .divide(orderDetail.getNum(), 2, RoundingMode.DOWN) + .multiply(returnNum)); saleAmount = saleAmount.add(orderDetail.getPrice()); packAMount = packAMount.add(orderDetail.getPackAmount() - .divide(new BigDecimal(orderDetail.getNum()), 2, RoundingMode.DOWN) - .multiply(BigDecimal.valueOf(returnNum))); + .divide(orderDetail.getNum(), 2, RoundingMode.DOWN) + .multiply(returnNum)); - BigDecimal returnPackFee = packFee.multiply(BigDecimal.valueOf(returnNum)); + BigDecimal returnPackFee = packFee.multiply(returnNum); orderDetail.setNum(returnNum); - orderDetail.setPriceAmount(BigDecimal.valueOf(returnNum).multiply(orderDetail.getPrice()) + orderDetail.setPriceAmount(returnNum.multiply(orderDetail.getPrice()) .add(returnPackFee)); orderDetail.setPackAmount(returnPackFee); orderDetail.setRefundNumber(returnNum); @@ -2785,7 +2790,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { productMapper.incrStock(product.getId(), detail.getNum()); tbProductStockDetail.setLeftNumber(product.getStockNumber()); - tbProductStockDetail.setStockNumber(Double.valueOf(detail.getNum())); + tbProductStockDetail.setStockNumber(detail.getNum().doubleValue()); producSkutMapper.decrRealSalesNumber(productSku.getId(), detail.getNum()); } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/product/TbProductService.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/product/TbProductService.java index 82661bc2..762618e2 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/product/TbProductService.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/product/TbProductService.java @@ -8,6 +8,7 @@ import cn.ysk.cashier.dto.product.TbProductDto; import cn.ysk.cashier.dto.product.TbProductQueryCriteria; import org.springframework.data.domain.Pageable; +import java.math.BigDecimal; import java.util.Map; import java.util.List; import java.io.IOException; @@ -96,7 +97,7 @@ public interface TbProductService { * @param productId 商品id * @param number 增加数量 */ - void incrStockNumber(String productId, Integer number); + void incrStockNumber(String productId, BigDecimal number); /** * 返还库存 @@ -104,7 +105,7 @@ public interface TbProductService { * @param productSkuId sku * @param num 数量 */ - void returnStockByPro(Integer productId, Integer productSkuId, Integer num); + void returnStockByPro(Integer productId, Integer productSkuId, BigDecimal num); Object activateProduct(Integer page, Integer size, Integer categoryId, Integer shopId, Integer productId); } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/utils/WxAccountUtil.java b/eladmin-system/src/main/java/cn/ysk/cashier/utils/WxAccountUtil.java index 4d5cd717..7cdb9f6f 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/utils/WxAccountUtil.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/utils/WxAccountUtil.java @@ -133,10 +133,10 @@ public class WxAccountUtil { } - public void sendStockMsg(String shopName, String productName, int stock, String openId, ShopWxMsgTypeEnum shopWxMsgTypeEnum, Integer shopId) { + public void sendStockMsg(String shopName, String productName, double stock, String openId, ShopWxMsgTypeEnum shopWxMsgTypeEnum, Integer shopId) { stock = Math.max(stock, 0); - Integer finalStock = stock; + double finalStock = stock; Map data = new HashMap() {{ put("thing22", new HashMap() {{ put("value", shopName); diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/utils/WxMsgUtils.java b/eladmin-system/src/main/java/cn/ysk/cashier/utils/WxMsgUtils.java index 94385cda..14f69e6d 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/utils/WxMsgUtils.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/utils/WxMsgUtils.java @@ -95,11 +95,11 @@ public class WxMsgUtils { } } - public void aboardStockMsg(String shopName, Integer shopId, String proName, Integer stock) { + public void aboardStockMsg(String shopName, Integer shopId, String proName, double stock) { if (!checkIsOpen(shopId, ShopWxMsgTypeEnum.OPERATION_MSG)) { return; } - + List openIds = tbShopOpenIdService.lambdaQuery() .eq(TbShopOpenId::getShopId, shopId) .eq(TbShopOpenId::getStatus, 1) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/vo/TbUserCouponVo.java b/eladmin-system/src/main/java/cn/ysk/cashier/vo/TbUserCouponVo.java index ea03ff86..5fbdc139 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/vo/TbUserCouponVo.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/vo/TbUserCouponVo.java @@ -28,7 +28,7 @@ public class TbUserCouponVo { private String useRestrictions; private boolean isUse = false; //当前使用数量 - private Integer currentUseNum; + private BigDecimal currentUseNum; private Integer finalUseNum; private BigDecimal finalDiscountAmount = new BigDecimal(0);