Browse Source

vip定制课

zouxuan 7 months ago
parent
commit
b34f9b32c3

+ 4 - 3
cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherSubjectPriceController.java

@@ -31,14 +31,15 @@ public class TeacherSubjectPriceController extends BaseController {
     @PostMapping("/saveOrUpdate")
     public HttpResponseResult<Long> saveOrUpdate(@RequestBody TeacherSubjectPrice teacherSubjectPrice){
         teacherSubjectPrice.setTeacherId(sysUserService.getUserId());
-        teacherSubjectPriceService.saveOrUpdate(teacherSubjectPrice);
-        return succeed(teacherSubjectPrice.getId());
+        return succeed(teacherSubjectPriceService.upSet(teacherSubjectPrice));
     }
 
     @ApiOperation(value = "删除老师课程价格配置")
     @PostMapping("/delete")
     public HttpResponseResult delete(Long id){
-        teacherSubjectPriceService.removeById(id);
+        teacherSubjectPriceService.lambdaUpdate()
+                .eq(TeacherSubjectPrice::getTeacherId, sysUserService.getUserId())
+                .eq(TeacherSubjectPrice::getId, id).remove();
         return succeed();
     }
 

+ 2 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/TeacherSubjectPriceService.java

@@ -7,5 +7,7 @@ import com.yonge.cooleshow.biz.dal.entity.TeacherSubjectPrice;
 public interface TeacherSubjectPriceService extends IService<TeacherSubjectPrice> {
 
     TeacherSubjectPriceDao getDao();
+
+    Long upSet(TeacherSubjectPrice teacherSubjectPrice);
 }
 

+ 29 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherSubjectPriceServiceImpl.java

@@ -1,12 +1,14 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.microsvc.toolkit.common.webportal.exception.BizException;
 import com.yonge.cooleshow.biz.dal.dao.TeacherSubjectPriceDao;
 import com.yonge.cooleshow.biz.dal.entity.TeacherSubjectPrice;
 import com.yonge.cooleshow.biz.dal.service.TeacherSubjectPriceService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 @Service("TeacherSubjectPriceService")
 public class TeacherSubjectPriceServiceImpl extends ServiceImpl<TeacherSubjectPriceDao, TeacherSubjectPrice> implements TeacherSubjectPriceService {
@@ -18,5 +20,32 @@ public class TeacherSubjectPriceServiceImpl extends ServiceImpl<TeacherSubjectPr
         return this.baseMapper;
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Long upSet(TeacherSubjectPrice teacherSubjectPrice) {
+        if (teacherSubjectPrice.getId() == null) {
+            TeacherSubjectPrice one = this.lambdaQuery().eq(TeacherSubjectPrice::getTeacherId, teacherSubjectPrice.getTeacherId())
+                    .eq(TeacherSubjectPrice::getSubjectId, teacherSubjectPrice.getSubjectId())
+                    .eq(TeacherSubjectPrice::getCourseType, teacherSubjectPrice.getCourseType()).one();
+            if (one != null) {
+                teacherSubjectPrice.setId(one.getId());
+                this.updateById(teacherSubjectPrice);
+            } else {
+                this.save(teacherSubjectPrice);
+            }
+        } else {
+            TeacherSubjectPrice one = this.lambdaQuery().ne(TeacherSubjectPrice::getId, teacherSubjectPrice.getId())
+                    .eq(TeacherSubjectPrice::getTeacherId, teacherSubjectPrice.getTeacherId())
+                    .eq(TeacherSubjectPrice::getSubjectId, teacherSubjectPrice.getSubjectId())
+                    .eq(TeacherSubjectPrice::getCourseType, teacherSubjectPrice.getCourseType()).one();
+            if (one != null) {
+                throw new BizException("已存在相同课程类型的课程价格配置");
+            } else {
+                this.updateById(teacherSubjectPrice);
+            }
+        }
+        return teacherSubjectPrice.getId();
+    }
+
 }