jiangping
2024-05-21 a5a73bf1b545d38f6a82a811295a3deb1341e53a
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java
@@ -1,19 +1,30 @@
package com.doumee.service.business.impl;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
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.HiddenDangerParamMapper;
import com.doumee.dao.business.MemberMapper;
import com.doumee.dao.business.model.CarDriver;
import com.doumee.dao.business.model.HiddenDangerParam;
import com.doumee.dao.business.model.Member;
import com.doumee.service.business.HiddenDangerParamService;
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 io.swagger.models.auth.In;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
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;
/**
@@ -23,19 +34,62 @@
 */
@Service
public class HiddenDangerParamServiceImpl implements HiddenDangerParamService {
    @Autowired
    private HiddenDangerParamMapper hiddenDangerParamMapper;
    @Autowired
    private MemberMapper memberMapper;
    @Override
    public Integer create(HiddenDangerParam hiddenDangerParam) {
        hiddenDangerParamMapper.insert(hiddenDangerParam);
        return hiddenDangerParam.getId();
    public Integer create(HiddenDangerParam model) {
        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        if(loginUserInfo == null){
            loginUserInfo = model.getLoginUserInfo();
        }
        if(Constants.equalsInteger(model.getType(),Constants.ZERO)){
            //如果是区域配置
            List<Integer> ids = Constants.getIntegerListByStrs(model.getMemberIds());
            if(ids==null || ids.size() ==0){
                throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,安全员信息不正确,请按要求填写内容!");
            }
           List<Member>  memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda()
                    .eq(Member::getType,Constants.TWO)
                    .eq(Member::getIsdeleted,Constants.ZERO));
            if(memberList == null || memberList.size() == 0 || memberList.size() != ids.size() ){
                throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,请选择正确的安全员信息!");
            }
            String names = null;
            String idss = null;
            for(Member member : memberList){
                if(StringUtils.isNotBlank(names)){
                    names += ",";
                }
                if(StringUtils.isNotBlank(idss)){
                    idss += ",";
                }
                names += member.getName();
                names += member.getId();
            }
            model.setMemberNames(names);
            model.setMemberIds(idss);
        }
        model.setType(Constants.formatIntegerNum(model.getType()));
        model.setCreateDate(new Date());
        model.setCreator(loginUserInfo.getId());
        model.setEditDate(new Date());
        model.setEditor(loginUserInfo.getId());
        model.setStatus(Constants.ZERO);
        hiddenDangerParamMapper.insert(model);
        return model.getId();
    }
    @Override
    public void deleteById(Integer id) {
        hiddenDangerParamMapper.deleteById(id);
    public void deleteById(Integer id, LoginUserInfo userInfo) {
        HiddenDangerParam  model = new HiddenDangerParam();
        model.setEditDate(new Date());
        model.setEditor(userInfo.getId());
        model.setId(id);
        model.setIsdeleted(Constants.ONE);
        hiddenDangerParamMapper.updateById(model);
    }
    @Override
@@ -45,16 +99,57 @@
    }
    @Override
    public void deleteByIdInBatch(List<Integer> ids) {
    public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo userInfo) {
        if (CollectionUtils.isEmpty(ids)) {
            return;
        }
        hiddenDangerParamMapper.deleteBatchIds(ids);
        for(Integer id :ids){
            deleteById(id,userInfo);
        }
    }
    @Override
    public void updateById(HiddenDangerParam hiddenDangerParam) {
        hiddenDangerParamMapper.updateById(hiddenDangerParam);
    public void updateById(HiddenDangerParam model) {
        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        if(loginUserInfo == null){
            loginUserInfo = model.getLoginUserInfo();
        }
        HiddenDangerParam hiddenDangerParam = hiddenDangerParamMapper.selectById(model.getId());
        if(hiddenDangerParam == null || Constants.equalsObject(hiddenDangerParam.getIsdeleted(),Constants.ONE)){
            throw  new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,该配置信息不存在,请返回刷新页面重试!");
        }
        if(Constants.equalsInteger(hiddenDangerParam.getType(),Constants.ZERO)){
            //如果是区域配置,校验安全员信息是否正确
            List<Integer> ids = Constants.getIntegerListByStrs(model.getMemberIds());
            if(ids==null || ids.size() ==0){
                throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,安全员信息不正确,请按要求填写内容!");
            }
            List<Member>  memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda()
                    .eq(Member::getType,Constants.TWO)
                    .eq(Member::getIsdeleted,Constants.ZERO));
            if(memberList == null || memberList.size() == 0 || memberList.size() != ids.size() ){
                throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,请选择正确的安全员信息!");
            }
            String names = null;
            String idss = null;
            for(Member member : memberList){
                if(StringUtils.isNotBlank(names)){
                    names += ",";
                }
                if(StringUtils.isNotBlank(idss)){
                    idss += ",";
                }
                names += member.getName();
                names += member.getId();
            }
            model.setMemberNames(names);
            model.setMemberIds(idss);
        }
        model.setType(Constants.formatIntegerNum(model.getType()));
        model.setEditDate(new Date());
        model.setEditor(loginUserInfo.getId());
        model.setStatus(Constants.ZERO);
        hiddenDangerParamMapper.updateById(model);
    }
    @Override
@@ -89,6 +184,7 @@
        IPage<HiddenDangerParam> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<HiddenDangerParam> queryWrapper = new QueryWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        pageWrap.getModel().setIsdeleted(Constants.ZERO);
        queryWrapper.lambda()
                .eq(pageWrap.getModel().getId() != null, HiddenDangerParam::getId, pageWrap.getModel().getId())
                .eq(pageWrap.getModel().getCreator() != null, HiddenDangerParam::getCreator, pageWrap.getModel().getCreator())
@@ -106,6 +202,7 @@
                .eq(pageWrap.getModel().getMemberIds() != null, HiddenDangerParam::getMemberIds, pageWrap.getModel().getMemberIds())
                .eq(pageWrap.getModel().getMemberNames() != null, HiddenDangerParam::getMemberNames, pageWrap.getModel().getMemberNames())
                .eq(pageWrap.getModel().getType() != null, HiddenDangerParam::getType, pageWrap.getModel().getType())
                .orderByDesc(HiddenDangerParam::getCreateDate)
        ;
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {