增加事务

This commit is contained in:
Caojr
2025-10-29 15:06:00 +08:00
parent 6fe6f7c6e5
commit 4110d0632f
4 changed files with 118 additions and 130 deletions

View File

@@ -10,6 +10,7 @@ import javax.servlet.http.HttpServletRequest;
import com.xboe.api.ThirdApi; import com.xboe.api.ThirdApi;
import com.xboe.module.course.dto.CourseParam; import com.xboe.module.course.dto.CourseParam;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
@@ -390,6 +391,7 @@ public class CourseAuditApi extends ApiBaseController{
* @param dto * @param dto
* @return * @return
*/ */
@Transactional(rollbackFor = Exception.class)
@PostMapping("/submit-publish") @PostMapping("/submit-publish")
@AutoLog(module = "课程",action = "默认管理员提交发布",info = "") @AutoLog(module = "课程",action = "默认管理员提交发布",info = "")
public JsonResponse<Boolean> submitAndPublish(@RequestBody CourseFullDto dto, HttpServletRequest request){ public JsonResponse<Boolean> submitAndPublish(@RequestBody CourseFullDto dto, HttpServletRequest request){
@@ -423,7 +425,6 @@ public class CourseAuditApi extends ApiBaseController{
dto.getCourse().setStatus(Course.STATUS_AUDIT_FINISH);//设置为审核通过状态 dto.getCourse().setStatus(Course.STATUS_AUDIT_FINISH);//设置为审核通过状态
dto.getCourse().setEnabled(true);//设置启用状态问题 dto.getCourse().setEnabled(true);//设置启用状态问题
dto.getCourse().setPublished(false);//重新提交审核设置为未发布状态 dto.getCourse().setPublished(false);//重新提交审核设置为未发布状态
try {
courseService.submitAndPublish(dto,cuser.getAccountId(),cuser.getName()); courseService.submitAndPublish(dto,cuser.getAccountId(),cuser.getName());
log.info("---------------在线课开始同步到讲师管理 ------- token = " + token); log.info("---------------在线课开始同步到讲师管理 ------- token = " + token);
@@ -434,12 +435,6 @@ public class CourseAuditApi extends ApiBaseController{
thirdApi.updateOrSaveCourse(param,token); thirdApi.updateOrSaveCourse(param,token);
log.info("---------------在线课同步到讲师管理完毕 -------"); log.info("---------------在线课同步到讲师管理完毕 -------");
return success(true); return success(true);
} catch (Exception e) {
log.error("默认管理员提交直接发布处理失败",e);
e.printStackTrace();
return error("发布课程失败",e.getMessage());
}
} }

View File

@@ -14,6 +14,7 @@ import com.xboe.api.ThirdApi;
import com.xboe.module.course.dto.*; import com.xboe.module.course.dto.*;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
@@ -443,6 +444,7 @@ public class CourseManageApi extends ApiBaseController{
@PostMapping("/submit") @PostMapping("/submit")
@Transactional(rollbackFor = Exception.class)
@AutoLog(module = "课程",action = "提交课程",info = "") @AutoLog(module = "课程",action = "提交课程",info = "")
public JsonResponse<CourseFullDto> submitCourseFull(@RequestBody CourseFullDto dto){ public JsonResponse<CourseFullDto> submitCourseFull(@RequestBody CourseFullDto dto){
if(dto.getCourse()==null){ if(dto.getCourse()==null){
@@ -520,7 +522,6 @@ public class CourseManageApi extends ApiBaseController{
//检查课程内容的完整性 //检查课程内容的完整性
//填充必要的信息 //填充必要的信息
//fillCourseData(dto.getCourse()); //fillCourseData(dto.getCourse());
try {
CourseHRBPAudit hrbpAudit = hrbpAuditService.hasAuditing(dto.getCourse().getId()); CourseHRBPAudit hrbpAudit = hrbpAuditService.hasAuditing(dto.getCourse().getId());
if(hrbpAudit!=null) { if(hrbpAudit!=null) {
return badRequest("此课程中已有审核,不能再提交审核,如修改请先撤回"); return badRequest("此课程中已有审核,不能再提交审核,如修改请先撤回");
@@ -578,10 +579,6 @@ public class CourseManageApi extends ApiBaseController{
return error("课程已提交,但邮件发送失败",ex.getMessage()); return error("课程已提交,但邮件发送失败",ex.getMessage());
} }
return success(dto); return success(dto);
} catch (Exception e) {
log.error("提交保存课程信息错误",e);
return error("提交课程处理失败",e.getMessage());
}
} }
private String createEmailHtml(String name,String orgId, String orgName,String createBy,String courseName) throws Exception { private String createEmailHtml(String name,String orgId, String orgName,String createBy,String courseName) throws Exception {
@@ -615,6 +612,7 @@ public class CourseManageApi extends ApiBaseController{
} }
@PostMapping("/sumbits") @PostMapping("/sumbits")
@Transactional(rollbackFor = Exception.class)
public JsonResponse<Boolean> sumbitId(HttpServletRequest request,CourseHRBPAudit audit,String ucode,String ukid,String email,String orgName){ public JsonResponse<Boolean> sumbitId(HttpServletRequest request,CourseHRBPAudit audit,String ucode,String ukid,String email,String orgName){
if(StringUtils.isBlank(audit.getCourseId())){ if(StringUtils.isBlank(audit.getCourseId())){
return badRequest("参数错误"); return badRequest("参数错误");
@@ -637,7 +635,6 @@ public class CourseManageApi extends ApiBaseController{
return badRequest(error); return badRequest(error);
} }
try {
CourseHRBPAudit hrbpAudit = hrbpAuditService.hasAuditing(audit.getCourseId()); CourseHRBPAudit hrbpAudit = hrbpAuditService.hasAuditing(audit.getCourseId());
if(hrbpAudit!=null) { if(hrbpAudit!=null) {
return badRequest("此课程中已有审核,不能再提交审核,如修改请先撤回"); return badRequest("此课程中已有审核,不能再提交审核,如修改请先撤回");
@@ -703,10 +700,6 @@ public class CourseManageApi extends ApiBaseController{
} }
return success(true); return success(true);
}catch(Exception e) {
log.error("提交保存课程信息错误",e);
return error("提交课程处理失败",e.getMessage());
}
} }
@PostMapping("/revoke") @PostMapping("/revoke")

View File

@@ -168,7 +168,7 @@ public interface ICourseService {
* @param full * @param full
* @throws Exception * @throws Exception
*/ */
void submit(CourseFullDto full)throws Exception; void submit(CourseFullDto full);
/** /**
* 用于默认管理员,直接提交发布,不走审核流程 * 用于默认管理员,直接提交发布,不走审核流程
@@ -177,14 +177,14 @@ public interface ICourseService {
* @param aname 姓名 * @param aname 姓名
* @throws Exception * @throws Exception
*/ */
void submitAndPublish(CourseFullDto full,String aid,String aname)throws Exception; void submitAndPublish(CourseFullDto full,String aid,String aname);
/** /**
* 提交一个课程 * 提交一个课程
* @param audit * @param audit
* @throws Exception * @throws Exception
*/ */
void submit(CourseHRBPAudit audit) throws Exception; void submit(CourseHRBPAudit audit);
/** /**
* update 传一个id直接改值 * update 传一个id直接改值

View File

@@ -1028,7 +1028,7 @@ public class CourseServiceImpl implements ICourseService {
} }
@Override @Override
public void submit(CourseFullDto full) throws Exception { public void submit(CourseFullDto full) {
Course c = full.getCourse();//当前的课程信息 Course c = full.getCourse();//当前的课程信息
if (c.getVisible() == null) { if (c.getVisible() == null) {
@@ -1084,7 +1084,7 @@ public class CourseServiceImpl implements ICourseService {
} }
@Override @Override
public void submitAndPublish(CourseFullDto full, String aid, String aname) throws Exception { public void submitAndPublish(CourseFullDto full, String aid, String aname) {
Course c = full.getCourse();//当前的课程信息 Course c = full.getCourse();//当前的课程信息
c.setPublished(true); c.setPublished(true);
@@ -1131,7 +1131,7 @@ public class CourseServiceImpl implements ICourseService {
} }
@Override @Override
public void submit(CourseHRBPAudit hrbpAudit) throws Exception { public void submit(CourseHRBPAudit hrbpAudit) {
courseDao.updateMultiFieldById(hrbpAudit.getCourseId(), UpdateBuilder.create("status", Course.STATUS_SUBMIT), courseDao.updateMultiFieldById(hrbpAudit.getCourseId(), UpdateBuilder.create("status", Course.STATUS_SUBMIT),
UpdateBuilder.create("published", false), UpdateBuilder.create("publishTime", LocalDateTime.now())); UpdateBuilder.create("published", false), UpdateBuilder.create("publishTime", LocalDateTime.now()));