Browse Source

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

zouxuan 5 years ago
parent
commit
fd53a14fcb

+ 1 - 1
cms/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 <configuration scan="true" scanPeriod="10 seconds">
 
 
-	<property name="LOG_HOME" value="/var/logs/cms-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="/mdata/logs/cms-%d{yyyy-MM-dd_HH}-%i.log" />
 	<property name="CONSOLE_LOG_PATTERN"
 	<property name="CONSOLE_LOG_PATTERN"
 		value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />
 		value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />
 
 

+ 1 - 1
mec-auth/mec-auth-server/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 <configuration scan="true" scanPeriod="10 seconds">
 
 
-	<property name="LOG_HOME" value="/var/logs/auth-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="/mdata/logs/auth-%d{yyyy-MM-dd_HH}-%i.log" />
 	<property name="CONSOLE_LOG_PATTERN"
 	<property name="CONSOLE_LOG_PATTERN"
 		value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />
 		value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />
 
 

+ 29 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/PayService.java

@@ -35,8 +35,37 @@ public interface PayService {
     Map<String, Object> getPayMap(BigDecimal amount, String orderNo, String notifyUrl, String returnUrl, String orderSubject, String orderBody, Integer userId) throws Exception;
     Map<String, Object> getPayMap(BigDecimal amount, String orderNo, String notifyUrl, String returnUrl, String orderSubject, String orderBody, Integer userId) throws Exception;
 
 
 
 
+    /**
+     *
+     * @param amount BigDecimal 支付金额
+     * @param orderNo String 订单号
+     * @param notifyUrl String 异步通知地址
+     * @param returnUrl string 支付返回地址
+     * @param orderSubject String 订单标题
+     * @param orderBody String 订单内容
+     * @param userId int 用户id
+     * @param fee 各种费用
+     * @param organId 机构id
+     * @return
+     * @throws Exception
+     */
     Map<String, Object> getPayMap(BigDecimal amount, String orderNo, String notifyUrl, String returnUrl, String orderSubject, String orderBody, Integer userId,Map<String,BigDecimal> fee,Integer organId) throws Exception;
     Map<String, Object> getPayMap(BigDecimal amount, String orderNo, String notifyUrl, String returnUrl, String orderSubject, String orderBody, Integer userId,Map<String,BigDecimal> fee,Integer organId) throws Exception;
 
 
+    /**
+     *
+     * @param amount BigDecimal 支付金额
+     * @param orderNo String 订单号
+     * @param notifyUrl String 异步通知地址
+     * @param returnUrl string 支付返回地址
+     * @param orderSubject String 订单标题
+     * @param orderBody String 订单内容
+     * @param userId int 用户id
+     * @param fee Map 各种费用
+     * @param organId int 机构id
+     * @return
+     * @throws Exception
+     */
+    Map<String, Object> getPayMap(BigDecimal amount, String orderNo, String notifyUrl, String returnUrl, String orderSubject, String orderBody, Integer userId,Map<String,BigDecimal> fee,Integer organId,String receiver) throws Exception;
 
 
     Map query(String orderNo) throws Exception;
     Map query(String orderNo) throws Exception;
 
 

+ 0 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -2175,14 +2175,6 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         classGroup.setStudentNum(studentNum);
         classGroup.setStudentNum(studentNum);
         if(classGroup.getGroupType().equals(GroupType.VIP)){
         if(classGroup.getGroupType().equals(GroupType.VIP)){
             VipGroup vipGroup=vipGroupDao.get(Long.parseLong(classGroup.getMusicGroupId()));
             VipGroup vipGroup=vipGroupDao.get(Long.parseLong(classGroup.getMusicGroupId()));
-            Date minClassDate = courseScheduleDao.getMinCourseTime(GroupType.VIP, vipGroup.getId().toString());
-            if(Objects.nonNull(minClassDate)){
-                vipGroup.setCourseStartDate(minClassDate);
-            }
-            Date maxClassDate = courseScheduleDao.getMaxCourseTime(GroupType.VIP, vipGroup.getId().toString());
-            if(Objects.nonNull(maxClassDate)){
-                vipGroup.setCoursesExpireDate(maxClassDate);
-            }
             if (currentClassTimes<totalClassTimes
             if (currentClassTimes<totalClassTimes
                     &&vipGroup.getStatus().equals(VipGroupStatusEnum.FINISHED)){
                     &&vipGroup.getStatus().equals(VipGroupStatusEnum.FINISHED)){
                 vipGroup.setStatus(VipGroupStatusEnum.PROGRESS);
                 vipGroup.setStatus(VipGroupStatusEnum.PROGRESS);

+ 10 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -708,10 +708,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         for (CourseSchedule newCourseSchedule : courseSchedules) {
         for (CourseSchedule newCourseSchedule : courseSchedules) {
             exitNode:
             exitNode:
             for (CourseSchedule existCourseSchedule : existCourseSchedules) {
             for (CourseSchedule existCourseSchedule : existCourseSchedules) {
-                if (newCourseSchedule.getEndClassTime().before(existCourseSchedule.getStartClassTime())) {
+                if(newCourseSchedule.getEndClassTime().compareTo(existCourseSchedule.getStartClassTime()) <= 0){
                     continue newNode;
                     continue newNode;
                 }
                 }
-                if (existCourseSchedule.getEndClassTime().before(newCourseSchedule.getStartClassTime())) {
+                if(existCourseSchedule.getEndClassTime().compareTo(newCourseSchedule.getStartClassTime()) <= 0){
                     continue exitNode;
                     continue exitNode;
                 }
                 }
 
 
@@ -807,6 +807,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         errInfo.append("安排的课程存在冲突,");
         errInfo.append("安排的课程存在冲突,");
         errInfo.append("冲突课程为:");
         errInfo.append("冲突课程为:");
 
 
+        if (Objects.isNull(preCourseSchedule.getId()) && Objects.isNull(backCourseSchedule.getId())) {
+            errInfo.setLength(0);
+            errInfo.append("您设置的循环周期存在时间冲突");
+            return errInfo.toString();
+        }
+
         CourseSchedule courseSchedule = new CourseSchedule();
         CourseSchedule courseSchedule = new CourseSchedule();
         if (Objects.nonNull(preCourseSchedule.getId()) && existCourseScheduleIds.contains(preCourseSchedule.getId())) {
         if (Objects.nonNull(preCourseSchedule.getId()) && existCourseScheduleIds.contains(preCourseSchedule.getId())) {
             courseSchedule = preCourseSchedule;
             courseSchedule = preCourseSchedule;
@@ -839,6 +845,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         errInfo.append("(");
         errInfo.append("(");
         errInfo.append(courseSchedule.getId());
         errInfo.append(courseSchedule.getId());
         errInfo.append(")");
         errInfo.append(")");
+
         errInfo.append("类型为:");
         errInfo.append("类型为:");
         switch (type) {
         switch (type) {
             case 1:
             case 1:
@@ -2209,8 +2216,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                         result.setGroupName(groupTemps.get(0).getGroupName());
                         result.setGroupName(groupTemps.get(0).getGroupName());
                         result.setOrganName(groupTemps.get(0).getOrganName());
                         result.setOrganName(groupTemps.get(0).getOrganName());
                     }
                     }
-                    result.setTeacherName(nameIdMap.get(result.getActualTeacherId()));
                 }
                 }
+                result.setTeacherName(nameIdMap.get(result.getActualTeacherId()));
                 List<TeacherAttendance> courseTeacherAttendances = courseTeacherAttendanceMap.get(result.getId());
                 List<TeacherAttendance> courseTeacherAttendances = courseTeacherAttendanceMap.get(result.getId());
                 if(!CollectionUtils.isEmpty(courseTeacherAttendances)){
                 if(!CollectionUtils.isEmpty(courseTeacherAttendances)){
                     TeacherAttendance teacherAttendance=courseTeacherAttendances.get(0);
                     TeacherAttendance teacherAttendance=courseTeacherAttendances.get(0);

+ 8 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -264,17 +264,19 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         if (chargeInfo == null) {
         if (chargeInfo == null) {
             throw new BizException("支付项不存在");
             throw new BizException("支付项不存在");
         }
         }
-        BigDecimal amount = sporadicPayDto.getAmount();
-        if (!(amount.compareTo(chargeInfo.getAmount()) == 0)) {
-            throw new BizException("订单金额异常");
-        }
+        BigDecimal amount = chargeInfo.getAmount();
         if(chargeInfo.getDiscountAmount() != null && chargeInfo.getDiscountAmount().compareTo(BigDecimal.ZERO)>0){
         if(chargeInfo.getDiscountAmount() != null && chargeInfo.getDiscountAmount().compareTo(BigDecimal.ZERO)>0){
             amount = amount.subtract(chargeInfo.getDiscountAmount());
             amount = amount.subtract(chargeInfo.getDiscountAmount());
         }
         }
+        if (!(amount.compareTo(sporadicPayDto.getAmount()) == 0)) {
+            throw new BizException("订单金额异常");
+        }
 
 
         OrderTypeEnum type = OrderTypeEnum.SPORADIC;
         OrderTypeEnum type = OrderTypeEnum.SPORADIC;
+        String receiver = null;
         if(chargeInfo.getChargeType().equals("6")){
         if(chargeInfo.getChargeType().equals("6")){
             type = OrderTypeEnum.LUCK;
             type = OrderTypeEnum.LUCK;
+            receiver =  "PER";
         }
         }
 
 
         Integer userId = sporadicPayDto.getUserId();
         Integer userId = sporadicPayDto.getUserId();
@@ -340,7 +342,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                 chargeInfo.getTitle(),
                 chargeInfo.getTitle(),
                 userId,
                 userId,
                 classFee,
                 classFee,
-                chargeInfo.getOrganId()
+                chargeInfo.getOrganId(),
+                receiver
         );
         );
 
 
         Map<String, BigDecimal> routingFee = (Map<String, BigDecimal>) payMap.get("routingFee");
         Map<String, BigDecimal> routingFee = (Map<String, BigDecimal>) payMap.get("routingFee");

+ 101 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PayServiceImpl.java

@@ -140,6 +140,53 @@ public class PayServiceImpl implements PayService {
     }
     }
 
 
     @Override
     @Override
+    public Map<String, Object> getPayMap(BigDecimal amount, String orderNo, String notifyUrl, String returnUrl, String orderSubject, String orderBody, Integer userId, Map<String, BigDecimal> fee, Integer organId, String receiver) throws Exception {
+        String company = "daya";
+        if (userId != null) {
+            MusicGroup musicGroup = musicGroupDao.findUserMusicGroup(userId);
+            if (musicGroup != null && musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType().equals(CooperationOrgan.OwnershipType.COOPERATION)) {
+                company = "yadie";
+            }
+        }
+
+        //支付通道决策
+        Map unionPay = new HashMap();
+        Map<String, BigDecimal> routingFee = getRoutingFee(company, amount, fee, organId,receiver);
+        List<SysAccount> accounts = getRoutingAccount(routingFee, company);
+        SysAccount routingAccount = accounts.get(0);
+
+        Map payMap = null;
+        String type = null;
+        if (routingAccount.getChannel().equals("YQPAY")) {
+            List<Map> tempRoutingList = new ArrayList();
+            for (SysAccount account : accounts) {
+                Map<String, Object> routingList = new HashMap<>();
+                routingList.put("routingMerNo", account.getRoutingMerNo());//分佣账户
+                routingList.put("routingFee", account.getRoutingFee().subtract((account.getRoutingFee().multiply(new BigDecimal("0.28")).divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_HALF_UP))); //分佣金额
+                tempRoutingList.add(routingList);
+            }
+            if(accounts.size() ==1 && routingAccount.getMerNo().equals(routingAccount.getRoutingMerNo())){
+                tempRoutingList = null;
+            }
+
+            payMap = YqPayUtil.getPayMap(amount, orderNo, notifyUrl, returnUrl, orderSubject, orderBody, routingAccount.getMerNo(), tempRoutingList);
+            type = "YQPAY";
+        } else {
+            payMap = new Pay().getPayMap(amount, orderNo, notifyUrl, orderSubject, orderBody);
+            type = "ADAPAY";
+        }
+
+        String routingMerNos = accounts.stream().map(sysAccount -> sysAccount.getRoutingMerNo()).collect(Collectors.joining(","));
+
+        unionPay.put("orderNo", orderNo);
+        unionPay.put("type", type);
+        unionPay.put("payMap", payMap);
+        unionPay.put("routingFee",routingFee);
+        unionPay.put("routingMerNos",routingMerNos);
+        return unionPay;
+    }
+
+    @Override
     public Map<String, Object> query(String orderNo) throws Exception {
     public Map<String, Object> query(String orderNo) throws Exception {
         return new UnionPay(unionPayFeignService).query(orderNo);
         return new UnionPay(unionPayFeignService).query(orderNo);
     }
     }
@@ -265,4 +312,58 @@ public class PayServiceImpl implements PayService {
     }
     }
 
 
 
 
+    private Map<String, BigDecimal> getRoutingFee(String company, BigDecimal amount, Map<String, BigDecimal> fee, Integer organId,String receiver) {
+        Map<String, BigDecimal> routingFee = new HashMap<>(2);
+        routingFee.put("COM", BigDecimal.ZERO);
+        routingFee.put("PER", BigDecimal.ZERO);
+        if (company.equals("yadie")) {
+            routingFee.put("PER", amount);
+            return routingFee;
+        }
+
+        if(receiver != null){
+            routingFee.put(receiver, amount);
+            return routingFee;
+        }
+
+        SysPaymentConfig paymentConfig = sysPaymentConfigService.findPaymentConfigByOrganId(organId);
+
+        int payOrderNums = studentPaymentOrderService.findPayOrderNum(); //获取支付中和成功的订单数
+        //前几笔收入私户
+        Integer nums = Integer.parseInt(sysConfigDao.findConfigValue("per_account_nums"));
+        if (paymentConfig != null && paymentConfig.getType().equals(1)) {
+            nums = paymentConfig.getPerScale();
+        }
+
+        String type = null;
+        int rem = (payOrderNums + 1) % 10;
+        if (rem > 0 && rem <= nums) { //私人账户
+            type = "PER";
+        } else {
+            type = "COM";
+        }
+        routingFee.put(type, amount);
+
+        if (paymentConfig == null || !paymentConfig.getType().equals(2)) {
+            return routingFee;
+        }
+        routingFee.put(type, BigDecimal.ZERO);
+        for (Map.Entry<String, BigDecimal> feeEntry : fee.entrySet()) {
+            if (feeEntry.getKey().equals("course")) {
+                BigDecimal RoutingFee = routingFee.get(paymentConfig.getCourseFee()).add(feeEntry.getValue());
+                routingFee.put(paymentConfig.getCourseFee(), RoutingFee);
+            } else if (feeEntry.getKey().equals("instrument")) {
+                BigDecimal RoutingFee = routingFee.get(paymentConfig.getInstrumentFee()).add(feeEntry.getValue());
+                routingFee.put(paymentConfig.getInstrumentFee(), RoutingFee);
+            } else if (feeEntry.getKey().equals("accessories")) {
+                BigDecimal RoutingFee = routingFee.get(paymentConfig.getAccessoriesFee()).add(feeEntry.getValue());
+                routingFee.put(paymentConfig.getAccessoriesFee(), RoutingFee);
+            } else if (feeEntry.getKey().equals("other")) {
+                BigDecimal RoutingFee = routingFee.get(paymentConfig.getOtherFee()).add(feeEntry.getValue());
+                routingFee.put(paymentConfig.getOtherFee(), RoutingFee);
+            }
+        }
+        return routingFee;
+    }
+
 }
 }

+ 4 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SporadicChargeInfoImpl.java

@@ -66,16 +66,14 @@ public class SporadicChargeInfoImpl extends BaseServiceImpl<Integer, SporadicCha
 		Map<Integer,String> yimei = new HashMap();
 		Map<Integer,String> yimei = new HashMap();
 		map.put(userId,userId.toString());
 		map.put(userId,userId.toString());
 		if(studentPaymentOrder.getStatus() == DealStatusEnum.SUCCESS){
 		if(studentPaymentOrder.getStatus() == DealStatusEnum.SUCCESS){
-			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.SMS_SPORADIC_PAYMENT_SUCCESS, map, null, 0, "1",
-					studentPaymentOrder.getActualAmount(),info.getTitle());
-			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.SMS_SPORADIC_PAYMENT_SUCCESS, yimei, null, 0, "1",
-					studentPaymentOrder.getActualAmount(),info.getTitle());
-
 			//活动,增加课程余额
 			//活动,增加课程余额
 			if(info.getChargeType().equals("6")){
 			if(info.getChargeType().equals("6")){
 				sysUserCashAccountService.appendCourseBalance(userId,info.getAmount());
 				sysUserCashAccountService.appendCourseBalance(userId,info.getAmount());
 			}
 			}
-
+			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.SMS_SPORADIC_PAYMENT_SUCCESS, map, null, 0, "1",
+					studentPaymentOrder.getActualAmount(),info.getTitle());
+			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.SMS_SPORADIC_PAYMENT_SUCCESS, yimei, null, 0, "1",
+					studentPaymentOrder.getActualAmount(),info.getTitle());
 			return true;
 			return true;
 		}
 		}
 		if(studentPaymentOrder.getStatus() == DealStatusEnum.CLOSE || studentPaymentOrder.getStatus() == DealStatusEnum.FAILED){
 		if(studentPaymentOrder.getStatus() == DealStatusEnum.CLOSE || studentPaymentOrder.getStatus() == DealStatusEnum.FAILED){

+ 1 - 1
mec-gateway/mec-gateway-web/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 <configuration scan="true" scanPeriod="10 seconds">
 
 
-	<property name="LOG_HOME" value="/var/logs/gateway-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="/mdata/logs/gateway-%d{yyyy-MM-dd_HH}-%i.log" />
 	<property name="CONSOLE_LOG_PATTERN"
 	<property name="CONSOLE_LOG_PATTERN"
 		value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />
 		value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />
 
 

+ 1 - 1
mec-im/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 <configuration scan="true" scanPeriod="10 seconds">
 
 
-	<property name="LOG_HOME" value="/var/logs/im-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="/mdata/logs/im-%d{yyyy-MM-dd_HH}-%i.log" />
 	<property name="CONSOLE_LOG_PATTERN"
 	<property name="CONSOLE_LOG_PATTERN"
 		value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />
 		value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />
 
 

+ 33 - 27
mec-student/src/main/java/com/ym/mec/student/controller/SporadicChargeInfoController.java

@@ -2,6 +2,7 @@ package com.ym.mec.student.controller;
 
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.auth.api.enums.SysUserType;
 import com.ym.mec.biz.dal.dao.SysUserCashAccountDao;
 import com.ym.mec.biz.dal.dao.SysUserCashAccountDao;
 import com.ym.mec.biz.dal.dto.SporadicPayDto;
 import com.ym.mec.biz.dal.dto.SporadicPayDto;
 import com.ym.mec.biz.dal.entity.SporadicChargeInfo;
 import com.ym.mec.biz.dal.entity.SporadicChargeInfo;
@@ -65,36 +66,36 @@ public class SporadicChargeInfoController extends BaseController {
     }
     }
 
 
 
 
-	@ApiOperation(value = "零星支付")
-	@PostMapping("/sporadicPay")
-	public HttpResponseResult sporadicPay(@RequestBody SporadicPayDto sporadicPayDto) throws Exception {
-		if(sporadicPayDto == null ||
-				sporadicPayDto.getSporadicId() == null ||
-				sporadicPayDto.getAmount() == null){
-			throw new BizException("参数校验失败");
-		}
-		if(sporadicPayDto.getUserId() == null){
-			SysUser sysUser = sysUserFeignService.queryUserInfo();
-			if (sysUser == null || sysUser.getId() == null) {
-				return failed("用户不存在");
-			}
-			if(!sysUser.getUserType().contains("STUDENT")){
-				return failed("用户信息异常");
-			}
-			sporadicPayDto.setUserId(sysUser.getId());
-		}
-		if (sporadicPayDto.getIsRepeatPay() == false) {
+    @ApiOperation(value = "零星支付")
+    @PostMapping("/sporadicPay")
+    public HttpResponseResult sporadicPay(@RequestBody SporadicPayDto sporadicPayDto) throws Exception {
+        if (sporadicPayDto == null ||
+                sporadicPayDto.getSporadicId() == null ||
+                sporadicPayDto.getAmount() == null) {
+            throw new BizException("参数校验失败");
+        }
+        if (sporadicPayDto.getUserId() == null) {
+            SysUser sysUser = sysUserFeignService.queryUserInfo();
+            if (sysUser == null || sysUser.getId() == null) {
+                return failed("用户不存在");
+            }
+            if (sysUser.getUserType() != SysUserType.STUDENT) {
+                return failed("用户信息异常");
+            }
+            sporadicPayDto.setUserId(sysUser.getId());
+        }
+        if (sporadicPayDto.getIsRepeatPay() == false) {
             Integer ingOrder = studentPaymentOrderService.findOrderByGroupType(sporadicPayDto.getUserId(), sporadicPayDto.getSporadicId(), "SPORADIC", DealStatusEnum.ING);
             Integer ingOrder = studentPaymentOrderService.findOrderByGroupType(sporadicPayDto.getUserId(), sporadicPayDto.getSporadicId(), "SPORADIC", DealStatusEnum.ING);
             if (ingOrder != null && ingOrder > 0) {
             if (ingOrder != null && ingOrder > 0) {
                 return failed(HttpStatus.CONTINUE, "您有待支付的订单");
                 return failed(HttpStatus.CONTINUE, "您有待支付的订单");
             }
             }
         }
         }
-		Map payMap = musicGroupService.sporadicPay(sporadicPayDto);
-		if(payMap.containsKey("tradeState")){
-			return failed(HttpStatus.CREATED, "恭喜您,支付成功!");
-		}
-		return succeed(payMap);
-	}
+        Map payMap = musicGroupService.sporadicPay(sporadicPayDto);
+        if (payMap.containsKey("tradeState")) {
+            return failed(HttpStatus.CREATED, "恭喜您,支付成功!");
+        }
+        return succeed(payMap);
+    }
 
 
 
 
     @ApiOperation(value = "福袋活动信息")
     @ApiOperation(value = "福袋活动信息")
@@ -105,13 +106,18 @@ public class SporadicChargeInfoController extends BaseController {
         if (sysUser == null || sysUser.getId() == null) {
         if (sysUser == null || sysUser.getId() == null) {
             return failed("请先登录");
             return failed("请先登录");
         }
         }
-        if (sysUser.getOrganId() == null) {
+        if (sysUser.getOrganId() == null || sysUser.getOrganId().isEmpty()) {
             return failed("用户信息有误,没有分部信息");
             return failed("用户信息有误,没有分部信息");
         }
         }
+        Integer organId = Integer.parseInt(sysUser.getOrganId());
+
         if (type == null || type <= 0) {
         if (type == null || type <= 0) {
             return failed("参数不合法");
             return failed("参数不合法");
         }
         }
-        SporadicChargeInfo chargeInfo = sporadicChargeInfoService.findByOrganIdAndType(sysUser.getOrganId(), type);
+        SporadicChargeInfo chargeInfo = sporadicChargeInfoService.findByOrganIdAndType(organId, type);
+        if(chargeInfo == null){
+            return failed("分部活动不存在");
+        }
         return succeed(chargeInfo);
         return succeed(chargeInfo);
     }
     }
 
 

+ 7 - 5
mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java

@@ -1,6 +1,8 @@
 package com.ym.mec.student.controller;
 package com.ym.mec.student.controller;
 
 
 import com.ym.mec.biz.dal.dao.SysConfigDao;
 import com.ym.mec.biz.dal.dao.SysConfigDao;
+import com.ym.mec.biz.dal.entity.SporadicChargeInfo;
+import com.ym.mec.biz.service.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiImplicitParams;
@@ -38,11 +40,6 @@ import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.GroupType;
-import com.ym.mec.biz.service.MusicGroupService;
-import com.ym.mec.biz.service.StudentPaymentOrderDetailService;
-import com.ym.mec.biz.service.StudentPaymentOrderService;
-import com.ym.mec.biz.service.StudentRegistrationService;
-import com.ym.mec.biz.service.VipGroupService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.thirdparty.adapay.NotifyEvent;
 import com.ym.mec.thirdparty.adapay.NotifyEvent;
@@ -77,6 +74,8 @@ public class StudentOrderController extends BaseController {
     private StudentPaymentOrderDao studentPaymentOrderDao;
     private StudentPaymentOrderDao studentPaymentOrderDao;
     @Autowired
     @Autowired
     private SysConfigDao sysConfigDao;
     private SysConfigDao sysConfigDao;
+    @Autowired
+    private SporadicChargeInfoService sporadicChargeInfoService;
 
 
     @PostMapping("/notify")
     @PostMapping("/notify")
     public Msg notify(@ModelAttribute Msg msg) throws Exception {
     public Msg notify(@ModelAttribute Msg msg) throws Exception {
@@ -130,6 +129,9 @@ public class StudentOrderController extends BaseController {
         } else if (orderByOrderNo.getGroupType().equals(GroupType.VIP)) {
         } else if (orderByOrderNo.getGroupType().equals(GroupType.VIP)) {
             VipBuyResultDto vipBuyResultInfo = vipGroupService.findVipBuyResultInfo(Integer.valueOf(orderByOrderNo.getMusicGroupId()));
             VipBuyResultDto vipBuyResultInfo = vipGroupService.findVipBuyResultInfo(Integer.valueOf(orderByOrderNo.getMusicGroupId()));
             orderDetail.put("detail", vipBuyResultInfo);
             orderDetail.put("detail", vipBuyResultInfo);
+        }else if(orderByOrderNo.getGroupType().equals(GroupType.SPORADIC)){
+            SporadicChargeInfo info = sporadicChargeInfoService.get(Integer.valueOf(orderByOrderNo.getMusicGroupId()));
+            orderDetail.put("detail", info);
         }
         }
 
 
         return succeed(orderDetail);
         return succeed(orderDetail);

+ 1 - 1
mec-student/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 <configuration scan="true" scanPeriod="10 seconds">
 
 
-	<property name="LOG_HOME" value="/var/logs/student-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="/mdata/logs/student-%d{yyyy-MM-dd_HH}-%i.log" />
 	<property name="CONSOLE_LOG_PATTERN"
 	<property name="CONSOLE_LOG_PATTERN"
 		value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />
 		value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />
 
 

+ 1 - 1
mec-task/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 <configuration scan="true" scanPeriod="10 seconds">
 
 
-	<property name="LOG_HOME" value="/var/logs/task-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="/mdata/logs/task-%d{yyyy-MM-dd_HH}-%i.log" />
 	<property name="CONSOLE_LOG_PATTERN"
 	<property name="CONSOLE_LOG_PATTERN"
 		value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />
 		value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />
 
 

+ 1 - 1
mec-teacher/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 <configuration scan="true" scanPeriod="10 seconds">
 
 
-	<property name="LOG_HOME" value="/var/logs/teacher-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="/mdata/logs/teacher-%d{yyyy-MM-dd_HH}-%i.log" />
 	<property name="CONSOLE_LOG_PATTERN"
 	<property name="CONSOLE_LOG_PATTERN"
 		value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />
 		value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />
 
 

+ 12 - 4
mec-web/src/main/java/com/ym/mec/web/controller/CourseScheduleController.java

@@ -3,13 +3,11 @@ package com.ym.mec.web.controller;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.ClassGroupTeacherMapperDao;
 import com.ym.mec.biz.dal.dao.ClassGroupTeacherMapperDao;
+import com.ym.mec.biz.dal.dao.EmployeeDao;
 import com.ym.mec.biz.dal.dto.CoursePostponeDto;
 import com.ym.mec.biz.dal.dto.CoursePostponeDto;
 import com.ym.mec.biz.dal.dto.CreateCourseScheduleDto;
 import com.ym.mec.biz.dal.dto.CreateCourseScheduleDto;
 import com.ym.mec.biz.dal.dto.VipGroupCourseAdjustInfoDto;
 import com.ym.mec.biz.dal.dto.VipGroupCourseAdjustInfoDto;
-import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
-import com.ym.mec.biz.dal.entity.CourseSchedule;
-import com.ym.mec.biz.dal.entity.CourseScheduleComplaints;
-import com.ym.mec.biz.dal.entity.MusicGroup;
+import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.AuditStatusEnum;
 import com.ym.mec.biz.dal.enums.AuditStatusEnum;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.TeachModeEnum;
 import com.ym.mec.biz.dal.enums.TeachModeEnum;
@@ -59,6 +57,8 @@ public class CourseScheduleController extends BaseController {
     private SysUserFeignService sysUserFeignService;
     private SysUserFeignService sysUserFeignService;
     @Autowired
     @Autowired
     private MusicGroupService musicGroupService;
     private MusicGroupService musicGroupService;
+    @Autowired
+    private EmployeeDao employeeDao;
 
 
     @ApiOperation(value = "排课")
     @ApiOperation(value = "排课")
     @PostMapping("/batchAddCourseSchedule")
     @PostMapping("/batchAddCourseSchedule")
@@ -275,6 +275,14 @@ public class CourseScheduleController extends BaseController {
     @GetMapping("/superFindCourseSchedules")
     @GetMapping("/superFindCourseSchedules")
     @PreAuthorize("@pcs.hasPermissions('courseSchedule/superFindCourseSchedules')")
     @PreAuthorize("@pcs.hasPermissions('courseSchedule/superFindCourseSchedules')")
     public Object superFindCourseSchedules(EndCourseScheduleQueryInfo queryInfo){
     public Object superFindCourseSchedules(EndCourseScheduleQueryInfo queryInfo){
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        Employee employee = employeeDao.get(sysUser.getId());
+        if(StringUtils.isEmpty(queryInfo.getOrganIdList())){
+            queryInfo.setOrganIdList(employee.getOrganIdList());
+        }
         return succeed(scheduleService.endFindCourseSchedules(queryInfo));
         return succeed(scheduleService.endFindCourseSchedules(queryInfo));
     }
     }
 
 

+ 4 - 0
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -245,6 +245,10 @@ public class ExportController extends BaseController {
                         row.setSporadicType("声部更改");
                         row.setSporadicType("声部更改");
                     } else if (row.getChargeType().equals(4)) {
                     } else if (row.getChargeType().equals(4)) {
                         row.setSporadicType("乐器更换");
                         row.setSporadicType("乐器更换");
+                    }else if (row.getChargeType().equals(5)) {
+                        row.setSporadicType("维修费");
+                    }else if (row.getChargeType().equals(6)) {
+                        row.setSporadicType("福袋活动");
                     }
                     }
                 }
                 }
             }
             }

+ 1 - 1
mec-web/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 <configuration scan="true" scanPeriod="10 seconds">
 
 
-	<property name="LOG_HOME" value="/var/logs/web-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="/mdata/logs/web-%d{yyyy-MM-dd_HH}-%i.log" />
 	<property name="CONSOLE_LOG_PATTERN"
 	<property name="CONSOLE_LOG_PATTERN"
 		value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />
 		value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />