zouxuan 5 년 전
부모
커밋
d0eda9db34

+ 18 - 2
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupController.java

@@ -1,12 +1,14 @@
 package com.ym.mec.web.controller;
 
 import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.web.dal.dto.SubFeeSettingDto;
 import com.ym.mec.web.dal.entity.MusicGroup;
 import com.ym.mec.web.dal.page.MusicGroupQueryInfo;
 import com.ym.mec.web.service.MusicGroupService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -23,8 +25,15 @@ public class MusicGroupController extends BaseController {
     @ApiOperation(value = "新增乐团")
     @PostMapping("/add")
     public Object add(@RequestBody MusicGroup musicGroup){
-        musicGroupService.insert(musicGroup);
-        return succeed();
+        if(musicGroup != null){
+            if(StringUtils.isNotEmpty(musicGroup.getPaymentMonth())){
+                musicGroupService.add(musicGroup);
+            }else {
+                musicGroupService.insert(musicGroup);
+            }
+            return succeed();
+        }
+        return failed();
     }
 
     @ApiOperation(value = "删除乐团")
@@ -53,4 +62,11 @@ public class MusicGroupController extends BaseController {
     public Object queryPage(@RequestBody MusicGroupQueryInfo queryInfo){
         return succeed(musicGroupService.queryPage(queryInfo));
     }
+
+    @ApiOperation(value = "建团申请数据提交")
+    @PostMapping("/createGroup")
+    public Object createGroup(@RequestBody SubFeeSettingDto subFeeSettingDto){
+        musicGroupService.createGroup(subFeeSettingDto);
+        return succeed();
+    }
 }

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/dal/dao/MusicGroupPaymentCalenderDao.java

@@ -10,5 +10,5 @@ public interface MusicGroupPaymentCalenderDao extends BaseDAO<Long, MusicGroupPa
      * 根据乐团编号删除乐团缴费周期
      * @param musicGroupId
      */
-    void delByGroupId(Integer musicGroupId);
+    void delByGroupId(String musicGroupId);
 }

+ 59 - 5
mec-web/src/main/java/com/ym/mec/web/dal/dto/SubFeeSettingDto.java

@@ -1,13 +1,67 @@
 package com.ym.mec.web.dal.dto;
 
+import com.ym.mec.web.dal.entity.MusicGroup;
+import com.ym.mec.web.dal.entity.MusicGroupPaymentEntities;
+import com.ym.mec.web.dal.entity.MusicGroupSubjectGoodsGroup;
+import com.ym.mec.web.dal.entity.MusicGroupSubjectPlan;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.List;
+
 public class SubFeeSettingDto {
-    private Integer subjectId;
 
-    private String subjectName;
+    @ApiModelProperty(value = "乐团明细",required = false)
+    private MusicGroup musicGroup;
+
+    @ApiModelProperty(value = "乐团付费主体列表",required = false)
+    private List<MusicGroupPaymentEntities> musicGroupPaymentEntities;
+
+    @ApiModelProperty(value = "声部设置列表",required = false)
+    private List<MusicGroupSubjectPlan> musicGroupSubjectPlans;
+
+    @ApiModelProperty(value = "乐器、教辅组合列表",required = false)
+    private List<MusicGroupSubjectGoodsGroup> musicGroupSubjectGoodsGroups;
+
+    @ApiModelProperty(value = "学员的付费方式月份列表",required = false)
+    private List<Integer> months;
+
+    public MusicGroup getMusicGroup() {
+        return musicGroup;
+    }
+
+    public void setMusicGroup(MusicGroup musicGroup) {
+        this.musicGroup = musicGroup;
+    }
+
+    public List<MusicGroupPaymentEntities> getMusicGroupPaymentEntities() {
+        return musicGroupPaymentEntities;
+    }
+
+    public void setMusicGroupPaymentEntities(List<MusicGroupPaymentEntities> musicGroupPaymentEntities) {
+        this.musicGroupPaymentEntities = musicGroupPaymentEntities;
+    }
+
+    public List<MusicGroupSubjectPlan> getMusicGroupSubjectPlans() {
+        return musicGroupSubjectPlans;
+    }
+
+    public void setMusicGroupSubjectPlans(List<MusicGroupSubjectPlan> musicGroupSubjectPlans) {
+        this.musicGroupSubjectPlans = musicGroupSubjectPlans;
+    }
+
+    public List<MusicGroupSubjectGoodsGroup> getMusicGroupSubjectGoodsGroups() {
+        return musicGroupSubjectGoodsGroups;
+    }
 
-    private Integer expectedStudentNum;
+    public void setMusicGroupSubjectGoodsGroups(List<MusicGroupSubjectGoodsGroup> musicGroupSubjectGoodsGroups) {
+        this.musicGroupSubjectGoodsGroups = musicGroupSubjectGoodsGroups;
+    }
 
-    private Long depositFee;
+    public List<Integer> getMonths() {
+        return months;
+    }
 
-//    private
+    public void setMonths(List<Integer> months) {
+        this.months = months;
+    }
 }

+ 27 - 17
mec-web/src/main/java/com/ym/mec/web/dal/entity/MusicGroup.java

@@ -1,10 +1,8 @@
 package com.ym.mec.web.dal.entity;
 
 import com.ym.mec.web.dal.enums.MusicGroupStatusEnum;
-import com.ym.mec.web.dal.enums.PaymentMethod;
-
+import com.ym.mec.web.dal.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModelProperty;
-
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 /**
@@ -79,18 +77,30 @@ public class MusicGroup {
 	@ApiModelProperty(value = "招生年级(多个用|分开)",required = false)
 	private String enrollClasses;
 	
-	/** 付费方式(一次性、按月、按学期、按学年) */
-	@ApiModelProperty(value = "付费方式",required = false)
-	private PaymentMethod paymentMethod;
-	
-	public void setId(String id){
-		this.id = id;
+	/** 是否是加课*/
+	@ApiModelProperty(value = "是否是加课",required = false)
+	private YesOrNoEnum isExtraClass;
+
+	/** 缴费月份*/
+	@ApiModelProperty(value = "缴费月份",required = false)
+	private String paymentMonth;
+
+	public String getPaymentMonth() {
+		return paymentMonth;
 	}
-	
-	public String getId(){
-		return this.id;
+
+	public void setPaymentMonth(String paymentMonth) {
+		this.paymentMonth = paymentMonth;
 	}
-			
+
+	public String getId() {
+		return id;
+	}
+
+	public void setId(String id) {
+		this.id = id;
+	}
+
 	public void setName(String name){
 		this.name = name;
 	}
@@ -227,12 +237,12 @@ public class MusicGroup {
 		this.enrollClasses = enrollClasses;
 	}
 
-	public PaymentMethod getPaymentMethod() {
-		return paymentMethod;
+	public YesOrNoEnum getIsExtraClass() {
+		return isExtraClass;
 	}
 
-	public void setPaymentMethod(PaymentMethod paymentMethod) {
-		this.paymentMethod = paymentMethod;
+	public void setIsExtraClass(YesOrNoEnum isExtraClass) {
+		this.isExtraClass = isExtraClass;
 	}
 
 	@Override

+ 3 - 3
mec-web/src/main/java/com/ym/mec/web/dal/entity/MusicGroupPaymentCalender.java

@@ -13,7 +13,7 @@ public class MusicGroupPaymentCalender {
 	
 	/**  */
 	@ApiModelProperty(value = "乐团编号",required = false)
-	private Integer musicGroupId;
+	private String musicGroupId;
 	
 	/** 缴费月份 */
 	@ApiModelProperty(value = "缴费月份",required = false)
@@ -37,11 +37,11 @@ public class MusicGroupPaymentCalender {
 		return this.id;
 	}
 			
-	public void setMusicGroupId(Integer musicGroupId){
+	public void setMusicGroupId(String musicGroupId){
 		this.musicGroupId = musicGroupId;
 	}
 	
-	public Integer getMusicGroupId(){
+	public String getMusicGroupId(){
 		return this.musicGroupId;
 	}
 			

+ 2 - 3
mec-web/src/main/java/com/ym/mec/web/dal/entity/MusicGroupPaymentEntities.java

@@ -1,10 +1,9 @@
 package com.ym.mec.web.dal.entity;
 
+import com.ym.mec.web.dal.enums.PaymentMethod;
 import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
-import com.ym.mec.web.dal.enums.PaymentMethod;
-
 import java.math.BigDecimal;
 
 /**
@@ -40,7 +39,7 @@ public class MusicGroupPaymentEntities {
 	
 	/**  */
 	private java.util.Date updateTime;
-	
+
 	public void setId(Integer id){
 		this.id = id;
 	}

+ 2 - 2
mec-web/src/main/java/com/ym/mec/web/dal/entity/MusicGroupSubjectPlan.java

@@ -42,8 +42,8 @@ public class MusicGroupSubjectPlan {
 	@ApiModelProperty(value = "乐器团购类型(免费、租赁、借用)",required = false)
 	private KitGroupPurchaseTypeEnum kitGroupPurchaseType;
 	
-	/** 乐器团购类型对应的费用 */
-	@ApiModelProperty(value = "乐器团购类型对应的费用",required = false)
+	/** 保证金(只有租赁才有) */
+	@ApiModelProperty(value = "保证金(只有租赁才有)",required = false)
 	private BigDecimal depositFee;
 	
 	/**  */

+ 4 - 3
mec-web/src/main/java/com/ym/mec/web/dal/entity/TeacherAttendance.java

@@ -1,5 +1,6 @@
 package com.ym.mec.web.dal.entity;
 
+import com.ym.mec.web.dal.enums.SignStatusEnum;
 import com.ym.mec.web.dal.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.builder.ToStringBuilder;
@@ -40,7 +41,7 @@ public class TeacherAttendance {
 	
 	/** 状态(正常签到,异常签到) */
 	@ApiModelProperty(value = "状态(1正常签到,0异常签到,2正常签退) ",required = false)
-	private YesOrNoEnum status;
+	private SignStatusEnum status;
 	
 	/** 备注 */
 	@ApiModelProperty(value = "备注",required = false)
@@ -105,11 +106,11 @@ public class TeacherAttendance {
 		this.signInTime = signInTime;
 	}
 
-	public YesOrNoEnum getStatus() {
+	public SignStatusEnum getStatus() {
 		return status;
 	}
 
-	public void setStatus(YesOrNoEnum status) {
+	public void setStatus(SignStatusEnum status) {
 		this.status = status;
 	}
 

+ 35 - 0
mec-web/src/main/java/com/ym/mec/web/dal/enums/SignStatusEnum.java

@@ -0,0 +1,35 @@
+package com.ym.mec.web.dal.enums;
+
+import com.ym.mec.common.enums.BaseEnum;
+
+//状态(1正常签到,0异常签到,2正常签退)
+public enum SignStatusEnum implements BaseEnum<Integer, SignStatusEnum> {
+    SIGN(1,"1正常签到"),
+    EXCEPTION(0,"异常签到"),
+    YES_QUIT(2,"正常签退");
+
+    private Integer code;
+    private String msg;
+
+    SignStatusEnum(Integer code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+    public void setCode(Integer code) {
+        this.code = code;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }
+
+    @Override
+    public Integer getCode() {
+        return this.code;
+    }
+}

+ 1 - 2
mec-web/src/main/java/com/ym/mec/web/dal/enums/YesOrNoEnum.java

@@ -4,8 +4,7 @@ import com.ym.mec.common.enums.BaseEnum;
 
 public enum YesOrNoEnum implements BaseEnum<Integer, YesOrNoEnum> {
     YES(1,"是"),
-    NO(0,"否"),
-    YES_QUIT(2,"正常签退");
+    NO(0,"否");
 
     private Integer code;
     private String msg;

+ 13 - 0
mec-web/src/main/java/com/ym/mec/web/service/MusicGroupService.java

@@ -1,7 +1,20 @@
 package com.ym.mec.web.service;
 
 import com.ym.mec.common.service.BaseService;
+import com.ym.mec.web.dal.dto.SubFeeSettingDto;
 import com.ym.mec.web.dal.entity.MusicGroup;
 
 public interface MusicGroupService extends BaseService<String, MusicGroup> {
+
+    /**
+     * 建团申请,基本信息提交
+     * @param musicGroup
+     */
+    void add(MusicGroup musicGroup);
+
+    /**
+     * 建团申请数据提交
+     * @param subFeeSettingDto
+     */
+    void createGroup(SubFeeSettingDto subFeeSettingDto);
 }

+ 5 - 10
mec-web/src/main/java/com/ym/mec/web/service/impl/MusicGroupPaymentEntitiesServiceImpl.java

@@ -1,17 +1,15 @@
 package com.ym.mec.web.service.impl;
 
-import java.util.Date;
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.web.dal.dao.MusicGroupPaymentEntitiesDao;
 import com.ym.mec.web.dal.entity.MusicGroupPaymentEntities;
 import com.ym.mec.web.service.MusicGroupPaymentEntitiesService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
 
 @Service
 public class MusicGroupPaymentEntitiesServiceImpl extends BaseServiceImpl<Integer, MusicGroupPaymentEntities>  implements MusicGroupPaymentEntitiesService {
@@ -27,10 +25,7 @@ public class MusicGroupPaymentEntitiesServiceImpl extends BaseServiceImpl<Intege
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public void batchInsert(List<MusicGroupPaymentEntities> musicGroupPaymentEntities) {
-		Date date = new Date();
 		musicGroupPaymentEntities.forEach(e -> {
-			e.setCreateTime(date);
-			e.setUpdateTime(date);
 			musicGroupPaymentEntitiesDao.insert(e);
 		});
 	}

+ 44 - 0
mec-web/src/main/java/com/ym/mec/web/service/impl/MusicGroupServiceImpl.java

@@ -3,20 +3,64 @@ package com.ym.mec.web.service.impl;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.web.dal.dao.MusicGroupDao;
+import com.ym.mec.web.dal.dao.MusicGroupPaymentCalenderDao;
+import com.ym.mec.web.dal.dao.MusicGroupPaymentEntitiesDao;
+import com.ym.mec.web.dal.dto.SubFeeSettingDto;
 import com.ym.mec.web.dal.entity.MusicGroup;
+import com.ym.mec.web.dal.entity.MusicGroupPaymentCalender;
+import com.ym.mec.web.dal.entity.MusicGroupPaymentEntities;
 import com.ym.mec.web.service.MusicGroupService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
 
 @Service
 public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup>  implements MusicGroupService {
 	
 	@Autowired
 	private MusicGroupDao musicGroupDao;
+	@Autowired
+	private MusicGroupPaymentCalenderDao musicGroupPaymentCalenderDao;
+	@Autowired
+	private MusicGroupPaymentEntitiesDao musicGroupPaymentEntitiesDao;
 
 	@Override
 	public BaseDAO<String, MusicGroup> getDAO() {
 		return musicGroupDao;
 	}
 
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void add(MusicGroup musicGroup) {
+		musicGroupDao.insert(musicGroup);
+		String[] split = musicGroup.getPaymentMonth().split(",");
+		MusicGroupPaymentCalender mg;
+		for (String month:split) {
+			mg = new MusicGroupPaymentCalender();
+			mg.setMusicGroupId(musicGroup.getId());
+			mg.setPaymentMonth(Integer.parseInt(month));
+			musicGroupPaymentCalenderDao.insert(mg);
+		}
+	}
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void createGroup(SubFeeSettingDto subFeeSettingDto) {
+		MusicGroup musicGroup = subFeeSettingDto.getMusicGroup();
+		if(musicGroup != null){
+			musicGroupDao.insert(musicGroup);
+			List<MusicGroupPaymentEntities> musicGroupPaymentEntities = subFeeSettingDto.getMusicGroupPaymentEntities();
+			if(musicGroupPaymentEntities != null && musicGroupPaymentEntities.size() > 0){
+				musicGroupPaymentEntities.forEach(e ->{
+					e.setMusicGroupId(musicGroup.getId());
+					musicGroupPaymentEntitiesDao.insert(e);
+				});
+			}
+//			if(){
+//
+//			}
+		}
+	}
 }

+ 4 - 4
mec-web/src/main/java/com/ym/mec/web/service/impl/TeacherAttendanceServiceImpl.java

@@ -9,7 +9,7 @@ import com.ym.mec.web.dal.entity.CourseSchedule;
 import com.ym.mec.web.dal.entity.TeacherAttendance;
 import com.ym.mec.web.dal.enums.CourseStatusEnum;
 import com.ym.mec.web.dal.enums.ParamEnum;
-import com.ym.mec.web.dal.enums.YesOrNoEnum;
+import com.ym.mec.web.dal.enums.SignStatusEnum;
 import com.ym.mec.web.service.TeacherAttendanceService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -37,7 +37,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		TeacherAttendanceDto currentCourseDetail = courseScheduleDao.getCurrentCourseDetail(teacherAttendance.getCourseScheduleId());
 		courseSchedule.setId(currentCourseDetail.getCourseScheduleId());
 		Date date = new Date();
-		if(teacherAttendance.getStatus()!= YesOrNoEnum.YES_QUIT){
+		if(teacherAttendance.getStatus()!= SignStatusEnum.YES_QUIT){
 			StringBuilder startClassDateTimeString=new StringBuilder(new SimpleDateFormat("yyyy-MM-dd").format(currentCourseDetail.getClassDate()));
 			startClassDateTimeString.append(" ");
 			startClassDateTimeString.append(new SimpleDateFormat("HH:mm:ss").format(currentCourseDetail.getStartClassTime()));
@@ -50,9 +50,9 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 			}
 			Long timeGap=(date.getTime()-startClassTime.getTime())/1000/60;
 			if(timeGap<= ParamEnum.TEACHER_ATTENDANCE_TIME_GAP.getCode()){
-				teacherAttendance.setStatus(YesOrNoEnum.YES);
+				teacherAttendance.setStatus(SignStatusEnum.SIGN);
 			}else{
-				teacherAttendance.setStatus(YesOrNoEnum.NO);
+				teacherAttendance.setStatus(SignStatusEnum.EXCEPTION);
 			}
 			courseSchedule.setStatus(CourseStatusEnum.UNDERWAY);
 		}else{

+ 5 - 4
mec-web/src/main/resources/config/mybatis/MusicGroupMapper.xml

@@ -24,7 +24,7 @@
         <result column="bill_start_date_" property="billStartDate"/>
         <result column="improvent_classes_num_" property="improventClassesNum"/>
         <result column="enroll_classes_" property="enrollClasses"/>
-		<result column="payment_method_" property="paymentMethod" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler" />
+		<result column="is_extra_class_" property="isExtraClass"/>
     </resultMap>
 
     <!-- 根据主键查询一条记录 -->
@@ -42,7 +42,8 @@
             keyProperty="id">
         INSERT INTO music_group
         (id_,name_,organ_id_,school_id_,apply_expire_date_,improvent_classes_num_,enroll_classes_,team_teacher_id_,educational_teacher_id_,charge_type_id_,course_group_id_,class_period_,free_class_period_,create_time_,update_time_,status_,payment_expire_date_,bill_start_date_,payment_method_)
-        VALUES(#{id},#{name},#{organId},#{schoolId},#{applyExpireDate},#{improventClassesNum},#{enrollClasses},#{teamTeacherId},#{educationalTeacherId},#{chargeTypeId},#{courseGroupId},#{classPeriod},#{freeClassPeriod},now(),now(),#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{paymentExpireDate},#{billStartDate},#{paymentMethod, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
+        VALUES(#{id},#{name},#{organId},#{schoolId},#{applyExpireDate},#{improventClassesNum},#{enrollClasses},#{teamTeacherId},#{educationalTeacherId},#{chargeTypeId},#{courseGroupId},#{classPeriod},#{freeClassPeriod},now(),now(),#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+        #{paymentExpireDate},#{billStartDate},#{isExtraClass})
     </insert>
 
     <!-- 根据主键查询一条记录 -->
@@ -97,8 +98,8 @@
             <if test="teamTeacherId != null">
                 team_teacher_id_ = #{teamTeacherId},
             </if>
-			<if test="paymentMethod != null">
-				payment_method_ = #{paymentMethod, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+			<if test="isExtraClass != null">
+                is_extra_class_ = #{isExtraClass},
 			</if>
         </set>
         WHERE id_ = #{id}