Explorar o código

Merge remote-tracking branch 'origin/teacher_income' into teacher_income

Joburgess %!s(int64=4) %!d(string=hai) anos
pai
achega
bc9e6f1112

+ 7 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/dal/dao/SysRoleDao.java

@@ -21,4 +21,11 @@ public interface SysRoleDao extends BaseDAO<Integer, SysRole> {
      * @return
      */
     SysRole findRoleByCode(@Param("code") String code);
+
+    /**
+     * 根据角色名称获取角色
+     * @param roleName
+     * @return
+     */
+    SysRole findByRoleName(String roleName);
 }

+ 9 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysRoleServiceImpl.java

@@ -6,6 +6,7 @@ import com.ym.mec.auth.dal.dao.SysRoleDao;
 import com.ym.mec.auth.dal.dao.SysRoleMenuDao;
 import com.ym.mec.auth.service.SysRoleService;
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -40,6 +41,10 @@ public class SysRoleServiceImpl extends BaseServiceImpl<Integer, SysRole>  imple
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public void addRole(SysRole sysRole) {
+		SysRole findByName = sysRoleDao.findByRoleName(sysRole.getRoleName());
+		if(findByName != null){
+			throw new BizException("操作失败:角色 {} 已存在",sysRole.getRoleName());
+		}
 		sysRoleDao.insert(sysRole);
 		batchSave(sysRole);
 	}
@@ -47,6 +52,10 @@ public class SysRoleServiceImpl extends BaseServiceImpl<Integer, SysRole>  imple
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public void updateRole(SysRole sysRole) {
+		SysRole findByName = sysRoleDao.findByRoleName(sysRole.getRoleName());
+		if(findByName != null && !findByName.getId().equals(sysRole.getId())){
+			throw new BizException("操作失败:角色 {} 已存在",sysRole.getRoleName());
+		}
 		sysRole.setUpdateTime(new Date());
 		sysRoleDao.update(sysRole);
 		sysRoleMenuDao.deleteAllMenu(sysRole.getId());

+ 3 - 0
mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysRoleMapper.xml

@@ -83,4 +83,7 @@
     <select id="findRoleByCode" resultMap="SysRole">
         SELECT sr.* FROM sys_role WHERE role_code_ = #{code} AND sr.del_flag_ = 0
     </select>
+    <select id="findByRoleName" resultMap="SysRole">
+        SELECT * FROM sys_role WHERE role_name_ = #{roleName} AND del_flag_ = 0 LIMT 1
+    </select>
 </mapper>

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

@@ -4,6 +4,7 @@ import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.enums.PracticeGroupType;
 import com.ym.mec.biz.dal.enums.StudentAttendanceStatusEnum;
 import com.ym.mec.biz.dal.enums.TeachTypeEnum;
+import com.ym.mec.biz.dal.enums.UpdateAttendanceEnum;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.util.List;
@@ -83,6 +84,9 @@ public class CourseScheduleDto extends CourseSchedule {
     //申述内容
     private String complaintsContent;
 
+    //申诉考勤的方式  SIGN_IN签到,SIGN_OUT签退,ALL所有
+    private UpdateAttendanceEnum complaintsType;
+
     //申述凭证
     private String url;
 
@@ -93,6 +97,14 @@ public class CourseScheduleDto extends CourseSchedule {
 
     private PracticeGroupType practiceType;
 
+    public UpdateAttendanceEnum getComplaintsType() {
+        return complaintsType;
+    }
+
+    public void setComplaintsType(UpdateAttendanceEnum complaintsType) {
+        this.complaintsType = complaintsType;
+    }
+
     public String getHeadUrl() {
         return headUrl;
     }

+ 4 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -1140,26 +1140,27 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 				}
 			}
 			MusicGroupPaymentCalender calender = musicGroupPaymentCalenders.get(0);
+			MusicGroup musicGroup = musicGroupDao.get(calender.getMusicGroupId());
 			if(calender.getPaymentType() == ADD_STUDENT || calender.getPaymentType() == SPAN_GROUP_CLASS_ADJUST){
 				// 所有缴费项目已完成排课才能创建下一个缴费项目
 				List<String> batchNoList = new ArrayList<>();
 				batchNoList.add(batchNo);
 				String orignBatchNo = musicGroupPaymentStudentCourseDetailDao.getUnUseBatchNoWithStudentAndCourseTypeAndCourseMinutes(calender.getMusicGroupId(), null, null,batchNoList);
 				if (StringUtils.isNoneBlank(orignBatchNo)) {
-					throw new BizException("当前乐团存在未排课的缴费项目,请先完成排课再操作");
+					throw new BizException("{} 存在未排课的缴费项目,请先完成排课再操作",musicGroup.getName());
 				}
 				List<Integer> userIds = Arrays.stream(calender.getStudentIds().split(",")).mapToInt(Integer::valueOf).boxed().collect(Collectors.toList());
 				//获取欠费学员列表
 				List<Integer> noPaymentUserIds = musicGroupPaymentCalenderDetailDao.queryNoPaymentUserIds(calender.getMusicGroupId(),userIds);
 				if(noPaymentUserIds.size() > 0){
-					throw new BizException("操作失败:有欠费的学员不允许创建缴费");
+					throw new BizException("{} 有欠费的学员不允许创建缴费",musicGroup.getName());
 				}
 				//获取缴费状态在审核中或者已拒绝的缴费项目的学员
 				String studentIds = musicGroupPaymentCalenderDao.queryCalenderStudentIds(calender.getMusicGroupId(),batchNo);
 				if(StringUtils.isNotEmpty(studentIds)){
 					for (Integer integer : userIds) {
 						if(studentIds.contains(integer.toString())){
-							throw new BizException("操作失败:所选学员有待审核或已拒绝的缴费项目");
+							throw new BizException("{} 的 {} 缴费项目,所选学员有待审核或已拒绝的缴费项目",musicGroup.getName(),calender.getPaymentType().getCode());
 						}
 					}
 				}
@@ -1169,7 +1170,6 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 				//统计乐团还在审核中或者审核被拒的缴费
 				int count = musicGroupPaymentCalenderDao.countAuditReject(calender.getMusicGroupId(),calender.getId());
 				if(count == 0){
-					MusicGroup musicGroup = musicGroupDao.get(calender.getMusicGroupId());
 					musicGroup.setStatus(MusicGroupStatusEnum.APPLY);
 					musicGroup.setUpdateTime(date);
 					musicGroupDao.update(musicGroup);

+ 2 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -73,6 +73,7 @@
         <result column="is_complaints_" property="isComplaints"/>
         <result column="complaints_status_" property="complaintsStatus"/>
         <result column="complaints_content_" property="complaintsContent"/>
+        <result column="complaints_type_" property="complaintsType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="url_" property="url"/>
         <result column="dispose_content_" property="disposeContent"/>
         <result column="seal_class_id_" property="sealClassId"/>
@@ -736,6 +737,7 @@
                ta.sign_in_time_,
                ta.complaints_status_,
                ta.complaints_content_,
+               ta.complaints_type_,
                ta.url_,
                ta.dispose_content_,
                cs.teach_mode_

+ 4 - 0
mec-biz/src/main/resources/config/mybatis/TeacherAttendanceMapper.xml

@@ -24,6 +24,7 @@
         <result column="sign_in_longitude_latitude_" property="signInLongitudeLatitude"/>
         <result column="sign_out_longitude_latitude_" property="signOutLongitudeLatitude"/>
         <result column="longitude_latitude_" property="schoolLongitudeLatitude"/>
+        <result column="complaints_type_" property="complaintsType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="is_complaints_" property="isComplaints"/>
         <result column="complaints_status_" property="complaintsStatus" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="complaints_content_" property="complaintsContent"/>
@@ -150,6 +151,9 @@
             <if test="isComplaints != null">
                 is_complaints_ = #{isComplaints},
             </if>
+            <if test="complaintsType != null">
+                complaints_type_ = #{complaintsType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            </if>
             <if test="complaintsStatus != null">
                 complaints_status_ = #{complaintsStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>