jiangping
2023-12-08 1140f80aefef30b543c99aaed47bcbca731b24e2
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemLogServiceImpl.java
@@ -1,20 +1,33 @@
package com.doumee.service.business.impl;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.CompanyMapper;
import com.doumee.dao.business.MemberMapper;
import com.doumee.dao.business.ProblemLogMapper;
import com.doumee.dao.business.model.Company;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.business.model.ProblemLog;
import com.doumee.dao.web.reqeust.FinishAnswerDTO;
import com.doumee.service.business.ProblemLogService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
 * 访客答题记录表Service实现
@@ -26,6 +39,12 @@
    @Autowired
    private ProblemLogMapper problemLogMapper;
    @Autowired
    private MemberMapper memberMapper;
    @Autowired
    private CompanyMapper companyMapper;
    @Override
    public Integer create(ProblemLog problemLog) {
@@ -157,4 +176,45 @@
        QueryWrapper<ProblemLog> wrapper = new QueryWrapper<>(problemLog);
        return problemLogMapper.selectCount(wrapper);
    }
    /**
     * 保存答题记录
     * @param finishAnswerDTO
     * @return
     */
    @Override
    public Integer finishAnswer(FinishAnswerDTO finishAnswerDTO){
        ProblemLog problemLog = new ProblemLog();
        BeanUtils.copyProperties(finishAnswerDTO,problemLog);
        problemLog.setCreateDate(new Date());
        problemLog.setIsdeleted(Constants.ZERO);
        problemLog.setStatus(Constants.ZERO);
        if(finishAnswerDTO.getUseType().equals(Constants.ZERO)&&StringUtils.isNotBlank(finishAnswerDTO.getUserId())){
            Member member = memberMapper.selectById(finishAnswerDTO.getUserId());
            if(Objects.isNull(member)){
                throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到劳务人员");
            }
            if(!member.getType().equals(Constants.memberType.lw_visitor)){
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"非劳务人员类型,答题失败");
            }
            if(!member.getStatus().equals(Constants.ZERO)){
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,账号已经" + (member.getStatus().equals(Constants.ONE)?"禁用":"拉黑/删除") );
            }
            problemLog.setName(member.getName());
            problemLog.setPhone(member.getPhone());
            problemLog.setCompanyId(member.getCompanyId());
            Company company = companyMapper.selectById(member.getCompanyId());
            if(Objects.isNull(company)){
                throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到劳务人员公司");
            }
            problemLog.setCompanyName(company.getName());
        }
        this.problemLogMapper.insert(problemLog);
        return problemLog.getId();
    }
}