Browse Source

// add bank

release_toaliyun_real
xhxu 3 years ago
parent
commit
5d71102d06
3 changed files with 146 additions and 2 deletions
  1. +132
    -0
      mallinkBApi/src/main/java/com/iformall/utils/ImgYwsqhUtil.java
  2. BIN
      mallinkBApi/src/main/resources/imgTemp/wxjjywsqh.jpg
  3. +14
    -2
      mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingReceiverApplyServiceImpl.java

+ 132
- 0
mallinkBApi/src/main/java/com/iformall/utils/ImgYwsqhUtil.java View File

@@ -0,0 +1,132 @@
package com.iformall.utils;

import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.ResourceUtils;

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.InputStream;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Locale;

public class ImgYwsqhUtil {

private static final Logger logger = LoggerFactory.getLogger(ImgYwsqhUtil.class);

//模板图片
private static final String imgTempPath = "imgTemp/wxjjywsqh.jpg";

/**
* 生成图片证书
* @return
*/
public static byte[] imgCeate(String contact_name,String contact_id_number,String contact_department,String contact_job,
String legal_person,String id_card_number,String card_period_begin,String card_period_end,
boolean isSeal,String merchant_name){
if(StringUtils.isBlank(contact_name)){
logger.error("名字为空,无法生成证书");
return null;
}
if(contact_name.length() == 2){
contact_name = contact_name.replaceAll("(\\S)", "$0 ");
}

try {

InputStream backImgUrl = ClassLoader.getSystemResourceAsStream(imgTempPath);
// InputStream backImgUrl = ImgYwsqhUtil.class.getClassLoader().getResourceAsStream(imgTempPath);

BufferedImage backImg = ImageIO.read(backImgUrl);
Graphics g = backImg.getGraphics();

Font fTxtBottom = new Font("微软雅黑", Font.PLAIN, 70);
Color myColorTxtBottom = Color.BLACK;

g.setFont(fTxtBottom);
g.setColor(myColorTxtBottom);

FontMetrics metrics = g.getFontMetrics(fTxtBottom);

//图片加中文名
int xName = 2955 - metrics.stringWidth(contact_name)/2 ;
g.drawString(contact_name, xName , 1282);//g.drawString(文字, x 位置, y 位置);

//图片加身份证号
if(StringUtils.isNotBlank(contact_id_number)){
int xNumber = 1200 - metrics.stringWidth(contact_id_number) / 2;
g.drawString(contact_id_number, xNumber, 1500);
}
//图片加部门
if(StringUtils.isNotBlank(contact_department)){
int xDepartment = 2340 - metrics.stringWidth(contact_department) / 2;
g.drawString(contact_department, xDepartment, 1500);
}
//图片加职务
if(StringUtils.isNotBlank(contact_job)){
int xJob = 3100 - metrics.stringWidth(contact_job) / 2;
g.drawString(contact_job, xJob, 1500);
}
//图片加法人姓名
if(StringUtils.isNotBlank(legal_person)){
g.drawString(legal_person, 1250, 2590);
}
//图片加法人身份证号
if(StringUtils.isNotBlank(id_card_number)){
g.drawString(id_card_number, 1100, 2800);
}
//图片加有效期
if(StringUtils.isNotBlank(card_period_begin) && StringUtils.isNotBlank(card_period_end)){
String card_begin_end = card_period_begin + " 至 " + card_period_end;
g.drawString(card_begin_end, 1190, 3020);
}
//图片加商户/单位名称merchant_name
if(StringUtils.isNotBlank(merchant_name)){
g.drawString(merchant_name, 2400, 4540);
}

//无公章
if(!isSeal){
Color sealColor = Color.LIGHT_GRAY;
g.setColor(sealColor);
int xSeal = 2400;
g.drawString("无公章", xSeal, 4320);
}

//调这个方法就是开始这个整合 (可以多张图片,多个文字整合成一张图片,只有把他们放在这方法里面就行)
g.dispose();

ByteArrayOutputStream out = new ByteArrayOutputStream();
ImageIO.write(backImg, "png", out);

return out.toByteArray();
} catch (Exception e) {
e.printStackTrace();
logger.error("生成证书异常", e.getMessage());
}
return null;
}

// public static void main(String[] args) {
// String serverUploadImgUrl = "C:/Users/xiaohu/Desktop/img"; // 图片保存路径
// try {
// byte[] bytes = imgCeate("周淼淼","421302199908081234","商务发展部","商务经理",
// "周淼淼","421302199908081234","2020-08-08","长期",
// false,"武汉富茂链客科技有限公司");
// ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
// BufferedImage bi1 =ImageIO.read(bais);
//
// ImageIO.write(bi1, "png", new File(serverUploadImgUrl+"/0.png"));
//
// } catch (Exception e) {
// e.printStackTrace();
// }
// System.out.println("结束");
// }
}

BIN
mallinkBApi/src/main/resources/imgTemp/wxjjywsqh.jpg View File

Before After
Width: 4134  |  Height: 5846  |  Size: 681 KiB

+ 14
- 2
mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingReceiverApplyServiceImpl.java View File

@@ -920,6 +920,15 @@ public class WxProfitSharingReceiverApplyServiceImpl implements WxProfitSharingR
logger.info("未填写开户银行");
return false;
}
boolean need_bank_branch = accountInfoObject.getBooleanValue("need_bank_branch");
if(need_bank_branch){
String bank_branch_id = accountInfoObject.getString("bank_branch_id");
String bank_name = accountInfoObject.getString("bank_name");
if(StringUtils.isBlank(bank_branch_id) && StringUtils.isBlank(bank_name)){
logger.info("未填写开户银行支行");
return false;
}
}

String bank_address_code = accountInfoObject.getString("bank_address_code");
if(StringUtils.isBlank(bank_address_code)){
@@ -1292,9 +1301,12 @@ public class WxProfitSharingReceiverApplyServiceImpl implements WxProfitSharingR
bankAccountInfo.setBankAccountType(enumAccountType.getBankAccountTypeEnum());
bankAccountInfo.setAccountName(accountInfoObject.getString("account_name"));
bankAccountInfo.setAccountBank(accountInfoObject.getString("account_bank"));
boolean need_bank_branch = accountInfoObject.getBooleanValue("need_bank_branch");
if(need_bank_branch){
bankAccountInfo.setBankBranchId(accountInfoObject.getString("bank_branch_id"));
bankAccountInfo.setBankName(accountInfoObject.getString("bank_name"));
}
bankAccountInfo.setBankAddressCode(accountInfoObject.getString("bank_address_code"));
bankAccountInfo.setBankBranchId(accountInfoObject.getString("bank_branch_id"));
bankAccountInfo.setBankName(accountInfoObject.getString("bank_name"));
bankAccountInfo.setAccountNumber(accountInfoObject.getString("account_number"));
//todo 1. 当主体类型是“政府机关/事业单位”时或所属行业为“党费”时,支持在有合法资金管理关系的情况下结算账户设置为非同名。
//todo 2. 若结算账户设置为非同名,则需填写非同名证明材料,若结算账户为同名,则无需填写。


Loading…
Cancel
Save