Sfoglia il codice sorgente

Merge branch 'hr_728'

yonge 3 anni fa
parent
commit
4a1ecf2d2c

+ 43 - 24
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -2180,29 +2180,41 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                     studentLastChange = subjectChangeDao.getStudentLastChange(userId, musicGroupId);
                 }
                 
-				if (studentLastChange != null && minPaymentOrderId <= studentLastChange.getOriginalOrderId()) {
-					if (isRefundInstrumentFee) {
-						amount = amount.add(studentLastChange.getChangeMusicalPrice());
-					}
+    			if (studentLastChange != null && minPaymentOrderId <= studentLastChange.getOriginalOrderId()) {
+    				if (isRefundInstrumentFee) {
+    					amount = amount.add(studentLastChange.getChangeMusicalPrice());
+    					
+    					StudentInstrument studentMaintenance = studentInstrumentDao.getByOrderId(studentLastChange.getOrderId().longValue());
+    		            if (studentMaintenance != null) {
+    		                studentMaintenance.setDelFlag(1);
+    		                studentInstrumentDao.update(studentMaintenance);
+    		            }
+    				}
 
-					if (isRefundTeachingAssistantsFee) {
-						amount = amount.add(studentLastChange.getChangeAccessoriesPrice());
-					}
-				} else {
-					for (StudentPaymentOrderDetail detail : orderDetailList) {
-
-						// 退乐器费用
-						if (isRefundInstrumentFee && detail.getType() == OrderDetailTypeEnum.MUSICAL) {
-							amount = amount.add(detail.getPrice()).subtract(detail.getRemitFee());
-						}
-
-						// 退教辅费用
-						if (isRefundTeachingAssistantsFee
-								&& (detail.getType() == OrderDetailTypeEnum.ACCESSORIES || detail.getType() == OrderDetailTypeEnum.TEACHING)) {
-							amount = amount.add(detail.getPrice()).subtract(detail.getRemitFee());
-						}
-					}
-				}
+    				if (isRefundTeachingAssistantsFee) {
+    					amount = amount.add(studentLastChange.getChangeAccessoriesPrice());
+    				}
+    			} else {
+    				for (StudentPaymentOrderDetail detail : orderDetailList) {
+
+    					// 退乐器费用
+    					if (isRefundInstrumentFee && detail.getType() == OrderDetailTypeEnum.MUSICAL) {
+    						amount = amount.add(detail.getPrice()).subtract(detail.getRemitFee());
+    						
+    						StudentInstrument studentMaintenance = studentInstrumentDao.getStudentMaintenance(userId, musicGroupId);
+    			            if (studentMaintenance != null) {
+    			                studentMaintenance.setDelFlag(1);
+    			                studentInstrumentDao.update(studentMaintenance);
+    			            }
+    					}
+
+    					// 退教辅费用
+    					if (isRefundTeachingAssistantsFee
+    							&& (detail.getType() == OrderDetailTypeEnum.ACCESSORIES || detail.getType() == OrderDetailTypeEnum.TEACHING)) {
+    						amount = amount.add(detail.getPrice()).subtract(detail.getRemitFee());
+    					}
+    				}
+    			}
             }
 
             //退乐保费用
@@ -2215,7 +2227,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                 }
                 amount = amount.add(maintenanceFee);
                 if (maintenanceFee.compareTo(BigDecimal.ZERO) > 0 && studentMaintenance != null) {
-                    studentMaintenance.setDelFlag(1);
+                    studentMaintenance.setStatus(0);
+                    studentMaintenance.setStartTime(null);
+                    studentMaintenance.setEndTime(null);
                     studentInstrumentDao.update(studentMaintenance);
                 }
             }
@@ -2509,6 +2523,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             amount = amount.add(maintenanceFee);
             if (maintenanceFee.compareTo(BigDecimal.ZERO) > 0 && studentMaintenance != null) {
                 studentMaintenance.setStatus(0);
+                studentMaintenance.setStartTime(null);
+                studentMaintenance.setEndTime(null);
                 studentInstrumentDao.update(studentMaintenance);
             }
         }
@@ -3719,12 +3735,15 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 		List<StudentInstrument> updateList = new ArrayList<StudentInstrument>();
 		
 		for (StudentInstrument si : studentInstrumentList) {
+			if (si.getDelFlag() == 1) {
+				continue;
+			}
 			if (si.getStatus() == 0 && si.getStartTime() == null) {
 				si.setStatus(1);
 				si.setStartTime(date);
 				si.setEndTime(DateUtil.addYears(date, 1));
 				si.setUpdateTime(date);
-				
+
 				updateList.add(si);
 			}
 		}