Explorar o código

Merge branch 'saas' of http://git.dayaedu.com/yonge/mec into saas_zx_2022-03-27

zouxuan %!s(int64=3) %!d(string=hai) anos
pai
achega
1a22bee882

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java

@@ -13,6 +13,7 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     SMS_VERIFY_CODE_LOGIN("SMS_VERIFY_CODE_LOGIN", "验证码登录"),
     KAPTCHA_SESSION_KEY("KAPTCHA_SESSION_KEY", "登录图形验证码"),
     SMS_PAYMENT_MESSAGE("SMS_PAYMENT_MESSAGE", "缴费通知"),
+    SMS_STANDARD_QUALIFIED("SMS_STANDARD_QUALIFIED", "学习未达标"),
 //    SMS_PAYMENT_SUCCESS("SMS_PAYMENT_SUCCESS", "缴费成功"),
 //    SMS_RENEW_SUCCESS("SMS_RENEW_SUCCESS", "续费成功"),
 //    SMS_BALANCE_PAY("SMS_BALANCE_PAY", "余额充值"),

+ 18 - 10
mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java

@@ -35,6 +35,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
+import java.io.FileNotFoundException;
 import java.util.*;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ExecutorService;
@@ -199,18 +200,19 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> impl
         }
 
         employeeDao.update(employee);
-        //删除当前用户角色
-        employeeDao.delEmployeeRole(employee.getId());
         //新增用户角色
         Integer tenantId = TenantContextHolder.getTenantId();
         if(employee.getRoleIds() != null && employee.getRoleIds().size() > 0){
+            //删除当前用户角色
+            employeeDao.delEmployeeRole(employee.getId());
             employeeDao.batchAddEmployeeRole(employee.getId(), employee.getRoleIds(), tenantId);
         }
-
-        //删除用户职位
-        employeePositionService.delPosition(employee.getId(), tenantId);
-        //添加职位
-        employeePositionService.batchAddPosition(employee.getId(), employee.getPositionIds(), tenantId);
+        if(Objects.nonNull(employee.getPositionIds()) && employee.getPositionIds().size() > 0){
+            //删除用户职位
+            employeePositionService.delPosition(employee.getId(), tenantId);
+            //添加职位
+            employeePositionService.batchAddPosition(employee.getId(), employee.getPositionIds(), tenantId);
+        }
         teacherDao.updateUser(employee);
         imGroupDao.updateNickname(employee.getUserId(), employee.getRealName());
         imGroupDao.updateUserFriendNickname(employee.getUserId(), employee.getRealName());
@@ -229,9 +231,15 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> impl
         //更新用户与机构的关系
         sysUserTenantService.deleteByUserId(employee.getId());
         addUserTenant(employee.getTenantIds(), employee.getTenantId(), employee.getId());
-
-        //更新OA信息
-        oaUserService.updateOaUser(employee);
+        ExecutorService executor = Executors.newCachedThreadPool();
+        CompletableFuture.runAsync(()->{
+            try {
+                //更新OA信息
+                oaUserService.updateOaUser(employee);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        },executor);
     }
 
     @Override

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

@@ -1387,7 +1387,7 @@ public class ExportServiceImpl implements ExportService {
         CompletableFuture.runAsync(()->{
             try {
                 this.routeOrderList(params, managerDownload, headColumns);
-            } catch (FileNotFoundException e) {
+            } catch (Exception e) {
                 e.printStackTrace();
             }
         },executor);

+ 9 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/OaServiceImpl.java

@@ -12,6 +12,7 @@ import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 
@@ -43,7 +44,6 @@ public class OaServiceImpl implements OaUserService {
     }
 
     @Override
-    @Async
     public Object updateOaUser(Employee employee) {
         OAUser oaUser = new OAUser();
         oaUser.setMecUserId(employee.getUserId());
@@ -51,11 +51,15 @@ public class OaServiceImpl implements OaUserService {
         oaUser.setNickName(employee.getRealName());
         oaUser.setPhone(employee.getPhone());
         oaUser.setSex(employee.getGender().toString());
-        oaUser.setDeptId(employee.getDeptId());
-        oaUser.setDeptIds(JSON.parseArray(employee.getDeptIds(), Integer.class));
         oaUser.setAvatar(employee.getAvatar());
-        oaUser.setPostDeptIds(JSON.parseArray(employee.getPostDeptIds(), PostDept.class));
-        if (oaUser.getPostDeptIds() != null) {
+        if(Objects.nonNull(employee.getDeptId())){
+            oaUser.setDeptId(employee.getDeptId());
+        }
+        if(Objects.nonNull(employee.getDeptIds())){
+            oaUser.setDeptIds(JSON.parseArray(employee.getDeptIds(), Integer.class));
+        }
+        if(Objects.nonNull(employee.getPostDeptIds())){
+            oaUser.setPostDeptIds(JSON.parseArray(employee.getPostDeptIds(), PostDept.class));
             List<Integer> postIds = oaUser.getPostDeptIds().stream().map(PostDept::getPostId).collect(Collectors.toList());
             oaUser.setPostIds(postIds);
         }

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java

@@ -9,6 +9,7 @@ import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.TeacherAttendanceComplaintsQueryInfo;
 import com.ym.mec.biz.dal.page.TeacherCloseQueryInfo;
+import com.ym.mec.biz.event.source.SendMessageSource;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
@@ -55,6 +56,8 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 	@Autowired
 	private SysMessageService sysMessageService;
 	@Autowired
+	private SendMessageSource sendMessageSource;
+	@Autowired
 	private CourseScheduleTeacherSalaryDao courseScheduleTeacherSalaryDao;
 	@Autowired
 	private ClassGroupDao classGroupDao;
@@ -77,6 +80,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 	}
 
 	@Transactional(rollbackFor = Exception.class)
+	@Override
 	public void saveStudentStandard(List<StudentStandardDto> studentStandardDtos,Long courseScheduleId){
 		if(studentStandardDtos == null || studentStandardDtos.size() == 0){
 			return;
@@ -85,6 +89,14 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		if(collect.size() > 0){
 			List<Integer> studentIds = collect.stream().map(e -> e.getUserId()).collect(Collectors.toList());
 			studentAttendanceDao.updateQualified(courseScheduleId,studentIds);
+			CourseSchedule.CourseScheduleType type = courseScheduleDao.get(courseScheduleId).getType();
+			Map<Integer, String> maps = MapUtil.convertMybatisMap(teacherDao.queryUserNameByIdList(studentIds));
+			for (Integer studentId : studentIds) {
+				Map<Integer, String> receivers = new HashMap<>(1);
+				receivers.put(studentId,studentId.toString());
+				sendMessageSource.batchSendMessage(MessageSender.JIGUANG,MessageTypeEnum.SMS_STANDARD_QUALIFIED,
+						receivers,null,"STUDENT",maps.get(studentId),type.getMsg());
+			}
 		}
 		//标记当前课程为已评价
 		courseScheduleDao.updateEvaluate(courseScheduleId);