Merge remote-tracking branch 'origin/test' into test

# Conflicts:
#	src/main/java/com/chaozhanggui/system/cashierservice/entity/TbOrderDetail.java
This commit is contained in:
张松
2024-11-26 15:26:37 +08:00
3 changed files with 28 additions and 8 deletions

View File

@@ -51,6 +51,7 @@ public class TbOrderDetail implements Serializable {
private static final long serialVersionUID = 1L;
private Integer isMember;
private Integer isTemporary;
private Integer isThirdCoupon;
}

View File

@@ -85,14 +85,23 @@ public abstract class PrinterHandler {
private void onlyKitchen(TbPrintMachine machine, TbOrderInfo orderInfo, List<TbOrderDetail> tbOrderDetailList, List<CategoryInfo> categoryInfos, boolean isReturn) {
tbOrderDetailList.forEach(item -> {
log.info("开始打印退单菜品,商品名:{}", item.getProductName());
Integer isTemporary = ObjectUtil.defaultIfNull(item.getIsTemporary(), 0);
String categoryId = "0";
if (isTemporary == 1) {
item.setProductId(0);
}
// 台位费不打印
if (item.getProductId().equals(-999)) {
log.info("台位费商品,不打印");
return;
}
String categoryId = tbProductMapper.selectByPrimaryKey(item.getProductId()).getCategoryId();
TbProduct product = tbProductMapper.selectByPrimaryKey(item.getProductId());
if(isTemporary == 0) {
categoryId = product.getCategoryId();
}
TbProductSkuWithBLOBs sku = tbProductSkuMapper.selectByPrimaryKey(item.getProductSkuId());
if (sku == null) {
if (isTemporary == 0 && sku == null) {
log.error("商品不存在, id: {}", item.getProductSkuId());
return;
}
@@ -100,10 +109,13 @@ public abstract class PrinterHandler {
log.error("分类打印是空, classifyPrint: {}", machine.getClassifyPrint());
return;
}
String finalCategoryId = categoryId;
long count = categoryInfos.stream().filter(c ->
c.getId().toString().equals(categoryId)
c.getId().toString().equals(finalCategoryId)
).count();
if(isTemporary == 0) {
count = 1;
}
if (machine.getClassifyPrint() != null && "1".equals(machine.getClassifyPrint()) && count == 0) {
log.warn("分类未添加菜品: {} : {}", item.getProductName(), sku.getSpecSnap());
return;
@@ -129,10 +141,16 @@ public abstract class PrinterHandler {
}
List<OrderDetailPO.Detail> detailList = new ArrayList<>();
tbOrderDetailList.forEach(it -> {
TbProductSkuWithBLOBs tbProductSkuWithBLOBs = tbProductSkuMapper.selectByPrimaryKey(it.getProductSkuId());
Integer isTemporary = ObjectUtil.defaultIfNull(it.getIsTemporary(), 0);
String remark = "";
if (ObjectUtil.isNotEmpty(tbProductSkuWithBLOBs) && ObjectUtil.isNotEmpty(tbProductSkuWithBLOBs.getSpecSnap())) {
remark = tbProductSkuWithBLOBs.getSpecSnap();
if(isTemporary == 0){
TbProductSkuWithBLOBs tbProductSkuWithBLOBs = tbProductSkuMapper.selectByPrimaryKey(it.getProductSkuId());
if (ObjectUtil.isNotEmpty(tbProductSkuWithBLOBs) && ObjectUtil.isNotEmpty(tbProductSkuWithBLOBs.getSpecSnap())) {
remark = tbProductSkuWithBLOBs.getSpecSnap();
}
}
if(isTemporary == 1) {
it.setProductName("【临时菜】"+it.getProductName());
}
OrderDetailPO.Detail detail = new OrderDetailPO.Detail(it.getProductName(), it.getNum().toString(), NumberUtil.mul(it.getNum(),it.getPrice()).toPlainString(), remark);
detailList.add(detail);

View File

@@ -18,10 +18,11 @@
<result column="price" jdbcType="DECIMAL" property="price"/>
<result column="price_amount" jdbcType="DECIMAL" property="priceAmount"/>
<result column="pack_amount" jdbcType="DECIMAL" property="packAmount"/>
<result column="is_temporary" jdbcType="INTEGER" property="isTemporary"/>
</resultMap>
<sql id="Base_Column_List">
id, order_id, shop_id, product_id, product_sku_id, num, product_name, product_sku_name,
product_img, create_time, update_time, price, price_amount,status,pack_amount,return_num
product_img, create_time, update_time, price, price_amount,status,pack_amount,return_num,is_temporary
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select