浏览代码

Merge remote-tracking branch 'origin/master'

周箭河 4 年之前
父节点
当前提交
30e4a6683a

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

@@ -132,7 +132,8 @@ public class ExtracurricularExercisesReplyServiceImpl extends BaseServiceImpl<Lo
 		if(Objects.isNull(existExtra)){
 			throw new BizException("作业不存在");
 		}
-		boolean push=Objects.isNull(existExtra.getAttachments());
+//		boolean push=Objects.isNull(existExtra.getAttachments());
+		boolean push=true;
 		ExtracurricularExercises extracurricularExercises = extracurricularExercisesDao.get(existExtra.getExtracurricularExercisesId());
 		if(Objects.isNull(extracurricularExercises)){
 			throw new BizException("作业不存在");

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

@@ -172,6 +172,11 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.SMS_PAYMENT_DETAIL,
 						receivers, null, 0, null, null,calenderPushDto.getMusicGroupName(),
 						calenderPushDto.getPaymentValidStartDate(),calenderPushDto.getPaymentValidEndDate(),maps.get(e));
+				Map<Integer, String> receivers1 = new HashMap<>(1);
+				receivers.put(calenderPushDto.getTeacherId(),calenderPushDto.getTeacherPhone());
+				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.SMS_PAYMENT_DETAIL,
+						receivers1, null, 0, null, null,calenderPushDto.getMusicGroupName(),
+						calenderPushDto.getPaymentValidStartDate(),calenderPushDto.getPaymentValidEndDate(),maps.get(e));
 			});
 		}
 		//获取离截止还有指定时间的缴费项,并发送推送消息给指定老师
@@ -187,6 +192,11 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.SMS_PAYMENT_CREATE,
 						receivers, null, 0, null, null,calenderPushDto.getMusicGroupName(),
 						calenderPushDto.getPaymentValidStartDate(),calenderPushDto.getPaymentValidEndDate());
+				Map<Integer, String> receivers1 = new HashMap<>(1);
+				receivers.put(calenderPushDto.getTeacherId(),calenderPushDto.getTeacherId().toString());
+				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.SMS_PAYMENT_CREATE,
+						receivers1, null, 0, null, null,calenderPushDto.getMusicGroupName(),
+						calenderPushDto.getPaymentValidStartDate(),calenderPushDto.getPaymentValidEndDate());
 			});
 		}
 
@@ -199,6 +209,11 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.SMS_PAYMENT_CREATE,
 						receivers, null, 0, null, null,e.getMusicGroupName(),
 						e.getPaymentValidStartDate(),e.getPaymentValidEndDate());
+				Map<Integer, String> receivers1 = new HashMap<>(1);
+				receivers.put(e.getTeacherId(),e.getTeacherId().toString());
+				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.SMS_PAYMENT_CREATE,
+						receivers1, null, 0, null, null,e.getMusicGroupName(),
+						e.getPaymentValidStartDate(),e.getPaymentValidEndDate());
 			});
 		}
 	}

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

@@ -101,7 +101,8 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
             throw new BizException("该作业已超出可提交时间范围,无法提交作业。");
         }
 
-        boolean push = Objects.isNull(existHomework.getAttachments());
+//        boolean push = Objects.isNull(existHomework.getAttachments());
+        boolean push = true;
         bean.setSubmitTime(now);
         super.update(bean);
         bean = studentCourseHomeworkDao.get(bean.getId());

+ 20 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRepairServiceImpl.java

@@ -751,7 +751,14 @@ public class StudentRepairServiceImpl extends BaseServiceImpl<Integer, StudentRe
         BigDecimal usableMarketAmount = marketAmount;
         //包含减免余额的总金额
         BigDecimal totalAmount = goodsSellDtos.stream().map(e -> e.getTotalGoodsPrice()).reduce(BigDecimal.ZERO, BigDecimal::add);
-        BigDecimal subtract = totalAmount.subtract(marketAmount);
+        //应付总额
+        BigDecimal totalActual = totalAmount.subtract(marketAmount);
+        //可用应付
+        BigDecimal usableActual = totalActual;
+        //获取实付总额
+        BigDecimal realityAmount = totalActual.subtract(usableBalance);
+        //可用实付总额
+        BigDecimal usableAmount = realityAmount;
         for (int i = 0; i < goodsId.size(); i++) {
             Integer e = goodsId.get(i);
             GoodsSellDto goodsSellDto = collect.get(e).get(0);
@@ -766,6 +773,9 @@ public class StudentRepairServiceImpl extends BaseServiceImpl<Integer, StudentRe
             sellOrder.setTransNo(orderByOrderNo.getTransNo());
             sellOrder.setOrderId(orderByOrderNo.getId());
             sellOrder.setOrderNo(orderByOrderNo.getOrderNo());
+            //获取比例
+            BigDecimal ratioAmount = goodsSellDto.getTotalGoodsPrice().divide(totalAmount, 2, BigDecimal.ROUND_HALF_UP);
+
             //如果有减免金额
             if(marketAmount.doubleValue() > 0l){
                 //如果是最后一件商品
@@ -773,13 +783,12 @@ public class StudentRepairServiceImpl extends BaseServiceImpl<Integer, StudentRe
                     goodsSellDto.setTotalGoodsPrice(goodsSellDto.getTotalGoodsPrice().subtract(usableMarketAmount));
                 }else {
                     //获取分配的减免金额
-                    BigDecimal multiply = marketAmount.multiply(goodsSellDto.getTotalGoodsPrice().divide(totalAmount, 2, BigDecimal.ROUND_HALF_UP));
+                    BigDecimal multiply = ratioAmount.multiply(usableMarketAmount).setScale(2,BigDecimal.ROUND_HALF_UP);
                     goodsSellDto.setTotalGoodsPrice(goodsSellDto.getTotalGoodsPrice().subtract(multiply));
                     usableMarketAmount = usableMarketAmount.subtract(multiply);
                 }
             }
 
-            sellOrder.setExpectAmount(goodsSellDto.getTotalGoodsPrice());
             //如果没有使用余额,那么实际金额和预计金额一致
             if(balancePaymentAmount.doubleValue() == 0l){
                 sellOrder.setActualAmount(goodsSellDto.getTotalGoodsPrice());
@@ -787,17 +796,21 @@ public class StudentRepairServiceImpl extends BaseServiceImpl<Integer, StudentRe
             }else {
                 //如果是最后一件商品
                 if(i == goodsId.size() - 1){
-                    sellOrder.setActualAmount(goodsSellDto.getTotalGoodsPrice().subtract(usableBalance));
+                    sellOrder.setActualAmount(usableAmount);
                     sellOrder.setBalanceAmount(usableBalance);
                 }else {
                     //获取分配的余额
-                    BigDecimal multiply = balancePaymentAmount.multiply(goodsSellDto.getTotalGoodsPrice().divide(subtract, 2, BigDecimal.ROUND_HALF_UP));
-                    //余额大于等于商品总价
-                    sellOrder.setActualAmount(goodsSellDto.getTotalGoodsPrice().subtract(multiply));
+                    BigDecimal multiply = ratioAmount.multiply(balancePaymentAmount).setScale(2,BigDecimal.ROUND_HALF_UP);
+                    //分配的实际支付
+                    BigDecimal multiply1 = ratioAmount.multiply(realityAmount).setScale(2,BigDecimal.ROUND_HALF_UP);
+                    sellOrder.setActualAmount(multiply1);
                     sellOrder.setBalanceAmount(multiply);
+                    usableAmount = usableAmount.subtract(multiply1);
                     usableBalance = usableBalance.subtract(multiply);
+                    usableActual = usableActual.subtract(multiply1).subtract(multiply);
                 }
             }
+            sellOrder.setExpectAmount(sellOrder.getActualAmount().add(sellOrder.getBalanceAmount()));
             sellOrder.setSellCost(goods.getDiscountPrice());
             sellOrder.setSellCost2(JSONObject.toJSONString(costMap));
             sellOrder.setType(SellTypeEnum.valueOf(goods.getType().getCode()));

+ 1 - 1
mec-im/src/main/java/com/ym/common/ErrorEnum.java

@@ -17,7 +17,7 @@ public enum ErrorEnum {
     ERR_IM_TOKEN_ERROR(10, "IM token error"),
     ERR_CREATE_ROOM_ERROR(11, "Create room error"),
     ERR_JOIN_ROOM_ERROR(12, "Join room error"),
-    JOIN_ROOM_ERROR(35, "Join room error"),
+    JOIN_ROOM_ERROR(35, "加入房间失败,请前往线下教室"),
     ERR_MESSAGE_ERROR(13, "IM Message send error"),
 
 

+ 1 - 4
mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

@@ -21,8 +21,6 @@ import com.ym.mec.biz.dal.dto.RongyunBasicUserDto;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.Teacher;
 import com.ym.mec.biz.dal.enums.GroupType;
-import com.ym.mec.biz.dal.enums.SignStatusEnum;
-import com.ym.mec.biz.dal.enums.StudentAttendanceStatusEnum;
 import com.ym.mec.biz.dal.enums.TeachModeEnum;
 import com.ym.mec.biz.service.StudentAttendanceService;
 import com.ym.mec.biz.service.SysConfigService;
@@ -39,7 +37,6 @@ import com.ym.utils.CodeUtil;
 import com.ym.utils.DateTimeUtils;
 import com.ym.utils.IdentifierUtils;
 import com.ym.whiteboard.WhiteBoardHelper;
-import io.swagger.models.auth.In;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -130,7 +127,7 @@ public class RoomServiceImpl implements RoomService {
         Teacher teacher = teacherDao.get(Integer.parseInt(userId));
         CourseSchedule courseSchedule = courseScheduleDao.get(Long.parseLong(roomId));
         if(courseSchedule.getTeachMode() == TeachModeEnum.OFFLINE){
-            throw new ApiException(ErrorEnum.JOIN_ROOM_ERROR, "加入房间失败,请前往线下教室");
+            throw new ApiException(ErrorEnum.JOIN_ROOM_ERROR);
         }
 
         String continueCourseTime = sysConfigDao.findConfigValue(SysConfigService.ONLINE_CONTINUE_COURSE_TIME);