Explorar el Código

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

Joburgess hace 4 años
padre
commit
3c87a8a42d

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

@@ -298,4 +298,13 @@ public interface MusicGroupPaymentCalenderDao extends BaseDAO<Long, MusicGroupPa
      * @return
      */
     List<MusicGroupPaymentCalender> getPaymentCalenderWithCalenderIdsAndPayUserType(@Param("calenderIds") List<Object> calenderIds, @Param("payUserType") PayUserType payUserType);
+
+    /**
+     * 获取学校审核通过的缴费项
+     *
+     * @param calenderId
+     * @return
+     */
+    MusicGroupPaymentCalender getSchoolCalender(@Param("calenderId") Long calenderId);
+
 }

+ 6 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentRouteOrderServiceImpl.java

@@ -136,9 +136,9 @@ public class StudentPaymentRouteOrderServiceImpl extends BaseServiceImpl<Long, S
             throw new BizException("流水号不能重复");
         }
         if (studentPaymentRouteOrder.getCalenderId() != null) {
-            MusicGroupPaymentCalender musicGroupPaymentCalender = musicGroupPaymentCalenderDao.get(studentPaymentRouteOrder.getCalenderId());
-            if (musicGroupPaymentCalender == null || !musicGroupPaymentCalender.getPayUserType().equals(MusicGroupPaymentCalender.PayUserType.SCHOOL)) {
-                throw new BizException("学校缴费单号不存在,请核查");
+            MusicGroupPaymentCalender musicGroupPaymentCalender = musicGroupPaymentCalenderDao.getSchoolCalender(studentPaymentRouteOrder.getCalenderId());
+            if (musicGroupPaymentCalender == null) {
+                throw new BizException("学校缴费单号(审核通过)不存在,请核查");
             }
         }
         Date nowDate = new Date();
@@ -303,11 +303,9 @@ public class StudentPaymentRouteOrderServiceImpl extends BaseServiceImpl<Long, S
             //根据学校缴费项id,确定缴费状态
             BigDecimal amount = studentPaymentRouteOrderDao.sumAmountByCalenderId(studentPaymentRouteOrder.getCalenderId());
             List<MusicGroupPaymentCalenderDetail> calenderDetails = musicGroupPaymentCalenderDetailDao.getCalenderDetailWithCalender(studentPaymentRouteOrder.getCalenderId());
-            BigDecimal schoolNeedPayAmount = calenderDetails.stream().map(MusicGroupPaymentCalenderDetail::getExpectAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
             MusicGroupPaymentCalender musicGroupPaymentCalender = musicGroupPaymentCalenderDao.get(studentPaymentRouteOrder.getCalenderId());
 
-            if (amount.compareTo(schoolNeedPayAmount) >= 0 &&
-                    !musicGroupPaymentCalender.getStatus().equals(MusicGroupPaymentCalender.PaymentCalenderStatusEnum.PAID)) {
+            if (amount.compareTo(musicGroupPaymentCalender.getPaymentAmount()) >= 0) {
                 musicGroupPaymentCalender.setActualNum(musicGroupPaymentCalender.getExpectNum());
                 musicGroupPaymentCalender.setStatus(MusicGroupPaymentCalender.PaymentCalenderStatusEnum.PAID);
                 musicGroupPaymentCalenderDao.update(musicGroupPaymentCalender);
@@ -318,7 +316,7 @@ public class StudentPaymentRouteOrderServiceImpl extends BaseServiceImpl<Long, S
                     calenderDetail.setPayTime(nowDate);
                     calenderDetail.setUpdateTime(nowDate);
                 }
-                if(calenderDetails.size() >0 ) {
+                if (calenderDetails.size() > 0) {
                     musicGroupPaymentCalenderDetailDao.batchUpdate(calenderDetails);
                 }
             }
@@ -479,7 +477,7 @@ public class StudentPaymentRouteOrderServiceImpl extends BaseServiceImpl<Long, S
                     }
                     if (columnValue.equals("calenderId")) {
                         if (StringUtils.isNotBlank(row.get(s).toString()) && !schoolCalender.containsKey(row.get(s).toString())) {
-                            sb.append("第" + rowNum).append("行数据导入失败:学校缴费单号不存在;");
+                            sb.append("第" + rowNum).append("行数据导入失败:学校缴费单号(审核通过)不存在;");
                             continue valueIsNull;
                         } else {
                             objectMap.put("calenderId", row.get(s));

+ 5 - 1
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderMapper.xml

@@ -545,11 +545,15 @@
     </select>
 
     <select id="getPaymentCalenderWithCalenderIdsAndPayUserType" resultMap="MusicGroupPaymentCalender">
-        SELECT * FROM music_group_payment_calender mgpc
+        SELECT * FROM music_group_payment_calender
         WHERE id_ IN
         <foreach collection="calenderIds" item="calenderId" open="(" close=")" separator=",">
             #{calenderId}
         </foreach>
         AND pay_user_type_ = #{payUserType}
+        AND status_ IN ('NO', 'OPEN', 'OVER', 'PAID');
+    </select>
+    <select id="getSchoolCalender" resultMap="MusicGroupPaymentCalender">
+        SELECT * FROM music_group_payment_calender WHERE id_ = #{calenderId} AND status_ IN ('NO', 'OPEN', 'OVER', 'PAID');
     </select>
 </mapper>