From 4dc3fcc1e1a82abcc793eb4d3a8b7c3831d00eae Mon Sep 17 00:00:00 2001 From: Jack <46790855@qq.com> Date: Fri, 15 Nov 2024 10:12:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9c=E7=AB=AF=E7=9A=84=E5=95=86?= =?UTF-8?q?=E5=93=81=E5=AE=9E=E6=97=B6=E4=BB=B7=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ShopPageBaseServiceImpl.java | 4 +- .../service/ShopStorePrinterService.java | 12 --- .../impl/ShopStorePrinterLogServiceImpl.java | 25 +---- .../impl/ShopStorePrinterServiceImpl.java | 92 +----------------- .../impl/ShopPageBaseServiceImpl.class | Bin 83964 -> 83953 bytes 5 files changed, 8 insertions(+), 125 deletions(-) diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/page/service/impl/ShopPageBaseServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/page/service/impl/ShopPageBaseServiceImpl.java index 9b25f42f..a907763a 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/page/service/impl/ShopPageBaseServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/page/service/impl/ShopPageBaseServiceImpl.java @@ -436,8 +436,10 @@ public class ShopPageBaseServiceImpl extends BaseServiceImpl product_item_opl = product_item_rows.stream().filter(s -> ObjectUtil.equal(Convert.toLong(s.get("item_id")), did)).findFirst(); if (product_item_opl.isPresent()) { Map product_item_row = product_item_opl.get(); - BigDecimal itemSalePrice = Convert.toBigDecimal(((JSONObject) item).get("ItemSalePrice")); + //BigDecimal itemSalePrice = Convert.toBigDecimal(((JSONObject) item).get("ItemSalePrice")); BigDecimal item_unit_price = Convert.toBigDecimal(product_item_row.get("item_unit_price")); + BigDecimal itemSalePrice = item_unit_price; //显示为 商品SKU单价 + BigDecimal item_unit_points = Convert.toBigDecimal(product_item_row.get("item_unit_points")); BigDecimal item_unit_sp = Convert.toBigDecimal(product_item_row.get("item_unit_sp")); diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/ShopStorePrinterService.java b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/ShopStorePrinterService.java index df89677f..1c37f632 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/ShopStorePrinterService.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/ShopStorePrinterService.java @@ -69,18 +69,6 @@ public interface ShopStorePrinterService extends IBaseService */ CommonResult clearPrinterQueue(String printer_sn); - /** - * 测试打印订单 - * @return - */ - CommonResult printOrderInfo(); - - /** - * 测试打印订单 - * @return - */ - CommonResult printOrderInfo2(); - /** * 支付成功后,立即打印门店的订单信息 * @param orderId diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStorePrinterLogServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStorePrinterLogServiceImpl.java index 26c73098..2d8eb9ab 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStorePrinterLogServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStorePrinterLogServiceImpl.java @@ -1,41 +1,18 @@ package com.suisung.mall.shop.store.service.impl; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.suisung.mall.common.api.CommonResult; -import com.suisung.mall.common.api.StateCode; -import com.suisung.mall.common.constant.ConstantError; -import com.suisung.mall.common.domain.UserDto; -import com.suisung.mall.common.modules.store.ShopStorePrinter; import com.suisung.mall.common.modules.store.ShopStorePrinterLog; -import com.suisung.mall.common.modules.store.ShopStorePrinterTemplate; -import com.suisung.mall.common.pojo.vo.ShopStoreOrderProductPrintVO; -import com.suisung.mall.common.pojo.vo.ShopStorePrinterVO; -import com.suisung.mall.common.utils.DateTimeUtils; -import com.suisung.mall.common.utils.FreeMakerUtils; import com.suisung.mall.core.web.service.impl.BaseServiceImpl; -import com.suisung.mall.shop.order.service.ShopOrderBaseService; import com.suisung.mall.shop.store.mapper.ShopStorePrinterLogMapper; import com.suisung.mall.shop.store.mapper.ShopStorePrinterMapper; import com.suisung.mall.shop.store.service.ShopStorePrinterLogService; -import com.suisung.mall.shop.store.service.ShopStorePrinterService; -import com.suisung.mall.shop.store.service.ShopStorePrinterTemplateService; -import com.suisung.mall.shop.store.utis.FeieUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.math.BigDecimal; -import java.time.LocalDateTime; -import java.util.*; - -import static com.suisung.mall.common.utils.ContextUtil.getCurrentUser; +import java.util.List; @Service diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStorePrinterServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStorePrinterServiceImpl.java index d8a1d749..c9f8a426 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStorePrinterServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStorePrinterServiceImpl.java @@ -14,9 +14,7 @@ import com.suisung.mall.common.domain.UserDto; import com.suisung.mall.common.modules.store.ShopStorePrinter; import com.suisung.mall.common.modules.store.ShopStorePrinterLog; import com.suisung.mall.common.modules.store.ShopStorePrinterTemplate; -import com.suisung.mall.common.pojo.vo.ShopStoreOrderProductPrintVO; import com.suisung.mall.common.pojo.vo.ShopStorePrinterVO; -import com.suisung.mall.common.utils.DateTimeUtils; import com.suisung.mall.common.utils.FreeMakerUtils; import com.suisung.mall.common.utils.JsonUtil; import com.suisung.mall.core.web.service.impl.BaseServiceImpl; @@ -33,9 +31,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.util.Pair; import org.springframework.stereotype.Service; -import java.math.BigDecimal; -import java.time.LocalDateTime; -import java.util.*; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; import static com.suisung.mall.common.utils.ContextUtil.getCurrentUser; @@ -289,82 +288,6 @@ public class ShopStorePrinterServiceImpl extends BaseServiceImpl productList = new ArrayList<>(); - productList.add(order1); - productList.add(order2); - productList.add(order3); - productList.add(order4); - - String productsStr = feieUtil.genProductStr(productList, 18, 6, 8); - - LocalDateTime now = LocalDateTime.now(); - String currentDateTime = DateTimeUtils.formatDateTime(now, "yyyy-MM-dd HH:mm:ss"); - - String cont = "小发同城
" + - "--------------------------------
" + -// cont.append("#000"+DateTimeUtils.formatDateTime(now,"ddHHmm")+"
"); -// cont.append("买家备注:不用敲门,放在门口旁边的外卖箱,打个电话告知送达就行,谢谢!!!
"); -// cont.append("配送时间:2024-10-25 14:00-14:30
"); -// cont.append("--------------------------------
"); -// cont.append("订单编号:ES20231026111444527685
"); -// cont.append("订单来源:微信小程序
"); -// cont.append("支付方式:微信支付
"); -// cont.append("配送来源:顺丰同城
"); -// cont.append("付款时间:"+currentDateTime+"
"); -// cont.append("--------------------------------
"); - - // 商品列表 - productsStr; - -// cont.append("--------------------------------
"); -// cont.append("商品总件数:3
"); -// cont.append("商品总额:¥18.7
"); -// cont.append("押金:¥500
"); -// cont.append("运费:¥5.54
"); -// cont.append("会员权益:-¥50
"); -// cont.append("秒杀:-¥100
"); -// cont.append("实付金额:¥428.9元
"); -// cont.append("--------------------------------
"); -// cont.append("商家备注:老顾客赠送一箱牛奶;玻璃瓶包装轻拿轻放!
"); -// cont.append("--------------------------------
"); -// cont.append("收货人:张三
"); -// cont.append("收货人手机:13128778765
"); -// cont.append("收货地址:北京市朝阳区朝阳路朝阳人民小区1号楼1栋1101
"); -// cont.append("--------------------------------
"); -// cont.append("门店:岛内价生活超市
"); -// cont.append("门店电话:13665822542
"); -// cont.append("收银员:李小璐
"); - - feieUtil.printContent(sn, cont); - - return CommonResult.success(); - } - - @Override - public CommonResult printOrderInfo2() { - ShopStorePrinterTemplate template = shopStorePrinterTemplateService.getShopStorePrinterTemplateInner(1, 1); - - Map binding = new HashMap<>(); - binding.put("store_name", "小发同城商城"); - binding.put("sn", "922441475"); - - String sn = "922441475"; - String cont = FreeMakerUtils.processTemplate(template.getTemplate_name(), template.getTemplate_value(), binding); - -// feieUtil.printContent(sn, cont); - - return CommonResult.success(cont); - - } @Override public Boolean printShopStoreOrder(String orderId) { @@ -421,19 +344,12 @@ public class ShopStorePrinterServiceImpl extends BaseServiceImpl respSn : respList) { // 打印成功,新增打印日志记录,以备下次查看和打印 ShopStorePrinterLog shopStorePrinterLog = new ShopStorePrinterLog(template.getCategory(), storeId, orderId, template.getTemplate_id(), template.getTemplate_value(), JsonUtil.object2json(binding), printContent, respSn.getSecond(), respSn.getFirst()); shopStorePrinterLogService.insertShopStorePrinterLog(shopStorePrinterLog); } - logger.debug("#### 调用飞鹅打票机的打印操作结束 ####"); return true; diff --git a/mall-shop/target/classes/com/suisung/mall/shop/page/service/impl/ShopPageBaseServiceImpl.class b/mall-shop/target/classes/com/suisung/mall/shop/page/service/impl/ShopPageBaseServiceImpl.class index 2e70713b718282c54f4af9d9e02c616e57068f05..8d0717a0ad6a1168ef8f4f04f93abc0d36911669 100644 GIT binary patch delta 5044 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 LDQ}yG`_caa@Usn6 delta 5056 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 Z*q$S2?yD{G3XhVH