package com.tour.module.service.impl; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.tour.module.domain.LineCommission; import com.tour.module.expection.CustomAppException; import com.tour.module.mapper.LineCommissionMapper; import com.tour.module.service.ILineCommissionService; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import java.util.List; import java.util.Objects; /** * Demo class * * @author zangbin * @date 2023/6/14 14:40 */ @Service public class LineCommissionServiceImpl extends ServiceImpl implements ILineCommissionService { @Override public List queryList(LineCommission commission) { LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); if (commission.getId() != null) { lqw.eq(LineCommission::getId, commission.getId()); } if (commission.getLineId() != null) { lqw.eq(LineCommission::getLineId, commission.getLineId()); } if (StringUtils.isNotBlank(commission.getProvinceName())) { lqw.like(LineCommission::getProvinceName, commission.getProvinceName()); } if (StringUtils.isNotBlank(commission.getCityName())) { lqw.apply("(find_in_set("+commission.getCityName()+",city_name)"); } lqw.orderByDesc(LineCommission::getCreateTime); List commissions = this.list(lqw); return commissions; } @Override public Boolean saveCommission(LineCommission commission) { List commissions = baseMapper.selectList(new QueryWrapper() .eq("deleted", 0) .eq("line_id", commission.getLineId()) .eq("province_name", commission.getProvinceName())); if (CollectionUtils.isNotEmpty(commissions)) { throw new CustomAppException("该省重复设置!"); } baseMapper.insert(commission); return true; } @Override public Boolean updateCommission(LineCommission commission) { LineCommission commission1 = baseMapper.selectOne(new QueryWrapper() .eq("deleted", 0) .eq("line_id", commission.getLineId()) .eq("province_name", commission.getProvinceName())); if (Objects.isNull(commission1)) { throw new CustomAppException("该省设置不存在!"); } commission.setId(commission1.getId()); BeanUtil.copyProperties(commission, commission1); baseMapper.updateById(commission1); return true; } }