123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210 |
- package com.ssj.service.vacation.impl;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.ssj.api.domain.vo.vacation.*;
- import com.ssj.bean.vacation.SumPrevMaterial;
- import com.ssj.bean.vacation.SumPrevMaterialUnit;
- import com.ssj.bean.vacation.SumRevMaterial;
- import com.ssj.framework.basic.config.bean.VersionConfig;
- import com.ssj.framework.core.util.SystemResourceLocator;
- import com.ssj.mapper.vacation.PrevMaterialMapper;
- import com.ssj.mapper.vacation.PrevMaterialUnitMapper;
- import com.ssj.mapper.vacation.RevMaterialMapper;
- import com.ssj.mapper.vacation.SummerVacationMapper;
- import com.ssj.service.vacation.ISummerVacationService;
- import lombok.extern.slf4j.Slf4j;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.stereotype.Service;
- import javax.annotation.Resource;
- import java.util.Date;
- import java.util.List;
- import java.util.Map;
- import java.util.concurrent.atomic.AtomicReference;
- /**
- * @author sh
- * @className SummerVacationServiceImpl
- * @description 暑假大作战业务实现
- * @date 2022/6/14
- */
- @Service
- @Slf4j
- public class SummerVacationServiceImpl implements ISummerVacationService {
- @Resource
- private SummerVacationMapper summerVacationMapper;
- @Resource
- private PrevMaterialMapper prevMaterialMapper;
- @Resource
- private PrevMaterialUnitMapper prevMaterialUnitMapper;
- @Resource
- private RevMaterialMapper revMaterialMapper;
- @Override
- public Page<SumPrevMaterialVO> getPrevPage(VersionVo param) {
- return summerVacationMapper.getPrevPage(param.toPage(),param);
- }
- @Override
- public List<SumPrevMaterialUnitVO> getUnitList(String id) {
- return summerVacationMapper.getUnitList(id);
- }
- @Override
- public void editPreMaterialVersion(VersionVo param) {
- if(param.getId()== null || "".equals(param.getId())){
- SumPrevMaterial sumPrevMaterial = new SumPrevMaterial();
- sumPrevMaterial.setGrade(param.getGrade());
- sumPrevMaterial.setSemester(param.getSemester());
- sumPrevMaterial.setMaterialLink(param.getMaterialLink());
- sumPrevMaterial.setVersionType(param.getVersionType());
- sumPrevMaterial.setSubject(param.getSubject());
- sumPrevMaterial.setVersionName(getVersionNameByType(param.getVersionType(),param.getSubject()));
- sumPrevMaterial.setCreateTime(new Date());
- prevMaterialMapper.insert(sumPrevMaterial);
- }else{
- SumPrevMaterial sumPrevMaterial = prevMaterialMapper.selectById(param.getId());
- if(StringUtils.isNotEmpty(param.getGrade())){
- sumPrevMaterial.setGrade(param.getGrade());
- }
- if(param.getSemester()>0) {
- sumPrevMaterial.setSemester(param.getSemester());
- }
- if(StringUtils.isNotEmpty(param.getMaterialLink())) {
- sumPrevMaterial.setMaterialLink(param.getMaterialLink());
- }
- if(StringUtils.isNotEmpty(param.getSubject())) {
- sumPrevMaterial.setSubject(param.getSubject());
- }
- if(param.getVersionType()>0){
- sumPrevMaterial.setVersionType(param.getVersionType());
- sumPrevMaterial.setVersionName(getVersionNameByType(param.getVersionType(),param.getSubject()));
- }
- sumPrevMaterial.setCreateTime(new Date());
- prevMaterialMapper.updateById(sumPrevMaterial);
- }
- }
- @Override
- public void delPreMaterialVersion(VersionVo param) {
- if(param.getId()!= null && !"".equals(param.getId())){
- prevMaterialMapper.deleteById(param.getId());
- //删除子表信息
- prevMaterialUnitMapper.delete(new QueryWrapper<SumPrevMaterialUnit>()
- .eq("parent_id",param.getId()));
- }
- }
- @Override
- public void delPreMaterialUnitVersion(VersionVo param) {
- if(param.getId()!= null && !"".equals(param.getId())){
- SumPrevMaterialUnit sumPrevMaterial = prevMaterialUnitMapper.selectById(param.getId());
- prevMaterialUnitMapper.delete(new QueryWrapper<SumPrevMaterialUnit>()
- .eq("parent_id",sumPrevMaterial.getParentId())
- .eq("unit_id",sumPrevMaterial.getUnitId()));
- }
- }
- @Override
- public void editPreUnitVersion(VersionUnitVo param) {
- if(param.getId()!= null && !"".equals(param.getId())){
- SumPrevMaterialUnit sumPrevMaterial = prevMaterialUnitMapper.selectById(param.getId());
- //修改的话,先删除之前的记录,再插入新的记录
- prevMaterialUnitMapper.delete(new QueryWrapper<SumPrevMaterialUnit>()
- .eq("parent_id",sumPrevMaterial.getParentId())
- .eq("unit_id",sumPrevMaterial.getUnitId()));
- }
- List<VersionUnitListVo> list = param.getUnitList();
- SumPrevMaterial sumPrevMaterial = prevMaterialMapper.selectById(param.getParentId());
- int unitShowSort = this.getListSizeByParentId(param.getParentId()).intValue() +1;
- if(list!=null && list.size()>0){
- for (VersionUnitListVo vo:list){
- SumPrevMaterialUnit sumPrevMaterialUnit = new SumPrevMaterialUnit();
- sumPrevMaterialUnit.setParentId(param.getParentId());
- sumPrevMaterialUnit.setUnitId(param.getUnitId());
- sumPrevMaterialUnit.setUnitName(param.getUnitName());
- sumPrevMaterialUnit.setVideoLink(vo.getVideoLink());
- sumPrevMaterialUnit.setVideoName(vo.getVideoName());
- sumPrevMaterialUnit.setCreateTime(new Date());
- sumPrevMaterialUnit.setSubject(sumPrevMaterial.getSubject());
- sumPrevMaterialUnit.setUnitShowSort(unitShowSort);
- prevMaterialUnitMapper.insert(sumPrevMaterialUnit);
- }
- }else{
- SumPrevMaterialUnit sumPrevMaterialUnit = new SumPrevMaterialUnit();
- sumPrevMaterialUnit.setParentId(param.getParentId());
- sumPrevMaterialUnit.setUnitId(param.getUnitId());
- sumPrevMaterialUnit.setUnitName(param.getUnitName());
- sumPrevMaterialUnit.setCreateTime(new Date());
- sumPrevMaterialUnit.setSubject(sumPrevMaterial.getSubject());
- sumPrevMaterialUnit.setUnitShowSort(unitShowSort);
- prevMaterialUnitMapper.insert(sumPrevMaterialUnit);
- }
- }
- @Override
- public Page<SumRevMaterialVO> vacationRevPage(VersionVo param) {
- return summerVacationMapper.vacationRevPage(param.toPage(),param);
- }
- @Override
- public void revMaterialVersion(VersionVo param) {
- if(param.getId()== null || "".equals(param.getId())){
- SumRevMaterial sumPrevMaterial = new SumRevMaterial();
- sumPrevMaterial.setVersionType(param.getVersionType());
- sumPrevMaterial.setSubject(param.getSubject());
- sumPrevMaterial.setVersionName(getVersionNameByType(param.getVersionType(),param.getSubject()));
- sumPrevMaterial.setCreateTime(new Date());
- revMaterialMapper.insert(sumPrevMaterial);
- }else{
- SumRevMaterial revMaterial = revMaterialMapper.selectById(param.getId());
- if(StringUtils.isNotEmpty(param.getSubject())) {
- revMaterial.setSubject(param.getSubject());
- }
- if(param.getVersionType()>0){
- revMaterial.setVersionType(param.getVersionType());
- revMaterial.setVersionName(getVersionNameByType(param.getVersionType(),param.getSubject()));
- }
- revMaterial.setCreateTime(new Date());
- revMaterialMapper.updateById(revMaterial);
- }
- }
- @Override
- public void delRevMaterialVersion(VersionVo param) {
- if(param.getId()!= null && !"".equals(param.getId())){
- revMaterialMapper.deleteById(param.getId());
- }
- }
- @Override
- public SumPrevMaterial findPreMaterialByAny(String subject, String versionName, String grade, String semester) {
- return prevMaterialMapper.selectOne(new QueryWrapper<SumPrevMaterial>().eq("subject",subject).eq("grade",grade).eq("version_name",versionName).eq("semester",semester.equals("上册")?1:2));
- }
- @Override
- public Integer getListSizeByParentId(String id) {
- return prevMaterialUnitMapper.selectCount(new QueryWrapper<SumPrevMaterialUnit>().eq("parent_id",id));
- }
- private String getVersionNameByType(int type,String subject){
- Map<String, List<VersionConfig>> data = SystemResourceLocator.getVersionList(subject);
- String reStr = "";
- for(String key:data.keySet()) {
- List<VersionConfig> list = data.get(key);
- for(VersionConfig v:list){
- if(v.getVersionType() == type){
- reStr = v.getVersionName();
- break;
- }
- }
- }
- return reStr;
- }
- }
|