给指定用户生成制定课程的证书

This commit is contained in:
wyn
2026-06-05 15:44:53 +08:00
parent 5b77220ae5
commit 156862a0c5
4 changed files with 88 additions and 10 deletions

View File

@@ -1,5 +1,6 @@
package com.peanut.modules.master.controller;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
@@ -38,6 +39,10 @@ public class UserCertificateController {
private CourseMedicalService courseMedicalService;
@Autowired
private CourseToMedicalService courseToMedicalService;
@Autowired
private MyUserService userService;
@Autowired
private ClassEntityService classEntityService;
//小班自考证书列表
@RequestMapping("/userClassAndZKCertificateList")
@@ -278,6 +283,56 @@ public class UserCertificateController {
}
@RequestMapping("/createCertificateNo")
public R createCertificateNo(@RequestBody Map<String,Object> params){
ClassEntity classEntity = classEntityService.getById(params.get("classId").toString());
String type = params.get("type").toString();
List<String> certificateNoList = new ArrayList<>();
Map<String,Object> classCourseInfo = classEntityService.getClassCourseInfoByClassId(classEntity.getId(),0);
String pinyin = classCourseInfo.get("titleAbbr").toString();
String tels = params.get("tels").toString();
List<String> telList = Arrays.asList(tels.split(","));
List<MyUserEntity> userList = userService.list(new LambdaQueryWrapper<MyUserEntity>()
.in(MyUserEntity::getTel, telList));
for (int i=0;i<userList.size();i++){
MyUserEntity user = userList.get(i);
UserCertificate userCertificate = new UserCertificate();
userCertificate.setTitle(classEntity.getTitle());
userCertificate.setType(type);
userCertificate.setLabelId(5);
userCertificate.setUserId(user.getId());
userCertificate.setClassId(classEntity.getId());
String certificateNo = classEntityService.getNextCertificateNo(type,pinyin);
userCertificate.setCertificateNo(certificateNo);
userCertificate.setCourseId((Integer) classCourseInfo.get("courseId"));
if (StringUtils.isNotEmpty(user.getPhoto())&&StringUtils.isNotEmpty(user.getName())){
String startYear = DateUtil.year(classEntity.getStartTime())+"";
String startMonth = DateUtil.month(classEntity.getStartTime())+1+"";
String startDay = DateUtil.dayOfMonth(classEntity.getStartTime())+"";
String endYear = DateUtil.year(classEntity.getEndTime())+"";
String endMonth = DateUtil.month(classEntity.getEndTime())+1+"";
String endDay = DateUtil.dayOfMonth(classEntity.getEndTime())+"";
double keshiTotal = (double)classCourseInfo.get("keshi");
String keshi = (keshiTotal+"").replace(".0","");
String courseTitle = classCourseInfo.get("courseTitle").toString();
if (courseTitle.contains("")){
courseTitle = courseTitle.substring(0,courseTitle.indexOf(""));
}
String[] des = {startYear,startMonth,startDay,endYear,endMonth,endDay,
classEntity.getTitle(),courseTitle,keshi};
String[] edes = {classCourseInfo.get("courseETitle").toString(),keshi};
String url = userCertificateService.generateCertificate(type,certificateNo,user.getPhoto(),user.getName(),
des, edes, endYear,endMonth,endDay);
userCertificate.setCertificateUrl(url);
}
userCertificateService.save(userCertificate);
certificateNoList.add(user.getTel());
}
return R.ok().put("certificateNoList",certificateNoList);
}
}