Browse Source

feat: [试验管理] [邀请成员] 邀请成员功能

master
memorylkf 1 week ago
parent
commit
2895b0a67d
6 changed files with 144 additions and 42 deletions
  1. +12
    -25
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/controller/StudySubjectUserController.java
  2. +37
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/form/study/StudySubjectUserSaveForm.java
  3. +17
    -5
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/IStudySubjectUserService.java
  4. +9
    -1
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudySubjectServiceImpl.java
  5. +66
    -10
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudySubjectUserServiceImpl.java
  6. +3
    -1
      hxhq-modules/hxhq-system/src/main/resources/bootstrap.yml

+ 12
- 25
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/controller/StudySubjectUserController.java View File

@ -3,6 +3,7 @@ package com.hxhq.business.controller;
import java.util.Arrays;
import java.util.List;
import com.hxhq.business.form.study.StudySubjectUserSaveForm;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.hxhq.business.domain.StudySubjectUser;
@ -28,38 +29,24 @@ public class StudySubjectUserController extends BaseController
/**
* 查询试验-学科-成员列表
*/
@GetMapping("/list")
public TableDataInfo list(StudySubjectUser studySubjectUser)
@GetMapping("/getListByStudySubjectId")
public AjaxResult getListByStudySubjectId(Long studySubjectId)
{
startPage();
List<StudySubjectUser> list = studySubjectUserService.queryList(studySubjectUser);
return getDataTable(list);
}
/**
* 获取试验-学科-成员详细信息
*/
@GetMapping(value = "/info")
public AjaxResult getInfo(Long id)
{
return AjaxResult.success(studySubjectUserService.getById(id));
return AjaxResult.success(studySubjectUserService.getListByStudySubjectId(studySubjectId));
}
/**
* 新增试验-学科-成员信息
* @param form
* @return
*/
@PostMapping("/save")
public AjaxResult save(@RequestBody StudySubjectUser studySubjectUser)
{
return toAjax(studySubjectUserService.saveOrUpdate(studySubjectUser));
}
/**
* 删除试验-学科-成员信息
*/
@PostMapping("/delete")
public AjaxResult delete(@RequestBody Long[] ids)
public AjaxResult save(@RequestBody StudySubjectUserSaveForm form)
{
return toAjax(studySubjectUserService.removeByIds(Arrays.asList(ids)));
if(form.getStudySubjectId()==null || form.getStudySubjectId().longValue()<=0 || form.getSubjectUserList()==null){
return AjaxResult.error("参数有误");
}
studySubjectUserService.saveInfo(form);
return AjaxResult.success();
}
}

+ 37
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/form/study/StudySubjectUserSaveForm.java View File

@ -0,0 +1,37 @@
package com.hxhq.business.form.study;
import com.hxhq.business.domain.StudySubject;
import com.hxhq.business.domain.StudySubjectUser;
import java.util.List;
/**
* @author memory
*/
public class StudySubjectUserSaveForm {
/**
* 试验学科id
*/
private Long studySubjectId;
/**
* 成员列表
*/
private List<StudySubjectUser> subjectUserList;
public Long getStudySubjectId() {
return studySubjectId;
}
public void setStudySubjectId(Long studySubjectId) {
this.studySubjectId = studySubjectId;
}
public List<StudySubjectUser> getSubjectUserList() {
return subjectUserList;
}
public void setSubjectUserList(List<StudySubjectUser> subjectUserList) {
this.subjectUserList = subjectUserList;
}
}

+ 17
- 5
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/IStudySubjectUserService.java View File

@ -3,6 +3,7 @@ package com.hxhq.business.service;
import java.util.List;
import com.hxhq.business.domain.StudySubjectUser;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hxhq.business.form.study.StudySubjectUserSaveForm;
/**
* 试验-学科-成员Service接口
@ -13,11 +14,22 @@ import com.baomidou.mybatisplus.extension.service.IService;
public interface IStudySubjectUserService extends IService<StudySubjectUser>
{
/**
* 查询试验-学科-成员列表
*
* @param studySubjectUser 试验-学科-成员
* @return 试验-学科-成员集合
* 获取试验学科下的成员列表
* @param studySubjectId
* @return
*/
public List<StudySubjectUser> queryList(StudySubjectUser studySubjectUser);
List<StudySubjectUser> getListByStudySubjectId(Long studySubjectId);
/**
* 保存成员信息
* @param form
*/
void saveInfo(StudySubjectUserSaveForm form);
/**
* 根据studySubjectId进下删除
* @param studySubjectId
*/
void deleteByStudySubjectId(Long studySubjectId);
}

+ 9
- 1
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudySubjectServiceImpl.java View File

@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.hxhq.business.domain.Study;
import com.hxhq.business.form.study.StudySubjectSaveForm;
import com.hxhq.business.service.IStudyService;
import com.hxhq.business.service.IStudySubjectUserService;
import com.hxhq.common.core.exception.ServiceException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -29,6 +30,8 @@ public class StudySubjectServiceImpl extends ServiceImpl
{
@Autowired
private IStudyService studyService;
@Autowired
private IStudySubjectUserService studySubjectUserService;
/**
* 获取试验下的学科设置信息(含未设置的学科)
@ -49,9 +52,11 @@ public class StudySubjectServiceImpl extends ServiceImpl
List<StudySubject> exists = existsList.stream().filter(o->o.getDeptId().equals(subject.getDeptId())).collect(Collectors.toList());
if(exists.size()>0){
info.setSelect(true);
info.setId(exists.get(0).getId());
info.setStudyId(exists.get(0).getStudyId());
info.setLeader(exists.get(0).getLeader());
info.setLeaderName(exists.get(0).getLeaderName());
info.setSelect(true);
}else{
info.setSelect(false);
}
@ -110,6 +115,9 @@ public class StudySubjectServiceImpl extends ServiceImpl
}
if(deleteList.size()>0){
removeBatchByIds(deleteList);
for(StudySubject del : deleteList){
studySubjectUserService.deleteByStudySubjectId(del.getId());
}
}
}
}

+ 66
- 10
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudySubjectUserServiceImpl.java View File

@ -1,13 +1,24 @@
package com.hxhq.business.service.impl;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.hxhq.business.domain.Study;
import com.hxhq.business.domain.StudySubject;
import com.hxhq.business.form.study.StudySubjectUserSaveForm;
import com.hxhq.business.service.IStudyService;
import com.hxhq.business.service.IStudySubjectService;
import com.hxhq.common.core.exception.ServiceException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.hxhq.business.mapper.StudySubjectUserMapper;
import com.hxhq.business.domain.StudySubjectUser;
import com.hxhq.business.service.IStudySubjectUserService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Transactional;
/**
* 试验-学科-成员Service业务层处理
@ -18,17 +29,62 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@Service
public class StudySubjectUserServiceImpl extends ServiceImpl<StudySubjectUserMapper, StudySubjectUser> implements IStudySubjectUserService
{
/**
* 查询试验-学科-成员列表
*
* @param studySubjectUser 试验-学科-成员
* @return 试验-学科-成员
*/
@Autowired
private IStudySubjectService studySubjectService;
@Override
public List<StudySubjectUser> queryList(StudySubjectUser studySubjectUser)
{
QueryWrapper<StudySubjectUser> queryWrapper = Wrappers.query();
return this.list(queryWrapper);
public List<StudySubjectUser> getListByStudySubjectId(Long studySubjectId) {
QueryWrapper<StudySubjectUser> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("study_subject_id",studySubjectId);
return list(queryWrapper);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void saveInfo(StudySubjectUserSaveForm form) {
StudySubject studySubject = studySubjectService.getById(form.getStudySubjectId());
if(studySubject==null){
throw new ServiceException("试验学科不存在");
}
//传入的成员信息
List<StudySubjectUser> itemList = form.getSubjectUserList();
//已经设置的学科信息
List<StudySubjectUser> oldList = getListByStudySubjectId(form.getStudySubjectId());
List<StudySubjectUser> deleteList = new ArrayList<>();
List<StudySubjectUser> addList = new ArrayList<>();
List<StudySubjectUser> modifyList = new ArrayList<>();
for(StudySubjectUser item : itemList){
List<StudySubjectUser> existsList = oldList.stream().filter(o->o.getUserId().equals(item.getUserId())).collect(Collectors.toList());
if(existsList.size()==0){
item.setStudySubjectId(form.getStudySubjectId());
addList.add(item);
}else{
item.setId(existsList.get(0).getId());
modifyList.add(item);
}
}
for(StudySubjectUser old : oldList){
if(itemList.stream().filter(o->o.getUserId().equals(old.getUserId())).collect(Collectors.toList()).size()==0){
deleteList.add(old);
}
}
if(addList.size()>0){
saveBatch(addList);
}
if(modifyList.size()>0){
updateBatchById(modifyList);
}
if(deleteList.size()>0){
removeBatchByIds(deleteList);
}
}
@Override
public void deleteByStudySubjectId(Long studySubjectId) {
QueryWrapper<StudySubjectUser> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("study_subject_id",studySubjectId);
remove(queryWrapper);
}
}

+ 3
- 1
hxhq-modules/hxhq-system/src/main/resources/bootstrap.yml View File

@ -3,7 +3,9 @@ server:
port: 9201
# Spring
spring:
spring:
main:
allow-circular-references: true
application:
# 应用名称
name: hxhq-system

Loading…
Cancel
Save