Browse Source

增加乐团课程费用的设置接口

周箭河 5 years ago
parent
commit
736c537816

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupOrganizationCourseSettingsService.java

@@ -2,10 +2,12 @@ package com.ym.mec.biz.service;
 
 
 import com.ym.mec.common.service.BaseService;
 import com.ym.mec.common.service.BaseService;
 import com.ym.mec.biz.dal.entity.MusicGroupOrganizationCourseSettings;
 import com.ym.mec.biz.dal.entity.MusicGroupOrganizationCourseSettings;
+
 public interface MusicGroupOrganizationCourseSettingsService extends BaseService<Integer, MusicGroupOrganizationCourseSettings> {
 public interface MusicGroupOrganizationCourseSettingsService extends BaseService<Integer, MusicGroupOrganizationCourseSettings> {
 
 
     /**
     /**
      * 添加收费方式设置
      * 添加收费方式设置
+     *
      * @param setting
      * @param setting
      * @return
      * @return
      */
      */
@@ -13,9 +15,17 @@ public interface MusicGroupOrganizationCourseSettingsService extends BaseService
 
 
     /**
     /**
      * 删除收费方式设置
      * 删除收费方式设置
+     *
      * @param id
      * @param id
      * @return
      * @return
      */
      */
     MusicGroupOrganizationCourseSettings delSetting(Integer id);
     MusicGroupOrganizationCourseSettings delSetting(Integer id);
 
 
+    /**
+     * 修改收费方式设置
+     *
+     * @param setting
+     * @return
+     */
+    MusicGroupOrganizationCourseSettings updateSetting(MusicGroupOrganizationCourseSettings setting);
 }
 }

+ 27 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupOrganizationCourseSettingsServiceImpl.java

@@ -62,4 +62,31 @@ public class MusicGroupOrganizationCourseSettingsServiceImpl extends BaseService
         musicGroupOrganizationCourseSettingsDao.delete(setting.getId());
         musicGroupOrganizationCourseSettingsDao.delete(setting.getId());
         return setting;
         return setting;
     }
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public MusicGroupOrganizationCourseSettings updateSetting(MusicGroupOrganizationCourseSettings setting) {
+        if (setting.getDetails() == null || setting.getDetails().size() <= 0) {
+            throw new BizException("请设置对应课程的收费");
+        }
+        musicGroupOrganizationCourseSettingsDetailDao.deleteBySettingId(setting.getId());
+
+        for (MusicGroupOrganizationCourseSettingsDetail detail : setting.getDetails()) {
+            if (detail.getCourseTotalMinuties() <= 0) {
+                throw new BizException(detail.getCourseType().getMsg() + "课程总时长必须大于0");
+            }
+            if (detail.getIsStudentOptional()) {
+                setting.setTotalCurrentPrice(setting.getTotalCurrentPrice().add(detail.getCourseCurrentPrice()));
+                setting.setTotalOriginalPrice(setting.getTotalOriginalPrice().add(detail.getCourseOriginalPrice()));
+            }
+        }
+        musicGroupOrganizationCourseSettingsDao.update(setting);
+        for (MusicGroupOrganizationCourseSettingsDetail detail : setting.getDetails()) {
+            detail.setId(null);
+            detail.setMusicGroupOrganizationCourseSettingsId(setting.getId());
+            detail.setUnitPrice(detail.getCourseCurrentPrice().divide(new BigDecimal(detail.getCourseTotalMinuties()), 2, BigDecimal.ROUND_DOWN));
+        }
+        musicGroupOrganizationCourseSettingsDetailDao.batchInsert(setting.getDetails());
+        return setting;
+    }
 }
 }

+ 8 - 1
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupOrganizationCourseSettingsController.java

@@ -37,7 +37,14 @@ public class MusicGroupOrganizationCourseSettingsController extends BaseControll
     @ApiOperation(value = "删除收费方式设置")
     @ApiOperation(value = "删除收费方式设置")
     @PostMapping("/delSetting")
     @PostMapping("/delSetting")
     @PreAuthorize("@pcs.hasPermissions('musicGroupOrganizationCourseSettings/delSetting')")
     @PreAuthorize("@pcs.hasPermissions('musicGroupOrganizationCourseSettings/delSetting')")
-    public HttpResponseResult<MusicGroupOrganizationCourseSettings> queryPage(Integer id) {
+    public HttpResponseResult<MusicGroupOrganizationCourseSettings> delSetting(Integer id) {
         return succeed(musicGroupOrganizationCourseSettingsService.delSetting(id));
         return succeed(musicGroupOrganizationCourseSettingsService.delSetting(id));
     }
     }
+
+    @ApiOperation(value = "修改收费方式")
+    @PostMapping("/update")
+    @PreAuthorize("@pcs.hasPermissions('musicGroupOrganizationCourseSettings/update')")
+    public HttpResponseResult<MusicGroupOrganizationCourseSettings> update(@RequestBody MusicGroupOrganizationCourseSettings musicGroupOrganizationCourseSettings) {
+        return succeed(musicGroupOrganizationCourseSettingsService.updateSetting(musicGroupOrganizationCourseSettings));
+    }
 }
 }