From cb7976df29b3998d9333f218d0121959ad9f2b47 Mon Sep 17 00:00:00 2001 From: Jack <46790855@qq.com> Date: Fri, 8 Nov 2024 22:17:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=89=93=E7=A5=A8=E6=9C=BA?= =?UTF-8?q?=E6=89=93=E5=8D=B0=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/store/ShopStorePrinterLog.java | 71 ++++++++++++++++++ .../mall/common/utils/FreeMakerUtils.java | 3 +- .../admin/ShopStorePrinterController.java | 1 - .../ShopStorePrinterTemplateController.java | 2 - .../mapper/ShopStorePrinterLogMapper.java | 18 +++++ .../ShopStorePrinterTemplateMapper.java | 7 -- .../service/ShopStorePrinterLogService.java | 17 +++++ .../impl/ShopStorePrinterLogServiceImpl.java | 63 ++++++++++++++++ .../ShopStorePrinterModelServiceImpl.java | 50 +++++++----- .../ShopStorePrinterRegionServiceImpl.java | 28 +++++-- .../impl/ShopStorePrinterServiceImpl.java | 27 +++++-- .../mall/shop/store/utis/FeieUtil.java | 2 +- .../order/listener/OrderPayedListener.class | Bin 4360 -> 4645 bytes 13 files changed, 246 insertions(+), 43 deletions(-) create mode 100644 mall-common/src/main/java/com/suisung/mall/common/modules/store/ShopStorePrinterLog.java create mode 100644 mall-shop/src/main/java/com/suisung/mall/shop/store/mapper/ShopStorePrinterLogMapper.java create mode 100644 mall-shop/src/main/java/com/suisung/mall/shop/store/service/ShopStorePrinterLogService.java create mode 100644 mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStorePrinterLogServiceImpl.java diff --git a/mall-common/src/main/java/com/suisung/mall/common/modules/store/ShopStorePrinterLog.java b/mall-common/src/main/java/com/suisung/mall/common/modules/store/ShopStorePrinterLog.java new file mode 100644 index 00000000..0220fec2 --- /dev/null +++ b/mall-common/src/main/java/com/suisung/mall/common/modules/store/ShopStorePrinterLog.java @@ -0,0 +1,71 @@ +package com.suisung.mall.common.modules.store; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 门店打票机表 + *

+ * + * @author panjunjie + * @since 2024-10-28 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("shop_store_printer") +@ApiModel(value = "ShopStorePrinter对象", description = "门店打票机表") +public class ShopStorePrinterLog implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "日志自增ID") + @TableId(value = "log_id", type = IdType.INPUT) + private Long log_id; + + @ApiModelProperty(value = "打印分类") + private Integer category; + + @ApiModelProperty(value = "门店ID") + private Integer store_id; + + @ApiModelProperty(value = "订单ID") + private String order_id; + + @ApiModelProperty(value = "打印模版ID") + private Long template_id; + + @ApiModelProperty(value = "模版字符串") + private String template_value; + + @ApiModelProperty(value = "模版渲染数据值") + private String template_data; + + @ApiModelProperty(value = "最终打印的内容") + private String print_content; + + @ApiModelProperty(value = "状态:1-有效;2-无效;") + private Integer status; + + @ApiModelProperty(value = "新增用户ID") + private Integer created_by; + + @ApiModelProperty(value = "更新用户ID") + private Integer updated_by; + + @ApiModelProperty(value = "新增时间") + private Date created_at; + + @ApiModelProperty(value = "修改时间") + private Date updated_at; +} diff --git a/mall-common/src/main/java/com/suisung/mall/common/utils/FreeMakerUtils.java b/mall-common/src/main/java/com/suisung/mall/common/utils/FreeMakerUtils.java index ef00459a..90877d3c 100644 --- a/mall-common/src/main/java/com/suisung/mall/common/utils/FreeMakerUtils.java +++ b/mall-common/src/main/java/com/suisung/mall/common/utils/FreeMakerUtils.java @@ -48,13 +48,12 @@ public class FreeMakerUtils { } catch (Exception e) { log.error(e.getMessage(), e); return null; -// throw new RuntimeException(e); } finally { if (stringWriter != null) { try { stringWriter.close(); } catch (IOException e) { -// throw new RuntimeException(e); + log.error(e.getMessage(), e); return null; } } diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/store/controller/admin/ShopStorePrinterController.java b/mall-shop/src/main/java/com/suisung/mall/shop/store/controller/admin/ShopStorePrinterController.java index 231f2375..7df8918f 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/store/controller/admin/ShopStorePrinterController.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/store/controller/admin/ShopStorePrinterController.java @@ -3,7 +3,6 @@ package com.suisung.mall.shop.store.controller.admin; import com.suisung.mall.common.api.CommonResult; import com.suisung.mall.common.modules.store.ShopStorePrinter; import com.suisung.mall.shop.store.service.ShopStorePrinterService; -import com.suisung.mall.shop.store.utis.FeieUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/store/controller/admin/ShopStorePrinterTemplateController.java b/mall-shop/src/main/java/com/suisung/mall/shop/store/controller/admin/ShopStorePrinterTemplateController.java index 82e0a0b1..f500fb9e 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/store/controller/admin/ShopStorePrinterTemplateController.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/store/controller/admin/ShopStorePrinterTemplateController.java @@ -1,8 +1,6 @@ package com.suisung.mall.shop.store.controller.admin; import com.suisung.mall.common.api.CommonResult; -import com.suisung.mall.common.modules.store.ShopStorePrinterRegion; -import com.suisung.mall.shop.store.service.ShopStorePrinterRegionService; import com.suisung.mall.shop.store.service.ShopStorePrinterTemplateService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/store/mapper/ShopStorePrinterLogMapper.java b/mall-shop/src/main/java/com/suisung/mall/shop/store/mapper/ShopStorePrinterLogMapper.java new file mode 100644 index 00000000..5f98630f --- /dev/null +++ b/mall-shop/src/main/java/com/suisung/mall/shop/store/mapper/ShopStorePrinterLogMapper.java @@ -0,0 +1,18 @@ +package com.suisung.mall.shop.store.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.suisung.mall.common.modules.store.ShopStorePrinterLog; +import org.springframework.stereotype.Repository; + +/** + *

+ * 店铺打票机 mapper 接口 + *

+ * + * @author panjunjie + * @since 2024-10-28 + */ + +@Repository +public interface ShopStorePrinterLogMapper extends BaseMapper{ +} diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/store/mapper/ShopStorePrinterTemplateMapper.java b/mall-shop/src/main/java/com/suisung/mall/shop/store/mapper/ShopStorePrinterTemplateMapper.java index df704205..7bfbb964 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/store/mapper/ShopStorePrinterTemplateMapper.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/store/mapper/ShopStorePrinterTemplateMapper.java @@ -1,16 +1,9 @@ package com.suisung.mall.shop.store.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.suisung.mall.common.modules.store.ShopStorePrinter; import com.suisung.mall.common.modules.store.ShopStorePrinterTemplate; -import com.suisung.mall.common.pojo.vo.ShopStorePrinterVO; -import io.lettuce.core.dynamic.annotation.Param; import org.springframework.stereotype.Repository; -import java.util.Map; - /** *

* 店铺打票机 mapper 接口 diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/ShopStorePrinterLogService.java b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/ShopStorePrinterLogService.java new file mode 100644 index 00000000..b0490cdd --- /dev/null +++ b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/ShopStorePrinterLogService.java @@ -0,0 +1,17 @@ +package com.suisung.mall.shop.store.service; + +import com.suisung.mall.common.modules.store.ShopStorePrinterLog; +import com.suisung.mall.core.web.service.IBaseService; + +public interface ShopStorePrinterLogService extends IBaseService { + + /** + * 新增一个打票机打印日志 + * + * @param record + * @return + */ + Boolean insertShopStorePrinterLog(ShopStorePrinterLog record); + +} + 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 new file mode 100644 index 00000000..a5a49da0 --- /dev/null +++ b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStorePrinterLogServiceImpl.java @@ -0,0 +1,63 @@ +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; + + +@Service +public class ShopStorePrinterLogServiceImpl extends BaseServiceImpl implements ShopStorePrinterLogService { + + private static final Logger logger = LoggerFactory.getLogger(ShopStorePrinterLogServiceImpl.class); + @Autowired + private ShopStorePrinterMapper shopStorePrinterMapper; + + @Override + public Boolean insertShopStorePrinterLog(ShopStorePrinterLog record) { + if (record == null) { + return false; + } + + if (record.getStore_id() == null || + StrUtil.isBlank(record.getOrder_id()) || + StrUtil.isBlank(record.getTemplate_value()) || + StrUtil.isBlank(record.getPrint_content())) { + return false; + } + + return add(record); + } +} diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStorePrinterModelServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStorePrinterModelServiceImpl.java index b39ec0b1..f5671335 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStorePrinterModelServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStorePrinterModelServiceImpl.java @@ -4,7 +4,7 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.suisung.mall.common.api.CommonResult; -import com.suisung.mall.common.modules.store.ShopStorePrinter; +import com.suisung.mall.common.domain.UserDto; import com.suisung.mall.common.modules.store.ShopStorePrinterModel; import com.suisung.mall.core.web.service.impl.BaseServiceImpl; import com.suisung.mall.shop.store.mapper.ShopStorePrinterModelMapper; @@ -14,6 +14,8 @@ import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; +import static com.suisung.mall.common.utils.ContextUtil.getCurrentUser; + @Service public class ShopStorePrinterModelServiceImpl extends BaseServiceImpl implements ShopStorePrinterModelService { @@ -25,14 +27,14 @@ public class ShopStorePrinterModelServiceImpl extends BaseServiceImpl queryWrapper= new QueryWrapper<>(); + QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.orderByAsc("model_id"); - if (count != null || count > 0) { + if (count != null || count > 0) { queryWrapper.last("limit " + count); } List recordList = find(queryWrapper); @@ -57,18 +59,23 @@ public class ShopStorePrinterModelServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); queryWrapper.eq("model_name", record.getModel_name()); ShopStorePrinterModel existRecord = getOne(queryWrapper); - if (existRecord!=null && existRecord.getModel_id() > 0) { + if (existRecord != null && existRecord.getModel_id() > 0) { return CommonResult.success("打票机型号已添加,请勿重复操作"); } - if (add(record)){ + if (add(record)) { return CommonResult.success(); } @@ -78,21 +85,25 @@ public class ShopStorePrinterModelServiceImpl extends BaseServiceImpl implements ShopStorePrinterRegionService { @@ -41,10 +44,14 @@ public class ShopStorePrinterRegionServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); queryWrapper.eq("region", record.getRegion()); @@ -63,13 +70,18 @@ public class ShopStorePrinterRegionServiceImpl extends BaseServiceImpl shopStorePrinterPageList(String keyword, Integer pageNum, Integer pageSize) { Page page = new Page(); @@ -333,7 +339,7 @@ public class ShopStorePrinterServiceImpl extends BaseServiceImpl binding = shopOrderBaseService.getOrderPrintInfo(orderId, StateCode.ORDER_PAID_STATE_YES); if (binding == null) { - logger.info(orderId+"订单信息无法获取,无法打印小票。"); + logger.info("订单{}信息无法获取,无法打印小票。", orderId); return false; } @@ -342,7 +348,7 @@ public class ShopStorePrinterServiceImpl extends BaseServiceImpl printerList = selectPrinterList(storeId); if (CollUtil.isEmpty(printerList)) { // 店铺没有打印机,不再往下执行打印工作 - logger.info(storeId+"店铺未添加打票机,无法打印小票。"); + logger.info("店铺{}未添加打票机,无法打印小票。", storeId); return false; } @@ -350,14 +356,14 @@ public class ShopStorePrinterServiceImpl extends BaseServiceImpl) binding.get("order_items"), 18, 6, 8); if(StrUtil.isBlank(order_items_tmpl)) { - logger.info(orderId+"订单详情列表模版渲染异常,无法打印小票。"); + logger.info("订单{}详情列表模版渲染异常,无法打印小票。", orderId); return false; } binding.put("order_items_tmpl", order_items_tmpl); @@ -365,18 +371,27 @@ public class ShopStorePrinterServiceImpl extends BaseServiceImplm;@t+W{51avFu_O zwfZWfEV>!p$Z&|8Wf#lT%(8nAJ+@YFJ@lljw0$61m91v2*=L`<_u2dZ|9^X9{`M(} z1ILDU1LyOD&6zYQnr&8dqfHAp*|ZY%)5gtyV#JMUPoO-o zS!Z)62|w$(%jE7hrpcHMrs^K!-D@7-XNvFlv$2W?%#;WHJjBB$xXH(6KU;XjL>^5M zX!3LaV)Gb|;&C5OnCz2^tu{~5sd&0~AZP`%;!V-E`u1onQWtA(ZI8t2Be9O=hKR+i z8t2#4({ke`7mANYL-qfvPVTpMxr(+5d&M(~ZHi|V&j~{rX<=8dX^6D7H%D9JiY~?T z$sSLhn-!|B&q1ryhFbe_7=}SixS0vW{@Gpux1zUYThHM+0FZ!5BN~?5qmTr^NHqM&Qt8w ze9At}ehvtF&1W3c6j5wZ?NqAjOvUG#Lwuq6l7ouFny>iUDO54E;P*pVA5(&3f zB%5`Kl_->DgA}q2Q1M&{aV(~Z@0IiHk(h{eQcNhH6q_#l`_H#-xy$zvJ3~5!4)I@1|y~JFEN4jK*w^Hs6ayBl-iWA|6III2y-2V^_ delta 1192 zcmZva>vx<}6vlsVW-@2;&WUNd5=MK5V9n39NI^pa?WP(ex2MpKc9G?J)l%AjcL zl9m@$LftAZrJW3s6s6U=)a8@Ez^ATdSw5>pJZD-y;Cwje*?XV!>}T(Nc2{mGPaXYp z{{dh&Kln_c&9KJjHrjn|r^Ba{J7RQkXN+#vx~(UVO74o$OP`_NC&t}A>$u0T-bL>9 z*}y=IjojyA_q(mlZ7Fx_0f!!Rj~{Z>n_@g%%OmdHqfs`;*uqx1cq~_fv_i*x9_I{Y2+{{jyi83_I%oQJX*N7#c-HWoVTW|-iHBdme)XE3{*JZXlKQ-1 zXQm*x%xgZM3p^%uwytZf?rQCBuWs(|?dWbdykL2eA+cCq;$_1w%PYJpO3Q1!E?&zU z?6$nguw@qK8s4(J%{v~+U_&UGZ+VwJhW9M*vo|;rsai0dD#JcYnh`_B@&O-OM%iQe zh%w7J`z;^yiRDucSU%%(Rbe^EAILdbR2?ZusTqZ8LQ)M_L^aD)bepVR6*QniHmQ_t zDr88d?4pjn%w>f68s4QE!9sr2tDjh`1eYsC1HW(?zq7>4W2qOXG250Nl|G>KbzFk4 z`(4Zt%2Sq&q~cQX9coar5K%A65|*mE z0wyG5o+i+!3f(kL#I8{6N_lF@o1m1ap~-NS;c7!_nc*54o}n53pdlN$w(d9L$H^%= z&RGi$*Hv)6o=22+IX7^laDGUNkQStZe|}SoaFi7%{)ljy)2x*@xpItiG8Cs}c-b+y g&j-^^6X{I?IozCOarP~;SL$4~0