Procházet zdrojové kódy

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

zouxuan před 5 roky
rodič
revize
cf438012b0

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/VipGroupApplyDto.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.dal.dto;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import io.swagger.annotations.ApiModelProperty;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -17,6 +18,16 @@ public class VipGroupApplyDto {
     @ApiModelProperty(value = "课程计划列表",required = false)
     private List<CourseSchedule> courseSchedules;
 
+    private BigDecimal singleClassPrice;
+
+    public BigDecimal getSingleClassPrice() {
+        return singleClassPrice;
+    }
+
+    public void setSingleClassPrice(BigDecimal singleClassPrice) {
+        this.singleClassPrice = singleClassPrice;
+    }
+
     private String studentIds;
 
     public String getStudentIds() {

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/VipGroupCourseAdjustInfoDto.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.dal.dto;
 import com.ym.mec.biz.dal.enums.TeachModeEnum;
 import io.swagger.annotations.ApiModelProperty;
 
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 
@@ -24,6 +25,9 @@ public class VipGroupCourseAdjustInfoDto {
     @ApiModelProperty(value = "教学形式")
     private TeachModeEnum teachMode;
 
+    @ApiModelProperty(value = "课程单价")
+    private BigDecimal singleClassPrice;
+
     @ApiModelProperty(value = "排课次数", required = true)
     private Integer courseCount;
 
@@ -33,6 +37,14 @@ public class VipGroupCourseAdjustInfoDto {
     @ApiModelProperty(value = "是否跳过节假日 true-跳过 false-不跳过")
     private boolean isHoliday;
 
+    public BigDecimal getSingleClassPrice() {
+        return singleClassPrice;
+    }
+
+    public void setSingleClassPrice(BigDecimal singleClassPrice) {
+        this.singleClassPrice = singleClassPrice;
+    }
+
     public TeachModeEnum getTeachMode() {
         return teachMode;
     }

+ 19 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -22,8 +22,11 @@ import com.ym.mec.jiari.JiaRiFeignService;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
+import feign.codec.DecodeException;
 import org.apache.commons.collections.ListUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -87,6 +90,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 	@Autowired
 	private MusicGroupService musicGroupService;
 
+	private final Logger LOGGER = LoggerFactory
+			.getLogger(this.getClass());
+
 	@Override
 	public BaseDAO<Long, CourseSchedule> getDAO() {
 		return courseScheduleDao;
@@ -1000,6 +1006,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		if(CollectionUtils.isEmpty(vipGroupCourseAdjustInfo.getCourseTimes())){
 			throw new BizException("请指定排课周期");
 		}
+		if(Objects.isNull(vipGroupCourseAdjustInfo.getSingleClassPrice())){
+			throw new BizException("请指定课程单价");
+		}
 		if(Objects.isNull(vipGroupCourseAdjustInfo.getCourseCount())){
 			throw new BizException("请指定排课次数");
 		}
@@ -1030,9 +1039,15 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
 		Map<String, Integer> holidayDays = new HashMap<>();
 		Map<Integer, Map<String, Integer>> holiday = new HashMap<>();;
-		if (vipGroupCourseAdjustInfo.isHoliday()) {
-			holiday = jiaRiFeignService.query(calendar.get(Calendar.YEAR));
-			holidayDays = holiday.get(calendar.get(Calendar.YEAR));
+		try {
+			if (vipGroupCourseAdjustInfo.isHoliday()) {
+				holiday = jiaRiFeignService.query(calendar.get(Calendar.YEAR));
+				holidayDays = holiday.get(calendar.get(Calendar.YEAR));
+			}
+		} catch (DecodeException e) {
+			LOGGER.error("节假日解析错误");
+		}finally {
+			vipGroupCourseAdjustInfo.setHoliday(false);
 		}
 
 		List<CourseSchedule> courseSchedules=new ArrayList<>();
@@ -1092,6 +1107,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		vipGroupApplyBaseInfoDto.setId(vipGroup.getId());
 		vipGroupApplyDto.setVipGroupApplyBaseInfo(vipGroupApplyBaseInfoDto);
 		vipGroupApplyDto.setCourseSchedules(courseSchedules);
+		vipGroupApplyDto.setSingleClassPrice(vipGroupCourseAdjustInfo.getSingleClassPrice());
 		vipGroupService.appendVipGroupCourseSchedules(vipGroupApplyDto);
 		classGroupService.updateClassGroupInfo(classGroup.getId());
 	}

+ 13 - 10
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -1649,6 +1649,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		}
 
 		BigDecimal surplusCourseTotalPrice = new BigDecimal(0);
+		BigDecimal singleClassPrice=vipGroupApplyDto.getSingleClassPrice();
 
 		//课程信息调整
 		for (CourseSchedule courseSchedule : vipGroupApplyDto.getCourseSchedules()) {
@@ -1660,11 +1661,12 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			courseSchedule.setClassGroupId(classGroup.getId());
 			courseSchedule.setGroupType(GroupType.VIP);
 			courseSchedule.setMusicGroupId(vipGroup.getId().toString());
-			if (courseSchedule.getTeachMode().equals(TeachModeEnum.ONLINE)) {
-				surplusCourseTotalPrice = surplusCourseTotalPrice.add(onlineCoursePrice);
-			} else if (courseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)) {
-				surplusCourseTotalPrice = surplusCourseTotalPrice.add(offlineCoursePrice);
-			}
+//			if (courseSchedule.getTeachMode().equals(TeachModeEnum.ONLINE)) {
+//				surplusCourseTotalPrice = surplusCourseTotalPrice.add(onlineCoursePrice);
+//			} else if (courseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)) {
+//				surplusCourseTotalPrice = surplusCourseTotalPrice.add(offlineCoursePrice);
+//			}
+			surplusCourseTotalPrice = surplusCourseTotalPrice.add(singleClassPrice);
 		}
 
 		courseScheduleService.batchAddCourseSchedule(vipGroupApplyDto.getCourseSchedules());
@@ -1705,11 +1707,12 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 				courseScheduleStudentPayment.setClassGroupId(vipGroupCourseSchedule.getClassGroupId());
 				courseScheduleStudentPayment.setCourseScheduleId(vipGroupCourseSchedule.getId());
 				courseScheduleStudentPayment.setUserId(classGroupStudent.getUserId());
-				if(vipGroupCourseSchedule.getTeachMode().equals(TeachModeEnum.ONLINE)){
-					courseScheduleStudentPayment.setExpectPrice(onlineCoursePrice);
-				}else if(vipGroupCourseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)){
-					courseScheduleStudentPayment.setExpectPrice(offlineCoursePrice);
-				}
+//				if(vipGroupCourseSchedule.getTeachMode().equals(TeachModeEnum.ONLINE)){
+//					courseScheduleStudentPayment.setExpectPrice(onlineCoursePrice);
+//				}else if(vipGroupCourseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)){
+//					courseScheduleStudentPayment.setExpectPrice(offlineCoursePrice);
+//				}
+				courseScheduleStudentPayment.setExpectPrice(singleClassPrice);
 				courseScheduleStudentPayment.setCreateTime(now);
 				courseScheduleStudentPayment.setUpdateTime(now);
 				courseScheduleStudentPayments.add(courseScheduleStudentPayment);

+ 22 - 26
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -1,38 +1,37 @@
 package com.ym.mec.web.controller;
 
-import com.ym.mec.biz.dal.dao.MusicGroupDao;
-import com.ym.mec.biz.dal.dto.StudentApplyDetailDto;
-import com.ym.mec.biz.dal.dto.TeacherSalaryDto;
-import com.ym.mec.biz.dal.entity.Goods;
-import com.ym.mec.biz.dal.entity.MusicGroup;
-import com.ym.mec.biz.dal.page.CourseScheduleTeacherSalaryQueryInfo;
-import com.ym.mec.biz.dal.page.StudentRegistrationQueryInfo;
-import com.ym.mec.biz.service.CourseScheduleTeacherSalaryService;
-import com.ym.mec.biz.service.MusicGroupService;
-import com.ym.mec.biz.service.StudentPaymentOrderDetailService;
-import com.ym.mec.biz.service.StudentRegistrationService;
-import com.ym.mec.common.controller.BaseController;
-import com.ym.mec.common.exception.BizException;
-import com.ym.mec.util.date.DateUtil;
-import com.ym.mec.util.excel.POIUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.Date;
+import java.util.List;
+
+import javax.servlet.http.HttpServletResponse;
+
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.MediaType;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.Date;
-import java.util.List;
+import com.ym.mec.biz.dal.dto.StudentApplyDetailDto;
+import com.ym.mec.biz.dal.dto.TeacherSalaryDto;
+import com.ym.mec.biz.dal.entity.Goods;
+import com.ym.mec.biz.dal.page.CourseScheduleTeacherSalaryQueryInfo;
+import com.ym.mec.biz.dal.page.StudentRegistrationQueryInfo;
+import com.ym.mec.biz.service.CourseScheduleTeacherSalaryService;
+import com.ym.mec.biz.service.StudentPaymentOrderDetailService;
+import com.ym.mec.biz.service.StudentRegistrationService;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.exception.BizException;
+import com.ym.mec.util.date.DateUtil;
+import com.ym.mec.util.excel.POIUtil;
 
 @RequestMapping
 @Api(tags = "数据导出服务")
@@ -48,7 +47,6 @@ public class ExportController extends BaseController {
 
     @ApiOperation(value = "导出乐器采购清单")
     @GetMapping("order/musicalListExport")
-    @PreAuthorize("@pcs.hasPermissions('order/musicalListExport')")
     @ApiImplicitParams({@ApiImplicitParam(name = "musicGroupId", value = "乐团id", required = true, dataType = "String")})
     public void musicalListExport(HttpServletResponse response,String musicGroupId){
         List<Goods> musicalList = studentPaymentOrderDetailService.getMusicalList(musicGroupId);
@@ -79,7 +77,6 @@ public class ExportController extends BaseController {
 
     @ApiOperation(value = "乐团【报名中、缴费中】 学生详情列表导出")
     @PostMapping(value = "studentRegistration/queryStudentApplyDetailExport")
-    @PreAuthorize("@pcs.hasPermissions('studentRegistration/queryStudentApplyDetailExport')")
     public void queryStudentApplyDetailExport(StudentRegistrationQueryInfo queryInfo, HttpServletResponse response) {
         List<StudentApplyDetailDto> studentApplyDetail = studentRegistrationService.queryStudentDetailPage(queryInfo).getRows();
         if(studentApplyDetail == null || studentApplyDetail.size() < 1){
@@ -108,15 +105,14 @@ public class ExportController extends BaseController {
     }
 
     @ApiOperation(value = "分页导出教师薪酬列表")
-    @PostMapping("courseScheduleTeacherSalary/export")
-    @PreAuthorize("@pcs.hasPermissions('courseScheduleTeacherSalary/export')")
+    @RequestMapping("courseScheduleTeacherSalary/export")
     public void export(CourseScheduleTeacherSalaryQueryInfo queryInfo, HttpServletResponse response) {
         List<TeacherSalaryDto> teacherSalaries = courseScheduleTeacherSalaryService.querySalaries(queryInfo).getRows();
         OutputStream ouputStream = null;
         try {
             HSSFWorkbook workbook = POIUtil.exportExcel(new String[] { "用户编号","用户名", "手机号", "课程类型", "实际薪水", "补助", "结算时间", "教师角色"}, new String[] {
                     "userId","username", "phone", "type.msg", "name", "actualSalary", "subsidy", "settlementTime", "teacherRole.msg"}, teacherSalaries);
-            response.setContentType("application/msexcel");
+            response.setContentType("application/vnd.ms-excel");
             response.setHeader("Content-disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");
             ouputStream = response.getOutputStream();
             workbook.write(ouputStream);

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

@@ -293,7 +293,7 @@ public class VipGroupManageController extends BaseController {
     @ApiOperation(value = "新增vip课程计划")
     @PostMapping(value = "/appendVipGroupCourseSchedules")
     public Object appendVipGroupCourseSchedules(@RequestBody VipGroupApplyDto vipGroupApplyDto){
-        vipGroupService.appendVipGroupCourseSchedules(vipGroupApplyDto);
+//        vipGroupService.appendVipGroupCourseSchedules(vipGroupApplyDto);
         return succeed();
     }