ソースを参照

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

hgw 3 年 前
コミット
612eea7729

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/QuestionnaireQuestionItemDao.java

@@ -12,7 +12,7 @@ public interface QuestionnaireQuestionItemDao extends BaseDAO<Long, Questionnair
 
     void batchInsert(@Param("questionItemList") List<QuestionnaireQuestionItem> questionItemList,
                      @Param("questionId") Long questionId,
-                     @Param("topicId") Integer topicId);
+                     @Param("topicId") Integer topicId, @Param("tenantId") Integer tenantId);
 
     void batchDelByQuestionIdList(@Param("questionIdList") List<Long> delQuestionnaireQuestionIdList);
 

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentDao.java

@@ -105,7 +105,7 @@ public interface StudentDao extends com.ym.mec.common.dal.BaseDAO<Integer, Stude
                                                            @Param("nextMonday") String nextMonday,
                                                            @Param("studentIds") List<Integer> studentIds, @Param("tenantId") Integer tenantId);
 
-    List<StudentServeCourseDto> getNoCourseBeServeStudentInfo(@Param("noCourseStudentIds") List<Integer> noCourseStudentIds, @Param("tenantId") Integer tenantId);
+    List<StudentServeCourseDto> getNoCourseBeServeStudentInfo(@Param("studentIds") List<Integer> noCourseStudentIds, @Param("tenantId") Integer tenantId);
 
 
     List<StudentServeDto> getBeServiceStudentsInfoWithStudents(@Param("monday") String monday,

+ 0 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupService.java

@@ -16,7 +16,6 @@ import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import java.util.concurrent.atomic.AtomicInteger;
 
 public interface MusicGroupService extends BaseService<String, MusicGroup> {
     /**

+ 11 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/GroupClassServiceImpl.java

@@ -451,16 +451,19 @@ public class GroupClassServiceImpl implements GroupClassService {
                 }
                 Student student = studentDao.get(studentId);
                 Date membershipEndTime = student.getMembershipEndTime();
-                if(membershipEndTime.compareTo(now) > 0){
-                    membershipEndTime = DateUtil.addDays(membershipEndTime, -giveMemberTime);
-                    student.setMembershipEndTime(membershipEndTime);
-                    if(membershipEndTime.compareTo(now) < 0){
-                        student.setMemberRankSettingId(null);
-                        student.setExperienceMemberRankSettingId(null);
+                if(membershipEndTime != null){
+                    if(membershipEndTime.compareTo(now) > 0){
+                        membershipEndTime = DateUtil.addDays(membershipEndTime, -giveMemberTime);
+                        student.setMembershipEndTime(membershipEndTime);
+                        if(membershipEndTime.compareTo(now) < 0){
+                            student.setMemberRankSettingId(null);
+                            student.setExperienceMemberRankSettingId(null);
+                        }
+                        student.setUpdateTime(now);
+                        studentDao.updateStudentMember(student);
                     }
-                    student.setUpdateTime(now);
-                    studentDao.updateStudentMember(student);
                 }
+
                 CloudTeacherOrder cloudTeacherOrder = cloudTeacherOrderDao.get(giveMemberOrderId);
                 cloudTeacherOrder.setStatus(3);
                 cloudTeacherOrder.setRemark("退还活动关联会员时长");

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

@@ -55,7 +55,7 @@ public class QuestionnaireTopicServiceImpl extends BaseServiceImpl<Integer, Ques
 				Long questionId = questionnaireQuestion.getId();
 				List<QuestionnaireQuestionItem> questionItemList = questionnaireQuestion.getQuestionnaireQuestionItemList();
 				if(questionItemList != null && questionItemList.size() > 0){
-					questionnaireQuestionItemDao.batchInsert(questionItemList,questionId,topicId);
+					questionnaireQuestionItemDao.batchInsert(questionItemList,questionId,topicId, questionnaireTopic.getTenantId());
 				}
 			}
 		}
@@ -101,7 +101,7 @@ public class QuestionnaireTopicServiceImpl extends BaseServiceImpl<Integer, Ques
 						//获取删除的答案
 						List<QuestionnaireQuestionItem> insertItemList = questionItemList.stream().filter(e -> e.getId() == null).collect(Collectors.toList());
 						if(insertItemList != null && insertItemList.size() > 0){
-							questionnaireQuestionItemDao.batchInsert(insertItemList,questionId,topicId);
+							questionnaireQuestionItemDao.batchInsert(insertItemList,questionId,topicId,questionnaireTopic.getTenantId());
 						}
 					}
 				}
@@ -115,7 +115,7 @@ public class QuestionnaireTopicServiceImpl extends BaseServiceImpl<Integer, Ques
 					Long questionId = question.getId();
 					List<QuestionnaireQuestionItem> questionItemList = question.getQuestionnaireQuestionItemList();
 					if(questionItemList != null && questionItemList.size() > 0){
-						questionnaireQuestionItemDao.batchInsert(questionItemList,questionId,topicId);
+						questionnaireQuestionItemDao.batchInsert(questionItemList,questionId,topicId,questionnaireTopic.getTenantId());
 					}
 				}
 			}

+ 14 - 11
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMessageServiceImpl.java

@@ -303,6 +303,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	@Async
 	public void batchSendMessage(MessageSender messageSender, MessageTypeEnum type, Map<Integer, String> receivers, Date triggerTime, Integer readStatus,
 			String url,String jpushType, Object... args) {
+		LOGGER.info("batchSendMessage {}, type {}, receivers {} ", messageSender, type, receivers);
 		if (receivers == null || receivers.size() == 0) {
 			LOGGER.error("接收地址不能为空");
 			return;
@@ -312,10 +313,9 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 
 		// email data from database load, 使用接收者 tenantId, 假设发送者和接收者为同一机构
 		if (Objects.equals(messageSender.getSendMode(), "EMAIL")) {
-			Integer userId = receivers.keySet().stream().findFirst().orElse(-1);
-			loadEmailInfo(userId);
+			LOGGER.info("batch 发送邮件 {} ", simpleUserDto.getTenantId());
+			loadEmailInfo(simpleUserDto.getTenantId());
 			debugMode = false;
-			LOGGER.info("batch 发送邮件 {} ", userId);
 		}
 		if(StringUtils.isNotEmpty(jpushType) && jpushType == "STUDENT"){
 			//如果不是缴费信息
@@ -450,12 +450,15 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	@Override
 	@Async
 	public void sendMessage(MessageSender messageSender, Integer userId, String title, String content, String receiver, Date triggerTime, Integer readStatus, String url, String group,String jpushType) {
+		LOGGER.info("batchSendMessage {}, userId {}, receivers {} ", messageSender, userId, receiver);
 		if (StringUtils.isBlank(receiver)) {
 			throw new BizException("接收地址不能为空");
 		}
+		SimpleUserDto simpleUserDto = teacherDao.getSimpleUser(userId);
+		TenantContextHolder.setTenantId(simpleUserDto.getTenantId());
 		// email data from database load
 		if (Objects.equals(messageSender.getSendMode(), "EMAIL")) {
-			loadEmailInfo(userId);
+			loadEmailInfo(simpleUserDto.getTenantId());
 			debugMode = false;
 			LOGGER.info("batch 发送邮件 {} ", userId);
 		}
@@ -490,14 +493,14 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		addMessage(receivers, title, content, triggerTime, mode, status, errorMsg, readStatus, url, null,jpushType);
 	}
 
-	private void loadEmailInfo(Integer userId) {
-		SysUser user = sysUserFeignService.queryUserById(userId);
-		if (user == null) {
-			LOGGER.error("用户Id {} 找不到用户", userId);
-			return;
-		}
+	private void loadEmailInfo(Integer tenantId) {
 		try {
-			SysEmail email1 = sysEmailService.getOne(new WrapperUtil<SysEmail>().hasEq("tenant_id_", user.getTenantId()).queryWrapper());
+			SysEmail email1 = sysEmailService.getOne(new WrapperUtil<SysEmail>().hasEq("tenant_id_", tenantId).queryWrapper());
+			if (email1 == null) {
+				LOGGER.error("未找到邮件配置 tenantId" + tenantId);
+				throw new RuntimeException("未找到邮件配置 tenantId" + tenantId);
+			}
+
 			messageSenderPluginContext.sysEmail.setHostName(email1.getHostName());
 			messageSenderPluginContext.sysEmail.setSmtpPort(email1.getSmtpPort());
 			messageSenderPluginContext.sysEmail.setUserName(email1.getUserName());

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

@@ -779,14 +779,21 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoDao, TenantInfo
 
     @Override
     public void saveTenantContextHolder(HttpServletRequest request) {
-        String tenantId = request.getHeader("tenantId");
-        if (StringUtils.isEmpty(tenantId)) {
+    	
+    	final String TENANT_ID = "tenantId";
+        String tenantId = request.getParameter(TENANT_ID);
+        
+        if(StringUtils.isBlank(tenantId)){
+        	tenantId = request.getHeader(TENANT_ID);
+        }
+        
+        if (StringUtils.isBlank(tenantId)) {
             SysUser sysUser = sysUserFeignService.queryUserInfo();
             if (sysUser != null && sysUser.getTenantId() != null) {
                 tenantId = sysUser.getTenantId().toString();
             }
         }
-        if (StringUtils.isNotEmpty(tenantId)) {
+        if (StringUtils.isNotBlank(tenantId)) {
             TenantContextHolder.setTenantId(Integer.parseInt(tenantId));
             if (Integer.parseInt(tenantId) != -1) {
                 log.info("==> " + request.getRequestURL());

+ 1 - 0
mec-biz/src/main/resources/config/mybatis/StudentManageDao.xml

@@ -169,6 +169,7 @@
             </if>
         </if>
         <include refid="findStudentsByOrganIdSql"/>
+        GROUP BY su.id_
         ORDER BY su.create_time_ DESC
         <include refid="global.limit"/>
     </select>

+ 73 - 0
mec-student/src/main/java/com/ym/mec/student/controller/CloudTeacherOrderController.java

@@ -0,0 +1,73 @@
+package com.ym.mec.student.controller;
+
+import com.ym.mec.biz.dal.entity.CloudTeacherStudent;
+import com.ym.mec.biz.dal.entity.TenantOrderRecord;
+import com.ym.mec.biz.dal.page.CloudTeacherAddQueryInfo;
+import com.ym.mec.biz.dal.page.CloudTeacherOrderQueryInfo;
+import com.ym.mec.biz.service.CloudTeacherOrderService;
+import com.ym.mec.biz.service.TenantOrderRecordService;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.page.WrapperUtil;
+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.*;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Description
+ *
+ * @author: feng-ji
+ * @date: 2021-12-21
+ */
+@RequestMapping("cloudTeacherOrder")
+@Api(tags = "团练宝注册,激活,添加用户,支付等")
+@RestController
+public class CloudTeacherOrderController extends BaseController {
+
+    @Autowired
+    private CloudTeacherOrderService cloudTeacherOrderService;
+
+    @Autowired
+    private TenantOrderRecordService tenantOrderRecordService;
+
+    @ApiOperation(value = "查询未激活团练宝用户")
+    @PostMapping("/queryInactive")
+    @PreAuthorize("@pcs.hasPermissions('cloudTeacherOrder/queryInActive')")
+    public HttpResponseResult<PageInfo<CloudTeacherStudent>> queryInactive(@RequestBody CloudTeacherOrderQueryInfo cloudTeacherOrderQueryInfo) throws Exception {
+        cloudTeacherOrderQueryInfo.setStatus(1);
+        // 学生端不要乐团限制, 返回学生会重复
+        // if (cloudTeacherOrderQueryInfo.getMusicGroupId() == null) {
+        //     throw new Exception("乐团Id必须填写");
+        // }
+        return succeed(cloudTeacherOrderService.queryInactive(cloudTeacherOrderQueryInfo));
+    }
+
+    @ApiOperation(value = "查询已激活团练宝用户")
+    @PostMapping("/queryActive")
+    @PreAuthorize("@pcs.hasPermissions('cloudTeacherOrder/queryActive')")
+    public HttpResponseResult<PageInfo<CloudTeacherStudent>> queryActive(@RequestBody CloudTeacherOrderQueryInfo cloudTeacherOrderQueryInfo) throws Exception {
+        cloudTeacherOrderQueryInfo.setStatus(2);
+        return succeed(cloudTeacherOrderService.queryInactive(cloudTeacherOrderQueryInfo));
+    }
+
+    @ApiOperation(value = "激活记录")
+    @PostMapping("/queryActiveRecord")
+    @PreAuthorize("@pcs.hasPermissions('cloudTeacherOrder/queryActiveRecord')")
+    public HttpResponseResult<PageInfo<CloudTeacherStudent>> queryActiveRecord(@RequestBody CloudTeacherOrderQueryInfo cloudTeacherOrderQueryInfo) {
+        return succeed(cloudTeacherOrderService.queryRecord(cloudTeacherOrderQueryInfo));
+    }
+
+    @ApiOperation(value = "轮询查询订单状态")
+    @GetMapping("/payCheck")
+    @PreAuthorize("@pcs.hasPermissions('cloudTeacherOrder/payCheck')")
+    public HttpResponseResult<Boolean> payCheck(@RequestParam String orderNo) throws Exception {
+        return succeed(cloudTeacherOrderService.payCheck(orderNo));
+    }
+
+}

+ 0 - 7
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupController.java

@@ -329,13 +329,6 @@ public class MusicGroupController extends BaseController {
 	@GetMapping("/queryMusicMemberList")
 	@PreAuthorize("@pcs.hasPermissions('musicGroup/queryMusicMemberList')")
 	public HttpResponseResult<PageInfo<MusicMemberDto>> queryMusicMemberList(MusicMemberQueryInfo queryInfo) {
-		if (StringUtils.isEmpty(queryInfo.getOrganId())) {
-			SysUser sysUser = sysUserFeignService.queryUserInfo();
-			if (sysUser == null) {
-				throw new BizException("用户信息获取失败");
-			}
-			queryInfo.setOrganId(sysUser.getOrganId().toString());
-		}
 		queryInfo = organizationService.onlyEducation(queryInfo);
 		return succeed(musicGroupService.queryMusicMemberList(queryInfo));
 	}