Crazy 8 сар өмнө
parent
commit
4320422051
14 өөрчлөгдсөн 102 нэмэгдсэн , 45 устгасан
  1. 58 11
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsTemplateController.java
  2. 3 3
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.java
  3. 2 3
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/StudentImportExcelVO.java
  4. 2 4
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/graduateStudentImportExcelVO.java
  5. 3 1
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/teacherImportExcelVO.java
  6. 0 1
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/sms/SmsTemplateMapper.java
  7. 4 4
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/studentAttendance/StudentAttendanceMapper.java
  8. 6 6
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/user/AdminUserMapper.java
  9. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/impl/AliyunSmsClient.java
  10. 2 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/impl/DebugDingTalkSmsClient.java
  11. 1 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/mq/message/sms/SmsSendMessage.java
  12. 3 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsSendService.java
  13. 2 1
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsSendServiceImpl.java
  14. 14 9
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java

+ 58 - 11
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsTemplateController.java

@@ -19,6 +19,7 @@ import cn.iocoder.yudao.module.system.service.user.AdminUserService;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.Operation;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
@@ -28,7 +29,9 @@ import javax.validation.Valid;
 import java.io.IOException;
 import java.time.LocalDate;
 import java.time.temporal.TemporalAdjusters;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@@ -47,6 +50,44 @@ public class SmsTemplateController {
     @Resource
     private AdminUserService adminUserService;
 
+    @Scheduled(cron = "0 0 9 * * ?")  // 每天9点执行
+    @Operation(summary = "定时给家长发送未打卡短信")
+    public void sendSmsToParentScheduled(){
+        sendSmsToParent();
+    }
+
+    //TODO发送短信
+    @PostMapping("/send-sms-toParent")
+    @Operation(summary = "给家长发送短信")
+    public void sendSmsToParent() {
+        UserPageReqVO reqVO =new UserPageReqVO();
+        reqVO.setUserType("1");//在校生
+        LocalDate today = LocalDate.now();
+        LocalDate startDate = today.minusDays(3);//前天
+        StudentAttendancePageReqVO attendanceReqVO =new StudentAttendancePageReqVO();
+        attendanceReqVO.setDateRange(startDate,today);
+
+        List<AdminUserDO> studentList =adminUserService.getUserList(reqVO);
+        for (AdminUserDO student :studentList) {
+            if (student.getUserNumber()!=null) {
+                attendanceReqVO.setUserNumber(student.getUserNumber());
+                List<StudentAttendanceDO> attendanceList = studentAttendanceService.getStudentAttendanceErrorList(attendanceReqVO);
+                Map<String, Object> templateParams = new HashMap<>();
+                templateParams.put("studentName", student.getNickname());
+                if (attendanceList.size() > 3) {
+                    smsSendService.sendSingleSmsToAdmin(student.getParentMobile(), null, "student-attendance-warning", templateParams);
+                }
+                //每处理一个暂停0.2ss
+                try {
+                    Thread.sleep(200); // 暂停0.2秒(200毫秒)
+                } catch (InterruptedException e) {
+                    throw new RuntimeException(e);
+                }
+
+            }
+        }
+    }
+
 
     @PostMapping("/create")
     @Operation(summary = "创建短信模板")
@@ -110,24 +151,30 @@ public class SmsTemplateController {
                 sendReqVO.getTemplateCode(), sendReqVO.getTemplateParams()));
     }
 
-    //TODO发送短信
-    @PostMapping("/send-sms-toParent")
-    @Operation(summary = "给家长发送短信")
-    public void sendSmsV(@Valid @RequestBody SmsTemplateSendReqVO sendReqVO) {
+    @PostMapping("/test-parent")
+    @Operation(summary = "测试给家长发送短信")
+    public void test() {
         UserPageReqVO reqVO =new UserPageReqVO();
         reqVO.setUserType("1");//在校生
         LocalDate today = LocalDate.now();
         LocalDate startDate = today.minusDays(3);//前天
         StudentAttendancePageReqVO attendanceReqVO =new StudentAttendancePageReqVO();
         attendanceReqVO.setDateRange(startDate,today);
-
         List<AdminUserDO> studentList =adminUserService.getUserList(reqVO);
-        for (AdminUserDO student :studentList){
-            attendanceReqVO.setUserNumber(student.getUserNumber());
-            attendanceReqVO.setClockInStatus("1");//只招未打卡的
-            List<StudentAttendanceDO> attendanceList= studentAttendanceService.getStudentAttendanceList(attendanceReqVO);
-            if(attendanceList.size()>3){
-                smsSendService.sendSingleSmsToAdmin(student.getParentMobile(), null, sendReqVO.getTemplateCode(), sendReqVO.getTemplateParams());
+        for (AdminUserDO student :studentList) {
+            if (student.getUserNumber()!=null) {
+                attendanceReqVO.setUserNumber(student.getUserNumber());
+                List<StudentAttendanceDO> attendanceList = studentAttendanceService.getStudentAttendanceErrorList(attendanceReqVO);
+                Map<String, Object> templateParams = new HashMap<>();
+                templateParams.put("studentName", student.getNickname());
+                if (attendanceList.size()>3) {
+                    smsSendService.sendSingleSmsToAdmin("13697999947", null, "student-attendance-warning", templateParams);
+                }
+                try {
+                    Thread.sleep(100); // 暂停1秒(1000毫秒)
+                } catch (InterruptedException e) {
+                    throw new RuntimeException(e);
+                }
             }
         }
     }

+ 3 - 3
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.java

@@ -346,8 +346,8 @@ public class UserController {
     @Operation(summary = "获得在校生模板")
     public void importInSchoolTemplate(HttpServletResponse response) throws IOException {
         List<StudentImportExcelVO> list = Arrays.asList(
-                StudentImportExcelVO.builder().username("Student").password("123456").email("2456125438@qq.com").mobile("15601691300")
-                        .nickname("在校生").userNumber("12164160").status(CommonStatusEnum.ENABLE.getStatus()).sex(SexEnum.MALE.getSex())
+                StudentImportExcelVO.builder().username("Student").password("123456").email("2456125438@qq.com").mobile("15601691300").parentMobile("15601691300").deptName("111")
+                        .major("遥感科学与技术").supervisor("教师01").nickname("在校生").userNumber("12164160").status(CommonStatusEnum.ENABLE.getStatus()).sex(SexEnum.MALE.getSex())
                         .build()
         );
         ExcelUtils.write(response, "在校生导入模板.xls", "用户列表", StudentImportExcelVO.class, list);
@@ -372,7 +372,7 @@ public class UserController {
                         .nickname("导师").userNumber("113212313") .status(CommonStatusEnum.ENABLE.getStatus()).sex(SexEnum.MALE.getSex())
                         .build()
         );
-        ExcelUtils.write(response, "导师导入模板.xls", "用户列表", teacherImportExcelVO.class, list);
+        ExcelUtils.write(response, "导师导入模板.xls", "导师列表", teacherImportExcelVO.class, list);
     }
 
 

+ 2 - 3
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/StudentImportExcelVO.java

@@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.system.controller.admin.user.vo.user;
 import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
 import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
 import cn.iocoder.yudao.module.system.enums.DictTypeConstants;
+import com.alibaba.excel.annotation.ExcelIgnore;
 import com.alibaba.excel.annotation.ExcelProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
@@ -42,6 +43,7 @@ public class StudentImportExcelVO {
     @DictFormat(DictTypeConstants.USER_SEX)
     private Integer sex;
 
+    @ExcelIgnore
     private String userType;
 
     @ExcelProperty("用户邮箱")
@@ -59,9 +61,6 @@ public class StudentImportExcelVO {
     @ExcelProperty("导师名称")
     private String supervisor;
 
-    @ExcelProperty("导师电话")
-    private String supervisorMobile;
-
     @ExcelProperty(value = "账号状态", converter = DictConvert.class)
     @DictFormat(DictTypeConstants.COMMON_STATUS)
     private Integer status;

+ 2 - 4
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/graduateStudentImportExcelVO.java

@@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.system.controller.admin.user.vo.user;
 import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
 import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
 import cn.iocoder.yudao.module.system.enums.DictTypeConstants;
+import com.alibaba.excel.annotation.ExcelIgnore;
 import com.alibaba.excel.annotation.ExcelProperty;
 import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.AllArgsConstructor;
@@ -49,7 +50,7 @@ public class graduateStudentImportExcelVO {
     @ExcelProperty("手机号码")
     private String mobile;
 
-//    @ExcelProperty("用户类型:1在校生,2毕业生,3导师,4学院")
+    @ExcelIgnore
     private  String userType;
 
     @ExcelProperty("工作地点")
@@ -58,9 +59,6 @@ public class graduateStudentImportExcelVO {
     @ExcelProperty("导师名称")
     private String supervisor;
 
-    @ExcelProperty("导师电话")
-    private String supervisorMobile;
-
     @ExcelProperty(value = "账号状态", converter = DictConvert.class)
     @DictFormat(DictTypeConstants.COMMON_STATUS)
     private Integer status;

+ 3 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/teacherImportExcelVO.java

@@ -3,7 +3,9 @@ package cn.iocoder.yudao.module.system.controller.admin.user.vo.user;
 import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
 import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
 import cn.iocoder.yudao.module.system.enums.DictTypeConstants;
+import com.alibaba.excel.annotation.ExcelIgnore;
 import com.alibaba.excel.annotation.ExcelProperty;
+
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
@@ -41,6 +43,7 @@ public class teacherImportExcelVO {
     @ExcelProperty("手机号码")
     private String mobile;
 
+    @ExcelIgnore
     private  String userType;
 
     @ExcelProperty("用户邮箱")
@@ -49,7 +52,6 @@ public class teacherImportExcelVO {
     @ExcelProperty("工作间名称")
     private String deptName;
 
-
     @ExcelProperty(value = "账号状态", converter = DictConvert.class)
     @DictFormat(DictTypeConstants.COMMON_STATUS)
     private Integer status;

+ 0 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/sms/SmsTemplateMapper.java

@@ -29,5 +29,4 @@ public interface SmsTemplateMapper extends BaseMapperX<SmsTemplateDO> {
     default Long selectCountByChannelId(Long channelId) {
         return selectCount(SmsTemplateDO::getChannelId, channelId);
     }
-
 }

+ 4 - 4
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/studentAttendance/StudentAttendanceMapper.java

@@ -114,7 +114,7 @@ public interface StudentAttendanceMapper extends BaseMapperX<StudentAttendanceDO
                 .eqIfExists(StudentAttendanceDO::getClockInStatus,"0")//正常
                 .eqIfExists(StudentAttendanceDO::getStudentId, reqVO.getStudentId())
                 .likeIfExists(StudentAttendanceDO::getStudentName, reqVO.getStudentName())
-                .likeIfExists(AdminUserDO::getUserNumber, reqVO.getUserNumber())//按学号查
+                .eqIfExists(AdminUserDO::getUserNumber, reqVO.getUserNumber())//按学号查
                 .eqIfExists(StudentAttendanceDO::getDeptId, reqVO.getDeptId())
                 .eqIfExists(StudentAttendanceDO::getClockInStatus, reqVO.getClockInStatus())
 
@@ -146,7 +146,7 @@ public interface StudentAttendanceMapper extends BaseMapperX<StudentAttendanceDO
                 .leftJoin(DeptDO.class, DeptDO::getId, StudentAttendanceDO::getDeptId)
                 .leftJoin(AdminUserDO.class, AdminUserDO::getId, StudentAttendanceDO::getStudentId)
                 .likeIfExists(StudentAttendanceDO::getStudentName, reqVO.getStudentName())
-                .likeIfExists(AdminUserDO::getUserNumber, reqVO.getUserNumber())//按学号查
+                .eqIfExists(AdminUserDO::getUserNumber, reqVO.getUserNumber())//按学号查
                 .eqIfExists(StudentAttendanceDO::getDeptId, reqVO.getDeptId())
                 .eqIfExists(StudentAttendanceDO::getClockInStatus, reqVO.getClockInStatus())
                 //1未打卡
@@ -179,7 +179,7 @@ public interface StudentAttendanceMapper extends BaseMapperX<StudentAttendanceDO
                 .leftJoin(DeptDO.class, DeptDO::getId, StudentAttendanceDO::getDeptId)
                 .leftJoin(AdminUserDO.class, AdminUserDO::getId, StudentAttendanceDO::getStudentId)
                 .likeIfExists(StudentAttendanceDO::getStudentName, reqVO.getStudentName())
-                .likeIfExists(AdminUserDO::getUserNumber, reqVO.getUserNumber())//按学号查
+                .eqIfExists(AdminUserDO::getUserNumber, reqVO.getUserNumber())//按学号查
                 .eqIfExists(StudentAttendanceDO::getDeptId, reqVO.getDeptId())
                 .eqIfExists(StudentAttendanceDO::getClockInStatus, reqVO.getClockInStatus())
                 //1未打卡
@@ -214,7 +214,7 @@ public interface StudentAttendanceMapper extends BaseMapperX<StudentAttendanceDO
                 .eqIfExists(StudentAttendanceDO::getClockInStatus,"2")//请假
                 .eqIfExists(StudentAttendanceDO::getStudentId, reqVO.getStudentId())
                 .likeIfExists(StudentAttendanceDO::getStudentName, reqVO.getStudentName())
-                .likeIfExists(AdminUserDO::getUserNumber, reqVO.getUserNumber())//按学号查
+                .eqIfExists(AdminUserDO::getUserNumber, reqVO.getUserNumber())//按学号查
                 .eqIfExists(StudentAttendanceDO::getDeptId, reqVO.getDeptId())
                 .eqIfExists(StudentAttendanceDO::getClockInStatus, reqVO.getClockInStatus())
                 .eqIfExists(StudentAttendanceDO::getRemark, reqVO.getRemark())

+ 6 - 6
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/user/AdminUserMapper.java

@@ -43,7 +43,7 @@ public interface AdminUserMapper extends BaseMapperX<AdminUserDO> {
     default PageResult<AdminUserDO> selectPage(UserPageReqVO reqVO, Collection<Long> deptIds) {
         return selectPage(reqVO, new LambdaQueryWrapperX<AdminUserDO>()
                 .likeIfPresent(AdminUserDO::getUsername, reqVO.getUsername())
-                .likeIfPresent(AdminUserDO::getUserNumber,reqVO.getUserNumber())//按学号
+                .eqIfPresent(AdminUserDO::getUserNumber,reqVO.getUserNumber())//按学号
                 .eqIfPresent(AdminUserDO::getUserType,reqVO.getUserType())//用户类型
                 .likeIfPresent(AdminUserDO::getMobile, reqVO.getMobile())
                 .eqIfPresent(AdminUserDO::getStatus, reqVO.getStatus())
@@ -54,7 +54,7 @@ public interface AdminUserMapper extends BaseMapperX<AdminUserDO> {
     default List<AdminUserDO> selectUserList(UserPageReqVO reqVO, Collection<Long> deptIds) {
         return selectList(new LambdaQueryWrapperX<AdminUserDO>()
                 .likeIfPresent(AdminUserDO::getUsername, reqVO.getUsername())
-                .likeIfPresent(AdminUserDO::getUserNumber,reqVO.getUserNumber())//按学号
+                .eqIfPresent(AdminUserDO::getUserNumber,reqVO.getUserNumber())//按学号
                 .eqIfPresent(AdminUserDO::getUserType,reqVO.getUserType())//用户类型
                 .likeIfPresent(AdminUserDO::getMobile, reqVO.getMobile())
                 .eqIfPresent(AdminUserDO::getStatus, reqVO.getStatus())
@@ -73,7 +73,7 @@ public interface AdminUserMapper extends BaseMapperX<AdminUserDO> {
                 .likeIfPresent(AdminUserDO::getMobile, reqVO.getMobile())
                 .eqIfPresent(AdminUserDO::getStatus, reqVO.getStatus())
                 .eqIfPresent(AdminUserDO::getUserType,reqVO.getUserType())//类型查询
-                .likeIfPresent(AdminUserDO::getUserNumber,reqVO.getUserNumber())//学号查询
+                .eqIfPresent(AdminUserDO::getUserNumber,reqVO.getUserNumber())//学号查询
                 .betweenIfPresent(AdminUserDO::getCreateTime, reqVO.getCreateTime())
                 .inIfPresent(AdminUserDO::getDeptId, deptIds)
                 // 添加子查询条件,查找有教师权限的人
@@ -95,7 +95,7 @@ public interface AdminUserMapper extends BaseMapperX<AdminUserDO> {
         LambdaQueryWrapperX<AdminUserDO> queryWrapperX =new LambdaQueryWrapperX<AdminUserDO>();
         queryWrapperX.likeIfPresent(AdminUserDO::getUsername, reqVO.getUsername())
                 .likeIfPresent(AdminUserDO::getMobile, reqVO.getMobile())
-                .likeIfPresent(AdminUserDO::getUserNumber,reqVO.getUserNumber())//学号查询
+                .eqIfPresent(AdminUserDO::getUserNumber,reqVO.getUserNumber())//学号查询
                 .likeIfPresent(AdminUserDO::getNickname, reqVO.getNickname())//昵称查询
                 .eqIfPresent(AdminUserDO::getUserType,reqVO.getUserType())//类型查询
                 .likeIfPresent(AdminUserDO::getGrade, reqVO.getGrade())//班级查询
@@ -120,7 +120,7 @@ public interface AdminUserMapper extends BaseMapperX<AdminUserDO> {
         LambdaQueryWrapperX<AdminUserDO> queryWrapperX =new LambdaQueryWrapperX<AdminUserDO>();
         queryWrapperX.likeIfPresent(AdminUserDO::getUsername, reqVO.getUsername())
                 .likeIfPresent(AdminUserDO::getMobile, reqVO.getMobile())
-                .likeIfPresent(AdminUserDO::getUserNumber,reqVO.getUserNumber())//学号查询
+                .eqIfPresent(AdminUserDO::getUserNumber,reqVO.getUserNumber())//学号查询
                 .likeIfPresent(AdminUserDO::getNickname, reqVO.getNickname())//昵称查询
                 .eqIfPresent(AdminUserDO::getUserType,reqVO.getUserType())//类型查询
                 .likeIfPresent(AdminUserDO::getGrade, reqVO.getGrade())//班级查询
@@ -152,7 +152,7 @@ public interface AdminUserMapper extends BaseMapperX<AdminUserDO> {
                 .inIfPresent(AdminUserDO::getDeptId, deptIds)
                 .likeIfPresent(AdminUserDO::getGrade, reqVO.getGrade())
                 .likeIfPresent(AdminUserDO::getNickname, reqVO.getNickname())//昵称查询
-                .likeIfPresent(AdminUserDO::getUserNumber,reqVO.getUserNumber())//学号查询
+                .eqIfPresent(AdminUserDO::getUserNumber,reqVO.getUserNumber())//学号查询
                 .orderByDesc(AdminUserDO::getId);
         if (roleIds.contains(113L)){//如果是教师
             queryWrapper.eqIfPresent(AdminUserDO::getSupervisorId,loginId);

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/impl/AliyunSmsClient.java

@@ -68,13 +68,13 @@ public class AliyunSmsClient extends AbstractSmsClient {
     }
 
     @Override
-    public SmsSendRespDTO sendSms(Long sendLogId, String mobile, String apiTemplateId,
+    public SmsSendRespDTO sendSms(Long sendLogId, String mobile, String apiTemplateId,//
                                   List<KeyValue<String, Object>> templateParams) throws Throwable {
         // 构建请求
         SendSmsRequest request = new SendSmsRequest();
         request.setPhoneNumbers(mobile);
         request.setSignName(properties.getSignature());
-        request.setTemplateCode(apiTemplateId);
+        request.setTemplateCode(apiTemplateId);//
         request.setTemplateParam(JsonUtils.toJsonString(MapUtils.convertMap(templateParams)));
         request.setOutId(String.valueOf(sendLogId));
         // 执行请求

+ 2 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/impl/DebugDingTalkSmsClient.java

@@ -40,6 +40,8 @@ public class DebugDingTalkSmsClient extends AbstractSmsClient {
     protected void doInit() {
     }
 
+
+
     @Override
     public SmsSendRespDTO sendSms(Long sendLogId, String mobile,
                                   String apiTemplateId, List<KeyValue<String, Object>> templateParams) throws Throwable {

+ 1 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/mq/message/sms/SmsSendMessage.java

@@ -1,6 +1,7 @@
 package cn.iocoder.yudao.module.system.mq.message.sms;
 
 import cn.iocoder.yudao.framework.common.core.KeyValue;
+import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.Data;
 
 import javax.validation.constraints.NotNull;

+ 3 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsSendService.java

@@ -1,5 +1,6 @@
 package cn.iocoder.yudao.module.system.service.sms;
 
+import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsTemplateDO;
 import cn.iocoder.yudao.module.system.mq.message.sms.SmsSendMessage;
 
 import java.util.List;
@@ -75,4 +76,6 @@ public interface SmsSendService {
      */
     void receiveSmsStatus(String channelCode, String text) throws Throwable;
 
+
+
 }

+ 2 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsSendServiceImpl.java

@@ -8,6 +8,7 @@ import cn.iocoder.yudao.framework.common.core.KeyValue;
 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
 import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
 import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission;
+import cn.iocoder.yudao.module.system.dal.mysql.sms.SmsTemplateMapper;
 import cn.iocoder.yudao.module.system.framework.sms.core.client.SmsClient;
 import cn.iocoder.yudao.module.system.framework.sms.core.client.dto.SmsReceiveRespDTO;
 import cn.iocoder.yudao.module.system.framework.sms.core.client.dto.SmsSendRespDTO;
@@ -157,7 +158,7 @@ public class SmsSendServiceImpl implements SmsSendService {
     @Override
     public void doSendSms(SmsSendMessage message) {
         // 获得渠道对应的 SmsClient 客户端
-        SmsClient smsClient = smsChannelService.getSmsClient(message.getChannelId());
+        SmsClient smsClient = smsChannelService.getSmsClient(message.getChannelId());//获取渠道
         Assert.notNull(smsClient, "短信客户端({}) 不存在", message.getChannelId());
         // 发送短信
         try {

+ 14 - 9
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java

@@ -549,12 +549,6 @@ public class AdminUserServiceImpl implements AdminUserService {
         }
         AdminUserDO user = userMapper.getUserByNickName(supervisor);
         if (user ==null){
-            return;
-        }
-        if (id ==null){
-            throw exception(Supervisor_NOT_EXISTS);
-        }
-        if (!user.getId().equals(id)) {
             throw exception(Supervisor_NOT_EXISTS);
         }
     }
@@ -684,6 +678,9 @@ public class AdminUserServiceImpl implements AdminUserService {
             updateUser.setId(existUser.getId());
             updateUser.setDeptId(deptId);//更新工作间
             updateUser.setUserType(transformUserType);//更新学生类型
+            if (importUser.getSupervisor()!=null) {
+                updateUser.setSupervisorId(userMapper.getUserByNickName(importUser.getSupervisor()).getId());
+            }// 导师名称转id
             userMapper.updateById(updateUser);
             respVO.getUpdateUsernames().add(importUser.getUsername());
         });
@@ -791,6 +788,9 @@ public class AdminUserServiceImpl implements AdminUserService {
                 }else {
                     newUser.setPassword(encodePassword(importUser.getPassword()));
                 }
+                if (importUser.getSupervisor()!=null) {
+                    newUser.setSupervisorId(userMapper.getUserByNickName(importUser.getSupervisor()).getId());
+                }// 导师名称转id
 
                 Long insertUserId = userMapper.insertAndGetId(newUser); // 执行插入用户数据
 
@@ -804,7 +804,6 @@ public class AdminUserServiceImpl implements AdminUserService {
             }
 
 
-
             // 2.2.2 如果存在,判断是否允许更新
             if (!isUpdateSupport) {
                 respVO.getFailureUsernames().put(importUser.getUsername(), USER_USERNAME_EXISTS.getMsg());
@@ -812,7 +811,9 @@ public class AdminUserServiceImpl implements AdminUserService {
             }
             AdminUserDO updateUser = BeanUtils.toBean(importUser, AdminUserDO.class);
             updateUser.setId(existUser.getId());
-
+            if (importUser.getSupervisor()!=null) {
+                updateUser.setSupervisorId(userMapper.getUserByNickName(importUser.getSupervisor()).getId());
+            }// 导师名称转id
             userMapper.updateById(updateUser);
             respVO.getUpdateUsernames().add(importUser.getUsername());
         });
@@ -844,6 +845,7 @@ public class AdminUserServiceImpl implements AdminUserService {
             }
             // 2.2.1 判断如果不存在,在进行插入
             AdminUserDO existUser = userMapper.selectByUsername(importUser.getUsername());
+
             if (existUser == null) {
 
                 AdminUserDO newUser = BeanUtils.toBean(importUser, AdminUserDO.class);
@@ -852,10 +854,10 @@ public class AdminUserServiceImpl implements AdminUserService {
                 }else {
                     newUser.setPassword(encodePassword(importUser.getPassword()));
                 }
-
                 if (importUser.getSupervisor()!=null) {
                     newUser.setSupervisorId(userMapper.getUserByNickName(importUser.getSupervisor()).getId());
                 }// 导师名称转id
+
                 newUser.setUserType("1");//添加学生类型
                 newUser.setTenantId(1L);//设置租户编号
                 newUser.setDeptId(deptId);//设置工作间id
@@ -879,6 +881,9 @@ public class AdminUserServiceImpl implements AdminUserService {
 
             AdminUserDO updateUser = BeanUtils.toBean(importUser, AdminUserDO.class);
             updateUser.setId(existUser.getId());
+            if (importUser.getSupervisor()!=null) {
+                updateUser.setSupervisorId(userMapper.getUserByNickName(importUser.getSupervisor()).getId());
+            }// 导师名称转id
             updateUser.setDeptId(deptId);//更新工作间
             userMapper.updateById(updateUser);
             respVO.getUpdateUsernames().add(importUser.getUsername());