From 41013f34c419a8d6e3b1645069afcfa6f37959cc Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Wed, 18 Sep 2024 13:36:01 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E6=88=90=E8=AF=81=E4=B9=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/controller/ClassController.java | 24 +-- .../controller/UserCertificateController.java | 6 +- .../service/UserCertificateService.java | 2 +- .../impl/UserCertificateServiceImpl.java | 172 +++++++++--------- 4 files changed, 108 insertions(+), 96 deletions(-) diff --git a/src/main/java/com/peanut/modules/common/controller/ClassController.java b/src/main/java/com/peanut/modules/common/controller/ClassController.java index cfd27589..c40f44c2 100644 --- a/src/main/java/com/peanut/modules/common/controller/ClassController.java +++ b/src/main/java/com/peanut/modules/common/controller/ClassController.java @@ -411,8 +411,8 @@ public class ClassController { String endYear = DateUtil.year(classExamUser.getEndTime())+""; String endMonth = DateUtil.month(classExamUser.getEndTime())+1+""; String endDay = DateUtil.dayOfMonth(classExamUser.getEndTime())+""; - String description = endYear+"年"+endMonth+"月"+endDay+"日自考通过太湖学堂"+courseEntity.getTitle()+"课程考试,确认合格。"; - String edes = "has past the online-examination study of "+courseEntity.getEtitle()+" Courses in Tai Hu Education online."; + String[] description= {endYear,endMonth,endDay,courseEntity.getTitle()}; + String[] edes = {courseEntity.getEtitle()}; String url = userCertificateService.generateCertificate(type,certificateNo,photoUrl,realName, description, edes, endYear,endMonth,endDay); userCertificate.setCertificateNo(certificateNo); userCertificate.setCertificateUrl(url); @@ -433,10 +433,10 @@ public class ClassController { userCertificate.setCertificateNo(certificateNo); double keshiTotal = (double)map.get("keshi"); String keshi = (keshiTotal+"").replace(".0",""); - String description = "自"+startYear+"年"+startMonth+"月"+startDay+"日至"+endYear+"年"+endMonth+"月"+endDay+"日" + - "在太湖学堂"+classEntity.getTitle()+"学习,修完"+map.get("courseTitle")+"课程,共计"+keshi+"学时,确认合格。"; - String edes = "Has satisfactorily completed an online courseTCM on "+map.get("courseETitle")+" with "+keshi+" course hours intotal, and has been recongnized eligibility without assessment."; - String url = userCertificateService.generateCertificate(type,certificateNo,photoUrl,realName, description, edes, endYear,endMonth,endDay); + String[] des = {startYear,startMonth,startDay,endYear,endMonth,endDay, + classEntity.getTitle(),map.get("courseTitle").toString(),keshi}; + String[] edes = {map.get("courseETitle").toString(),keshi}; + String url = userCertificateService.generateCertificate(type,certificateNo,photoUrl,realName,des, edes, endYear,endMonth,endDay); userCertificate.setTitle(classEntity.getTitle()); userCertificate.setCertificateUrl(url); userCertificate.setClassId(classEntity.getId()); @@ -464,19 +464,19 @@ public class ClassController { String certificateNo = u0.getCertificateNo(); int no = Integer.parseInt(certificateNo.substring(certificateNo.indexOf("1")+1,certificateNo.indexOf("1")+7))+1; if ("A".equals(type)){ - res = "NO.A1"+String.format("%06d", no); + res = "NO."+String.format("%06d", no); }else if ("B".equals(type)){ - res = "NO.B1"+String.format("%06d", no); + res = "NO."+String.format("%06d", no); }else if ("ZK".equals(type)){ - res = "NO.ZK1"+String.format("%06d", no); + res = "NO.ZK"+String.format("%06d", no); } }else { if ("A".equals(type)){ - res = "NO.A1000001"; + res = "NO.000001"; }else if ("B".equals(type)){ - res = "NO.B1000001"; + res = "NO.000001"; }else if ("ZK".equals(type)){ - res = "NO.ZK1000001"; + res = "NO.ZK000001"; } } return res+courseNamePinyin; diff --git a/src/main/java/com/peanut/modules/common/controller/UserCertificateController.java b/src/main/java/com/peanut/modules/common/controller/UserCertificateController.java index d9346e28..9c189093 100644 --- a/src/main/java/com/peanut/modules/common/controller/UserCertificateController.java +++ b/src/main/java/com/peanut/modules/common/controller/UserCertificateController.java @@ -58,11 +58,13 @@ public class UserCertificateController { String iconUrl = params.get("iconUrl").toString(); String realName = params.get("realName").toString(); String description = params.get("description").toString(); - String edes = params.get("edes").toString(); + String edescription = params.get("edes").toString(); String endYear = params.get("endYear").toString(); String endMonth = params.get("endMonth").toString(); String endDay = params.get("endDay").toString(); - String url = userCertificateService.generateCertificate(type,certificateNo,iconUrl,realName, description, edes, endYear,endMonth,endDay); + String[] des = description.split(","); + String[] edes = edescription.split(","); + String url = userCertificateService.generateCertificate(type,certificateNo,iconUrl,realName, des, edes, endYear,endMonth,endDay); return R.ok().put("url",url); } diff --git a/src/main/java/com/peanut/modules/common/service/UserCertificateService.java b/src/main/java/com/peanut/modules/common/service/UserCertificateService.java index 2819dfff..f1bc1584 100644 --- a/src/main/java/com/peanut/modules/common/service/UserCertificateService.java +++ b/src/main/java/com/peanut/modules/common/service/UserCertificateService.java @@ -6,6 +6,6 @@ import com.peanut.modules.common.entity.UserCertificate; public interface UserCertificateService extends IService { - String generateCertificate(String type,String no,String iconUrl,String name,String des,String edes,String endy,String endm,String endd); + String generateCertificate(String type,String no,String iconUrl,String name,String[] des,String[] edes,String endy,String endm,String endd); } diff --git a/src/main/java/com/peanut/modules/common/service/impl/UserCertificateServiceImpl.java b/src/main/java/com/peanut/modules/common/service/impl/UserCertificateServiceImpl.java index 68e0a665..4513f760 100644 --- a/src/main/java/com/peanut/modules/common/service/impl/UserCertificateServiceImpl.java +++ b/src/main/java/com/peanut/modules/common/service/impl/UserCertificateServiceImpl.java @@ -23,15 +23,8 @@ import java.util.UUID; @Service("commonUserCertificateService") public class UserCertificateServiceImpl extends ServiceImpl implements UserCertificateService { - - public static void main(String[] args) { - - System.out.println(" "); - } - - @Override - public String generateCertificate(String type,String certificateNo,String iconUrl,String realName,String des,String edes, + public String generateCertificate(String type,String certificateNo,String iconUrl,String realName,String[] des,String[] edes, String endYear,String endMonth,String endDay) { String url = ""; if ("A".equals(type)){ @@ -41,14 +34,11 @@ public class UserCertificateServiceImpl extends ServiceImpl650){ - alreadyWriteLine++; - int writeY = 850 + alreadyWriteLine * (dess.getHeight()+10);//10是行间距 - g.drawString(des.charAt(i) + "", 180, writeY); - nowWidth = 0; - space = false; - nowWidth += oneWordWidth; - }else { - int writeY = 850 + alreadyWriteLine * (dess.getHeight()+10);//10是行间距 - if (nowWidth==0&&space){//换行画 - g.drawString(des.charAt(i)+"", 180+oneWordWidth, writeY); - nowWidth += oneWordWidth*2; - }else {//一字一字画 - g.drawString(des.charAt(i)+"", 180+nowWidth, writeY); - nowWidth += oneWordWidth; + int desTotalWidth = 50; //目前一行的长度 + for (int j = 0; j < 4; j++) {//可画字区域宽650,x 180,y 820高开始+10行间距 + for (int k=0;k650){ + alreadyWriteLine++; + desTotalWidth = oneWordWidth; } + g.setFont(new Font("黑体", Font.BOLD, 30)); + g.drawString(des[j].charAt(k)+"",180+desTotalWidth-oneWordWidth,820+alreadyWriteLine*(dess.getHeight()+10)); + } + for (int k=0;k650){ + alreadyWriteLine++; + desTotalWidth = oneWordWidth; + } + g.setFont(new Font("宋体", Font.PLAIN, 30)); + g.drawString(str[j].charAt(k)+"",180+desTotalWidth-oneWordWidth,820+alreadyWriteLine*(dess.getHeight()+10)); } } + g.setColor(new Color(0,75,63)); g.setFont(new Font("黑体", Font.BOLD, 28)); g.drawString(endy,595,1123); @@ -123,7 +115,7 @@ public class UserCertificateServiceImpl extends ServiceImpl650){ - alreadyWriteLine++; - int writeY = 850 + alreadyWriteLine * (dess.getHeight()+10);//10是行间距 - g.drawString(des.charAt(i) + "", 180, writeY); - nowWidth = 0; - space = false; - nowWidth += oneWordWidth; - }else { - int writeY = 850 + alreadyWriteLine * (dess.getHeight()+10);//10是行间距 - if (nowWidth==0&&space){//换行画 - g.drawString(des.charAt(i)+"", 180+oneWordWidth, writeY); - nowWidth += oneWordWidth*2; - }else {//一字一字画 - g.drawString(des.charAt(i)+"", 180+nowWidth, writeY); - nowWidth += oneWordWidth; + int desTotalWidth = 50; //目前一行的长度 + for (int j = 0; j < 10; j++) {//可画字区域宽650,x 180,y 820高开始+10行间距 + for (int k=0;k650){ + alreadyWriteLine++; + desTotalWidth = oneWordWidth; + } + g.setFont(new Font("宋体", Font.PLAIN, 30)); + g.drawString(str[j].charAt(k)+"",180+desTotalWidth-oneWordWidth,820+alreadyWriteLine*(dess.getHeight()+10)); + } + if (j<=des.length){ + for (int k=0;k650){ + alreadyWriteLine++; + desTotalWidth = oneWordWidth; + } + g.setFont(new Font("黑体", Font.BOLD, 30)); + g.drawString(des[j].charAt(k)+"",180+desTotalWidth-oneWordWidth,820+alreadyWriteLine*(dess.getHeight()+10)); } } } + g.setFont(new Font("黑体", Font.BOLD, 28)); g.drawString(endy,600,1158); g.drawString(endm,695,1158); @@ -196,7 +193,7 @@ public class UserCertificateServiceImpl extends ServiceImpl650){ - alreadyWriteLine++; - int writeY = 865 + alreadyWriteLine * (dess.getHeight()+10);//10是行间距 - g.drawString(des.charAt(i) + "", 180, writeY); - nowWidth = 0; - space = false; - nowWidth += oneWordWidth; - }else { - int writeY = 865 + alreadyWriteLine * (dess.getHeight()+10);//10是行间距 - if (nowWidth==0&&space){//换行画 - g.drawString(des.charAt(i)+"", 180+oneWordWidth, writeY); - nowWidth += oneWordWidth*2; - }else {//一字一字画 - g.drawString(des.charAt(i)+"", 180+nowWidth, writeY); - nowWidth += oneWordWidth; + int desTotalWidth = 50; //目前一行的长度 + for (int j = 0; j < 10; j++) {//可画字区域宽650,x 180,y 820高开始+10行间距 + for (int k=0;k650){ + alreadyWriteLine++; + desTotalWidth = oneWordWidth; + } + g.setFont(new Font("宋体", Font.PLAIN, 32)); + g.drawString(str[j].charAt(k)+"",180+desTotalWidth-oneWordWidth,860+alreadyWriteLine*(dess.getHeight()+20)); + } + if (j650){ + alreadyWriteLine++; + desTotalWidth = oneWordWidth; + } + g.setFont(new Font("黑体", Font.BOLD, 32)); + g.drawString(des[j].charAt(k)+"",180+desTotalWidth-oneWordWidth,860+alreadyWriteLine*(dess.getHeight()+20)); } } } @@ -270,7 +272,7 @@ public class UserCertificateServiceImpl extends ServiceImpl700){//换行画 @@ -343,11 +351,13 @@ public class UserCertificateServiceImpl extends ServiceImpl