diff --git a/src/main/java/com/peanut/modules/master/controller/UserCourseBuyController.java b/src/main/java/com/peanut/modules/master/controller/UserCourseBuyController.java index 514a263c..2424e230 100644 --- a/src/main/java/com/peanut/modules/master/controller/UserCourseBuyController.java +++ b/src/main/java/com/peanut/modules/master/controller/UserCourseBuyController.java @@ -1,5 +1,6 @@ package com.peanut.modules.master.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.peanut.common.utils.DateUtils; @@ -8,6 +9,7 @@ import com.peanut.modules.common.entity.CourseCatalogueEntity; import com.peanut.modules.common.entity.CourseEntity; import com.peanut.modules.common.entity.MyUserEntity; import com.peanut.modules.common.entity.UserCourseBuyEntity; +import com.peanut.modules.master.service.CourseCatalogueService; import com.peanut.modules.master.service.UserCourseBuyService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; @@ -30,6 +32,8 @@ public class UserCourseBuyController { @Autowired private UserCourseBuyService userCourseBuyService; + @Autowired + private CourseCatalogueService courseCatalogueService; @RequestMapping("/listByPage") public R listByPage(@RequestBody Map params) { @@ -63,8 +67,31 @@ public class UserCourseBuyController { } @RequestMapping("/insertUserCourseBuy") - public R insertUserCourseBuy(@RequestBody UserCourseBuyEntity userCourseBuyEntity) { - userCourseBuyService.save(userCourseBuyEntity); + @Transactional + public R insertUserCourseBuy(@RequestBody Map params) { + int userId = Integer.parseInt(params.get("userId").toString()); + int courseId = Integer.parseInt(params.get("courseId").toString()); + String catalogueId = params.get("catalogueId").toString(); + int days = Integer.parseInt(params.get("days").toString()); + String come = params.get("come").toString(); + String[] catalogueIds = catalogueId.split(","); + for (String id : catalogueIds) { + UserCourseBuyEntity userCourseBuyEntity = userCourseBuyService.getOne(new LambdaQueryWrapper() + .eq(UserCourseBuyEntity::getCatalogueId,catalogueId) + .eq(UserCourseBuyEntity::getUserId,userId)); + if (userCourseBuyEntity==null){ + userCourseBuyEntity = new UserCourseBuyEntity(); + userCourseBuyEntity.setUserId(userId); + userCourseBuyEntity.setCourseId(courseId); + userCourseBuyEntity.setCatalogueId(Integer.parseInt(id)); + userCourseBuyEntity.setDays(days); + userCourseBuyEntity.setCome(come); + userCourseBuyService.save(userCourseBuyEntity); + }else { + CourseCatalogueEntity catalogueEntity = courseCatalogueService.getById(id); + return R.error(catalogueEntity.getTitle()+"已开通"); + } + } return R.ok(); }