From fd67533544e353e67f222fa77a486136e5d13f08 Mon Sep 17 00:00:00 2001 From: Mrking <782276617@qq.com> Date: Mon, 21 Oct 2024 00:04:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=94=80=E5=94=AE=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E5=AE=A1=E6=A0=B8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../saleorder/SaleOrderServiceImpl.java | 71 +++++++++++++------ .../service/mail/MailSendServiceImpl.java | 19 ++++- 2 files changed, 66 insertions(+), 24 deletions(-) diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java index 873b5a4..aa58eaa 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java @@ -66,12 +66,15 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.google.common.collect.Maps; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import org.thymeleaf.TemplateEngine; import org.thymeleaf.context.Context; +import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.NotNull; import java.io.File; @@ -81,10 +84,7 @@ import java.io.InputStream; import java.math.BigDecimal; import java.time.Duration; import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; import java.util.stream.IntStream; @@ -100,22 +100,45 @@ import static cn.hangtag.module.oms.enums.ErrorCodeConstants.SALE_ORDER_NOT_EXIS @Service @Validated @Slf4j -@AllArgsConstructor +//@AllArgsConstructor public class SaleOrderServiceImpl implements SaleOrderService { - + @Resource private SaleOrderMapper saleOrderMapper; + @Resource private SaleContractMapper saleContractMapper; + @Resource private SaleOrderEntryMapper saleOrderEntryMapper; + @Resource private SaleOrderSkuMapper skuOrderSkuMapper; + @Resource private ProduceOrderService produceOrderService; + @Resource private ProductInfoService productInfoService; + @Resource private SaleContractService saleContractService; + @Resource private CustomerService customerService; + @Resource private CustomerMapper customerMapper; + @Resource private ProductPriceService productPriceService; + + @Resource private TemplateEngine templateEngine; + @Resource private MailSendService mailSendService; - private MailAccountService mailAccountService; + + + @Value("${oms.partyb}") + private String partyb; + + @Value("${oms.partybAddress}") + private String partybAddress; + + @Value("${pdfPath}") + private String pdfPath; + + @Override @@ -303,7 +326,7 @@ public class SaleOrderServiceImpl implements SaleOrderService { Long saleContractId = generateSaleContract(saleOrder,entrys); String htmlContent = generateHtmlContent(saleContractId); - String fileName = StrUtil.format("C:\\Users\\Admin\\Desktop\\1111111\\test\\test_{}", + String fileName = StrUtil.format(pdfPath+"\\销售合约_{}", new Date().getTime()); String templatePath = fileName + ".html"; @@ -312,13 +335,15 @@ public class SaleOrderServiceImpl implements SaleOrderService { WKHtmlToPdfUtil.convert(templatePath, pdfPath); //发送消息 - MailSendMessage message = new MailSendMessage(); - message.setAccountId(1L); - message.setMail("wx782276617@foxmail.com"); - message.setTitle("OMS订单系统"); - message.setContent("您好,您的订单:"+saleOrder.getBillno()+",已审核通过!"); - mailSendService.doSendMail(message,new File(pdfPath)); - //mailSendService.doSendMail(message); + String emails = saleOrder.getEmails(); + if(StringUtils.isNotBlank(emails)){ + MailSendMessage message = new MailSendMessage(); + message.setAccountId(1L); + message.setMail(emails); + message.setTitle("OMS订单系统"); + message.setContent("您好,您的订单:"+saleOrder.getBillno()+",已审核通过!"); + mailSendService.doSendMail(message,new File(pdfPath)); + } } } break; @@ -374,8 +399,8 @@ public class SaleOrderServiceImpl implements SaleOrderService { context.setVariable("bizDate", DateUtil.date(saleContract.getBizdate()).toDateStr()); context.setVariable("customerNo", customer.getNumber()); context.setVariable("headUserName", saleContract.getHead()); - context.setVariable("partyBCompany", "乙方公司"); - context.setVariable("partyBAddress", "乙方地址XXXXXXXXXXX"); + context.setVariable("partyBCompany", partyb); + context.setVariable("partyBAddress", partybAddress); context.setVariable("phone", saleContract.getPhone()); context.setVariable("fax", saleContract.getFax()); context.setVariable("clerk", saleContract.getClerk()); @@ -390,7 +415,10 @@ public class SaleOrderServiceImpl implements SaleOrderService { String code = productInfo.getCode(); String name = productInfo.getName(); String details = productInfo.getDetails(); - + Double specSizeHeight = productInfo.getSpecSizeHeight(); + Double specSizeWidth = productInfo.getSpecSizeWidth(); + Double specSizeThk = productInfo.getSpecSizeThk(); + String spec = specSizeHeight.doubleValue() + " * " + specSizeWidth + " " + specSizeThk; int j = i+1; context.setVariable("item"+j, j+""); context.setVariable("explain"+j, code); @@ -401,7 +429,7 @@ public class SaleOrderServiceImpl implements SaleOrderService { context.setVariable("deliverydate"+j, DateUtil.date(saleContractEntryDO.getDeliveryDate()).toDateStr()); context.setVariable("explain"+j+"1", name); context.setVariable("explain"+j+"2", details); - context.setVariable("explain"+j+"3", ""); + context.setVariable("explain"+j+"3", spec); } return templateEngine.process("pdf_template", context); } @@ -741,12 +769,11 @@ public class SaleOrderServiceImpl implements SaleOrderService { saveReqVO.setCustomerName(customer.getName()); saveReqVO.setCustomerBuyNo(saleOrder.getBillno()); saveReqVO.setBizdate(saleOrder.getBizdate()); - saveReqVO.setPartyA("XXXXXXXXXXXXXXXXX"); - saveReqVO.setPartyB(customer.getCompany()); + saveReqVO.setPartyA(customer.getCompany()); saveReqVO.setHead(customer.getGdperson()); saveReqVO.setClerk(customer.getSaleperson()); saveReqVO.setPhone(customer.getPhone()); - saveReqVO.setFax(null); + saveReqVO.setFax(saleOrder.getFax()); saveReqVO.setAmount(saleOrder.getOrderAmount()); saveReqVO.setAddress(saleOrder.getDeliveryAddress()); diff --git a/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/mail/MailSendServiceImpl.java b/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/mail/MailSendServiceImpl.java index bf1a53c..bb0617f 100644 --- a/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/mail/MailSendServiceImpl.java +++ b/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/mail/MailSendServiceImpl.java @@ -14,11 +14,15 @@ import cn.hangtag.module.system.service.member.MemberService; import cn.hangtag.module.system.service.user.AdminUserService; import com.google.common.annotations.VisibleForTesting; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; import java.util.Map; import static cn.hangtag.framework.common.exception.util.ServiceExceptionUtil.exception; @@ -108,8 +112,19 @@ public class MailSendServiceImpl implements MailSendService { MailAccount mailAccount = buildMailAccount(account, message.getNickname()); // 2. 发送邮件 try { - String messageId = MailUtil.send(mailAccount, message.getMail(), - message.getTitle(), message.getContent(), true,files); + String messageId = null; + List mails = new ArrayList<>(); + String mail = message.getMail(); + if(StringUtils.isNotBlank(mail) && mail.contains(";")){ + mails = Arrays.asList(mail.split(";")); + } + if(mails!=null && mails.size()>0){ + messageId = MailUtil.send(mailAccount, mails, + message.getTitle(), message.getContent(), true,files); + }else { + messageId = MailUtil.send(mailAccount, message.getMail(), + message.getTitle(), message.getContent(), true,files); + } // 3. 更新结果(成功) mailLogService.updateMailSendResult(message.getLogId(), messageId, null); } catch (Exception e) {