add 推送开票邮寄数据到会员系统
This commit is contained in:
+21
@@ -100,4 +100,25 @@ public class AuthenticationUtils {
|
||||
throw new JeroBootException("数据同步失败!");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 调用会员系统post接口
|
||||
* @param methodName
|
||||
* @param requestParam
|
||||
* @param requestBody
|
||||
*/
|
||||
public static void postStandards(String methodName,String requestParam,Object requestBody) {
|
||||
Map<String, String> stringStringMap = encryptByRsaPriKey();
|
||||
String publicKey = stringStringMap.get("publicKey");
|
||||
String token = stringStringMap.get("token");
|
||||
String jsonString = JSONObject.toJSONString(requestBody);
|
||||
//拼接url路径
|
||||
StringBuilder urlBuilder = new StringBuilder(AuthenticationUtils.URL);
|
||||
urlBuilder.append(methodName).append("?publicKey=").append(publicKey).append("&pushToken=").append(token);
|
||||
if (StrUtil.isNotBlank(requestParam)){
|
||||
urlBuilder.append(requestParam);
|
||||
}
|
||||
String post = HttpUtil.post(urlBuilder.toString(), jsonString);
|
||||
checkResult(post);
|
||||
}
|
||||
}
|
||||
|
||||
-43
@@ -1,43 +0,0 @@
|
||||
package com.jero.common.util;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.beans.BeansException;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.ApplicationContextAware;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* Spring 上下文工具类
|
||||
* @author liJiaRao
|
||||
* @date 2021-09-16 15:05
|
||||
*/
|
||||
@Component
|
||||
public class SpringContextUtil implements ApplicationContextAware {
|
||||
private static ApplicationContext applicationContext;
|
||||
|
||||
@Override
|
||||
public void setApplicationContext(@NotNull ApplicationContext applicationContext) throws BeansException {
|
||||
SpringContextUtil.applicationContext = applicationContext;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取上下文
|
||||
*/
|
||||
public static ApplicationContext getApplicationContext() {
|
||||
return applicationContext;
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过 bena 名称获取上下文中的 bean
|
||||
*/
|
||||
public static Object getBean(String name) {
|
||||
return applicationContext.getBean(name);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过类型获取上下文中的bean
|
||||
*/
|
||||
public static Object getBean(Class<?> requiredType) {
|
||||
return applicationContext.getBean(requiredType);
|
||||
}
|
||||
}
|
||||
+2
-3
@@ -1,9 +1,8 @@
|
||||
package com.jero.config.shiro.filters;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.jero.common.system.util.JwtUtil;
|
||||
import com.jero.common.util.AuthenticationUtils;
|
||||
import com.jero.common.util.SpringContextUtil;
|
||||
import com.jero.common.util.SpringContextUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.shiro.authc.AuthenticationException;
|
||||
import org.apache.shiro.web.filter.authc.BasicHttpAuthenticationFilter;
|
||||
@@ -69,7 +68,7 @@ public class JwtFilter extends BasicHttpAuthenticationFilter {
|
||||
if (StrUtil.isNotBlank(pushToken)){
|
||||
String publicKey = httpServletRequest.getParameter("publicKey");
|
||||
if (authenticationUtils ==null ){
|
||||
authenticationUtils = (AuthenticationUtils) SpringContextUtil.getBean("authenticationUtils");
|
||||
authenticationUtils = (AuthenticationUtils) SpringContextUtils.getBean("authenticationUtils");
|
||||
}
|
||||
authenticationUtils.check(pushToken,publicKey);
|
||||
}else {
|
||||
|
||||
+1
@@ -265,6 +265,7 @@ public class PayMailBillController extends JeroController<PayMailBill, IPayMailB
|
||||
tbMemberProjectSubitem.setMail(2);
|
||||
tbMemberProjectSubitemService.updateById(tbMemberProjectSubitem);
|
||||
}
|
||||
payMailBillService.pushSendToStandards(payMailBill,one.getProjectId());
|
||||
}
|
||||
return Result.OK("编辑成功!");
|
||||
}
|
||||
|
||||
@@ -0,0 +1,107 @@
|
||||
package com.jero.mail.entity;
|
||||
|
||||
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 com.jero.common.aspect.annotation.Dict;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @Description: 开票信息表
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2021-01-07
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("tb_billing_info")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value="tb_billing_info对象", description="开票信息表")
|
||||
public class BillingInfo implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**主键*/
|
||||
@ApiModelProperty(value = "主键")
|
||||
private String id;
|
||||
/**创建人*/
|
||||
@ApiModelProperty(value = "创建人")
|
||||
private String createBy;
|
||||
/**创建日期*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "创建日期")
|
||||
private java.util.Date createTime;
|
||||
/**更新人*/
|
||||
@ApiModelProperty(value = "更新人")
|
||||
private String updateBy;
|
||||
/**更新日期*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "更新日期")
|
||||
private java.util.Date updateTime;
|
||||
/**所属部门*/
|
||||
@ApiModelProperty(value = "所属部门")
|
||||
private String sysOrgCode;
|
||||
/**单位全称*/
|
||||
@ApiModelProperty(value = "单位全称")
|
||||
private String companyName;
|
||||
/**邮寄方式*/
|
||||
@ApiModelProperty(value = "邮寄方式")
|
||||
private Integer sendMethod;
|
||||
/**邮寄单号*/
|
||||
@ApiModelProperty(value = "邮寄单号")
|
||||
private String postNo;
|
||||
/**联系人*/
|
||||
@ApiModelProperty(value = "联系人")
|
||||
private String liaisonMan;
|
||||
/**联系人手机号*/
|
||||
@ApiModelProperty(value = "联系人手机号")
|
||||
private String mobile;
|
||||
/**邮寄状态*/
|
||||
@ApiModelProperty(value = "邮寄状态")
|
||||
private Integer postStatus;
|
||||
/**开票类型*/
|
||||
@ApiModelProperty(value = "开票类型")
|
||||
private String billingType;
|
||||
/**订单号*/
|
||||
@ApiModelProperty(value = "订单号")
|
||||
private String billNumber;
|
||||
/**缴费时间*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "缴费时间")
|
||||
private java.util.Date paymentDate;
|
||||
/**邮寄日期*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "邮寄日期")
|
||||
private java.util.Date sendDate;
|
||||
/**发票金额*/
|
||||
@ApiModelProperty(value = "发票金额")
|
||||
private Double billMoney;
|
||||
/**发票号码*/
|
||||
@ApiModelProperty(value = "发票号码")
|
||||
private String billNo;
|
||||
/**通讯地址*/
|
||||
@ApiModelProperty(value = "通讯地址")
|
||||
private String address;
|
||||
/**邮编*/
|
||||
@ApiModelProperty(value = "邮编")
|
||||
private String postcode;
|
||||
/**缴费金额*/
|
||||
@ApiModelProperty(value = "缴费金额")
|
||||
private BigDecimal paymentAmount;
|
||||
/**会员id*/
|
||||
@ApiModelProperty(value = "会员id")
|
||||
private String memberId;
|
||||
}
|
||||
+1
-1
@@ -38,5 +38,5 @@ public interface IPayMailBillService extends IService<PayMailBill> {
|
||||
Result<?> addPayBill(PayMailBillVO payMailBill);
|
||||
|
||||
|
||||
|
||||
void pushSendToStandards(PayMailBill payMailBill, String id);
|
||||
}
|
||||
|
||||
+48
-12
@@ -15,6 +15,7 @@ import com.jero.common.util.AuthenticationUtils;
|
||||
import com.jero.common.util.oConvertUtils;
|
||||
import com.jero.contract.common.PayIncomeContractCommon;
|
||||
import com.jero.mail.PayMailBillVO;
|
||||
import com.jero.mail.entity.BillingInfo;
|
||||
import com.jero.mail.entity.PayMailBill;
|
||||
import com.jero.mail.entity.PayMailBillProject;
|
||||
import com.jero.mail.entity.PayMailBillSearch;
|
||||
@@ -116,22 +117,19 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
|
||||
|
||||
for (int i = 0; i < bmpList.size(); i++) {
|
||||
if (PayIncomeContractCommon.PROJECT_TYPE5.equals(String.valueOf(bmpList.get(i).getProjectType()))) {
|
||||
|
||||
PayMailBillProject payMailBillProject = bmpList.get(i);
|
||||
if (PayIncomeContractCommon.PROJECT_TYPE5.equals(String.valueOf(payMailBillProject.getProjectType()))) {
|
||||
String id = payMailBillProject.getProjectId();
|
||||
LambdaQueryWrapper<PayMailBillProject> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(PayMailBillProject::getProjectId, bmpList.get(i).getId());
|
||||
wrapper.eq(PayMailBillProject::getProjectId, id);
|
||||
wrapper.eq(PayMailBillProject::getProjectType, PayIncomeContractCommon.PROJECT_TYPE5);
|
||||
List<PayMailBillProject> type5List = payMailBillProjectService.list(wrapper);
|
||||
|
||||
if (type5List != null && type5List.size() > 0) {
|
||||
throw new JeroBootException("标协会员项目,只能开票一次。");
|
||||
}
|
||||
Map<String, String> stringStringMap = AuthenticationUtils.encryptByRsaPriKey();
|
||||
String publicKey = stringStringMap.get("publicKey");
|
||||
String token = stringStringMap.get("token");
|
||||
String jsonString1 = JSONObject.toJSONString(payMailBill);
|
||||
String post = HttpUtil.post(AuthenticationUtils.URL + "/stablecrosstraining/stableCrossTraining/addStandardsFile?publicKey=" + publicKey + "&token=" + token, jsonString1);
|
||||
AuthenticationUtils.checkResult(post);
|
||||
//推送开票数据到会员系统
|
||||
pushBillToStandards(payMailBill, id);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -163,6 +161,44 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
return Result.OK("添加成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 推送开票数据到会员系统
|
||||
* @param payMailBill
|
||||
* @param id
|
||||
*/
|
||||
private void pushBillToStandards(PayMailBillVO payMailBill, String id) {
|
||||
TbMemberProjectSubitem tbMemberProjectSubitem = tbMemberProjectSubitemMapper.selectById(id);
|
||||
BillingInfo billingInfo = new BillingInfo();
|
||||
billingInfo.setBillNumber(tbMemberProjectSubitem.getBillNumber());
|
||||
billingInfo.setMemberId(tbMemberProjectSubitem.getMemberId());
|
||||
billingInfo.setBillNo(payMailBill.getBillNo());
|
||||
//调用接口
|
||||
AuthenticationUtils.postStandards("/billingInfo/billingInfo/billFromPayment",null,billingInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 推送邮寄数据到会员系统
|
||||
* @param payMailBill
|
||||
* @param id
|
||||
*/
|
||||
@Override
|
||||
public void pushSendToStandards(PayMailBill payMailBill, String id) {
|
||||
TbMemberProjectSubitem tbMemberProjectSubitem = tbMemberProjectSubitemMapper.selectById(id);
|
||||
BillingInfo billingInfo = new BillingInfo();
|
||||
billingInfo.setBillNumber(tbMemberProjectSubitem.getBillNumber());
|
||||
billingInfo.setMemberId(tbMemberProjectSubitem.getMemberId());
|
||||
billingInfo.setBillNo(payMailBill.getBillNo());
|
||||
billingInfo.setSendMethod(payMailBill.getSendMethod());
|
||||
billingInfo.setSendDate(payMailBill.getSendDate());
|
||||
billingInfo.setPostNo(payMailBill.getPostNo());
|
||||
Map<String, String> stringStringMap = AuthenticationUtils.encryptByRsaPriKey();
|
||||
String publicKey = stringStringMap.get("publicKey");
|
||||
String token = stringStringMap.get("token");
|
||||
String jsonString1 = JSONObject.toJSONString(billingInfo);
|
||||
String post = HttpUtil.post(AuthenticationUtils.URL + "/billingInfo/billingInfo/postFromPayment?publicKey=" + publicKey + "&pushToken=" + token, jsonString1);
|
||||
AuthenticationUtils.checkResult(post);
|
||||
}
|
||||
|
||||
|
||||
//校验不同项目是否属于同一个公司
|
||||
private String checkCompanyProject(List<PayMailBillProject> bmpList) {
|
||||
@@ -171,7 +207,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
for (int i = 0; i < bmpList.size(); i++) {
|
||||
|
||||
//之前开票总额
|
||||
BigDecimal oldInvoiceAmount=new BigDecimal("0");
|
||||
BigDecimal oldInvoiceAmount = new BigDecimal("0");
|
||||
//之前开票总额+本次开票金额
|
||||
BigDecimal invoiceAmount=new BigDecimal("0");
|
||||
|
||||
@@ -259,7 +295,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
if (!standardCompanyId.equals(tbMemberProject.getCompanyId())) {
|
||||
return "打包开票只能是同一个企业";
|
||||
}
|
||||
oldInvoiceAmount = tbMemberProject.getInvoiceAmount();
|
||||
oldInvoiceAmount = tbMemberProject.getInvoiceAmount()==null? oldInvoiceAmount:tbMemberProject.getInvoiceAmount();
|
||||
//之前开票总额+本次开票金额
|
||||
invoiceAmount = oldInvoiceAmount.add(bmpList.get(i).getInvoiceAmount()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//开票总额>应收
|
||||
@@ -330,7 +366,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
TbMemberProjectSubitem tbMemberProject = tbMemberProjectSubitemMapper.selectById(payMailBillProject.getProjectId());
|
||||
amountReceivable = tbMemberProject.getAmountReceivable();//应收
|
||||
needInvoice = tbMemberProject.getInvoiceRequirements();//是否需要发票
|
||||
oldInvoiceAmount = tbMemberProject.getInvoiceAmount();
|
||||
oldInvoiceAmount = tbMemberProject.getInvoiceAmount()!=null?tbMemberProject.getInvoiceAmount():new BigDecimal("0");
|
||||
//之前开票总额+本次开票金额
|
||||
invoiceAmount = oldInvoiceAmount.add(invoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
break;
|
||||
|
||||
+8
@@ -182,6 +182,14 @@ public class TbMemberProjectSubitem implements Serializable {
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||
private BigDecimal invoiceAmount;
|
||||
|
||||
/**缴费单号*/
|
||||
@ApiModelProperty(value = "缴费单号")
|
||||
private String billNumber;
|
||||
|
||||
/**会员id*/
|
||||
@ApiModelProperty(value = "会员id")
|
||||
private String memberId;
|
||||
|
||||
public String convertisEmail(){
|
||||
return PasswordUtil.decrypt(email);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user