From 7f94d5a7d9890a10e6a68b3ec14f31858eddfd47 Mon Sep 17 00:00:00 2001 From: sw <17615834396@163.com> Date: Tue, 19 Nov 2024 15:05:36 +0800 Subject: [PATCH] 11.19 --- .../integral/entity/IntegralOrders.java | 4 + .../integral/mapper/IntegralOrdersMapper.java | 9 ++ .../mapper/xml/IntegralOrdersMapper.xml | 9 +- .../impl/IntegralOrdersServiceImpl.java | 1 + .../printer/controller/printerController.java | 18 +++- .../printer/service/PrinterService.java | 2 +- .../service/impl/PrinterServiceImpl.java | 12 ++- .../printer/template/PrintIntegralReport.java | 98 ++++++++++++++++--- .../views/cashier/NewComponents/Integral.vue | 12 ++- 9 files changed, 145 insertions(+), 20 deletions(-) diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/entity/IntegralOrders.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/entity/IntegralOrders.java index da49bc70e..40ae39d8a 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/entity/IntegralOrders.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/entity/IntegralOrders.java @@ -116,6 +116,10 @@ public class IntegralOrders extends BaseEntity { * 核销码 */ private String checkCode; + /** + * 手机号 + */ + private String phone; } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/mapper/IntegralOrdersMapper.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/mapper/IntegralOrdersMapper.java index faca07934..3eb5cd52d 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/mapper/IntegralOrdersMapper.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/mapper/IntegralOrdersMapper.java @@ -129,5 +129,14 @@ public interface IntegralOrdersMapper { Map queryByBuySum(@Param("integralOrders") IntegralOrdersDTO integralOrders); + + + /** + * 通过订单号 + * + * @param id 主键 + * @return 实例对象 + */ + IntegralOrders getOneByOrderNo(String orderNo); } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/mapper/xml/IntegralOrdersMapper.xml b/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/mapper/xml/IntegralOrdersMapper.xml index 6775ec75c..d2b816135 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/mapper/xml/IntegralOrdersMapper.xml +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/mapper/xml/IntegralOrdersMapper.xml @@ -901,7 +901,14 @@ - + diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/service/impl/IntegralOrdersServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/service/impl/IntegralOrdersServiceImpl.java index 9e55bfad9..7c006af80 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/service/impl/IntegralOrdersServiceImpl.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/service/impl/IntegralOrdersServiceImpl.java @@ -419,6 +419,7 @@ public class IntegralOrdersServiceImpl implements IntegralOrdersService { e.printStackTrace(); } } + integralOrdersList1.get(0).setPhone(ljUserVos.getMobile()); return integralOrdersList1.get(0); } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/printer/controller/printerController.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/printer/controller/printerController.java index c83763ddc..e119c6520 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/printer/controller/printerController.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/printer/controller/printerController.java @@ -382,7 +382,23 @@ public class printerController extends BaseController { } @PostMapping("printIntegralReport") public void printIntegralReport(@RequestBody Map integral) { - printerService.printIntegralReport(integral,TokenUtil.getNowAccountInfo().getStoreId()); + AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); + MtUser mtUser=null; + UserBalance userBalance=null; + LJUserGrade ljUserGrade=null; + String orderNo=null; + List> o = (List>)integral.get("oilOrder"); + for (Map stringStringMap : o) { + orderNo=stringStringMap.get("orderNo"); + if("散客".equals(stringStringMap.get("payUser"))){ + }else { + mtUser=mtUserMapper.selectByPhone(stringStringMap.get("payUser")); + userBalance=userBalanceMapper.getUserBalanceByUserId(mtUser.getId().toString()); + ljUserGrade= ljUserGradeMapper.getUserGradeByUserId(userBalance.getGradeId().toString()); + } + } + ReceiptPrinting receiptPrinting = receiptPrintingService.queryReceiptPrintingOne(nowAccountInfo.getStoreId()); + printerService.printIntegralReport(integral,TokenUtil.getNowAccountInfo().getStoreId(),receiptPrinting,mtUser,userBalance,ljUserGrade,orderNo); } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/printer/service/PrinterService.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/printer/service/PrinterService.java index 8f6fbd138..fb75a7336 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/printer/service/PrinterService.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/printer/service/PrinterService.java @@ -35,6 +35,6 @@ public interface PrinterService { void printFuelDieselReport(Map printCardValue,Integer storeId, ReceiptPrinting receiptPrinting, MtUser mtUser, UserBalance userBalance, LJUserGrade ljUserGrade,String orderNo); - void printIntegralReport(Map integral, Integer storeId); + void printIntegralReport(Map integral, Integer storeId, ReceiptPrinting receiptPrinting, MtUser mtUser, UserBalance userBalance, LJUserGrade ljUserGrade,String orderNo); void handoverShiftPrintingReceipt(Map handAll); } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/printer/service/impl/PrinterServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/printer/service/impl/PrinterServiceImpl.java index 73b0233d7..8074cdfc8 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/printer/service/impl/PrinterServiceImpl.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/printer/service/impl/PrinterServiceImpl.java @@ -4,6 +4,8 @@ import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.alipay.api.internal.util.codec.Base64; +import com.fuint.business.integral.entity.IntegralOrders; +import com.fuint.business.integral.mapper.IntegralOrdersMapper; import com.fuint.business.order.mapper.AllOrderInfoMapper; import com.fuint.business.order.vo.AllOrderInfoVo; import com.fuint.business.printer.entity.PrintDeviceInfo; @@ -369,9 +371,11 @@ public class PrinterServiceImpl implements PrinterService { } } - public void printIntegralReport(Map integral,Integer storeId) { + @Resource + private IntegralOrdersMapper integralOrdersMapper; + public void printIntegralReport(Map integral,Integer storeId, ReceiptPrinting receiptPrinting, MtUser mtUser, UserBalance userBalance, LJUserGrade ljUserGrade,String orderNo) { PrintDeviceInfo infoByStoreId = printDeviceInfoMapper.getInfoByStoreId(storeId); - + IntegralOrders allOrderInfoVo=integralOrdersMapper.getOneByOrderNo(orderNo); log.info("handover:{}",integral.toString()); Methods m=Methods.getInstance(); Object accessToken = RedisUtil.get("scancodemodel+" + storeId); @@ -388,7 +392,7 @@ public class PrinterServiceImpl implements PrinterService { m.init(infoByStoreId.getAppKey(), infoByStoreId.getAppSecret()); PrintIntegralReport.setHandover(integral); Integer random6 = (int) ((Math.random() * 9 + 1) * 100000); - String url=m.print(infoByStoreId.getMachineCode(), PrintIntegralReport.printIntegral(), "Z"+System.currentTimeMillis()+random6.toString()); + String url=m.print(infoByStoreId.getMachineCode(), PrintIntegralReport.printIntegral(receiptPrinting,mtUser,userBalance,ljUserGrade,allOrderInfoVo), "Z"+System.currentTimeMillis()+random6.toString()); if (ObjectUtil.isNotEmpty(url)) { // 使用 Fastjson 将 JSON 字符串解析为 JSONObject JSONObject jsonObject = JSON.parseObject(url); @@ -396,7 +400,7 @@ public class PrinterServiceImpl implements PrinterService { String error = jsonObject.getString("error"); if ("18".equals(error)) { getToken(storeId); - printIntegralReport(integral,storeId); + printIntegralReport(integral,storeId, receiptPrinting, mtUser, userBalance, ljUserGrade, orderNo); } } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/printer/template/PrintIntegralReport.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/printer/template/PrintIntegralReport.java index 2d1c06314..a1d0c9248 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/printer/template/PrintIntegralReport.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/printer/template/PrintIntegralReport.java @@ -1,8 +1,14 @@ package com.fuint.business.printer.template; import cn.hutool.core.util.ObjectUtil; +import com.fuint.business.integral.entity.IntegralOrders; +import com.fuint.business.order.vo.AllOrderInfoVo; +import com.fuint.business.setting.entity.ReceiptPrinting; +import com.fuint.business.userManager.entity.LJUserGrade; +import com.fuint.business.userManager.entity.UserBalance; import com.fuint.common.dto.AccountInfo; import com.fuint.common.util.TokenUtil; +import com.fuint.repository.model.MtUser; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; @@ -12,21 +18,89 @@ import java.util.Map; public class PrintIntegralReport { public static Map handover = new HashMap<>(); - public static String printIntegral(){ + public static String printIntegral(ReceiptPrinting receiptPrinting, MtUser mtUser, UserBalance userBalance, LJUserGrade ljUserGrade, + IntegralOrders allOrderInfoVo){ +// StringBuilder sb=new StringBuilder(); +// +// LocalDateTime now = LocalDateTime.now(); +// DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); +// String formattedDateTime = now.format(formatter); +// System.out.println("当前时间:" + formattedDateTime); +// AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); +// +// +// sb.append("
积分兑换\r\n
"); +// +// sb.append("打印时间:"+formattedDateTime +"\r\n"); +// sb.append("店铺名称:"+nowAccountInfo.getStoreName() +"\r\n"); +// sb.append("--------------------------------\r\n"); +// +// if (ObjectUtil.isNotEmpty(handover.get("shoppingCart"))) { +// sb.append(""); +// List> o = (List>)handover.get("shoppingCart"); +// for (Map stringStringMap : o) { +// sb.append(""); +// sb.append(""); +// +// sb.append(""); +// } +// sb.append("
商品名称商品数量价格
"+stringStringMap.get("giftName")+""+((ObjectUtil.isNotEmpty(stringStringMap.get("markPurchases")))?stringStringMap.get("markPurchases").toString():"0")+""+ stringStringMap.get("price")+"
"); +// sb.append("--------------------------------\r\n"); +// +// } +// +// +// if (ObjectUtil.isNotEmpty(handover.get("allPoints"))) { +// sb.append("总积分:"+handover.get("allPoints")+"\r\n"); +// sb.append("--------------------------------\r\n"); +// } +// if (ObjectUtil.isNotEmpty(handover.get("allAmout"))) { +// sb.append("总价格:¥"+handover.get("allAmout")+"\r\n"); +// sb.append("--------------------------------\r\n"); +// } +// +// sb.append("
谢谢惠顾,欢迎下次光临!
"); StringBuilder sb=new StringBuilder(); LocalDateTime now = LocalDateTime.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String formattedDateTime = now.format(formatter); System.out.println("当前时间:" + formattedDateTime); - AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); +// AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); + receiptPrinting.setPrintTemplateTop(receiptPrinting.getPrintTemplateTop().replace("zzzzz","积分消费")); - - sb.append("
积分兑换\r\n
"); - - sb.append("打印时间:"+formattedDateTime +"\r\n"); - sb.append("店铺名称:"+nowAccountInfo.getStoreName() +"\r\n"); - sb.append("--------------------------------\r\n"); + System.out.println( receiptPrinting.getPrintTemplateTop()); + receiptPrinting.setPrintTemplateTop(receiptPrinting.getPrintTemplateTop().replace("xxxxx","32131566313655")); + if(mtUser!=null&&mtUser.getUserNo()!=null){ + receiptPrinting.setPrintTemplateTop(receiptPrinting.getPrintTemplateTop().replace("kkkkk",mtUser.getUserNo())); + }else { + receiptPrinting.setPrintTemplateTop(receiptPrinting.getPrintTemplateTop().replace("卡号:kkkkk\r\n","")); + } + if(mtUser!=null&&mtUser.getCarNo()!=null){ + receiptPrinting.setPrintTemplateTop(receiptPrinting.getPrintTemplateTop().replace("ccccc",mtUser.getCarNo())); + }else { + receiptPrinting.setPrintTemplateTop(receiptPrinting.getPrintTemplateTop().replace("车牌号:ccccc\r\n","")); + } + if(ljUserGrade!=null&&ljUserGrade.getName()!=null){ + receiptPrinting.setPrintTemplateTop(receiptPrinting.getPrintTemplateTop().replace("ddddd",ljUserGrade.getName())); + }else { + receiptPrinting.setPrintTemplateTop(receiptPrinting.getPrintTemplateTop().replace("等级:ddddd\r\n","")); + } + if(mtUser!=null&&mtUser.getMobile()!=null){ + receiptPrinting.setPrintTemplateTop(receiptPrinting.getPrintTemplateTop().replace("sssss",mtUser.getMobile())); + }else { + receiptPrinting.setPrintTemplateTop(receiptPrinting.getPrintTemplateTop().replace("手机号:sssss\r\n","")); + } + if(userBalance!=null&&userBalance.getCardBalance().toString()!=null){ + receiptPrinting.setPrintTemplateTop(receiptPrinting.getPrintTemplateTop().replace("yyyyy",userBalance.getCardBalance().toString())); + }else { + receiptPrinting.setPrintTemplateTop(receiptPrinting.getPrintTemplateTop().replace("余额:yyyyy\r\n","")); + } + if(userBalance!=null&&userBalance.getPoints().toString()!=null){ + receiptPrinting.setPrintTemplateTop(receiptPrinting.getPrintTemplateTop().replace("jjjjj",userBalance.getPoints().toString())); + }else { + receiptPrinting.setPrintTemplateTop(receiptPrinting.getPrintTemplateTop().replace("积分:jjjjj\r\n","")); + } if (ObjectUtil.isNotEmpty(handover.get("shoppingCart"))) { sb.append(""); @@ -51,10 +125,10 @@ public class PrintIntegralReport { sb.append("总价格:¥"+handover.get("allAmout")+"\r\n"); sb.append("--------------------------------\r\n"); } - - sb.append("
谢谢惠顾,欢迎下次光临!
"); - - return sb.toString(); + receiptPrinting.setPrintTemplateDown(receiptPrinting.getPrintTemplateDown(). + replace("ttttt",formattedDateTime)); + System.out.println(receiptPrinting.getPrintTemplateTop()+sb.toString()+receiptPrinting.getPrintTemplateDown()); + return receiptPrinting.getPrintTemplateTop()+sb.toString()+receiptPrinting.getPrintTemplateDown(); } public static Map getHandover() { diff --git a/fuintCashierWeb/src/views/cashier/NewComponents/Integral.vue b/fuintCashierWeb/src/views/cashier/NewComponents/Integral.vue index e4b9892ff..9ab6f19f9 100644 --- a/fuintCashierWeb/src/views/cashier/NewComponents/Integral.vue +++ b/fuintCashierWeb/src/views/cashier/NewComponents/Integral.vue @@ -447,7 +447,8 @@ export default { allPoints: 0, allAmout: 0, allMoneyRatio: 0, - + userId:null, + orderNo:null, dialogVisible: false, //员工选择 dialogVisiblevip: false, // 会员查询 dialogVisibleMember: false,// 模糊查询会员 @@ -985,7 +986,14 @@ export default { } shoppingCart.push(a) }) + let oo=[]; + let mm={ + payUser:this.userId, + orderNo:this.orderNo + } + oo.push(mm) let f = { + oilOrder:oo, shoppingCart: shoppingCart, allPoints: this.allPoints, allAmout: this.allAmout @@ -1042,6 +1050,8 @@ export default { if (response.data != null) { this_.loading = true orderNumber = response.data.orderNumber + this_.userId = response.data.phone + this_.orderNo = response.data.orderNumber if (response.data.status == 'un') { this.$message.error('积分已不足') this_.loading = false
商品名称商品数量价格