Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -18,6 +18,10 @@
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.belerweb</groupId>
|
||||
<artifactId >pinyin4j</artifactId>
|
||||
</dependency>
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>com.github.binarywang</groupId>-->
|
||||
<!-- <artifactId>weixin-java-miniapp</artifactId>-->
|
||||
|
||||
@@ -1,14 +1,19 @@
|
||||
package com.czg.service.account.service.impl;
|
||||
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.czg.account.service.GeoService;
|
||||
import com.czg.exception.ApiNotPrintException;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import io.seata.common.util.HttpClientUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.client.RestClient;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
@@ -40,6 +45,21 @@ public class GeoServiceImpl implements GeoService {
|
||||
}
|
||||
return jsonObject.getJSONObject("regeocode");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String district(String keywords, String subdistrict) {
|
||||
Map<String, Object> param = new HashMap<>();
|
||||
//超掌柜生活-用户端
|
||||
param.put("key", "7a7f2e4790ea222660a027352ee3af39");
|
||||
param.put("keywords", keywords);
|
||||
param.put("subdistrict", "1");
|
||||
if (StringUtils.isNotBlank(subdistrict)) {
|
||||
param.put("subdistrict", "2");
|
||||
}
|
||||
param.put("extensions", "base");
|
||||
String s = HttpUtil.get("https://restapi.amap.com/v3/config/district", param);
|
||||
return s;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -6,10 +6,7 @@ import cn.hutool.core.util.RandomUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.czg.account.dto.shopuser.*;
|
||||
import com.czg.account.entity.*;
|
||||
import com.czg.account.service.ShopActivateCouponRecordService;
|
||||
import com.czg.account.service.ShopUserFlowService;
|
||||
import com.czg.account.service.ShopUserService;
|
||||
import com.czg.account.service.UserInfoService;
|
||||
import com.czg.account.service.*;
|
||||
import com.czg.config.RedisCst;
|
||||
import com.czg.exception.ApiNotPrintException;
|
||||
import com.czg.resp.CzgResult;
|
||||
@@ -32,6 +29,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
@@ -55,6 +53,8 @@ public class ShopUserServiceImpl extends ServiceImpl<ShopUserMapper, ShopUser> i
|
||||
private ShopActivateCouponRecordService shopActivateCouponRecordService;
|
||||
@Resource
|
||||
private ShopInfoMapper shopInfoMapper;
|
||||
@Resource
|
||||
private ShopExtendService shopExtendService;
|
||||
|
||||
private ShopUser getUserInfo(Long shopId, Long shopUserId) {
|
||||
ShopUser shopUser = queryChain().eq(ShopUser::getShopId, shopId).eq(ShopUser::getId, shopUserId).one();
|
||||
@@ -279,6 +279,8 @@ public class ShopUserServiceImpl extends ServiceImpl<ShopUserMapper, ShopUser> i
|
||||
shopUserDetailDTO.setShopName(shopInfo.getShopName());
|
||||
shopUserDetailDTO.setShopId(shopInfo.getId());
|
||||
shopUserDetailDTO.setShopInfo(shopInfo);
|
||||
List<ShopExtend> shopExtends = shopExtendService.list(new QueryWrapper().eq(ShopExtend::getShopId, shopInfo.getId()));
|
||||
shopUserDetailDTO.setShopExtendList(shopExtends);
|
||||
}
|
||||
return shopUserDetailDTO;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.czg.service.order.mapper;
|
||||
|
||||
import com.mybatisflex.core.BaseMapper;
|
||||
import com.czg.order.entity.PrintMachineLog;
|
||||
|
||||
/**
|
||||
* 店铺小票打印记录 映射层。
|
||||
*
|
||||
* @author zs
|
||||
* @since 2025-03-11
|
||||
*/
|
||||
public interface PrintMachineLogMapper extends BaseMapper<PrintMachineLog> {
|
||||
|
||||
}
|
||||
@@ -48,7 +48,6 @@ public class FeiPrinter extends PrinterHandler implements PrinterImpl {
|
||||
|
||||
private final PrintSignLabel printSignLabel = new PrintSignLabel()
|
||||
.setBr("<BR>")
|
||||
|
||||
.setCut("")
|
||||
.setF(new String[]{"<F>", "</F>"})
|
||||
.setL(new String[]{"<L>", "</L>"})
|
||||
@@ -68,8 +67,7 @@ public class FeiPrinter extends PrinterHandler implements PrinterImpl {
|
||||
String content = buildDishPrintData(false, getPickupNum(orderInfo), orderInfo.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")),
|
||||
orderDetail.getProductName(), orderDetail.getSkuName(), orderDetail.getNum(), remark, orderDetail.getProGroupInfo());
|
||||
sendPrintRequest(machine.getAddress(), content, null,"1");
|
||||
|
||||
// shopPrintLogService.save(machine, "新订单", resp[0], resp[1]); // 可以解开注释用于日志存储
|
||||
// printMachineLogService.save(machine, "新订单", , );
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -17,6 +17,7 @@ import com.czg.order.entity.OrderDetail;
|
||||
import com.czg.order.entity.OrderInfo;
|
||||
import com.czg.order.service.OrderDetailService;
|
||||
import com.czg.order.service.OrderInfoService;
|
||||
import com.czg.order.service.PrintMachineLogService;
|
||||
import com.czg.product.entity.ProdSku;
|
||||
import com.czg.product.entity.Product;
|
||||
import com.czg.product.service.ProdSkuService;
|
||||
@@ -59,6 +60,8 @@ public abstract class PrinterHandler {
|
||||
protected OrderInfoService orderInfoService;
|
||||
@Resource
|
||||
protected RedisService redisService;
|
||||
@Resource
|
||||
protected PrintMachineLogService printMachineLogService;
|
||||
|
||||
@DubboReference
|
||||
protected SysParamsService sysParamsService;
|
||||
@@ -266,7 +269,7 @@ public abstract class PrinterHandler {
|
||||
item.setProductName("【临】" + item.getProductName());
|
||||
}
|
||||
}
|
||||
boolean isGift = item.getPackAmount().compareTo(BigDecimal.ZERO) == 0;
|
||||
boolean isGift = item.getIsGift() != null && item.getIsGift() == 1;
|
||||
if (isGift && !item.getProductName().contains("【赠】")) {
|
||||
item.setProductName("【赠】" + item.getProductName());
|
||||
}
|
||||
@@ -335,7 +338,7 @@ public abstract class PrinterHandler {
|
||||
it.setProductName("【临】%s".formatted(it.getProductName()));
|
||||
}
|
||||
it.setPackAmount(it.getPackAmount() == null ? BigDecimal.ZERO : it.getPackAmount());
|
||||
boolean isGift = it.getPackAmount().compareTo(BigDecimal.ZERO) == 0;
|
||||
boolean isGift = it.getIsGift() != null && it.getIsGift() == 1;
|
||||
if (isGift) {
|
||||
it.setProductName("【赠】%s".formatted(it.getProductName()));
|
||||
}
|
||||
|
||||
@@ -170,7 +170,8 @@ public interface PrinterImpl {
|
||||
data.append(signLabelInfo.br);
|
||||
// data.append("<OUT:15>");
|
||||
// data.append("<BR>");
|
||||
data.append(getFormatLabel("品名 数量 小计", signLabelInfo.s))
|
||||
// 18个空格 12
|
||||
data.append(getFormatLabel("品名 数量 小计", signLabelInfo.s))
|
||||
.append(signLabelInfo.br);
|
||||
// data.append("<S>品名 数量 小计</S><BR>");
|
||||
data.append(getFormatLabel("--------------------------------", signLabelInfo.s))
|
||||
@@ -178,7 +179,8 @@ public interface PrinterImpl {
|
||||
// data.append("<S>--------------------------------</S><BR>");
|
||||
for (OrderDetail detail : detailList) {
|
||||
String number = detail.getNum().stripTrailingZeros().toPlainString();
|
||||
String row = getRow(detail.getProductName(), "", number, toPlainStr(detail.getPayAmount().stripTrailingZeros().toPlainString()), 20, 0, 3, 6);
|
||||
String row = getRow(detail.getProductName(), "", number,
|
||||
toPlainStr(detail.getPayAmount().stripTrailingZeros().toPlainString()), 23, 0, 5, 4);
|
||||
data.append(row);
|
||||
if (StrUtil.isNotBlank(detail.getSkuName())) {
|
||||
data.append(getFormatLabel(StrUtil.format("规格:{}", detail.getSkuName()), signLabelInfo.s))
|
||||
@@ -301,10 +303,11 @@ public interface PrinterImpl {
|
||||
// builder.append("<CS:32>").append(skuName).append(" </CS><BR>");
|
||||
}
|
||||
} else {
|
||||
builder.append(getFormatLabel(StrUtil.format("{} x ", productName), signLabelInfo.bold));
|
||||
builder.append(getFormatLabel(StrUtil.format("{} x {}", productName, number.stripTrailingZeros().toPlainString()), signLabelInfo.l))
|
||||
.append(signLabelInfo.br);
|
||||
// builder.append("<B>").append(productName).append(" x ").append(number).append("</B><BR>");
|
||||
if (StrUtil.isNotBlank(skuName)) {
|
||||
builder.append(getFormatLabel(skuName, signLabelInfo.bold))
|
||||
builder.append(getFormatLabel(skuName, signLabelInfo.l))
|
||||
.append(signLabelInfo.br);
|
||||
// builder.append("<B>").append(skuName).append(" </B><BR>");
|
||||
}
|
||||
|
||||
@@ -291,7 +291,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
||||
BigDecimalDTO totalAmount = new BigDecimalDTO(BigDecimal.ZERO);
|
||||
//最终打包费
|
||||
BigDecimalDTO packAmount = new BigDecimalDTO(BigDecimal.ZERO);
|
||||
processOrderDetails2(orderDetails, prodCouponMap, prodCouponAmount, totalAmount, packAmount, param.isAllPack(), param.isVipPrice());
|
||||
processOrderDetails2(orderDetails, prodCouponMap, prodCouponAmount, totalAmount, packAmount, param.isAllPack(), param.getUserAllPack(), param.isVipPrice());
|
||||
//总商品支付金额 不包含打包费 用来计算后续
|
||||
log.info("支付前置,商品金额{} 商品优惠券金额{} 总金额{}", totalAmount, prodCouponAmount, totalAmount.getPrice().add(orderInfo.getPackFee()));
|
||||
if (prodCouponAmount.getPrice().compareTo(param.getProductCouponDiscountAmount()) != 0) {
|
||||
@@ -382,7 +382,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
||||
@Override
|
||||
public void processOrderDetails2(List<OrderDetail> orderDetails, Map<Long, Integer> prodCouponMap,
|
||||
BigDecimalDTO prodCouponAmount, BigDecimalDTO totalAmount, BigDecimalDTO packAmount,
|
||||
boolean isAllPack, boolean isVipPrice) {
|
||||
boolean isAllPack, Integer userAllPack, boolean isVipPrice) {
|
||||
Map<Long, List<OrderDetail>> detailMap = new HashMap<>();
|
||||
for (OrderDetail detail : orderDetails) {
|
||||
detailMap.computeIfAbsent(detail.getProductId(), k -> new ArrayList<>()).add(detail);
|
||||
@@ -408,11 +408,17 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
||||
orderDetail.setUnitPrice(orderDetail.getPrice());
|
||||
}
|
||||
}
|
||||
if (isAllPack) {
|
||||
if (userAllPack != null) {
|
||||
if (userAllPack.equals(1)) {
|
||||
orderDetail.setPackNumber(orderDetail.getNum().subtract(orderDetail.getReturnNum()));
|
||||
} else {
|
||||
orderDetail.setPackNumber(BigDecimal.ZERO);
|
||||
}
|
||||
} else if (isAllPack) {
|
||||
if ("weigh".equals(orderDetail.getProductType())) {
|
||||
orderDetail.setPackNumber(BigDecimal.ONE);
|
||||
} else {
|
||||
orderDetail.setPackNumber(orderDetail.getNum());
|
||||
orderDetail.setPackNumber(orderDetail.getNum().subtract(orderDetail.getReturnNum()));
|
||||
}
|
||||
}
|
||||
packAmount.setPrice(packAmount.getPrice().add(orderDetail.getPackAmount().multiply(orderDetail.getPackNumber()).setScale(2, RoundingMode.DOWN)));
|
||||
@@ -426,7 +432,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
||||
orderDetail.setPayAmount((orderDetail.getNum().subtract(orderDetail.getReturnNum()).subtract(couponNum)).multiply(orderDetail.getUnitPrice()));
|
||||
couponNum = BigDecimal.ZERO;
|
||||
}
|
||||
prodCouponAmount.setPrice(prodCouponAmount.getPrice().add(orderDetail.getUnitPrice().multiply(orderDetail.getCouponNum())));
|
||||
prodCouponAmount.setPrice((prodCouponAmount.getPrice().add(orderDetail.getUnitPrice())).multiply(orderDetail.getCouponNum()));
|
||||
} else {
|
||||
orderDetail.setCouponNum(BigDecimal.ZERO);
|
||||
orderDetail.setPayAmount(orderDetail.getNum().subtract(orderDetail.getReturnNum()).multiply(orderDetail.getUnitPrice()));
|
||||
|
||||
@@ -125,7 +125,7 @@ public class PayServiceImpl implements PayService {
|
||||
BigDecimalDTO totalAmount = new BigDecimalDTO(BigDecimal.ZERO);
|
||||
//最终打包费
|
||||
BigDecimalDTO packAmount = new BigDecimalDTO(BigDecimal.ZERO);
|
||||
orderInfoService.processOrderDetails2(orderDetails, null, null, totalAmount, packAmount, payParam.isAllPack(), true);
|
||||
orderInfoService.processOrderDetails2(orderDetails, null, null, totalAmount, packAmount, payParam.isAllPack(), null,true);
|
||||
BigDecimal payAmount = (totalAmount.getPrice().add(packAmount.getPrice())).multiply(BigDecimal.TWO);
|
||||
if (payAmount.compareTo(payParam.getAmount()) != 0) {
|
||||
throw new ValidateException("霸王餐支付金额不正确");
|
||||
|
||||
@@ -0,0 +1,171 @@
|
||||
package com.czg.service.order.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.map.MapProxy;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.thread.ThreadUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.czg.account.entity.PrintMachine;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.mybatisflex.core.query.QueryWrapper;
|
||||
import com.mybatisflex.spring.service.impl.ServiceImpl;
|
||||
import com.czg.order.entity.PrintMachineLog;
|
||||
import com.czg.order.service.PrintMachineLogService;
|
||||
import com.czg.service.order.mapper.PrintMachineLogMapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 店铺小票打印记录ServiceImpl
|
||||
*
|
||||
* @author tankaikai
|
||||
* @since 2024-10-8 17:10
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class PrintMachineLogServiceImpl extends ServiceImpl<PrintMachineLogMapper, PrintMachineLog> implements PrintMachineLogService{
|
||||
|
||||
/**
|
||||
* 保存打印记录
|
||||
*
|
||||
* @param config 打印机配置
|
||||
* @param bizType 业务类型
|
||||
* @param printContent 打印内容
|
||||
* @param respJson 打印机响应结果
|
||||
*/
|
||||
@Async
|
||||
public void save(PrintMachine config, String bizType, String printContent, String respJson) {
|
||||
// if (config == null) {
|
||||
// return;
|
||||
// }
|
||||
// PrintMachineLog entity = new PrintMachineLog();
|
||||
// BeanUtil.copyProperties(config, entity);
|
||||
// int failFlag = 0;
|
||||
// String respCode = "0";
|
||||
// String respMsg = "打印中";
|
||||
//
|
||||
// Map<Integer, String> yxxStatusMap = MapUtil.builder(0, "离线(设备上线后自动补打)").put(1, "在线").put(2, "获取失败").put(3, "未激活").put(4, "设备已禁用").build();
|
||||
// // 云想印
|
||||
// if ("yxyPrinter".equals(config.getContentType())) {
|
||||
// cn.hutool.json.JSONObject resp = JSONUtil.parseObj(respJson);
|
||||
// int code = resp.getInt("code");
|
||||
// cn.hutool.json.JSONObject data = resp.getJSONObject("data").getJSONObject("data");
|
||||
// //设备状态,0: 离线, 1: 在线, 2: 获取失败, 3:未激活, 4:设备已禁用
|
||||
// int status = data.getInt("status");
|
||||
// if (code != 0) {
|
||||
// failFlag = 1;
|
||||
// respCode = code + "";
|
||||
// respMsg = resp.getStr("msg");
|
||||
// } else if (status != 1) {
|
||||
// failFlag = 1;
|
||||
// respCode = code + "";
|
||||
//
|
||||
// respMsg = status + "_" + yxxStatusMap.get(status);
|
||||
// }
|
||||
// if (code == 0) {
|
||||
// String taskId = resp.getJSONObject("data").getStr("orderId");
|
||||
// entity.setTaskId(taskId);
|
||||
// }
|
||||
// // 飞鹅云打印机暂时没有适配,先return不做打印记录
|
||||
// } else if ("fePrinter".equals(config.getContentType())) {
|
||||
// cn.hutool.json.JSONObject resp = JSONUtil.parseObj(respJson);
|
||||
// int ret = resp.getInt("ret");
|
||||
// if (ret != 0) {
|
||||
// failFlag = 1;
|
||||
// respCode = ret + "";
|
||||
// respMsg = resp.getStr("msg");
|
||||
// } else {
|
||||
// String printOrderId = resp.getStr("data");
|
||||
// entity.setTaskId(printOrderId);
|
||||
// }
|
||||
// } else {
|
||||
// // 其他打印机暂时没有适配,先return不做打印记录
|
||||
// return;
|
||||
// }
|
||||
// entity.setBizType(bizType);
|
||||
//// entity.setCreateUserId(config.getCurrentUserId());
|
||||
//// entity.setCreateUserName(config.getCurrentUserName());
|
||||
//// if (StrUtil.isNotBlank(config.getCurrentUserNickName())) {
|
||||
//// entity.setCreateUserName(StrUtil.concat(true, config.getCurrentUserNickName(), " | ", config.getCurrentUserName()));
|
||||
//// }
|
||||
// entity.setPrintContent(printContent);
|
||||
// entity.setCreateTime(DateUtil.date().toLocalDateTime());
|
||||
// if (failFlag == 0) {
|
||||
// entity.setPrintTime(entity.getCreateTime());
|
||||
// }
|
||||
// entity.setFailFlag(failFlag);
|
||||
// entity.setRespCode(respCode);
|
||||
// entity.setRespMsg(respMsg);
|
||||
// super.save(entity);
|
||||
//
|
||||
// // 云想印
|
||||
// if ("yxyPrinter".equals(config.getContentType())) {
|
||||
// // 延迟3ms,复查打印状态 (用户可以根据设备信息查询到当前设备的在线情况(注:该接口只能提供参考,设备的离线状态是在设备离线3分钟后才会生效))
|
||||
// ThreadUtil.safeSleep(1000 * 5);
|
||||
// String jsonStr = PrinterUtils.checkPrintStatus(config.getAddress(), entity.getTaskId());
|
||||
// cn.hutool.json.JSONObject resp = JSONUtil.parseObj(jsonStr);
|
||||
// int code = resp.getInt("code");
|
||||
// if (code == 0) {
|
||||
// cn.hutool.json.JSONObject data = resp.getJSONObject("data");
|
||||
// boolean status = data.containsKey("status");
|
||||
// if (!status) {
|
||||
// return;
|
||||
// }
|
||||
// boolean success = data.getBool("status", false);
|
||||
// if (entity.getFailFlag() == 0 && success) {
|
||||
// entity.setFailFlag(0);
|
||||
// entity.setRespMsg("打印成功");
|
||||
// entity.setPrintTime(entity.getCreateTime());
|
||||
// } else if (entity.getFailFlag() == 1 && success) {
|
||||
// entity.setFailFlag(0);
|
||||
// entity.setPrintTime(new Date());
|
||||
// entity.setRespMsg("打印成功");
|
||||
// // 如果设备在线 and 休眠5秒后查询结果是未打印,即视为设备已离线,云端3分钟后才会同步到离线信息
|
||||
// } else if (entity.getFailFlag() == 0 && !success) {
|
||||
// entity.setFailFlag(1);
|
||||
// entity.setPrintTime(null);
|
||||
// entity.setRespMsg("0_离线(设备上线后自动补打)");
|
||||
// } else {
|
||||
// entity.setFailFlag(1);
|
||||
// entity.setPrintTime(null);
|
||||
// entity.setRespMsg(StrUtil.concat(true, "打印失败,", "_", entity.getRespMsg()));
|
||||
// }
|
||||
// super.updateById(entity);
|
||||
// }
|
||||
// // 飞鹅云打印机
|
||||
// } else if ("fePrinter".equals(config.getContentType())) {
|
||||
// ThreadUtil.safeSleep(1000 * 5);
|
||||
// Boolean success = FeieyunPrintUtil.checkPrintStatus(entity.getTaskId());
|
||||
// if (success == null) {
|
||||
// entity.setFailFlag(1);
|
||||
// entity.setRespMsg("打印失败,未知错误");
|
||||
// } else if (success) {
|
||||
// entity.setFailFlag(0);
|
||||
// entity.setPrintTime(new Date());
|
||||
// entity.setRespMsg("打印成功");
|
||||
// } else {
|
||||
// String msg = FeieyunPrintUtil.checkOnline(entity.getAddress());
|
||||
// if (msg.indexOf("在线,工作状态正常") > 0) {
|
||||
// entity.setFailFlag(0);
|
||||
// entity.setPrintTime(new Date());
|
||||
// entity.setRespMsg("打印成功");
|
||||
// } else {
|
||||
// entity.setFailFlag(1);
|
||||
// entity.setPrintTime(null);
|
||||
// entity.setRespMsg(StrUtil.concat(true, "打印失败,", "_", msg));
|
||||
// }
|
||||
// }
|
||||
// super.updateById(entity);
|
||||
// }
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.czg.service.order.mapper.PrintMachineLogMapper">
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user