| | |
| | | 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实现 |
| | | * @author 江蹄蹄 |
| | | * @date 2023/11/23 18:16 |
| | | * @date 2023/11/30 15:33 |
| | | */ |
| | | @Service |
| | | public class ProblemLogServiceImpl implements ProblemLogService { |
| | | |
| | | @Autowired |
| | | private ProblemLogMapper problemLogMapper; |
| | | |
| | | @Autowired |
| | | private MemberMapper memberMapper; |
| | | |
| | | @Autowired |
| | | private CompanyMapper companyMapper; |
| | | |
| | | @Override |
| | | public Integer create(ProblemLog problemLog) { |
| | |
| | | if (pageWrap.getModel().getContent() != null) { |
| | | queryWrapper.lambda().eq(ProblemLog::getContent, pageWrap.getModel().getContent()); |
| | | } |
| | | if (pageWrap.getModel().getName() != null) { |
| | | queryWrapper.lambda().eq(ProblemLog::getName, pageWrap.getModel().getName()); |
| | | } |
| | | if (pageWrap.getModel().getPhone() != null) { |
| | | queryWrapper.lambda().eq(ProblemLog::getPhone, pageWrap.getModel().getPhone()); |
| | | } |
| | | if (pageWrap.getModel().getCompanyId() != null) { |
| | | queryWrapper.lambda().eq(ProblemLog::getCompanyId, pageWrap.getModel().getCompanyId()); |
| | | } |
| | | if (pageWrap.getModel().getCompanyName() != null) { |
| | | queryWrapper.lambda().eq(ProblemLog::getCompanyName, pageWrap.getModel().getCompanyName()); |
| | | } |
| | | if (pageWrap.getModel().getOpenid() != null) { |
| | | queryWrapper.lambda().eq(ProblemLog::getOpenid, pageWrap.getModel().getOpenid()); |
| | | } |
| | | for(PageWrap.SortData sortData: pageWrap.getSorts()) { |
| | | if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { |
| | | queryWrapper.orderByDesc(sortData.getProperty()); |
| | |
| | | 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(); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |