From fbfab7612dcdf2c8c998a4a3e76942310012e56b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= <18222067976@163.com> Date: Tue, 14 Sep 2021 14:15:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=93=E5=8C=85=E7=AE=A1=E7=90=86=E5=AE=8C?= =?UTF-8?q?=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jero/common/util/HuaWeiSmsUtil.java | 7 +++ .../common/PayIncomeContractCommon.java | 17 ++++++ ...yIncomeContractInstallmentServiceImpl.java | 17 +++++- ...pendingContractInstallmentServiceImpl.java | 16 +++++ .../jero/mail/entity/PayMailBillProject.java | 11 ++++ .../controller/PayPackCompanyController.java | 19 ++++++ .../PayPackCompanyProjectController.java | 2 +- .../com/jero/pack/entity/PayPackCompany.java | 10 +++- .../pack/mapper/xml/PayPackCompanyMapper.xml | 58 +------------------ 9 files changed, 95 insertions(+), 62 deletions(-) diff --git a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/HuaWeiSmsUtil.java b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/HuaWeiSmsUtil.java index 9b387a03..1d818ba8 100644 --- a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/HuaWeiSmsUtil.java +++ b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/HuaWeiSmsUtil.java @@ -120,6 +120,13 @@ public class HuaWeiSmsUtil { templateId = "077964a02a814149bb01900e43c9a04e"; codeTime = "0"; break; + case "5": + //中汽标协-合同分期到期通知提醒 + sender = "8821062807762"; + signature = "中汽标协"; + templateId = "077964a02a814149bb01900e43c9a04e"; + codeTime = "0"; + break; default: throw new JeroBootException("codeType flase."); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/common/PayIncomeContractCommon.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/common/PayIncomeContractCommon.java index 715f2fff..067dc408 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/common/PayIncomeContractCommon.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/common/PayIncomeContractCommon.java @@ -1,5 +1,8 @@ package com.jero.contract.common; +import cn.hutool.crypto.asymmetric.KeyType; +import cn.hutool.crypto.asymmetric.RSA; + import java.util.Arrays; import java.util.List; @@ -92,4 +95,18 @@ public class PayIncomeContractCommon { */ public final static Integer COME2 = 2; + public static void main(String[] args) { + + } + /** + * RSA 使用公钥加密token + * @param RSAPublicKey 公钥 + * @return String 加密后的字符串 + */ + public static String encryptByRsaPriKey(String token,String RSAPublicKey) { + RSA rsa = new RSA(null, RSAPublicKey); + byte[] encrypt = rsa.encrypt(token, KeyType.PublicKey); + return new String(encrypt); + } + } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractInstallmentServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractInstallmentServiceImpl.java index 35febb9b..25ef02e2 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractInstallmentServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractInstallmentServiceImpl.java @@ -1,10 +1,14 @@ package com.jero.contract.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.common.util.HuaWeiSmsUtil; +import com.jero.common.util.PasswordUtil; import com.jero.contract.entity.PayIncomeContractInstallment; import com.jero.contract.mapper.PayIncomeContractInstallmentMapper; import com.jero.contract.service.IPayIncomeContractInstallmentService; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -20,12 +24,19 @@ import java.util.List; public class PayIncomeContractInstallmentServiceImpl extends ServiceImpl implements IPayIncomeContractInstallmentService { @Resource private PayIncomeContractInstallmentMapper payIncomeContractInstallmentMapper; + @Autowired + private HuaWeiSmsUtil huaWeiSmsUtil; @Override public void sendSMSIncomeContract() { List list = payIncomeContractInstallmentMapper.getIncomeContract(); - if(!CollectionUtils.isEmpty(list)){ - // todo 发送短信 - } + list.forEach(p->{ + if(!StringUtils.isBlank(p.getPhone())){ + String phone = PasswordUtil.decrypt(p.getPhone()); + String msg = "中汽数据中心提醒您,贵公司与中汽数据签订的" + p.getContractName() + "合同" + p.getPhaseName() + + "期款项时间即将到达,汇款金额" + p.getAccountsReceivableAmount() + "元,请及时汇款,如已经汇款,请忽略此条通知。谢谢合作"; + // huaWeiSmsUtil.sendVerificationCode(phone,"5","60",msg); + } + }); } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PaySpendingContractInstallmentServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PaySpendingContractInstallmentServiceImpl.java index b03541cf..606e6af7 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PaySpendingContractInstallmentServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PaySpendingContractInstallmentServiceImpl.java @@ -1,10 +1,14 @@ package com.jero.contract.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.common.util.HuaWeiSmsUtil; +import com.jero.common.util.PasswordUtil; import com.jero.contract.entity.PaySpendingContractInstallment; import com.jero.contract.mapper.PaySpendingContractInstallmentMapper; import com.jero.contract.service.IPaySpendingContractInstallmentService; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -19,6 +23,9 @@ import java.util.List; @Service public class PaySpendingContractInstallmentServiceImpl extends ServiceImpl implements IPaySpendingContractInstallmentService { + @Autowired + private HuaWeiSmsUtil huaWeiSmsUtil; + @Resource private PaySpendingContractInstallmentMapper paySpendingContractInstallmentMapper; @Override @@ -26,6 +33,15 @@ public class PaySpendingContractInstallmentServiceImpl extends ServiceImpl list = paySpendingContractInstallmentMapper.getSpendingContract(); if(!CollectionUtils.isEmpty(list)){ // todo 发短信 + list.forEach(p->{ + if(!StringUtils.isBlank(p.getPhone())){ + String phone = PasswordUtil.decrypt(p.getPhone()); + String msg = "中汽数据中心提醒您,贵公司与中汽数据签订的" + p.getContractName() + "合同" + p.getPhaseName() + + "期款项时间即将到达,汇款金额" + p.getAccountsReceivableAmount() + "元,请及时汇款,如已经汇款,请忽略此条通知。谢谢合作"; + // huaWeiSmsUtil.sendVerificationCode(phone,"5","60",msg); + } + }); + } } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mail/entity/PayMailBillProject.java b/jero-boot-incoming-payment/src/main/java/com/jero/mail/entity/PayMailBillProject.java index a26d0f5e..e9127dc1 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/mail/entity/PayMailBillProject.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mail/entity/PayMailBillProject.java @@ -1,9 +1,12 @@ package com.jero.mail.entity; import java.io.Serializable; +import java.math.BigDecimal; + import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import org.jeecgframework.poi.excel.annotation.Excel; import io.swagger.annotations.ApiModel; @@ -11,6 +14,8 @@ import io.swagger.annotations.ApiModelProperty; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; +import javax.validation.constraints.DecimalMax; + /** * @Description: pay_mail_bill_project * @Author: jeecg-boot @@ -41,4 +46,10 @@ public class PayMailBillProject implements Serializable { @Excel(name = "项目类型", width = 15) @ApiModelProperty(value = "项目类型") private java.lang.Integer projectType; + /**开票金额*/ + @Excel(name = "开票金额", width = 15) + @ApiModelProperty(value = "开票金额") + @DecimalMax(value = "9999999999.99",message = "开票金额格式错误") + @JsonFormat(shape = JsonFormat.Shape.STRING) + private BigDecimal invoiceAmount; } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyController.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyController.java index 98b902d2..ee4dc484 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyController.java @@ -19,6 +19,8 @@ import com.jero.common.util.PasswordUtil; import com.jero.common.util.ValidUtil; import com.jero.company.entity.PayContactsManagement; import com.jero.company.service.IPayContactsManagementService; +import com.jero.mail.entity.PayMailBillProject; +import com.jero.mail.service.IPayMailBillProjectService; import com.jero.pack.entity.PayPackCompany; import com.jero.pack.entity.PayPackCompanyProject; import com.jero.pack.service.IPayPackCompanyProjectService; @@ -53,6 +55,8 @@ public class PayPackCompanyController extends JeroController queryPayMailBillProject = new LambdaQueryWrapper<>(); + queryPayMailBillProject.eq(PayMailBillProject::getBillId,id); + List listPayMailBillProject = payMailBillProjectService.list(queryPayMailBillProject); + if(!CollectionUtils.isEmpty(listPayMailBillProject)){ + BigDecimal d = listPayMailBillProject.stream().map(PayMailBillProject::getInvoiceAmount).reduce(BigDecimal.ZERO,BigDecimal::add); + payPackCompany.setInvoiceAmount(d); + payPackCompany.setUninvoicedAmount(payPackCompany.getReceiptExpense().subtract(d)); + }else{ + payPackCompany.setInvoiceAmount(new BigDecimal("0.00")); + payPackCompany.setUninvoicedAmount(payPackCompany.getReceiptExpense()); + } + return Result.OK(payPackCompany); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyProjectController.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyProjectController.java index fefed1f0..0c10e127 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyProjectController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyProjectController.java @@ -102,7 +102,7 @@ public class PayPackCompanyProjectController extends JeroController \ No newline at end of file