CertMemberMappingServiceImpl.java 5.41 KB
package com.subsidy.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.subsidy.dto.cert.*;
import com.subsidy.mapper.CertMemberFileMappingMapper;
import com.subsidy.mapper.CertRequirementMapper;
import com.subsidy.mapper.CertTypeDictMapper;
import com.subsidy.model.CertMemberFileMappingDO;
import com.subsidy.model.CertMemberMappingDO;
import com.subsidy.mapper.CertMemberMappingMapper;
import com.subsidy.model.CertRequirementDO;
import com.subsidy.model.CertTypeDictDO;
import com.subsidy.service.CertMemberFileMappingService;
import com.subsidy.service.CertMemberMappingService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.subsidy.util.ConstantUtils;
import com.subsidy.vo.cert.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.ArrayList;
import java.util.List;

/**
 * <p>
 * 学生报名证书表 服务实现类
 * </p>
 *
 * @author DengMin
 * @since 2022-05-11
 */
@Service
public class CertMemberMappingServiceImpl extends ServiceImpl<CertMemberMappingMapper, CertMemberMappingDO> implements CertMemberMappingService {

    @Autowired
    private CertMemberFileMappingMapper certMemberFileMappingMapper;

    @Autowired
    private CertTypeDictMapper certTypeDictMapper;

    @Autowired
    private CertRequirementMapper certRequirementMapper;

    @Transactional(rollbackFor = Exception.class)
    public String signUp(SignUpDTO signUpDTO) {

        List<CertMemberFileMappingDO> certMemberFileMappingDOS = signUpDTO.getFiles();

        for (CertMemberFileMappingDO certMemberFileMappingDO : certMemberFileMappingDOS) {
            certMemberFileMappingDO.setCertId(signUpDTO.getCertId());
            certMemberFileMappingDO.setMemberId(signUpDTO.getMemberId());
            certMemberFileMappingDO.setRequirementId(certMemberFileMappingDO.getRequirementId());
            certMemberFileMappingMapper.insert(certMemberFileMappingDO);
        }
        CertMemberMappingDO certMemberMappingDO = new CertMemberMappingDO();
        certMemberMappingDO.setCertId(signUpDTO.getCertId());
        certMemberMappingDO.setMemberId(signUpDTO.getMemberId());
        certMemberMappingDO.setOrderNo(System.currentTimeMillis());
        certMemberMappingDO.setStatus("已报名");
        this.baseMapper.insert(certMemberMappingDO);

        //生成订单逻辑  TODO
        return ConstantUtils.ADD_SUCCESS;
    }

    public IPage<SignManagementVO> signManagement(SignManagementDTO signManagementDTO) {

        Page pager = new Page(signManagementDTO.getPageNum(), signManagementDTO.getPageSize());

        //获取报名订单
        IPage<SignManagementVO> signManagementVOIPage = this.baseMapper.signManagement(pager, signManagementDTO.getStatus(), signManagementDTO.getTypeId(), signManagementDTO.getCertId(), signManagementDTO.getItem(), signManagementDTO.getStartDate(), signManagementDTO.getEndDate());

        List<SignManagementVO> signManagementVOS = signManagementVOIPage.getRecords();
        for (SignManagementVO signManagementVO : signManagementVOS) {
            signManagementVO.setCnt("1");
            //类目
            List<CertTypeDictDO> certTypeDictDOS = certTypeDictMapper.getCertTypes(signManagementVO.getCertId());
            signManagementVO.setCertTypeDictDOS(certTypeDictDOS);

            //附件
            List<CertRequirementDO> certRequirementDOS = certRequirementMapper.selectList(new QueryWrapper<CertRequirementDO>()
                    .lambda()
                    .eq(CertRequirementDO::getCertId, signManagementVO.getCertId()));
            signManagementVO.setCertRequirementDOS(certRequirementDOS);
        }
        return signManagementVOIPage;
    }

    public String changeStatus(CertMemberMappingDO certMemberMappingDO) {
        CertMemberMappingDO certMemberMappingDO1 = this.baseMapper.selectById(certMemberMappingDO.getId());
        certMemberMappingDO1.setStatus(certMemberMappingDO.getStatus());
        if (null != certMemberMappingDO){
            certMemberMappingDO1.setCommitPrice(certMemberMappingDO.getCommitPrice());
        }
        this.baseMapper.updateById(certMemberMappingDO1);
        return ConstantUtils.SET_SUCCESS;
    }

    public IPage<GetListVO> getList(GetListDTO getListDTO) {
        Page pager = new Page(getListDTO.getPageNum(), getListDTO.getPageSize());
        return this.baseMapper.getList(pager, getListDTO.getMemberId(), getListDTO.getStatus());
    }

    public GetSignInfoVO getSignInfo(CertMemberMappingDO certMemberMappingDO) {
        return this.baseMapper.getSignInfo(certMemberMappingDO.getMemberId(), certMemberMappingDO.getCertId());
    }

    public IPage<CertSignStatusVO> certSignStatus(CertSignStatusDTO certSignStatusDTO) {
        Page pager = new Page(certSignStatusDTO.getPageNum(), certSignStatusDTO.getPageSize());
        return this.baseMapper.certTypeSignStatus(pager, certSignStatusDTO.getMemberId(), certSignStatusDTO.getTypeId());
    }

    public IPage<CertSignInfoVO> certSignInfo(CertSignInfoDTO certSignInfoDTO) {
        Page pager = new Page(certSignInfoDTO.getPageNum(), certSignInfoDTO.getPageSize());
        return this.baseMapper.certSignInfo(pager,certSignInfoDTO.getCertId(),certSignInfoDTO.getStatus(),certSignInfoDTO.getUserName());
    }

}