package com.project.enforce.mapper; import cn.hutool.core.convert.Convert; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.project.common.utils.StringUtils; import com.project.enforce.domain.EnforcePeer; import com.project.enforce.domain.bo.editBo.EnforcePeerBo; import com.project.enforce.domain.bo.queryBo.EnforcePeerQueryBo; import com.project.enforce.domain.vo.EnforcePeerVo; import com.project.enforce.service.IEnforcePeerService; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Collection; import java.util.List; /** * 执法单同行人Service业务层处理 * * @author manton */ @Service @RequiredArgsConstructor(onConstructor_ = @Autowired) public class EnforcePeerServiceImpl extends ServiceImpl implements IEnforcePeerService { @Override//列表查询 public List queryList(EnforcePeerQueryBo bo) { QueryWrapper qw = getQw(bo); List list = this.list(qw); return Convert.toList(EnforcePeerVo.class , list); } @Override//id查询 public EnforcePeerVo queryById(Long id) { EnforcePeer db = this.baseMapper.selectById(id); return Convert.convert(EnforcePeerVo.class , db); } @Override//添加 @Transactional public Boolean insertByBo(EnforcePeerBo bo) { EnforcePeer add = Convert.convert(EnforcePeer.class, bo); validEntityBeforeSave(add); return this.save(add); } @Override//修改 @Transactional public Boolean updateByBo(EnforcePeerBo bo) { EnforcePeer update = Convert.convert(EnforcePeer.class, bo); validEntityBeforeSave(update); return this.updateById(update); } @Override//删除 @Transactional public Boolean deleteByIds(Collection ids) { //做一些业务上的校验,判断是否需要校验 return this.removeByIds(ids); } //------------------------------------------------------------------------------------- //保存前校验 private void validEntityBeforeSave(EnforcePeer entity) { //做一些数据校验,如唯一约束 } //获取查询参数 private QueryWrapper getQw(EnforcePeerQueryBo bo) { QueryWrapper qw = Wrappers.query(); qw.eq(bo.getOrderId()!=null, "order_id", bo.getOrderId()); qw.eq(bo.getPeerType() != null, "peer_type", bo.getPeerType()); qw.eq(bo.getPeerId() != null, "peer_id", bo.getPeerId()); qw.eq(StringUtils.isNotEmpty(bo.getPeerUser()), "peer_user", bo.getPeerUser()); qw.eq(StringUtils.isNotEmpty(bo.getPeerPhone()), "peer_phone", bo.getPeerPhone()); qw.eq(bo.getPeerDeptId() != null, "peer_dept_id", bo.getPeerDeptId()); qw.like(StringUtils.isNotEmpty(bo.getPeerDeptName()), "peer_dept_name", bo.getPeerDeptName()); if (StringUtils.isNotEmpty(bo.getIsAsc()) && StringUtils.isNotEmpty(bo.getOrderByColumn())){ if ("acs".equals(bo.getIsAsc())) { qw.orderByAsc(bo.getOrderByColumn()); } else if ("desc".equals(bo.getIsAsc())) { qw.orderByDesc(bo.getOrderByColumn()); } } return qw; } }