فهرست منبع

教师信息修改,获奖上传

Signed-off-by: guoWenHao <2532478980@qq.com>
guoWenHao 9 ماه پیش
والد
کامیت
c1d3296d6b

+ 19 - 0
teacher-pojo/src/main/java/com/example/dto/AwardsDTO.java

@@ -0,0 +1,19 @@
+package com.example.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+
+@Data
+public class AwardsDTO implements Serializable {
+
+    private String name;
+
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
+
+    private LocalDate date;
+
+    private String image;
+}

+ 3 - 0
teacher-pojo/src/main/java/com/example/dto/TeacherDTO.java

@@ -1,5 +1,6 @@
 package com.example.dto;
 
+import com.example.entity.Patent;
 import com.example.entity.ResearchFiled;
 import lombok.Data;
 
@@ -21,6 +22,8 @@ public class TeacherDTO implements Serializable {
 
     private List<ResearchFiled> researchFiled;
 
+    private List<Patent> patent;
+
     private String email;
 
     private String phoneNumber;

+ 26 - 0
teacher-pojo/src/main/java/com/example/entity/Awards.java

@@ -0,0 +1,26 @@
+package com.example.entity;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class Awards implements Serializable {
+
+    private Long id;
+
+    private Long teacherId;
+
+    private String name;
+
+    private LocalDate date;
+
+    private String image;
+}

+ 31 - 0
teacher-pojo/src/main/java/com/example/entity/Patent.java

@@ -0,0 +1,31 @@
+package com.example.entity;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class Patent implements Serializable {
+    private Long id;
+
+    private Long teacherId;
+    //专利号
+    private Long patentNum;
+    //授权号
+    private Long authorizationNum;
+    //证书号
+    private Long certificateNum;
+
+    //授权公告日
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
+    private LocalDate date;
+}

+ 2 - 0
teacher-pojo/src/main/java/com/example/entity/Teacher.java

@@ -28,6 +28,8 @@ public class Teacher implements Serializable {
 
     private List<ResearchFiled> researchFiled;
 
+    private List<Patent> patent;
+
     private String email;
 
     private String phoneNumber;

+ 1 - 4
teacher-serve/src/main/java/com/example/config/WebMvcConfiguration.java

@@ -39,10 +39,7 @@ public class WebMvcConfiguration extends WebMvcConfigurationSupport {
     protected void addInterceptors(InterceptorRegistry registry) {
         log.info("开始注册自定义拦截器...");
         registry.addInterceptor(jwtTokenAdminInterceptor)
-                .addPathPatterns("/**")
-                .excludePathPatterns("/user/login")
-                .excludePathPatterns("/user/register")
-                .excludePathPatterns("/user/forget")
+                .addPathPatterns("/teacher/**")
                 .excludePathPatterns("/open/**")
                 .excludePathPatterns("/user/download");
 

+ 30 - 0
teacher-serve/src/main/java/com/example/controller/teacher/AwardsController.java

@@ -0,0 +1,30 @@
+package com.example.controller.teacher;
+
+import com.example.dto.AwardsDTO;
+import com.example.result.Result;
+import com.example.service.AwardsService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+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;
+
+@RestController
+@Slf4j
+@Api(tags = "老师获奖相关接口")
+@RequestMapping("/teacher/awards")
+public class AwardsController {
+    @Autowired
+    private AwardsService awardsService;
+
+    @PostMapping
+    @ApiOperation(value = "老师获奖上传")
+    public Result uploadAwards(@RequestBody AwardsDTO awardsDTO,Integer awardsNum){
+       log.info("获奖上传,{}",awardsDTO);
+       awardsService.uploadAwards(awardsDTO,awardsNum);
+        return Result.success();
+    }
+}

+ 13 - 5
teacher-serve/src/main/java/com/example/controller/teacher/TeacherController.java

@@ -7,10 +7,8 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-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 org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
 
 @RestController
 @Slf4j
@@ -22,14 +20,24 @@ public class TeacherController {
 
     /**
      * 新增老师基本信息
+     *
      * @param teacherDTO
      * @return
      */
     @PostMapping
     @ApiOperation(value = "新增老师基本信息")
     public Result saveTeacher(@RequestBody TeacherDTO teacherDTO) {
-        log.info("新增老师基本信息:{}",teacherDTO.getName());
+        log.info("新增老师基本信息:{}", teacherDTO.getName());
         teacherService.saveTeacher(teacherDTO);
         return Result.success();
     }
+
+    @Transactional
+    @PutMapping("/{id}")
+    @ApiOperation(value = "根据id更新老师信息")
+    public Result updateTeacher(@RequestBody TeacherDTO teacherDTO, @PathVariable Long id) {
+        log.info("根据id修改老师信息,{}", id);
+        teacherService.updateTeacher(teacherDTO,id);
+        return Result.success();
+    }
 }

+ 25 - 0
teacher-serve/src/main/java/com/example/mapper/AwardsMapper.java

@@ -0,0 +1,25 @@
+package com.example.mapper;
+
+import com.example.entity.Awards;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Update;
+
+@Mapper
+public interface AwardsMapper {
+    /**
+     * 老师获奖信息上传
+     * @param awards
+     */
+    @Insert("insert into teacherteam_system.awards (teacher_id, name, date, image) " +
+            "values (#{teacherId},#{name},#{date},#{image});")
+    void uploadAwards(Awards awards);
+
+    /**
+     * 修改教师获奖数量
+     * @param id
+     * @param awardsNum
+     */
+    @Update("update teacherteam_system.teacher set awards_num = #{awardsNum} where id = #{id}")
+    void addAwardsNum(Long id, Integer awardsNum);
+}

+ 26 - 0
teacher-serve/src/main/java/com/example/mapper/TeacherMapper.java

@@ -1,7 +1,9 @@
 package com.example.mapper;
 
+import com.example.entity.Patent;
 import com.example.entity.ResearchFiled;
 import com.example.entity.Teacher;
+import org.apache.ibatis.annotations.Delete;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -20,4 +22,28 @@ public interface TeacherMapper {
      * @param researchFiled
      */
     void saveReasearch(@Param("researchFiled") List<ResearchFiled> researchFiled);
+
+    /**
+     * 插入专利信息
+     * @param patents
+     */
+    void savePatent(@Param("patents") List<Patent> patents);
+
+    /**
+     * 更新老师信息
+     * @param teacher
+     */
+    void updateTeacher(Teacher teacher);
+
+    /**
+     * 根据id删除研究领域
+     * @param id
+     */
+    void deleteReasearch(Long id);
+
+    /**
+     * 根据id删除专利
+     * @param id
+     */
+    void deletePatents(Long id);
 }

+ 11 - 0
teacher-serve/src/main/java/com/example/service/AwardsService.java

@@ -0,0 +1,11 @@
+package com.example.service;
+
+import com.example.dto.AwardsDTO;
+
+public interface AwardsService {
+    /**
+     * 老师获奖上传
+     * @param awardsDTO
+     */
+    void uploadAwards(AwardsDTO awardsDTO,Integer awardsNum);
+}

+ 2 - 0
teacher-serve/src/main/java/com/example/service/TeacherService.java

@@ -8,4 +8,6 @@ public interface TeacherService {
      * @param teacherDTO
      */
     void saveTeacher(TeacherDTO teacherDTO);
+
+    void updateTeacher(TeacherDTO teacherDTO,Long id);
 }

+ 38 - 0
teacher-serve/src/main/java/com/example/service/impl/AwardsServiceImpl.java

@@ -0,0 +1,38 @@
+package com.example.service.impl;
+
+import com.example.context.BaseContext;
+import com.example.dto.AwardsDTO;
+import com.example.entity.Awards;
+import com.example.entity.Teacher;
+import com.example.mapper.AwardsMapper;
+import com.example.mapper.TeacherMapper;
+import com.example.service.AwardsService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class AwardsServiceImpl implements AwardsService {
+
+    @Autowired
+    private AwardsMapper awardsMapper;
+    @Autowired
+    private TeacherMapper teacherMapper;
+
+    /**
+     * 老师获奖上传
+     *
+     * @param awardsDTO
+     */
+    @Override
+    public void uploadAwards(AwardsDTO awardsDTO, Integer awardsNum) {
+        Awards awards = new Awards();
+        BeanUtils.copyProperties(awardsDTO, awards);
+        Long id=BaseContext.getCurrentId();
+        awards.setTeacherId(id);
+        awardsNum=awardsNum+1;
+        awardsMapper.uploadAwards(awards);
+        awardsMapper.addAwardsNum(id,awardsNum);
+
+    }
+}

+ 37 - 0
teacher-serve/src/main/java/com/example/service/impl/TeacherServiceImpl.java

@@ -2,6 +2,7 @@ package com.example.service.impl;
 
 import com.example.context.BaseContext;
 import com.example.dto.TeacherDTO;
+import com.example.entity.Patent;
 import com.example.entity.ResearchFiled;
 import com.example.entity.Teacher;
 import com.example.mapper.TeacherMapper;
@@ -36,5 +37,41 @@ public class TeacherServiceImpl implements TeacherService {
             });
             teacherMapper.saveReasearch(researchFiled);
         }
+        //向专利插入n条数据
+        List<Patent> patents = teacher.getPatent();
+        if (patents != null && patents.size() > 0) {
+            patents.forEach(patents1 -> {
+                patents1.setTeacherId(teacher.getId());
+            });
+            teacherMapper.savePatent(patents);
+        }
+    }
+
+    @Override
+    public void updateTeacher(TeacherDTO teacherDTO,Long id) {
+        Teacher teacher = new Teacher();
+        BeanUtils.copyProperties(teacherDTO, teacher);
+        teacher.setId(id);
+        teacherMapper.updateTeacher(teacher);
+        //向研究领域插入n条数据
+        teacherMapper.deleteReasearch(teacher.getId());
+        List<ResearchFiled> researchFiled = teacher.getResearchFiled();
+        if (researchFiled != null && researchFiled.size() > 0) {
+            researchFiled.forEach(researchFiled1 -> {
+                researchFiled1.setTeacherId(teacher.getId());
+            });
+
+            teacherMapper.saveReasearch(researchFiled);
+        }
+        //向专利插入n条数据
+        teacherMapper.deletePatents(teacher.getId());
+        List<Patent> patents = teacher.getPatent();
+        if (patents != null && patents.size() > 0) {
+            patents.forEach(patents1 -> {
+                patents1.setTeacherId(teacher.getId());
+            });
+
+            teacherMapper.savePatent(patents);
+        }
     }
 }

+ 52 - 0
teacher-serve/src/main/resources/mapper/TeacherMapper.xml

@@ -14,4 +14,56 @@
             (#{re.teacherId},#{re.information})
         </foreach>
     </insert>
+    <insert id="savePatent">
+        insert into teacherteam_system.patent(patent_num, authorization_num, certificate_num, date, teacher_id)
+        values
+        <foreach collection="patents" item="pa" separator=",">
+            ( #{pa.patentNum},
+                <if test="pa.authorizationNum != null">
+                    #{pa.authorizationNum},
+                </if>
+                <if test="pa.certificateNum != null">
+                #{pa.certificateNum},
+                </if>
+                #{pa.date},
+                #{pa.teacherId})
+        </foreach>
+    </insert>
+    <update id="updateTeacher">
+            update teacherteam_system.teacher
+            <set>
+                <if test="name != null and name != ''">
+                    name= #{name},
+                </if>
+                <if test="profile != null ">
+                    profile= #{profile},
+                </if>
+                <if test="image != null">
+                    image= #{image},
+                </if>
+                <if test="gradauteCourse != null">
+                    gradaute_course= #{gradauteCourse},
+                </if>
+                <if test="undergradauteCourse != null">
+                    undergradaute_course= #{undergradauteCourse},
+                </if>
+                <if test="email != null">
+                    email= #{email},
+                </if>
+                <if test="phoneNumber != null">
+                    phone_number= #{phoneNumber},
+                </if>
+            </set>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteReasearch">
+        delete from teacherteam_system.research_filed
+        where teacher_id = #{id}
+    </delete>
+
+    <delete id="deletePatents">
+        delete from teacherteam_system.patent
+        where teacher_id = #{id}
+    </delete>
 </mapper>