Kaynağa Gözat

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

dzx 1 yıl önce
ebeveyn
işleme
dd318c7a87

+ 15 - 16
src/main/java/com/xjrsoft/module/textbook/controller/SubjectGroupController.java

@@ -2,17 +2,19 @@ package com.xjrsoft.module.textbook.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.bean.BeanUtil;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
-import com.xjrsoft.common.exception.MyException;
 import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
 import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.module.base.entity.BaseCourseSubject;
 import com.xjrsoft.module.teacher.entity.XjrUser;
-import com.xjrsoft.module.textbook.dto.*;
+import com.xjrsoft.module.textbook.dto.AddCourseToSubjectGroupDto;
+import com.xjrsoft.module.textbook.dto.AddSubjectGroupDto;
+import com.xjrsoft.module.textbook.dto.SubjectGroupPageDto;
+import com.xjrsoft.module.textbook.dto.UpdateSubjectGroupDto;
 import com.xjrsoft.module.textbook.entity.SubjectGroup;
 import com.xjrsoft.module.textbook.entity.SubjectGroupCourse;
 import com.xjrsoft.module.textbook.service.ISubjectGroupCourseService;
@@ -56,6 +58,8 @@ public class SubjectGroupController {
                 .selectAs(XjrUser::getName,SubjectGroupPageVo::getLeaderUserIdCN)
                 .select(SubjectGroup.class,x -> VoToColumnUtil.fieldsToColumns(SubjectGroupPageVo.class).contains(x.getProperty()))
                 .leftJoin(XjrUser.class,XjrUser::getId,SubjectGroup::getLeaderUserId)
+                .like(ObjectUtil.isNotNull(dto.getGroupName()) && dto.getGroupName().equals(""),SubjectGroup::getGroupName,dto.getGroupName())
+                .eq(ObjectUtil.isNotNull(dto.getLeaderUserId()) && dto.getLeaderUserId() > 0, SubjectGroup::getLeaderUserId, dto.getLeaderUserId())
                 .orderByDesc(SubjectGroup::getId);
         IPage<SubjectGroupPageVo> page = subjectGroupService.selectJoinListPage(ConventPage.getPage(dto),SubjectGroupPageVo.class, queryWrapper);
         for (SubjectGroupPageVo subjectGroupPageVo : page.getRecords()) {
@@ -118,30 +122,25 @@ public class SubjectGroupController {
         return RT.ok(isSuccess);
     }
 
-
     @PutMapping
     @ApiOperation(value = "修改学科组管理")
     @SaCheckPermission("subjectgroup:edit")
     public RT<Boolean> update(@Valid @RequestBody UpdateSubjectGroupDto dto){
-        SubjectGroup subjectGroup = BeanUtil.toBean(dto, SubjectGroup.class);
-        return RT.ok(subjectGroupService.updateById(subjectGroup));
+        return RT.ok(subjectGroupService.updateCourse(dto));
+    }
 
+    @PutMapping("/updateCourse")
+    @ApiOperation(value = "修改学科组管理")
+    @SaCheckPermission("subjectgroup:edit")
+    public RT<Boolean> updateCourse(@Valid @RequestBody UpdateSubjectGroupDto dto){
+        return RT.ok(subjectGroupService.updateCourse(dto));
     }
 
     @DeleteMapping
     @ApiOperation(value = "删除学科组管理")
     @SaCheckPermission("subjectgroup:delete")
     public RT<Boolean> delete(@Valid @RequestBody List<Long> ids){
-        for(Long id : ids){
-            LambdaQueryWrapper<SubjectGroupCourse> queryWrapper = new LambdaQueryWrapper<>();
-            queryWrapper
-                    .eq(SubjectGroupCourse::getSubjectGroupId,id);
-            Long count = subjectGroupCourseService.count(queryWrapper);
-            if(count > 0){
-                throw new MyException("学科组下面有课程");
-            }
-        }
-        return RT.ok(subjectGroupService.removeBatchByIds(ids));
+        return RT.ok(subjectGroupService.delete(ids));
     }
 
     @DeleteMapping("/deleteCourse")

+ 10 - 7
src/main/java/com/xjrsoft/module/textbook/dto/SubjectGroupPageDto.java

@@ -4,12 +4,6 @@ import com.xjrsoft.common.page.PageInput;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import java.util.Date;
 
 
 /**
@@ -21,6 +15,15 @@ import java.util.Date;
 @Data
 @EqualsAndHashCode(callSuper = false)
 public class SubjectGroupPageDto extends PageInput {
-
+    /**
+     * 组名
+     */
+    @ApiModelProperty("组名")
+    private String groupName;
+    /**
+     * 组长用户编号
+     */
+    @ApiModelProperty("组长用户编号")
+    private Long leaderUserId;
 
 }

+ 0 - 9
src/main/java/com/xjrsoft/module/textbook/dto/UpdateSubjectGroupDto.java

@@ -2,15 +2,6 @@ package com.xjrsoft.module.textbook.dto;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import java.io.Serializable;
-
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import java.util.List;
-import java.util.Date;
-
 
 
 /**

+ 7 - 0
src/main/java/com/xjrsoft/module/textbook/service/ISubjectGroupService.java

@@ -3,8 +3,11 @@ package com.xjrsoft.module.textbook.service;
 import com.github.yulichang.base.MPJBaseService;
 import com.xjrsoft.module.textbook.dto.AddCourseToSubjectGroupDto;
 import com.xjrsoft.module.textbook.dto.AddSubjectGroupDto;
+import com.xjrsoft.module.textbook.dto.UpdateSubjectGroupDto;
 import com.xjrsoft.module.textbook.entity.SubjectGroup;
 
+import java.util.List;
+
 /**
 * @title: 学科组管理
 * @Author szs
@@ -17,4 +20,8 @@ public interface ISubjectGroupService extends MPJBaseService<SubjectGroup> {
 
     Boolean addCourse(AddCourseToSubjectGroupDto dto);
 
+    Boolean updateCourse(UpdateSubjectGroupDto dto);
+
+    Boolean delete(List<Long> ids);
+
 }

+ 36 - 0
src/main/java/com/xjrsoft/module/textbook/service/impl/SubjectGroupServiceImpl.java

@@ -7,6 +7,7 @@ import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.xjrsoft.common.exception.MyException;
 import com.xjrsoft.module.textbook.dto.AddCourseToSubjectGroupDto;
 import com.xjrsoft.module.textbook.dto.AddSubjectGroupDto;
+import com.xjrsoft.module.textbook.dto.UpdateSubjectGroupDto;
 import com.xjrsoft.module.textbook.entity.SubjectGroup;
 import com.xjrsoft.module.textbook.entity.SubjectGroupCourse;
 import com.xjrsoft.module.textbook.mapper.SubjectGroupMapper;
@@ -16,6 +17,8 @@ import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.List;
+
 /**
 * @title: 学科组管理
 * @Author szs
@@ -72,4 +75,37 @@ public class SubjectGroupServiceImpl extends MPJBaseServiceImpl<SubjectGroupMapp
         }
         return isSuccess;
     }
+
+    @Override
+    @Transactional
+    public Boolean updateCourse(UpdateSubjectGroupDto dto) {
+        //修改该课程组下的课程
+        if(ObjectUtil.isNotNull(dto.getSubjectGroupCourseIds()) && dto.getSubjectGroupCourseIds().size() > 0){
+            LambdaQueryWrapper<SubjectGroupCourse> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper
+                    .eq(SubjectGroupCourse::getSubjectGroupId,dto.getId());
+            subjectGroupCourseService.remove(queryWrapper);
+            for (Long id : dto.getSubjectGroupCourseIds()) {
+                SubjectGroupCourse subjectGroupCourse = new SubjectGroupCourse();
+                subjectGroupCourse.setCourseSubjectId(id);
+                subjectGroupCourse.setSubjectGroupId(dto.getId());
+                subjectGroupCourseService.save(subjectGroupCourse);
+            }
+        }
+        SubjectGroup subjectGroup = BeanUtil.toBean(dto, SubjectGroup.class);
+        return this.updateById(subjectGroup);
+    }
+
+    @Override
+    @Transactional
+    public Boolean delete(List<Long> ids) {
+        //删除课程组下面的所有课程
+        for(Long id : ids){
+            LambdaQueryWrapper<SubjectGroupCourse> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper
+                    .eq(SubjectGroupCourse::getSubjectGroupId,id);
+            subjectGroupCourseService.remove(queryWrapper);
+        }
+        return this.removeBatchByIds(ids);
+    }
 }

+ 7 - 1
src/test/java/com/xjrsoft/xjrsoftboot/StrTest.java

@@ -10,7 +10,6 @@ import java.text.SimpleDateFormat;
 import java.time.DayOfWeek;
 import java.time.Instant;
 import java.time.LocalDateTime;
-import java.time.ZoneId;
 import java.time.format.TextStyle;
 import java.time.temporal.ChronoUnit;
 import java.util.*;
@@ -25,6 +24,13 @@ public class StrTest {
         System.out.println(StrUtil.format(f, "sdfsdf","bbbbbb"));
     }
 
+    @Test
+    public void arrayTest() {
+        String f = "《{}》等待{}审批。";
+
+        System.out.println(StrUtil.format(f, "sdfsdf","bbbbbb"));
+    }
+
     @Test
     public void date() throws ParseException {
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");