Sfoglia il codice sorgente

Merge remote-tracking branch 'origin/master'

Joburgess 5 anni fa
parent
commit
3d8e4a3dfb

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupStudentFeeDao.java

@@ -202,4 +202,11 @@ public interface MusicGroupStudentFeeDao extends BaseDAO<Long, MusicGroupStudent
 	 * @return
 	 */
     List<FeeStudentDto> queryFeeStudents(@Param("musicGroupId") String musicGroupId, @Param("search") String search, @Param("subjectId") Integer subjectId);
+
+	/**
+	 * 根据缴费项目修改缴费状态
+	 * @param calenderId
+	 * @param paymentStatus
+	 */
+	void updatePaymentStatus(@Param("calenderId") Long calenderId, @Param("paymentStatus") String paymentStatus);
 }

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderService.java

@@ -40,9 +40,10 @@ public interface MusicGroupPaymentCalenderService extends BaseService<Long, Musi
 	/**
 	 * 修改缴费日期
 	 * @param startTime
+	 * @param endTime
 	 * @param id
 	 */
-    void updateStartTime(Date startTime, Long id);
+    void updateStartTime(Date startTime,Date endTime,Long id);
 
 	/**
 	 * 删除

+ 19 - 13
mec-biz/src/main/java/com/ym/mec/biz/service/impl/DegreeRegistrationServiceImpl.java

@@ -59,7 +59,7 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
         Date nowDate = new Date();
         //获取收费项价格
         SporadicChargeInfo chargeInfo = sporadicChargeInfoDao.get(degreeRegistration.getSporadicId());
-        if (chargeInfo == null) {
+        if (chargeInfo == null || chargeInfo.getDelFlag().equals(1) || chargeInfo.getOpenFlag().equals(1)) {
             throw new BizException("你选的考试级别不存在");
         }
         if (chargeInfo.getTitle().equals("二级") && StringUtils.isBlank(degreeRegistration.getTheoryCert())) {
@@ -67,18 +67,23 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
         }
         degreeRegistration.setLevel(chargeInfo.getTitle());
         BigDecimal theoryMoney = BigDecimal.ZERO;
-        if (degreeRegistration.getTheoryLevel().equals("一级")) {
-            theoryMoney = new BigDecimal(200);
-        } else if (degreeRegistration.getTheoryLevel().equals("二级")) {
-            theoryMoney = new BigDecimal(240);
-        } else if (degreeRegistration.getTheoryLevel().equals("三级")) {
-            theoryMoney = new BigDecimal(280);
-        } else if (degreeRegistration.getTheoryLevel().equals("四级")) {
-            theoryMoney = new BigDecimal(320);
-        } else if (degreeRegistration.getTheoryLevel().equals("免考")) {
-
-        } else {
-            throw new BizException("您选择的乐理级别不存在,请核对");
+        switch (degreeRegistration.getTheoryLevel()) {
+            case "一级":
+                theoryMoney = new BigDecimal(200);
+                break;
+            case "二级":
+                theoryMoney = new BigDecimal(240);
+                break;
+            case "三级":
+                theoryMoney = new BigDecimal(280);
+                break;
+            case "四级":
+                theoryMoney = new BigDecimal(320);
+                break;
+            case "免考":
+                break;
+            default:
+                throw new BizException("您选择的乐理级别不存在,请核对");
         }
         degreeRegistration.setTheoryMoney(theoryMoney);
         DegreeRegistration degree = degreeRegistrationDao.findByMobileAndSporadicId(degreeRegistration.getMobile(), degreeRegistration.getSporadicId());
@@ -93,6 +98,7 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
         } else {
             degreeRegistration.setId(degree.getId());
             degreeRegistration.setStatus(1);
+            degreeRegistration.setCreateTime(nowDate);
             degreeRegistration.setUpdateTime(nowDate);
             degreeRegistrationDao.update(degreeRegistration);
         }

+ 5 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderDetailServiceImpl.java

@@ -121,13 +121,17 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 		if(calenderDetails.size() == 0){
 			return "操作失败,没有可以开启缴费的学员";
 		}
+		Long musicGroupPaymentCalenderId = calenderDetails.get(0).getMusicGroupPaymentCalenderId();
+		MusicGroupPaymentCalender calender = musicGroupPaymentCalenderDao.get(musicGroupPaymentCalenderId);
+		Date startPaymentDate = calender.getStartPaymentDate();
+		Date deadlinePaymentDate = calender.getDeadlinePaymentDate();
 		int length = ids.split(",").length;
 		Date date = new Date();
 		Iterator<MusicGroupPaymentCalenderDetail> iterator = calenderDetails.iterator();
 		MusicGroupPaymentCalenderDetail next;
 		while(iterator.hasNext()){
 			next = iterator.next();
-			int count1 = musicGroupPaymentCalenderDao.queryIntersectionByPaymentDate(next.getMusicGroupId(),date,date);
+			int count1 = musicGroupPaymentCalenderDao.queryIntersectionByPaymentDate(next.getMusicGroupId(),startPaymentDate,deadlinePaymentDate);
 			int count = musicGroupPaymentCalenderDetailDao.queryIntersectionByPaymentDate(next.getMusicGroupId(),next.getUserId());
 			if(count > 0 || count1 > 0){
 				iterator.remove();

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

@@ -338,8 +338,8 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public void updateStartTime(Date startTime, Long id) {
-		if (startTime == null || id == null) {
+	public void updateStartTime(Date startTime,Date endTime,Long id) {
+		if (startTime == null || id == null || endTime == null) {
 			throw new BizException("参数校验失败");
 		}
 		MusicGroupPaymentCalender calender = musicGroupPaymentCalenderDao.get(id);
@@ -349,9 +349,38 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		if (calender.getPaymentStatus() == null || calender.getPaymentStatus() != NO) {
 			throw new BizException("修改失败,缴费状态不匹配");
 		}
+		Date date = new Date();
+		// 判断缴费开始时间、结束时间是否被其他缴费记录占用
+		int count = musicGroupPaymentCalenderDao.queryIntersectionByPaymentDate(calender.getMusicGroupId(), startTime,endTime);
+		if (count > 1) {
+			throw new BizException("缴费时间存在冲突,请修改缴费开始日期");
+		}
 		calender.setStartPaymentDate(startTime);
-		calender.setDeadlinePaymentDate(DateUtil.addDays(startTime, 3));
-		calender.setUpdateTime(new Date());
+		calender.setDeadlinePaymentDate(endTime);
+		calender.setUpdateTime(date);
+		if (date.after(endTime)) {
+			calender.setPaymentStatus(PaymentStatusEnum.YES);
+		} else if (date.after(startTime)) {
+			calender.setPaymentStatus(PaymentStatusEnum.OPEN);
+			//修改Fee缴费状态为未缴费
+			musicGroupStudentFeeDao.updatePaymentStatus(calender.getId(),"NON_PAYMENT");
+			List<MusicGroupPaymentCalenderDetail> details = musicGroupPaymentCalenderDetailDao.queryByCalenderId(calender.getId());
+			Set<Integer> studentIds = details.stream().map(e -> e.getUserId()).collect(Collectors.toSet());
+			if (studentIds.size() > 0) {
+				Map<Integer, String> push = new HashMap<>();
+				for (Integer userId : studentIds) {
+					push.put(userId, userId + "");
+				}
+				MusicGroup musicGroup = musicGroupDao.get(calender.getMusicGroupId());
+				String configValue = sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL);
+				String memo = "4?" + configValue + "/#/renew?musicGroupId=" + musicGroup.getId();
+				// 发送续费通知
+				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_WAIT_RENEW_MESSAGE, push,
+						null, 0, memo, "STUDENT", musicGroup.getName());
+			}
+		} else {
+			calender.setPaymentStatus(PaymentStatusEnum.NO);
+		}
 		musicGroupPaymentCalenderDao.update(calender);
 	}
 

+ 3 - 6
mec-biz/src/main/resources/config/mybatis/DegreeRegistrationMapper.xml

@@ -72,9 +72,6 @@
             <if test="level != null">
                 AND level_= #{level}
             </if>
-            <if test="level != null">
-                AND level_= #{level}
-            </if>
         </where>
     </sql>
 
@@ -82,6 +79,7 @@
     <select id="queryPage" resultMap="DegreeRegistration" parameterType="map">
         SELECT * FROM degree_registration
         <include refid="queryPageSql"/>
+        <include refid="global.orderby"/>
         <include refid="global.limit"/>
     </select>
 
@@ -114,9 +112,8 @@
         #{idcard,jdbcType=VARCHAR}, #{city,jdbcType=VARCHAR}, #{school,jdbcType=VARCHAR},
         #{subject,jdbcType=VARCHAR},#{level,jdbcType=VARCHAR},
         #{theoryLevel,jdbcType=VARCHAR},#{theoryMoney,jdbcType=DECIMAL},
-        #{theoryLevel,jdbcType=VARCHAR}#{mobile,jdbcType=VARCHAR},#{money,jdbcType=DECIMAL}, #{memo,jdbcType=VARCHAR},
-        #{createTime},
-        #{updateTime}, #{status,jdbcType=TINYINT})
+        #{theoryCert,jdbcType=VARCHAR},#{mobile,jdbcType=VARCHAR},#{money,jdbcType=DECIMAL}, #{memo,jdbcType=VARCHAR},
+        #{createTime}, #{updateTime}, #{status,jdbcType=TINYINT})
     </insert>
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.DegreeRegistration">
         <!--@mbg.generated-->

+ 7 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupStudentFeeMapper.xml

@@ -357,4 +357,11 @@
         SET mgsf.remain_network_class_times_ = mgsf.remain_network_class_times_ + 1
         WHERE mgpcd.music_group_payment_calender_id_ = mgpc.id_ AND FIND_IN_SET(mgpcd.id_,#{musicGroupPaymentCalenderDetailIds})
     </update>
+    <update id="updatePaymentStatus">
+        UPDATE music_group_student_fee_ mgsf
+        LEFT JOIN music_group_payment_calender_detail mgpcd ON mgpcd.user_id_ = mgsf.user_id_
+        LEFT JOIN music_group_payment_calender mgpc ON mgpc.music_group_id_ = mgsf.music_group_id_
+        SET mgsf.payment_status_ = #{paymentStatus},mgsf.update_time_ = NOW()
+        WHERE mgpcd.music_group_payment_calender_id_ = mgpc.id_ AND mgpc.id_ = #{calenderId}
+    </update>
 </mapper>

+ 1 - 0
mec-student/src/main/java/com/ym/mec/student/controller/DegreeController.java

@@ -112,6 +112,7 @@ public class DegreeController extends BaseController {
         queryInfo.setOrganId("42");
         queryInfo.setChargeType(SporadicChargeTypeEnum.LEVEL);
         queryInfo.setRows(99);
+        queryInfo.setOpenFlag(0);
         queryInfo.setSort("amount_");
         queryInfo.setOrder("ASC");
         return succeed(sporadicChargeInfoService.queryDetailPage(queryInfo));

+ 11 - 4
mec-web/src/main/java/com/ym/mec/web/config/ResourceServerConfig.java

@@ -24,10 +24,17 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
 
 	@Override
 	public void configure(HttpSecurity http) throws Exception {
-		http.csrf().disable().exceptionHandling().accessDeniedHandler(baseAccessDeniedHandler).authenticationEntryPoint(baseAuthenticationEntryPoint).and()
-				.authorizeRequests().antMatchers("/task/**").hasIpAddress("0.0.0.0/0")
-				.antMatchers("/v2/api-docs", "/classGroup/highClassGroups", "/code/*", "/api/*", "/appVersionInfo/queryByPlatform","/eduDegree/*").permitAll().anyRequest()
-				.authenticated().and().httpBasic();
+		http.csrf()
+				.disable()
+				.exceptionHandling()
+				.accessDeniedHandler(baseAccessDeniedHandler)
+				.authenticationEntryPoint(baseAuthenticationEntryPoint)
+				.and()
+				.authorizeRequests()
+				.antMatchers("/task/**")
+				.hasIpAddress("0.0.0.0/0")
+				.antMatchers("/v2/api-docs", "/classGroup/highClassGroups", "/code/*", "/api/*", "/appVersionInfo/queryByPlatform", "/eduDegree/*",
+						"/uploadFile").permitAll().anyRequest().authenticated().and().httpBasic();
 	}
 
 	@Override

+ 0 - 27
mec-web/src/main/java/com/ym/mec/web/config/WebMvcConfig.java

@@ -1,44 +1,17 @@
 package com.ym.mec.web.config;
 
-import java.io.IOException;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.LocalTime;
-import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.List;
 
 import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Primary;
 import org.springframework.format.FormatterRegistry;
 import org.springframework.http.MediaType;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonDeserializer;
-import com.fasterxml.jackson.databind.JsonSerializer;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
-import com.fasterxml.jackson.databind.SerializerProvider;
-import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
-import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
-import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
-import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer;
-import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
-import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
-import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer;
 import com.ym.mec.common.config.EnumConverterFactory;
 import com.ym.mec.common.config.LocalFastJsonHttpMessageConverter;
-import com.ym.mec.common.enums.BaseEnum;
 
 @Configuration
 public class WebMvcConfig implements WebMvcConfigurer {

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

@@ -53,8 +53,8 @@ public class MusicGroupPaymentCalenderController extends BaseController {
     @ApiOperation(value = "修改乐团缴费日历")
     @PostMapping("/updateStartTime")
     @PreAuthorize("@pcs.hasPermissions('musicGroupPaymentCalender/updateStartTime')")
-    public Object updateStartTime(Date startTime,Long id) {
-        musicGroupPaymentCalenderService.updateStartTime(startTime,id);
+    public Object updateStartTime(Date startTime,Date endTime,Long id) {
+        musicGroupPaymentCalenderService.updateStartTime(startTime,endTime,id);
         return succeed();
     }
 

+ 0 - 3
mec-web/src/main/java/com/ym/mec/web/controller/UploadFileController.java

@@ -7,8 +7,6 @@ import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.MediaType;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
@@ -32,7 +30,6 @@ public class UploadFileController extends BaseController {
 	private UploadFileService uploadFileService;
 
 	@PostMapping(value = "uploadFile")
-	@PreAuthorize("@pcs.hasPermissions('uploadFile','system')")
 	public Object uploadFile(@ApiParam(value = "上传的文件", required = true) @RequestParam("file") MultipartFile file) {
 		try {
 			if (file != null && StringUtils.isNotBlank(file.getOriginalFilename())) {

+ 2 - 0
mec-web/src/main/java/com/ym/mec/web/controller/education/EduDegreeController.java

@@ -54,6 +54,8 @@ public class EduDegreeController extends BaseController {
     @GetMapping("/queryPage")
     public HttpResponseResult queryPage(DegreeQueryInfo queryInfo) {
         queryInfo.setStatus(2);
+        queryInfo.setSort("create_time_");
+        queryInfo.setOrder("DESC");
         return succeed(degreeRegistrationService.getPageList(queryInfo));
     }