Browse Source

Merge branch 'master' of http://git.dayaedu.com/yonge/edu-saas

zouxuan 5 years ago
parent
commit
53dfd2c770
37 changed files with 205 additions and 200 deletions
  1. 0 2
      edu-auth/edu-auth-api/pom.xml
  2. 0 6
      edu-auth/edu-auth-server/pom.xml
  3. 1 1
      edu-auth/edu-auth-server/src/main/java/com/keao/edu/auth/service/impl/SmsCodeServiceImpl.java
  4. 12 6
      edu-auth/edu-auth-server/src/main/java/com/keao/edu/auth/web/controller/SysMessageController.java
  5. 4 0
      edu-common/pom.xml
  6. 1 1
      edu-common/src/main/java/com/keao/edu/common/service/SysMessageConfigService.java
  7. 1 33
      edu-common/src/main/java/com/keao/edu/common/service/SysMessageService.java
  8. 5 5
      edu-common/src/main/java/com/keao/edu/common/service/impl/SysMessageConfigServiceImpl.java
  9. 3 76
      edu-common/src/main/java/com/keao/edu/common/service/impl/SysMessageServiceImpl.java
  10. 4 2
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExamManualLedgerController.java
  11. 9 1
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExamRegistrationController.java
  12. 9 1
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExamRoomController.java
  13. 10 2
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/StudentExamResultController.java
  14. 3 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/ExamRoomStudentRelationDao.java
  15. 2 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/StudentExamResultDao.java
  16. 0 11
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/entity/Organization.java
  17. 1 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/enums/StudentRegistrationStatusEnum.java
  18. 2 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/ExamManualLedgerService.java
  19. 19 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamManualLedgerServiceImpl.java
  20. 4 2
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamOrganizationRelationServiceImpl.java
  21. 17 7
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamRegistrationPaymentServiceImpl.java
  22. 1 12
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamRegistrationServiceImpl.java
  23. 37 2
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamRoomServiceImpl.java
  24. 6 2
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamRoomStudentRelationServiceImpl.java
  25. 2 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamTeacherSalaryServiceImpl.java
  26. 3 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExaminationBasicServiceImpl.java
  27. 3 6
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/OrganizationServiceImpl.java
  28. 3 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/StudentExamResultServiceImpl.java
  29. 7 3
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/TenantInfoServiceImpl.java
  30. 2 1
      edu-user/edu-user-server/src/main/resources/config/mybatis/ExamManualLedgerMapper.xml
  31. 2 1
      edu-user/edu-user-server/src/main/resources/config/mybatis/ExamRegistrationMapper.xml
  32. 1 1
      edu-user/edu-user-server/src/main/resources/config/mybatis/ExamRegistrationPaymentMapper.xml
  33. 9 0
      edu-user/edu-user-server/src/main/resources/config/mybatis/ExamRoomStudentRelationMapper.xml
  34. 3 10
      edu-user/edu-user-server/src/main/resources/config/mybatis/OrganizationMapper.xml
  35. 12 5
      edu-user/edu-user-server/src/main/resources/config/mybatis/StudentExamResultMapper.xml
  36. 1 1
      edu-user/edu-user-server/src/main/resources/config/mybatis/SysUserMapper.xml
  37. 6 0
      pom.xml

+ 0 - 2
edu-auth/edu-auth-api/pom.xml

@@ -34,8 +34,6 @@
 		<dependency>
 			<groupId>com.keao.edu</groupId>
 			<artifactId>edu-thirdparty</artifactId>
-			<version>1.0</version>
-			<scope>compile</scope>
 		</dependency>
 	</dependencies>
 </project>

+ 0 - 6
edu-auth/edu-auth-server/pom.xml

@@ -92,12 +92,6 @@
         </dependency>
         <dependency>
             <groupId>com.keao.edu</groupId>
-            <artifactId>edu-thirdparty</artifactId>
-            <version>1.0</version>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.keao.edu</groupId>
             <artifactId>edu-user-client-api</artifactId>
         </dependency>
     </dependencies>

+ 1 - 1
edu-auth/edu-auth-server/src/main/java/com/keao/edu/auth/service/impl/SmsCodeServiceImpl.java

@@ -10,11 +10,11 @@ import org.springframework.stereotype.Service;
 import com.keao.edu.auth.api.client.SysUserFeignService;
 import com.keao.edu.auth.api.entity.SysUser;
 import com.keao.edu.auth.service.SmsCodeService;
-import com.keao.edu.auth.service.SysMessageService;
 import com.keao.edu.common.entity.SysMessage;
 import com.keao.edu.common.enums.MessageSendMode;
 import com.keao.edu.common.enums.MessageTypeEnum;
 import com.keao.edu.common.exception.BizException;
+import com.keao.edu.common.service.SysMessageService;
 
 @Service
 public class SmsCodeServiceImpl implements SmsCodeService {

+ 12 - 6
edu-auth/edu-auth-server/src/main/java/com/keao/edu/auth/web/controller/SysMessageController.java

@@ -1,19 +1,25 @@
 package com.keao.edu.auth.web.controller;
 
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
 import com.keao.edu.auth.api.client.SysUserFeignService;
 import com.keao.edu.auth.api.entity.SysMessageParams;
 import com.keao.edu.auth.api.entity.SysUser;
-import com.keao.edu.auth.service.SysMessageService;
 import com.keao.edu.auth.web.controller.queryInfo.SysMessageQueryInfo;
 import com.keao.edu.common.controller.BaseController;
 import com.keao.edu.common.entity.SysMessage;
 import com.keao.edu.common.enums.MessageSendMode;
 import com.keao.edu.common.page.PageInfo;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.*;
+import com.keao.edu.common.service.SysMessageService;
 
 /**
  * @Author Joburgess

+ 4 - 0
edu-common/pom.xml

@@ -16,6 +16,10 @@
 	</properties>
 
 	<dependencies>
+        <dependency>
+            <groupId>com.keao.edu</groupId>
+            <artifactId>edu-thirdparty</artifactId>
+        </dependency>
 
 		<dependency>
 			<groupId>com.keao.edu</groupId>

+ 1 - 1
edu-auth/edu-auth-server/src/main/java/com/keao/edu/auth/service/SysMessageConfigService.java → edu-common/src/main/java/com/keao/edu/common/service/SysMessageConfigService.java

@@ -1,4 +1,4 @@
-package com.keao.edu.auth.service;
+package com.keao.edu.common.service;
 
 
 import com.keao.edu.common.entity.SysMessageConfig;

+ 1 - 33
edu-auth/edu-auth-server/src/main/java/com/keao/edu/auth/service/SysMessageService.java → edu-common/src/main/java/com/keao/edu/common/service/SysMessageService.java

@@ -1,4 +1,4 @@
-package com.keao.edu.auth.service;
+package com.keao.edu.common.service;
 
 
 import java.util.Date;
@@ -9,7 +9,6 @@ import java.util.Set;
 import com.keao.edu.common.entity.SysMessage;
 import com.keao.edu.common.enums.MessageSendMode;
 import com.keao.edu.common.enums.MessageTypeEnum;
-import com.keao.edu.common.service.BaseService;
 import com.keao.edu.thirdparty.message.MessageSenderPlugin;
 
 public interface SysMessageService extends BaseService<Long, SysMessage> {
@@ -30,22 +29,6 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	boolean batchSeoMessage(Set<Integer> userIds, MessageTypeEnum messageType, String memo, Object... args);
 
 	/**
-	 * 推送im文本消息,包换调整链接
-	 * @param senderId
-	 * @param messageType
-	 * @return
-	 */
-	void batchSendImMessage(MessageTypeEnum messageType, String senderId, String extra, String[] targetIds, String url, Object... args);
-
-	/**
-	 * 推送im自定义节拍器消息
-	 * @param senderId
-	 * @param roomId
-	 * @param content
-	 */
-//	void batchSendImPlayMidiMessage(String senderId,String roomId, String content);
-
-	/**
 	 * 批量发送消息
 	 * @param messageSender 消息发送者
 	 * @param subject 消息主题
@@ -136,21 +119,6 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	public List<SysMessage> queryUserInRecentMinList(String mobile, int recentMin, MessageSendMode type);
 
 	/**
-	 * 发送私聊消息
-	 * @param studentId
-	 * @param content
-	 */
-    void sendPrivateMessage(String studentId, String content);
-
-	/**
-	 * 发送私聊消息
-	 * @param sender
-	 * @param receiver
-	 * @param content
-	 */
-	void sendNoAuthPrivateMessage(String sender, String receiver, String content);
-
-	/**
 	 * 删除消息
 	 * @param ids
 	 */

+ 5 - 5
edu-auth/edu-auth-server/src/main/java/com/keao/edu/auth/service/impl/SysMessageConfigServiceImpl.java → edu-common/src/main/java/com/keao/edu/common/service/impl/SysMessageConfigServiceImpl.java

@@ -1,14 +1,14 @@
-package com.keao.edu.auth.service.impl;
+package com.keao.edu.common.service.impl;
 
 
-import com.keao.edu.auth.service.SysMessageConfigService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
 import com.keao.edu.common.dal.BaseDAO;
 import com.keao.edu.common.dao.SysMessageConfigDao;
 import com.keao.edu.common.entity.SysMessageConfig;
 import com.keao.edu.common.enums.MessageTypeEnum;
-import com.keao.edu.common.service.impl.BaseServiceImpl;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
+import com.keao.edu.common.service.SysMessageConfigService;
 
 @Service
 public class SysMessageConfigServiceImpl extends BaseServiceImpl<Integer, SysMessageConfig>  implements SysMessageConfigService {

+ 3 - 76
edu-auth/edu-auth-server/src/main/java/com/keao/edu/auth/service/impl/SysMessageServiceImpl.java → edu-common/src/main/java/com/keao/edu/common/service/impl/SysMessageServiceImpl.java

@@ -1,4 +1,4 @@
-package com.keao.edu.auth.service.impl;
+package com.keao.edu.common.service.impl;
 
 
 import java.util.ArrayList;
@@ -17,10 +17,6 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 
-import com.keao.edu.auth.api.client.SysUserFeignService;
-import com.keao.edu.auth.api.entity.SysUser;
-import com.keao.edu.auth.service.SysMessageConfigService;
-import com.keao.edu.auth.service.SysMessageService;
 import com.keao.edu.common.dal.BaseDAO;
 import com.keao.edu.common.dao.SysMessageDao;
 import com.keao.edu.common.entity.Mapper;
@@ -31,10 +27,8 @@ import com.keao.edu.common.enums.MessageTypeEnum;
 import com.keao.edu.common.enums.SendStatusEnum;
 import com.keao.edu.common.exception.BizException;
 import com.keao.edu.common.redis.service.RedisCache;
-import com.keao.edu.common.service.impl.BaseServiceImpl;
-import com.keao.edu.im.api.client.ImFeignService;
-import com.keao.edu.im.api.entity.ImPrivateMessage;
-import com.keao.edu.im.api.entity.ImTxtMessage;
+import com.keao.edu.common.service.SysMessageConfigService;
+import com.keao.edu.common.service.SysMessageService;
 import com.keao.edu.thirdparty.message.MessageSenderPlugin;
 import com.keao.edu.thirdparty.message.MessageSenderPluginContext;
 import com.keao.edu.thirdparty.message.provider.YimeiSmsPlugin;
@@ -55,12 +49,6 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	private MessageSenderPluginContext messageSenderPluginContext;
 
 	@Autowired
-	private SysUserFeignService sysUserFeignService;
-
-	@Autowired
-	private ImFeignService imFeignService;
-
-	@Autowired
 	private RedisCache<String, Object> redisCache;
 
 	// 验证码有效期
@@ -107,12 +95,6 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 			receiver = entry.getValue();
 
 			message = new SysMessage();
-			if (userId == null) {
-				SysUser user = sysUserFeignService.queryUserByMobile(receiver);
-				if (user != null) {
-					userId = user.getId();
-				}
-			}
 			message.setUserId(userId);
 			message.setContent(content);
 			message.setCreateOn(date);
@@ -179,61 +161,6 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	}
 
 	@Override
-	public void batchSendImMessage(MessageTypeEnum type, String senderId,String extra, String[] targetIds, String url, Object... args) {
-		SysMessageConfig messageConfig = sysMessageConfigService.queryByType(type);
-		if (messageConfig == null) {
-			throw new BizException("消息类型错误");
-		}else if(messageConfig.getSendFlag() == null || messageConfig.getSendFlag() == 0){
-			return;
-		}
-		String content = MessageFormatter.arrayFormat(messageConfig.getContent(), args);
-		if(StringUtils.isNotEmpty(url)){
-			content += url;
-		}
-		ImPrivateMessage privateMessage = new ImPrivateMessage();
-		privateMessage.setObjectName("RC:TxtMsg");
-		privateMessage.setTargetId(targetIds);
-		privateMessage.setSenderId(senderId);
-		privateMessage.setContent(new ImTxtMessage(content,extra));
-		imFeignService.privateSend(privateMessage);
-	}
-
-	/*@Override
-	public void batchSendImPlayMidiMessage(String senderId,String roomId, String content) {
-		ImGroupMessage groupMessage = new ImGroupMessage();
-		privateMessage.setObjectName("DY:PlayMidiMessage");
-		groupMessage.setTargetId(roomId.split(","));
-		groupMessage.setSenderId(senderId);
-		groupMessage.setContent(new ImPlayMidiMessage(content,null));
-		groupMessage.setType("DY:PlayMidiMessage");
-		imFeignService.privateSendCustom(groupMessage);
-	}*/
-
-	@Override
-	public void sendPrivateMessage(String studentId, String content) {
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if(sysUser == null){
-			throw new BizException("用户信息获取失败");
-		}
-		ImPrivateMessage privateMessage = new ImPrivateMessage();
-		privateMessage.setObjectName("RC:TxtMsg");
-		privateMessage.setTargetId(studentId.split(","));
-		privateMessage.setSenderId(sysUser.getId().toString());
-		privateMessage.setContent(new ImTxtMessage(content,null));
-		imFeignService.privateSend(privateMessage);
-	}
-
-	@Override
-	public void sendNoAuthPrivateMessage(String sender, String receiver, String content) {
-		ImPrivateMessage privateMessage = new ImPrivateMessage();
-		privateMessage.setObjectName("RC:TxtMsg");
-		privateMessage.setTargetId(receiver.split(","));
-		privateMessage.setSenderId(sender);
-		privateMessage.setContent(new ImTxtMessage(content,null));
-		imFeignService.privateSend(privateMessage);
-	}
-
-	@Override
 	public void batchDelMessage(String ids) {
 		sysMessageDao.batchDelMessage(ids);
 	}

+ 4 - 2
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExamManualLedgerController.java

@@ -57,11 +57,13 @@ public class ExamManualLedgerController extends BaseController {
     @ApiOperation("删除支出记录")
     @PostMapping(value = "/del")
     public HttpResponseResult del(Long id) {
-        return succeed(examManualLedgerService.delete(id));
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        examManualLedgerService.deleteExamManualLedger(sysUser.getId(),id);
+        return succeed();
     }
 
     @ApiOperation("获取考级项目支出统计信息")
-    @PostMapping(value = "/getExamManualLedgerStatistics")
+    @GetMapping(value = "/getExamManualLedgerStatistics")
     public HttpResponseResult<ExamManualLedgerStatisticsDto> getExamManualLedgerStatistics(Long examId){
         return succeed(examManualLedgerService.getExamManualLedgerStatistics(examId));
     }

+ 9 - 1
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExamRegistrationController.java

@@ -98,7 +98,15 @@ public class ExamRegistrationController extends BaseController {
     @PreAuthorize("@pcs.hasPermissions('examRegistration/getExamRegistrationStaticsInfo')")
     public HttpResponseResult<ExamRegistrationStatisticsDto> getExamRegistrationStaticsInfo(Integer examId) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
-        return succeed(examRegistrationService.getExamRegistrationStaticsInfo(sysUser.getId(), examId));
+        Integer organId=null;
+        if(!sysUser.getIsSuperAdmin()){
+            Employee employee = employeeService.get(sysUser.getId());
+            if(Objects.isNull(employee)){
+                return failed("用户信息异常");
+            }
+            organId=employee.getOrganId();
+        }
+        return succeed(examRegistrationService.getExamRegistrationStaticsInfo(organId, examId));
     }
 
 

+ 9 - 1
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExamRoomController.java

@@ -147,7 +147,15 @@ public class ExamRoomController extends BaseController {
     @GetMapping(value = "/getExamRoomStatisticsInfo")
     public HttpResponseResult<ExamRoomStatisticsDto> getExamRoomStatisticsInfo(Long examId){
         SysUser sysUser = sysUserFeignService.queryUserInfo();
-        return succeed(examRoomService.getExamRoomStatisticsInfo(sysUser.getId(), examId));
+        Integer organId=null;
+        if(!sysUser.getIsSuperAdmin()){
+            Employee employee = employeeService.get(sysUser.getId());
+            if(Objects.isNull(employee)){
+                return failed("用户信息异常");
+            }
+            organId=employee.getOrganId();
+        }
+        return succeed(examRoomService.getExamRoomStatisticsInfo(organId, examId));
     }
 
     @ApiOperation("获取报名学员可加入教室列表")

+ 10 - 2
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/StudentExamResultController.java

@@ -59,10 +59,18 @@ public class StudentExamResultController extends BaseController {
     }
 
     @ApiOperation("考试结果统计信息")
-    @PostMapping(value = "/getStudentExamResultStatisticsInfo")
+    @GetMapping(value = "/getStudentExamResultStatisticsInfo")
     public HttpResponseResult<StudentExamResultStatisticsDto> getStudentExamResultStatisticsInfo(Integer examId){
         SysUser sysUser = sysUserFeignService.queryUserInfo();
-        return succeed(studentExamResultService.getStudentExamResultStatisticsInfo(sysUser.getId(), examId));
+        Integer organId=null;
+        if(!sysUser.getIsSuperAdmin()){
+            Employee employee = employeeService.get(sysUser.getId());
+            if(Objects.isNull(employee)){
+                return failed("用户信息异常");
+            }
+            organId=employee.getOrganId();
+        }
+        return succeed(studentExamResultService.getStudentExamResultStatisticsInfo(organId, examId));
     }
 
 }

+ 3 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/ExamRoomStudentRelationDao.java

@@ -33,6 +33,9 @@ public interface ExamRoomStudentRelationDao extends BaseDAO<Long, ExamRoomStuden
      */
     List<ExamRoomStudentRelation> findStudentsWithExamRoom(@Param("examRoomId") Long examRoomId);
 
+
+    List<ExamRoomStudentRelation> findStudentsWithExamRooms(@Param("examRoomIds") List<Long> examRoomIds);
+
     /**
      * @describe 删除指定教室的学员
      * @author Joburgess

+ 2 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/StudentExamResultDao.java

@@ -12,6 +12,8 @@ public interface StudentExamResultDao extends BaseDAO<Long, StudentExamResult> {
 
     int batchInsert(@Param("results") List<StudentExamResult> results);
 
+    int deleteWithRegists(@Param("registIds") List<Long> registIds);
+
     /**
      * @describe 查询考试结果
      * @author Joburgess

+ 0 - 11
edu-user/edu-user-server/src/main/java/com/keao/edu/user/entity/Organization.java

@@ -41,9 +41,6 @@ public class Organization {
 
 	private String parentOrganIdTag;
 
-	@ApiModelProperty(value = "是否允许排考")
-	private Integer isAllowArrangeExam;
-	
 	/**  */
 	private java.util.Date createTime;
 	
@@ -81,14 +78,6 @@ public class Organization {
 		this.sysUser = sysUser;
 	}
 
-	public Integer getIsAllowArrangeExam() {
-		return isAllowArrangeExam;
-	}
-
-	public void setIsAllowArrangeExam(Integer isAllowArrangeExam) {
-		this.isAllowArrangeExam = isAllowArrangeExam;
-	}
-
 	public Integer getLevel() {
 		return level;
 	}

+ 1 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/enums/StudentRegistrationStatusEnum.java

@@ -7,6 +7,7 @@ import com.keao.edu.common.enums.BaseEnum;
  * @Date 2020.06.23
  */
 public enum  StudentRegistrationStatusEnum implements BaseEnum<String, StudentRegistrationStatusEnum> {
+    CANCEL("CANCEL", "取消报名"),
     PAY_WAIT("PAY_WAIT", "等待缴费"),
     AUDIT_WAIT("AUDIT_WAIT", "等待审核"),
     AUDIT_PASS("AUDIT_PASS","通过"),

+ 2 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/ExamManualLedgerService.java

@@ -13,6 +13,8 @@ public interface ExamManualLedgerService extends BaseService<Long, ExamManualLed
 
     PageInfo<ExamManualLedger> queryExamManualLedgers(ExamManualLedgerQueryInfo queryInfo);
 
+    void deleteExamManualLedger(Integer operatorId,Long id);
+
     /**
      * @describe 获取考级项目支出统计信息
      * @author Joburgess

+ 19 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamManualLedgerServiceImpl.java

@@ -78,6 +78,25 @@ public class ExamManualLedgerServiceImpl extends BaseServiceImpl<Long, ExamManua
 	}
 
 	@Override
+	@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
+	public void deleteExamManualLedger(Integer operatorId,Long id) {
+		if(Objects.isNull(id)){
+			throw new BizException("请指定需要删除的支出记录");
+		}
+		sysUserDao.lockUser(operatorId);
+		ExamManualLedger examManualLedger = examManualLedgerDao.get(id);
+		if(Objects.nonNull(examManualLedger.getOrganId())&&examManualLedger.getOrganId()>0){
+			ExamOrganizationRelation examOrganizationRelation = examOrganizationRelationDao.getExamOrganizationRelation(examManualLedger.getExaminationBasicId(), examManualLedger.getOrganId());
+			if(Objects.isNull(examOrganizationRelation)){
+				throw new BizException("合作单位信息异常");
+			}
+			examOrganizationRelation.setTotalTransAmount(examOrganizationRelation.getTotalTransAmount().subtract(examManualLedger.getAmount()));
+			examOrganizationRelationDao.update(examOrganizationRelation);
+		}
+		examManualLedgerDao.delete(id);
+	}
+
+	@Override
 	public ExamManualLedgerStatisticsDto getExamManualLedgerStatistics(Long examId) {
 		if(Objects.isNull(examId)){
 			throw new BizException("请指定考级项目");

+ 4 - 2
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamOrganizationRelationServiceImpl.java

@@ -83,7 +83,7 @@ public class ExamOrganizationRelationServiceImpl extends BaseServiceImpl<Long, E
 		Map<String, Object> params = new HashMap<String, Object>();
 		MapUtil.populateMap(params, queryInfo);
 
-		List<Integer> nextLevelOrganIds = organizationService.getChildOrganIds(queryInfo.getOrganId(), true);
+		List<Integer> nextLevelOrganIds = organizationService.getChildOrganIds(queryInfo.getOrganId(), false);
 		params.put("organIds", nextLevelOrganIds);
 
 		List<ExamOrganizationRelationExtraDto> dataList = new ArrayList<>();
@@ -156,12 +156,14 @@ public class ExamOrganizationRelationServiceImpl extends BaseServiceImpl<Long, E
 				throw new BizException("合作单位信息错误");
 			}
 			og.setSendUrlFlag(0);
-			og.setIsAllowArrangeExam(organization.getIsAllowArrangeExam());
+			og.setIsAllowArrangeExam(0);
 			og.setSettlementType(organization.getSettlementType());
 			og.setShareProfitAmount(organization.getShareProfitAmount());
 			og.setTotalRegistrationStudentNum(BigDecimal.ZERO.intValue());
 			og.setTotalPaymentAmount(BigDecimal.ZERO);
 			og.setTotalTransAmount(BigDecimal.ZERO);
+			og.setSelfRegistrationStudentNum(BigDecimal.ZERO.intValue());
+			og.setSelfPaymentAmount(BigDecimal.ZERO);
 			String registrationUrl = baseUrl + "examId=" + examId + "&organId=" + organId;
 			String registShortUrl = shortUrlService.createShortUrl(registrationUrl);
 			og.setUrl(registShortUrl);

+ 17 - 7
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamRegistrationPaymentServiceImpl.java

@@ -100,19 +100,21 @@ public class ExamRegistrationPaymentServiceImpl extends BaseServiceImpl<Long, Ex
         if (!examRegistration.getStatus().equals(StudentRegistrationStatusEnum.PAY_WAIT)) {
             return order;
         }
-        if (!order.getTransStatus().equals(TransStatusEnum.SUCCESS)) {
-            return order;
-        }
-        examRegistration.setStatus(StudentRegistrationStatusEnum.AUDIT_WAIT);
+
+        StudentRegistrationStatusEnum registrationStatus = order.getTransStatus().equals(TransStatusEnum.SUCCESS) ? StudentRegistrationStatusEnum.AUDIT_WAIT : StudentRegistrationStatusEnum.CANCEL;
+        examRegistration.setStatus(registrationStatus);
         examRegistration.setUpdateTime(new Date());
         if (examRegistrationService.update(examRegistration) <= 0) {
             throw new BizException("报名状态更新失败");
         }
+        if (!order.getTransStatus().equals(TransStatusEnum.SUCCESS)) {
+            return order;
+        }
         //更新报名人数,和报名金额
         ExamOrganizationRelation examOrganizationRelation = examOrganizationRelationDao.getExamOrganizationRelation(examRegistration.getExaminationBasicId(), examRegistration.getOrganId());
-        int selfRegistrationStudentNum = examOrganizationRelation.getSelfRegistrationStudentNum() == null? 0 : examOrganizationRelation.getSelfRegistrationStudentNum();
+        int selfRegistrationStudentNum = examOrganizationRelation.getSelfRegistrationStudentNum() == null ? 0 : examOrganizationRelation.getSelfRegistrationStudentNum();
         examOrganizationRelation.setSelfRegistrationStudentNum(selfRegistrationStudentNum + 1);
-        BigDecimal selfPaymentAmount = examOrganizationRelation.getSelfPaymentAmount() == null? BigDecimal.ZERO : examOrganizationRelation.getSelfPaymentAmount();
+        BigDecimal selfPaymentAmount = examOrganizationRelation.getSelfPaymentAmount() == null ? BigDecimal.ZERO : examOrganizationRelation.getSelfPaymentAmount();
         BigDecimal amount = selfPaymentAmount.add(examRegistration.getLevelFee()).add(examRegistration.getTheoryLevelFee());
         examOrganizationRelation.setSelfPaymentAmount(amount);
         if (examOrganizationRelationDao.update(examOrganizationRelation) <= 0) {
@@ -129,7 +131,7 @@ public class ExamRegistrationPaymentServiceImpl extends BaseServiceImpl<Long, Ex
             examOrgan.setTotalPaymentAmount(totalAmount);
         }
         int updateNum = examOrganizationRelationDao.batchUpdate(examOrgans);
-        if(updateNum!=examOrgans.size()){
+        if (updateNum != examOrgans.size()) {
             throw new BizException("总报名人数报名金额更新失败");
         }
 
@@ -164,6 +166,7 @@ public class ExamRegistrationPaymentServiceImpl extends BaseServiceImpl<Long, Ex
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Boolean closeOrder(String orderNo) {
         ExamRegistrationPayment order = examRegistrationPaymentDao.getByOrderNo(orderNo);
         if (!order.getTransStatus().equals(TransStatusEnum.ING)) {
@@ -176,6 +179,13 @@ public class ExamRegistrationPaymentServiceImpl extends BaseServiceImpl<Long, Ex
         if (examRegistrationPaymentDao.update(order) <= 0) {
             throw new BizException("订单关闭失败,请重试");
         }
+
+        ExamRegistration examRegistration = examRegistrationService.get(order.getExamRegistrationId());
+        examRegistration.setStatus(StudentRegistrationStatusEnum.CANCEL);
+        examRegistration.setUpdateTime(nowDate);
+        if (examRegistrationService.update(examRegistration) <= 0) {
+            throw new BizException("报名取消失败,请重试");
+        }
         return true;
     }
 

+ 1 - 12
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamRegistrationServiceImpl.java

@@ -117,18 +117,7 @@ public class ExamRegistrationServiceImpl extends BaseServiceImpl<Long, ExamRegis
         examRegistration.setTheoryLevelFee(theoryLevelFee);
         examRegistration.setCreateTime(nowDate);
         examRegistration.setUpdateTime(nowDate);
-
-        statusEnumList.clear();
-        statusEnumList.add(StudentRegistrationStatusEnum.PAY_WAIT);
-        registration = examRegistrationDao.getRegistration(examinationBasic.getId(),
-                examRegistration.getStudentId(), null, null,
-                statusEnumList);
-        if (registration != null) {
-            examRegistration.setId(registration.getId());
-            examRegistrationDao.update(examRegistration);
-        } else {
-            examRegistrationDao.insert(examRegistration);
-        }
+        examRegistrationDao.insert(examRegistration);
 
         ExamRegistrationPayment examRegistrationPayment = new ExamRegistrationPayment();
         examRegistrationPayment.setTenantId(examinationBasic.getTenantId());

+ 37 - 2
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamRoomServiceImpl.java

@@ -11,14 +11,17 @@ import com.keao.edu.common.page.PageInfo;
 import com.keao.edu.common.service.impl.BaseServiceImpl;
 import com.keao.edu.common.tenant.TenantContextHolder;
 import com.keao.edu.user.api.entity.ExamRoom;
+import com.keao.edu.user.api.entity.ExamRoomStudentRelation;
 import com.keao.edu.user.api.enums.ExamModeEnum;
 import com.keao.edu.user.dao.*;
 import com.keao.edu.user.dto.ExamRoomDto;
 import com.keao.edu.user.dto.ExamRoomStatisticsDto;
+import com.keao.edu.user.entity.ExamOrganizationRelation;
 import com.keao.edu.user.entity.ExamRegistration;
 import com.keao.edu.user.entity.ExaminationBasic;
 import com.keao.edu.user.page.ExamRoomQueryInfo;
 import com.keao.edu.user.service.ExamRoomService;
+import com.keao.edu.user.service.ExamTeacherSalaryService;
 import com.keao.edu.user.service.OrganizationService;
 import com.keao.edu.util.collection.MapUtil;
 import com.keao.edu.util.date.DateUtil;
@@ -27,6 +30,7 @@ import org.apache.commons.lang.time.DateUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 import java.util.*;
@@ -47,6 +51,14 @@ public class ExamRoomServiceImpl extends BaseServiceImpl<Long, ExamRoom> impleme
 	private ExaminationBasicDao examinationBasicDao;
 	@Autowired
 	private SysUserDao sysUserDao;
+	@Autowired
+	private ExamTeacherSalaryService examTeacherSalaryService;
+	@Autowired
+	private ExamCertificationDao examCertificationDao;
+	@Autowired
+	private StudentExamResultDao studentExamResultDao;
+	@Autowired
+	private ExamOrganizationRelationDao examOrganizationRelationDao;
 
 	@Override
 	public BaseDAO<Long, ExamRoom> getDAO() {
@@ -100,6 +112,7 @@ public class ExamRoomServiceImpl extends BaseServiceImpl<Long, ExamRoom> impleme
 	}
 
 	@Override
+	@Transactional(rollbackFor = Exception.class)
 	public void createExamRoom(ExamRoom examRoom) {
 		if(Objects.isNull(examRoom.getExaminationBasicId())){
 			throw new BizException("请指定考级项目");
@@ -123,6 +136,12 @@ public class ExamRoomServiceImpl extends BaseServiceImpl<Long, ExamRoom> impleme
 		if(StringUtils.isBlank(examRoom.getExamTimeJson())){
 			throw new BizException("请指定考试时间");
 		}
+
+		ExamOrganizationRelation examOrganizationRelation = examOrganizationRelationDao.getExamOrganizationRelation(examinationBasic.getId(), examRoom.getOrganId());
+		if(Objects.isNull(examOrganizationRelation)||examOrganizationRelation.getIsAllowArrangeExam()==0){
+			throw new BizException("无权操作");
+		}
+
 		examRoom.setTenantId(TenantContextHolder.getTenantId());
 		examRoom.setExamPlanPushFlag(YesOrNoEnum.NO);
 		examRoom.setExamRoomStudentNum(0);
@@ -191,6 +210,8 @@ public class ExamRoomServiceImpl extends BaseServiceImpl<Long, ExamRoom> impleme
 		}
 		examRoomDao.batchInsert(examRooms);
 		examinationBasicDao.update(examinationBasic);
+
+		examTeacherSalaryService.teacherSalarySettlementWithExam(examinationBasic.getId());
 	}
 
 	@Override
@@ -221,13 +242,27 @@ public class ExamRoomServiceImpl extends BaseServiceImpl<Long, ExamRoom> impleme
 	}
 
 	@Override
+	@Transactional(rollbackFor = Exception.class)
 	public void deleteExamRooms(String examRoomIdsStr) {
 		if(StringUtils.isBlank(examRoomIdsStr)){
 			return;
 		}
 		List<Long> examRoomIds = Arrays.asList(examRoomIdsStr.split(",")).stream().map(e -> Long.valueOf(e)).collect(Collectors.toList());
-		examRoomDao.batchDeleteExamRooms(examRoomIds);
+
+		ExamRoom examRoom = examRoomDao.get(examRoomIds.get(0));
+
+		List<ExamRoomStudentRelation> roomStudents = examRoomStudentRelationDao.findStudentsWithExamRooms(examRoomIds);
+		List<Long> registIds = roomStudents.stream().map(ExamRoomStudentRelation::getExamRegistrationId).collect(Collectors.toList());
+
 		examRoomStudentRelationDao.deleteWithExamRooms(examRoomIds);
+
+		examCertificationDao.deleteWithRegist(registIds);
+
+		studentExamResultDao.deleteWithRegists(registIds);
+
+		examTeacherSalaryService.teacherSalarySettlementWithExam(examRoom.getExaminationBasicId());
+
+		examRoomDao.batchDeleteExamRooms(examRoomIds);
 	}
 
 	@Override
@@ -237,7 +272,6 @@ public class ExamRoomServiceImpl extends BaseServiceImpl<Long, ExamRoom> impleme
 		if(withoutExamRoomStudentNum>0){
 			throw new BizException("存在未安排教室的学员");
 		}
-
 	}
 
 	@Override
@@ -270,6 +304,7 @@ public class ExamRoomServiceImpl extends BaseServiceImpl<Long, ExamRoom> impleme
 	}
 
 	@Override
+	@Transactional(rollbackFor = Exception.class)
 	public void checkRoomTeachers(List<ExamRoom> examRooms) {
 		if(CollectionUtils.isEmpty(examRooms)){
 			throw new BizException("考场信息异常");

+ 6 - 2
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamRoomStudentRelationServiceImpl.java

@@ -238,11 +238,12 @@ public class ExamRoomStudentRelationServiceImpl extends BaseServiceImpl<Long, Ex
 	}
 
 	@Override
+	@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
 	public void deleteStudentFromRoom(Long examRoomId, String registIdsStr) {
 		if(Objects.isNull(examRoomId)){
 			throw new BizException("请指定教室");
 		}
-		ExamRoom examRoom = examRoomDao.get(examRoomId);
+		ExamRoom examRoom = examRoomDao.lockRoom(examRoomId);
 		if(Objects.isNull(examRoom)){
 			throw new BizException("教室不存在");
 		}
@@ -251,7 +252,10 @@ public class ExamRoomStudentRelationServiceImpl extends BaseServiceImpl<Long, Ex
 		}
 		List<Long> registIds = Arrays.asList(registIdsStr.split(",")).stream().map(e -> Long.valueOf(e)).collect(Collectors.toList());
 		examRoomStudentRelationDao.deleteStudentsFromExamRoom(examRoomId, registIds);
-		examCertificationDao.deleteWithRegist(registIds);
+		studentExamResultDao.deleteWithRegists(registIds);
+		int deleteNum = examCertificationDao.deleteWithRegist(registIds);
+		examRoom.setExamRoomStudentNum(examRoom.getExamRoomStudentNum()-deleteNum);
+		examRoomDao.update(examRoom);
 		examTeacherSalaryService.teacherSalarySettlementWithExam(examRoom.getExaminationBasicId());
 	}
 

+ 2 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamTeacherSalaryServiceImpl.java

@@ -17,6 +17,7 @@ import com.keao.edu.util.collection.MapUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 import java.math.BigDecimal;
@@ -43,6 +44,7 @@ public class ExamTeacherSalaryServiceImpl extends BaseServiceImpl<Long, ExamTeac
 	}
 
 	@Override
+	@Transactional(rollbackFor = Exception.class)
 	public void teacherSalarySettlementWithExam(Long examId) {
 		List<ExamRoom> examRooms = examRoomDao.getWithExam(null, examId);
 		if(CollectionUtils.isEmpty(examRooms)){

+ 3 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExaminationBasicServiceImpl.java

@@ -218,6 +218,9 @@ public class ExaminationBasicServiceImpl extends BaseServiceImpl<Long, Examinati
         if(Objects.isNull(existsExam)){
             throw new BizException("考级项目不存在");
         }
+        if(ExamStatusEnum.SETTING.equals(existsExam.getStatus())){
+            throw new BizException("无法修改");
+        }
         if(ExamStatusEnum.RESULT_CONFIRM.equals(existsExam.getStatus())){
             throw new BizException("考级项目结果已确认");
         }

+ 3 - 6
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/OrganizationServiceImpl.java

@@ -56,11 +56,8 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 		//获取当前用的organ
 		SysUser queryUserInfo = sysUserFeignService.queryUserInfo();
 		Organization currentOrganization = organDao.findByUserId(queryUserInfo.getId());
-		//获取父级的organ
-		if(organ.getIsAllowArrangeExam() == 1){
-			if(currentOrganization.getIsAllowArrangeExam() == 0){
-				throw new BizException("无权创建可排考的合作单位");
-			}
+		if(currentOrganization.getLevel() == 3){
+			throw new BizException("无权限创建合作单位");
 		}
 		SysUser sysUser = organ.getSysUser();
 //		String tenantId = queryUserInfo.getTenantId();
@@ -211,7 +208,7 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 			selfAndChildOrganIds.remove(organization.getId());
 		}
 		if(CollectionUtils.isEmpty(selfAndChildOrganIds)){
-			return null;
+			selfAndChildOrganIds.add(0);
 		}
 		return selfAndChildOrganIds;
 	}

+ 3 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/StudentExamResultServiceImpl.java

@@ -100,6 +100,9 @@ public class StudentExamResultServiceImpl extends BaseServiceImpl<Long, StudentE
 
 	@Override
 	public StudentExamResultStatisticsDto getStudentExamResultStatisticsInfo(Integer organId, Integer examId) {
+		if(Objects.isNull(examId)){
+			throw new BizException("请指定考级项目");
+		}
 		List<Integer> childOrganIds = organizationService.getChildOrganIds(organId, true);
 		StudentExamResultStatisticsDto studentExamResultStatisticsInfo = studentExamResultDao.getStudentExamResultStatisticsInfo(childOrganIds, examId);
 		return studentExamResultStatisticsInfo;

+ 7 - 3
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/TenantInfoServiceImpl.java

@@ -82,7 +82,6 @@ public class TenantInfoServiceImpl extends BaseServiceImpl<Integer, TenantInfo>
 		organ.setName(tenantInfo.getName());
 		organ.setContactName(tenantInfo.getContactName());
 		organ.setContactPhone(tenantInfo.getContactPhone());
-		organ.setIsAllowArrangeExam(1);
 		organizationDao.insert(organ);
 
 		Employee employee = new Employee();
@@ -104,8 +103,13 @@ public class TenantInfoServiceImpl extends BaseServiceImpl<Integer, TenantInfo>
 			throw new BizException("机构不存在");
 		}
 		SysUser sysUser = sysUserDao.queryByPhone(existTenantInfo.getContactPhone());
-		if(Objects.nonNull(sysUser) && !newTenantInfo.getContactPhone().equals(sysUser.getPhone())){
-			throw new BizException("手机号已被占用");
+		if(sysUser == null){
+			throw new BizException("用户信息异常");
+		}
+		if(!newTenantInfo.getContactPhone().equals(sysUser.getPhone())){
+			if (sysUserDao.queryByPhone(newTenantInfo.getContactPhone()) != null) {
+				throw new BizException("手机号已被占用");
+			}
 		}
 		Organization organization = organizationDao.findByUserId(sysUser.getId());
 		if(newTenantInfo.getRoleIds() != null){

+ 2 - 1
edu-user/edu-user-server/src/main/resources/config/mybatis/ExamManualLedgerMapper.xml

@@ -121,6 +121,7 @@
 		FROM
 			exam_manual_ledger
 		WHERE
-			trans_direction_ = 'EXPENDITURE';
+			examination_basic_id_ = #{examId}
+			AND trans_direction_ = 'EXPENDITURE'
 	</select>
 </mapper>

+ 2 - 1
edu-user/edu-user-server/src/main/resources/config/mybatis/ExamRegistrationMapper.xml

@@ -194,7 +194,7 @@
 				</if>
 				update_time_ = NOW()
 			</set>
-			WHERE id_ = #{id}
+			WHERE id_ = #{regist.id}
 		</foreach>
 	</update>
 
@@ -205,6 +205,7 @@
 
 	<sql id="queryCondition">
 		<where>
+			er.status_ NOT IN ('CANCEL')
 			<if test="organIds!=null">
 				AND er.organ_id_ IN
 				<foreach collection="organIds" item="organId" separator="," open="(" close=")">

+ 1 - 1
edu-user/edu-user-server/src/main/resources/config/mybatis/ExamRegistrationPaymentMapper.xml

@@ -172,7 +172,7 @@
         FROM exam_registration_payment
         WHERE student_id_ = #{userId}
           AND examination_basic_id_ = #{examinationBasicId}
-          AND trans_status_ = 'ING'
+          AND trans_status_ = 'ING' LIMIT 1
     </select>
 
     <!-- 根据订单号获取订单 -->

+ 9 - 0
edu-user/edu-user-server/src/main/resources/config/mybatis/ExamRoomStudentRelationMapper.xml

@@ -170,6 +170,15 @@
 	<select id="findStudentsWithExamRoom" resultMap="ExamRoomStudentRelation">
 		SELECT id_, exam_registration_id_, examination_basic_id_, exam_room_id_, student_id_ FROM exam_room_student_relation WHERE exam_room_id_=#{examRoomId}
 	</select>
+
+	<select id="findStudentsWithExamRooms" resultMap="ExamRoomStudentRelation">
+		SELECT id_, exam_registration_id_, examination_basic_id_, exam_room_id_, student_id_
+		FROM exam_room_student_relation WHERE exam_room_id_ IN
+		<foreach collection="examRoomIds" item="examRoomId" separator="," open="(" close=")">
+			#{examRoomId}
+		</foreach>
+	</select>
+
 	<select id="getExamRoomStudentRelation" resultMap="ExamRoomStudentRelation">
 		SELECT * FROM exam_room_student_relation
 		WHERE examination_basic_id_ = #{basicId} AND exam_room_id_ = #{roomId} AND student_id_ = #{studentId} LIMIT 1

+ 3 - 10
edu-user/edu-user-server/src/main/resources/config/mybatis/OrganizationMapper.xml

@@ -18,7 +18,6 @@
 		<result column="settlement_type_" property="settlementType" typeHandler="com.keao.edu.common.dal.CustomEnumTypeHandler"/>
 		<result column="del_flag_" property="delFlag" typeHandler="com.keao.edu.common.dal.CustomEnumTypeHandler"/>
 		<result column="share_profit_amount_" property="shareProfitAmount" />
-		<result column="is_allow_arrange_exam_" property="isAllowArrangeExam" />
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
 		<result column="tenant_id_" property="tenantId" />
@@ -27,7 +26,7 @@
 	<sql id="organizationColumn">
 		o.id_ organization_id_, o.user_id_, o.name_, o.contact_name_, o.contact_phone_,
 		o.settlement_type_, o.share_profit_amount_, o.level_, o.parent_organ_id_,
-		o.parent_organ_id_tag_, o.is_allow_arrange_exam_, o.create_time_,
+		o.parent_organ_id_tag_, o.create_time_,
 		o.update_time_, o.del_flag_, o.tenant_id_
 	</sql>
 	
@@ -46,9 +45,9 @@
 	
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.keao.edu.user.entity.Organization" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		INSERT INTO organization (id_,user_id_,name_,contact_name_,contact_phone_,level_,parent_organ_id_,parent_organ_id_tag_,settlement_type_,share_profit_amount_,is_allow_arrange_exam_,create_time_,update_time_,tenant_id_)
+		INSERT INTO organization (id_,user_id_,name_,contact_name_,contact_phone_,level_,parent_organ_id_,parent_organ_id_tag_,settlement_type_,share_profit_amount_,create_time_,update_time_,tenant_id_)
 		VALUES(#{id},#{userId},#{name},#{contactName},#{contactPhone},#{level},#{parentOrganId},#{parentOrganIdTag},#{settlementType,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},
-		#{shareProfitAmount},#{isAllowArrangeExam},NOW(),NOW(),#{tenantId})
+		#{shareProfitAmount},NOW(),NOW(),#{tenantId})
 	</insert>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -79,9 +78,6 @@
 			<if test="name != null">
 				name_ = #{name},
 			</if>
-			<if test="isAllowArrangeExam != null">
-				is_allow_arrange_exam_ = #{isAllowArrangeExam},
-			</if>
 			<if test="delFlag != null">
 				del_flag_ = #{delFlag,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},
 			</if>
@@ -118,9 +114,6 @@
 					#{organId}
 				</foreach>
 			</if>
-			<if test="isAllowArrangeExam != null">
-				AND is_allow_arrange_exam_ = #{isAllowArrangeExam}
-			</if>
 			<if test="search != null and search != ''">
 				AND (id_ = #{search} OR name_ LIKE CONCAT('%',#{search},'%')
 				OR contact_name_ LIKE CONCAT('%',#{search},'%')

+ 12 - 5
edu-user/edu-user-server/src/main/resources/config/mybatis/StudentExamResultMapper.xml

@@ -100,8 +100,15 @@
 	<delete id="delete" >
 		DELETE FROM student_exam_result WHERE id_ = #{id} 
 	</delete>
-	
-	<!-- 分页查询 -->
+
+    <delete id="deleteWithRegists">
+		DELETE FROM student_exam_result WHERE exam_registration_id_ IN
+		<foreach collection="registIds" item="registId" separator="," open="(" close=")">
+			#{registId}
+		</foreach>
+	</delete>
+
+    <!-- 分页查询 -->
 	<select id="queryPage" resultMap="StudentExamResult" parameterType="map">
 		SELECT * FROM student_exam_result ORDER BY id_ <include refid="global.limit"/>
 	</select>
@@ -152,9 +159,9 @@
 			<if test="resultConfirm!=null and resultConfirm==0">
 				AND eb.status_='EXAM_END'
 			</if>
-			<!--<if test="resultConfirm==null">-->
-				<!--AND eb.status_ IN ('EXAM_END','RESULT_CONFIRM')-->
-			<!--</if>-->
+			<if test="resultConfirm==null">
+				AND eb.status_ IN ('EXAM_END','RESULT_CONFIRM')
+			</if>
 		</where>
 	</sql>
 

+ 1 - 1
edu-user/edu-user-server/src/main/resources/config/mybatis/SysUserMapper.xml

@@ -193,7 +193,7 @@
     </insert>
     <insert id="batchAddEmployeeRoles">
         <foreach collection="userIds" item="userId" separator=";">
-            INSERT INTO sys_user_role(user_id_,role_id_) values VALUES (#{userId},#{roles})
+            INSERT INTO sys_user_role(user_id_,role_id_) VALUES (#{userId},#{roles})
         </foreach>
     </insert>
 

+ 6 - 0
pom.xml

@@ -60,6 +60,12 @@
 				<artifactId>edu-datasource</artifactId>
 				<version>1.0</version>
 			</dependency>
+	        
+	        <dependency>
+	            <groupId>com.keao.edu</groupId>
+	            <artifactId>edu-thirdparty</artifactId>
+					<version>1.0</version>
+	        </dependency>
 
 			<!--֧��Spring Boot 2.1.X -->
 			<dependency>