Selaa lähdekoodia

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

yonge 4 vuotta sitten
vanhempi
commit
11750f06ad

+ 23 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderDao.java

@@ -207,4 +207,27 @@ public interface MusicGroupPaymentCalenderDao extends BaseDAO<Long, MusicGroupPa
      * @return
      */
     MusicGroupPaymentCalender findByMusicGroupRegCalender(@Param("musicGroupId") String musicGroupId);
+
+    /**
+     * @describe 获取收费标准名称
+     * @apiNote 时光荏苒,认真工作的时间总是过得很快,而我、享受这一刻!
+     * @author zouxuan
+     * @date 2020/11/4
+     * @time 10:11
+     * @param calenderId:
+     * @return java.lang.String
+     */
+    String getCalenderSettingsName(Long calenderId);
+
+    /**
+     * @describe 统计乐团还在审核中或者审核被拒的缴费
+     * @apiNote 时光荏苒,认真工作的时间总是过得很快,而我、享受这一刻!
+     * @author zouxuan
+     * @date 2020/11/4
+     * @time 10:37
+     * @param musicGroupId:
+     * @param calenderId:
+     * @return int
+     */
+    int countAuditReject(@Param("musicGroupId") String musicGroupId, @Param("calenderId") Long calenderId);
 }

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

@@ -27,7 +27,6 @@ import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
-
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -182,14 +181,17 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 
 			// 如果是报名,需要修改乐团状态
 			if (musicGroupPaymentCalender.getPaymentType() == MUSIC_APPLY) {
-				if (musicGroup.getStatus() != MusicGroupStatusEnum.DRAFT) {
-					throw new BizException("创建失败:缴费项目类型不匹配");
+				int countAuditReject = musicGroupPaymentCalenderDao.countAuditReject(musicGroupPaymentCalender.getMusicGroupId(),null);
+				if(countAuditReject == 0){
+					if (musicGroup.getStatus() != MusicGroupStatusEnum.DRAFT) {
+						throw new BizException("创建失败:缴费项目类型不匹配");
+					}
+					musicGroup.setStatus(MusicGroupStatusEnum.AUDIT);
+					musicGroup.setUpdateTime(date);
+					// 记录操作日志
+					musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "报名缴费项目创建成功(草稿 -> 审核中)", sysUser.getId(), ""));
+					musicGroupDao.update(musicGroup);
 				}
-				musicGroup.setStatus(MusicGroupStatusEnum.AUDIT);
-				musicGroup.setUpdateTime(date);
-				// 记录操作日志
-				musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "报名缴费项目创建成功(草稿 -> 审核中)", sysUser.getId(), ""));
-				musicGroupDao.update(musicGroup);
 			}
 		}
 
@@ -222,8 +224,13 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		calender.setActualNum(actualNumMap.get(id) == null ? 0 : actualNumMap.get(id).intValue());
 		calender.setExpectNum(expectNumMap.get(id) == null ? 0 : expectNumMap.get(id).intValue());
 		BigDecimal sumActualAmount = musicGroupPaymentCalenderDetailDao.sumActualAmount(id);
+		//收费标准名称
+		String name = musicGroupPaymentCalenderDao.getCalenderSettingsName(id);
+		List<MusicGroupPaymentCalenderCourseSettings> musicGroupPaymentCalenderCourseSettings = musicGroupPaymentCalenderCourseSettingsDao.queryCalenderCourseSettings(id);
 		Map<String, Object> result = new HashMap<>(2);
+		result.put("musicGroupPaymentCalenderCourseSettings", musicGroupPaymentCalenderCourseSettings);
 		result.put("calender", calender);
+		result.put("calenderSettingsName", name);
 		result.put("sumActualAmount", sumActualAmount);
 		return result;
 	}
@@ -323,15 +330,19 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 			}
 
 			// 如果是报名,需要修改乐团状态
+
 			if (musicGroupPaymentCalender.getPaymentType() == MUSIC_APPLY) {
-				if (musicGroup.getStatus() != MusicGroupStatusEnum.DRAFT) {
-					throw new BizException("创建失败:缴费项目类型不匹配");
+				int countAuditReject = musicGroupPaymentCalenderDao.countAuditReject(musicGroupPaymentCalender.getMusicGroupId(),musicGroupPaymentCalender.getId());
+				if(countAuditReject == 0){
+					if (musicGroup.getStatus() != MusicGroupStatusEnum.DRAFT) {
+						throw new BizException("创建失败:缴费项目类型不匹配");
+					}
+					musicGroup.setStatus(MusicGroupStatusEnum.AUDIT);
+					musicGroup.setUpdateTime(date);
+					// 记录操作日志
+					musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "报名缴费项目创建成功(草稿 -> 审核中)", sysUser.getId(), ""));
+					musicGroupDao.update(musicGroup);
 				}
-				musicGroup.setStatus(MusicGroupStatusEnum.AUDIT);
-				musicGroup.setUpdateTime(date);
-				// 记录操作日志
-				musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "报名缴费项目创建成功(草稿 -> 审核中)", sysUser.getId(), ""));
-				musicGroupDao.update(musicGroup);
 			}
 		}
 		
@@ -453,23 +464,26 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		} else {
 			musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.NO);
 		}
-		//如果是报名,需要修改乐团状态
-		if (musicGroupPaymentCalender.getPaymentType() == MUSIC_APPLY) {
-			MusicGroup musicGroup = musicGroupDao.get(musicGroupPaymentCalender.getMusicGroupId());
-			musicGroup.setStatus(MusicGroupStatusEnum.AUDIT);
-			musicGroup.setUpdateTime(date);
-			musicGroupDao.update(musicGroup);
-			SysUser sysUser = sysUserFeignService.queryUserInfo();
-			if(sysUser == null || sysUser.getId() == null){
-				throw new BizException("请重新登录");
-			}
-			//记录操作日志
-			musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroup.getId(), "报名缴费项目通过(草稿 -> 审核中)", sysUser.getId(), ""));
-
-		}
 		musicGroupPaymentCalender.setAuditMemo(auditMemo);
 		musicGroupPaymentCalender.setUpdateTime(date);
 		musicGroupPaymentCalenderDao.update(musicGroupPaymentCalender);
+		//如果是报名,并且所有的报名都审核通过,需要修改乐团状态
+
+		if (musicGroupPaymentCalender.getPaymentType() == MUSIC_APPLY) {
+			int count = musicGroupPaymentCalenderDao.countAuditReject(musicGroupPaymentCalender.getMusicGroupId(),calenderId);
+			if(count == 0){
+				MusicGroup musicGroup = musicGroupDao.get(musicGroupPaymentCalender.getMusicGroupId());
+				musicGroup.setStatus(MusicGroupStatusEnum.AUDIT);
+				musicGroup.setUpdateTime(date);
+				musicGroupDao.update(musicGroup);
+				SysUser sysUser = sysUserFeignService.queryUserInfo();
+				if(sysUser == null || sysUser.getId() == null){
+					throw new BizException("请重新登录");
+				}
+				//记录操作日志
+				musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroup.getId(), "报名缴费项目通过(草稿 -> 审核中)", sysUser.getId(), ""));
+			}
+		}
 	}
 
 	@Override

+ 11 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderMapper.xml

@@ -443,4 +443,15 @@
     <select id="findByMusicGroupRegCalender" resultMap="MusicGroupPaymentCalender">
         SELECT * FROM music_group_payment_calender WHERE music_group_id_=#{musicGroupId} AND payment_type_='MUSIC_APPLY'
     </select>
+    <select id="getCalenderSettingsName" resultType="java.lang.String">
+        SELECT name_ FROM music_group_payment_calender_course_settings
+        WHERE music_group_payment_calender_id_ = #{calenderId} LIMIT 1
+    </select>
+    <select id="countAuditReject" resultType="java.lang.Integer">
+        SELECT COUNT(0) FROM music_group_payment_calender
+        WHERE music_group_id_ = #{musicGroupId} AND payment_type_='MUSIC_APPLY' AND status_ IN ('REJECT','AUDITING')
+        <if test="calenderId != null">
+            AND id_ != #{calenderId}
+        </if>
+    </select>
 </mapper>