Procházet zdrojové kódy

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

zouxuan před 3 roky
rodič
revize
f842b2a5e4

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/RedemptionCodeDao.java

@@ -19,5 +19,7 @@ public interface RedemptionCodeDao extends BaseMapper<AppRedemptionCode> {
     AppRedemptionCode findFirstNull();
 
     Integer findNull();
+
+    AppRedemptionCode getByUserId(@Param("userId") Integer userId);
 }
 

+ 6 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/AppRedemptionCodeServiceImpl.java

@@ -106,7 +106,12 @@ public class AppRedemptionCodeServiceImpl extends ServiceImpl<RedemptionCodeDao,
 
     @Override
     public AppRedemptionCode allocation(Integer userId) {
-        AppRedemptionCode redemptionCode = redemptionCodeDao.findFirstNull();
+        AppRedemptionCode redemptionCode = redemptionCodeDao.getByUserId(userId);
+        if (redemptionCode != null) { // 如果有由直接返回, 不在分配
+            redemptionCode.setStatus("用户已分配");
+            return redemptionCode;
+        }
+        redemptionCode = redemptionCodeDao.findFirstNull();
         if (redemptionCode == null) {
             return null;
         }

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -5332,6 +5332,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		//获取所有的更改记录
 		Map<String,Object> param = new HashMap(1);
 		param.put("courseScheduleId",courseScheduleId);
+		Integer tenantId = TenantContextHolder.getTenantId();
+		param.put("tenantId", tenantId);
 		List<CourseScheduleModifyLog> scheduleModifyLogs = courseScheduleModifyLogDao.findAll(param);
 		List<CourseScheduleAuditDetailDto> courseSchedules = new ArrayList<>();
 		for (CourseScheduleModifyLog modifyLog : scheduleModifyLogs) {

+ 6 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantInfoServiceImpl.java

@@ -469,6 +469,7 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoDao, TenantInfo
             Map<String, Object> payMap = new HashMap<>();
             payMap.put("orderNo", orderNo);
             result.put("payMap", payMap);
+            result.put("amount", productInfo.getPayAmount());
         }
         createOrderRecord(tenantId, productInfo.getPayAmount(), orderNo, tenantEnum, orderState);
         log.info("tenant pay >>>>> {} ", result);
@@ -510,6 +511,7 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoDao, TenantInfo
             //续费成功
             renewSuccess(val, productInfo, amount);
             orderState = 1;
+            result.put("amount", amount);
         }
         createOrderRecord(tenantId, amount, orderNo, tenantEnum, orderState);
         log.info("tenant pay >>>>> {} ", result);
@@ -729,7 +731,7 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoDao, TenantInfo
         //生成订单编号
         String orderNo = idGenerator.generatorId("payment") + "";
         TenantOrderRecordEnum tenantEnum = TenantOrderRecordEnum.TENANT_RECHARGE;
-        Map<String, Object> result;
+        Map<String, Object> result = new HashMap<>();
         int orderState = 0;
         //消费大于0元则拉起支付
         if (amount.compareTo(BigDecimal.ZERO) > 0) {
@@ -745,7 +747,8 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoDao, TenantInfo
                     tenantEnum.getCode()
             );
         } else {
-            return null;
+            result.put("amount",amount);
+            return result;
         }
         createOrderRecord(tenantId, amount, orderNo, tenantEnum, orderState);
         log.info("tenant pay >>>>> {} ", result);
@@ -811,6 +814,7 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoDao, TenantInfo
     /**
      * 监测机构状态
      */
+    @Override
     public void checkTenantState() {
         Date now = LocalDate.now().toDate();
 

+ 5 - 0
mec-biz/src/main/resources/config/mybatis/RedemptionCodeMapper.xml

@@ -29,9 +29,14 @@
         order by rc.import_time_ desc
         limit 1 for update;
     </select>
+
     <select id="findNull" resultType="java.lang.Integer">
         select count(1) from app_redemption_code rc where rc.user_id_ is null
     </select>
 
+    <select id="getByUserId" resultType="com.ym.mec.biz.dal.entity.AppRedemptionCode">
+        select * from app_redemption_code where user_id_ = #{userId}
+    </select>
+
 
 </mapper>

+ 5 - 0
mec-client-api/src/main/java/com/ym/mec/task/TaskRemoteService.java

@@ -230,6 +230,11 @@ public interface TaskRemoteService {
 	@GetMapping("task/checkTenantOrder")
     void checkTenantOrder();
 
+    /**
+     * 每晚12点-检查机构状态
+     */
+    @GetMapping("task/checkTenantState")
+    void checkTenantState();
 
 	/** 兑换码分配数量底告警 */
 	@GetMapping("task/redemptionCodeWarn")

+ 245 - 243
mec-client-api/src/main/java/com/ym/mec/task/fallback/TaskRemoteServiceFallback.java

@@ -1,277 +1,274 @@
 package com.ym.mec.task.fallback;
 
+import com.ym.mec.task.TaskRemoteService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;
 
-import com.ym.mec.task.TaskRemoteService;
-
-import java.util.Date;
-
 @Component
 public class TaskRemoteServiceFallback implements TaskRemoteService {
 
-	private final static Logger logger = LoggerFactory.getLogger(TaskRemoteServiceFallback.class);
-
-	@Override
-	public void refreshPaymentFeeStatus() {
-		logger.info("更新学生缴费状态的服务调用失败");
-	}
-
-	@Override
-	public void refreshUserMusicGroupPaymentStatusTask() {
-		logger.info("刷新学员乐团付费状态");
-	}
-
-	@Override
-	public void vipGroupAwardedMonthlyRewards() {
-		logger.info("vip课月度奖励的服务调用失败");
-	}
-
-	@Override
-	public void updateCourseScheduleToOverStatus() {
-		logger.info("更新课程状态至已结束服务调用失败");
-	}
-
-	@Override
-	public void pushNoSignOutMessage() {
-		logger.info("推送未签退消息提醒的服务调用失败");
-	}
-
-	@Override
-	public void vipGroupTeacherSalarySettlement() {
-		logger.info("vip课课酬结算的服务调用失败");
-	}
-
-	@Override
-	public void practiceTeacherSalarySettlement() {
-		logger.info("网管课课酬结算的服务调用失败");
-	}
-
-	@Override
-	public void MusicGroupTeacherSalarySettlement() {
-		logger.info("乐团课课酬结算的服务调用失败");
-	}
-
-	@Override
-	public void studentCoursesScheduleRemind() {
-		logger.info("有课提醒的服务调用失败");
-	}
-
-	@Override
-	public void studentSignInRemind() {
-		logger.info("上课提醒的服务调用失败");
-	}
-
-	@Override
-	public void studentHomeworkRemind() {
-		logger.info("学生训练提醒的服务调用失败");
-	}
-
-	@Override
-	public void teacherCoursesScheduleRemind() {
-		logger.info("老师有课提醒的服务调用失败");
-	}
-
-	@Override
-	public void teacherSignInRemind() {
-		logger.info("老师上课提醒的服务调用失败");
-	}
-
-	@Override
-	public void homeworkNoReplyRemind() {
-		logger.info("老师未回复训练提醒的服务调用失败");
-	}
-
-	@Override
-	public void queryOrderStatus() {
-		logger.info("查询订单状态的服务调用失败");
-	}
-
-	@Override
-	public void updateVipGroupToFinishedStatus() {
-		logger.info("更新VIP课程状态至已结束的服务调用失败");
-	}
-
-	@Override
-	public void stopVipGroupWithNoCreate() {
-		logger.info("取消达到报名时间未达到报名人数的vip课失败");
-	}
-
-	@Override
-	public void teacherCourseStatistic() {
-		logger.info("统计老师课酬失败");
-	}
-
-	@Override
-	public void updateHistoryPracticeGroupStatus() {
-		logger.info("历史网管课状态更新失败");
-	}
-
-	@Override
-	public void pushStudyReport() {
-		logger.info("练习报告推送失败");
-	}
-
-	@Override
-	public void pushNeedPostReport() {
-		logger.info("新增待填写月报推送失败");
-	}
-
-	@Override
-	public void createEvaluate() {
-		logger.info("预生成待提交月报失败");
-	}
-
-	@Override
-	public void pushNeedReview2Teacher() {
-		logger.info("新增待填写评论推送失败");
-	}
-
-	@Override
-	public void noStudentsCourseGroupRemind() {
-		logger.info("对外课程组无学生推送失败");
-	}
-
-	@Override
-	public void finishCourseGroup() {
-		logger.info("更新对外课程组至已结束失败");
-	}
-
-	@Override
-	public void exercisesSituationStatistics() {
-		logger.info("学员服务信息统计失败");
-	}
-
-	@Override
-	public void updateStudentOperatingTag() {
-		logger.info("更新学生运营指标失败");
-	}
-
-	@Override
-	public void updateMusicGroupPaymentCalenderStatus() {
-		logger.info("更新乐团缴费日历的状态失败");
-	}
-
-	@Override
-	public void pushWaitSendMessageTask() {
-		logger.info("延时推送执行失败");
-	}
-
-	@Override
-	public void pushTeacherExceptionAttendanceTask() {
-		logger.info("教师异常考勤推送失败");
-	}
-
-	@Override
-	public void updateMusicGroupStudentFeeStatus() {
-		logger.info("更新乐团学员缴费状态失败");
-	}
-
-	@Override
-	public void studentServeRemind() {
-		logger.info("本周应布置课外训练推送失败");
-	}
-
-	@Override
-	public void operatingReport() {
-		logger.info("经营报表生成失败");
-	}
-
-	@Override
-	public void goodsRepertoryFBIWarnTask() {
-		logger.info("商品库存预警推送失败");
-	}
-
-	@Override
-	public void autoAffirmReceiveTask() {
-		logger.info("确认收货执行失败");
-	}
-
-	@Override
-	public void countIndexBaseData() {
-		logger.info("首页数据统计失败");
-	}
-
-	@Override
-	public void inspectionPlan() {
-		logger.info("巡查日程提醒提送失败");
-	}
-
-	@Override
-	public void closeStudentServiceTag() {
-		logger.info("学员服务指标关闭失败");
-	}
-
-	@Override
-	public void updateGrade() {
-		logger.info("学生年级更新失败");
-	}
+    private final static Logger logger = LoggerFactory.getLogger(TaskRemoteServiceFallback.class);
+
+    @Override
+    public void refreshPaymentFeeStatus() {
+        logger.info("更新学生缴费状态的服务调用失败");
+    }
+
+    @Override
+    public void refreshUserMusicGroupPaymentStatusTask() {
+        logger.info("刷新学员乐团付费状态");
+    }
+
+    @Override
+    public void vipGroupAwardedMonthlyRewards() {
+        logger.info("vip课月度奖励的服务调用失败");
+    }
+
+    @Override
+    public void updateCourseScheduleToOverStatus() {
+        logger.info("更新课程状态至已结束服务调用失败");
+    }
+
+    @Override
+    public void pushNoSignOutMessage() {
+        logger.info("推送未签退消息提醒的服务调用失败");
+    }
+
+    @Override
+    public void vipGroupTeacherSalarySettlement() {
+        logger.info("vip课课酬结算的服务调用失败");
+    }
+
+    @Override
+    public void practiceTeacherSalarySettlement() {
+        logger.info("网管课课酬结算的服务调用失败");
+    }
+
+    @Override
+    public void MusicGroupTeacherSalarySettlement() {
+        logger.info("乐团课课酬结算的服务调用失败");
+    }
+
+    @Override
+    public void studentCoursesScheduleRemind() {
+        logger.info("有课提醒的服务调用失败");
+    }
+
+    @Override
+    public void studentSignInRemind() {
+        logger.info("上课提醒的服务调用失败");
+    }
+
+    @Override
+    public void studentHomeworkRemind() {
+        logger.info("学生训练提醒的服务调用失败");
+    }
+
+    @Override
+    public void teacherCoursesScheduleRemind() {
+        logger.info("老师有课提醒的服务调用失败");
+    }
+
+    @Override
+    public void teacherSignInRemind() {
+        logger.info("老师上课提醒的服务调用失败");
+    }
+
+    @Override
+    public void homeworkNoReplyRemind() {
+        logger.info("老师未回复训练提醒的服务调用失败");
+    }
+
+    @Override
+    public void queryOrderStatus() {
+        logger.info("查询订单状态的服务调用失败");
+    }
+
+    @Override
+    public void updateVipGroupToFinishedStatus() {
+        logger.info("更新VIP课程状态至已结束的服务调用失败");
+    }
+
+    @Override
+    public void stopVipGroupWithNoCreate() {
+        logger.info("取消达到报名时间未达到报名人数的vip课失败");
+    }
+
+    @Override
+    public void teacherCourseStatistic() {
+        logger.info("统计老师课酬失败");
+    }
+
+    @Override
+    public void updateHistoryPracticeGroupStatus() {
+        logger.info("历史网管课状态更新失败");
+    }
+
+    @Override
+    public void pushStudyReport() {
+        logger.info("练习报告推送失败");
+    }
+
+    @Override
+    public void pushNeedPostReport() {
+        logger.info("新增待填写月报推送失败");
+    }
+
+    @Override
+    public void createEvaluate() {
+        logger.info("预生成待提交月报失败");
+    }
+
+    @Override
+    public void pushNeedReview2Teacher() {
+        logger.info("新增待填写评论推送失败");
+    }
+
+    @Override
+    public void noStudentsCourseGroupRemind() {
+        logger.info("对外课程组无学生推送失败");
+    }
+
+    @Override
+    public void finishCourseGroup() {
+        logger.info("更新对外课程组至已结束失败");
+    }
+
+    @Override
+    public void exercisesSituationStatistics() {
+        logger.info("学员服务信息统计失败");
+    }
+
+    @Override
+    public void updateStudentOperatingTag() {
+        logger.info("更新学生运营指标失败");
+    }
+
+    @Override
+    public void updateMusicGroupPaymentCalenderStatus() {
+        logger.info("更新乐团缴费日历的状态失败");
+    }
+
+    @Override
+    public void pushWaitSendMessageTask() {
+        logger.info("延时推送执行失败");
+    }
+
+    @Override
+    public void pushTeacherExceptionAttendanceTask() {
+        logger.info("教师异常考勤推送失败");
+    }
+
+    @Override
+    public void updateMusicGroupStudentFeeStatus() {
+        logger.info("更新乐团学员缴费状态失败");
+    }
+
+    @Override
+    public void studentServeRemind() {
+        logger.info("本周应布置课外训练推送失败");
+    }
+
+    @Override
+    public void operatingReport() {
+        logger.info("经营报表生成失败");
+    }
+
+    @Override
+    public void goodsRepertoryFBIWarnTask() {
+        logger.info("商品库存预警推送失败");
+    }
+
+    @Override
+    public void autoAffirmReceiveTask() {
+        logger.info("确认收货执行失败");
+    }
+
+    @Override
+    public void countIndexBaseData() {
+        logger.info("首页数据统计失败");
+    }
+
+    @Override
+    public void inspectionPlan() {
+        logger.info("巡查日程提醒提送失败");
+    }
+
+    @Override
+    public void closeStudentServiceTag() {
+        logger.info("学员服务指标关闭失败");
+    }
+
+    @Override
+    public void updateGrade() {
+        logger.info("学生年级更新失败");
+    }
 
     @Override
     public void maintenanceNotice() {
-		logger.info("乐保到期提醒推送失败");
+        logger.info("乐保到期提醒推送失败");
     }
 
     @Override
     public void maintenanceOldDateAdd() {
-		logger.info("乐保历史数据处理失败");
+        logger.info("乐保历史数据处理失败");
     }
 
-	@Override
-	public void updateStudentTeacherAndSubject() {
-		logger.error("更新学员指导老师和声部信息失败");
-	}
+    @Override
+    public void updateStudentTeacherAndSubject() {
+        logger.error("更新学员指导老师和声部信息失败");
+    }
 
-	@Override
-	public void todayIncomeRemind() {
-		logger.error("推送查看今日收入提醒失败");
-	}
+    @Override
+    public void todayIncomeRemind() {
+        logger.error("推送查看今日收入提醒失败");
+    }
 
-	@Override
-	public void salaryMarkNew() {
-		logger.error("大雅基本工资标记失败");
-	}
+    @Override
+    public void salaryMarkNew() {
+        logger.error("大雅基本工资标记失败");
+    }
 
     @Override
     public void syncImHistoryMessageTask() {
-		logger.error("同步即时通讯聊天记录失败");
+        logger.error("同步即时通讯聊天记录失败");
     }
 
-	@Override
-	public void indexErrDataRecord() {
-		logger.error("历史异常数据记录失败");
-	}
+    @Override
+    public void indexErrDataRecord() {
+        logger.error("历史异常数据记录失败");
+    }
 
-	@Override
-	public void autoCleanPreCourseTask() {
-		logger.error("每天凌晨3点清理所有的乐团预排课");
-	}
+    @Override
+    public void autoCleanPreCourseTask() {
+        logger.error("每天凌晨3点清理所有的乐团预排课");
+    }
 
     @Override
     public void musicSchoolTermPush() {
         logger.error("每天10点推送乐团排课、续费、退团提醒");
     }
 
-	@Override
-	public void memberEndAutoQuitMusic() {
-		logger.error("会员到期自动退团");
-	}
+    @Override
+    public void memberEndAutoQuitMusic() {
+        logger.error("会员到期自动退团");
+    }
 
-	@Override
-	public void cleanStudentMember() {
-		logger.error("学员会员到期状态更新");
-	}
+    @Override
+    public void cleanStudentMember() {
+        logger.error("学员会员到期状态更新");
+    }
 
-	@Override
-	public void cleanStudentCloudStudySequenceDays() {
-		logger.error("清理学员云教练连续使用天数失败");
-	}
+    @Override
+    public void cleanStudentCloudStudySequenceDays() {
+        logger.error("清理学员云教练连续使用天数失败");
+    }
 
-	@Override
-	public void curWeekStudentTrainRemind() {
-		logger.error("本周学员训练提醒失败");
-	}
+    @Override
+    public void curWeekStudentTrainRemind() {
+        logger.error("本周学员训练提醒失败");
+    }
 
     @Override
     public void remarkCountFlag() {
@@ -283,8 +280,13 @@ public class TaskRemoteServiceFallback implements TaskRemoteService {
         logger.error("校验机构付款记录支付状态失败");
     }
 
-	@Override
-	public void redemptionCodeWarn() {
-		logger.error("兑换码分配数量底告警");
-	}
+    @Override
+    public void checkTenantState() {
+        logger.error("校验机构状态失败");
+    }
+
+    @Override
+    public void redemptionCodeWarn() {
+        logger.error("兑换码分配数量底告警");
+    }
 }

+ 24 - 0
mec-task/src/main/java/com/ym/mec/task/jobs/CheckTenantState.java

@@ -0,0 +1,24 @@
+package com.ym.mec.task.jobs;
+
+import com.ym.mec.task.TaskRemoteService;
+import com.ym.mec.task.core.BaseTask;
+import com.ym.mec.task.core.TaskException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author hgw
+ * Created by 2022-01-10
+ */
+@Service
+public class CheckTenantState extends BaseTask {
+
+    @Autowired
+    private TaskRemoteService taskRemoteService;
+
+    @Override
+    public void execute() throws TaskException {
+        taskRemoteService.checkTenantState();
+    }
+
+}

+ 0 - 2
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TenantConfigController.java

@@ -4,7 +4,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
@@ -24,7 +23,6 @@ public class TenantConfigController extends BaseController {
 
 	@ApiOperation("修改机构启用停用状态")
 	@GetMapping(value = "/get")
-	@PreAuthorize("@pcs.hasPermissions('tenantConfig/get')")
 	public Object get() {
 		// 查询云教室扣费标准
 		TenantConfig tenantConfig = tenantConfigService.queryByTenantId(TenantContextHolder.getTenantId());