package com.panzhihua.service_community.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.panzhihua.common.model.vos.common.ComChangeCarModelRelationVo; import com.panzhihua.common.model.vos.common.ComChangeCarModelVo; import com.panzhihua.service_community.entity.ComChangeCarModelRelation; import com.panzhihua.service_community.dao.ComChangeCarModelRelationMapper; import com.panzhihua.service_community.service.ComChangeCarModelRelationService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.BeanUtils; import com.panzhihua.common.model.dtos.common.*; import com.panzhihua.common.model.vos.R; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import java.util.List; /** * title: 换新车-车型与规格关联表表服务实现类 *

* projectName 成都呐喊信息技术有限公司-智慧社区项目 *

* description: 换新车-车型与规格关联表表服务实现类 * * @author lyq * @date 2022-04-07 13:55:30 */ @Service("comChangeCarModelRelationService") public class ComChangeCarModelRelationServiceImpl extends ServiceImpl implements ComChangeCarModelRelationService { /** * description queryByPage 分页查询 * * @param comChangeCarModelRelation 请求参数 * @return 分页查询列表数据 * @author lyq * @date 2022-04-07 13:55:30 */ @Override public R queryByPage(PageComChangeCarModelRelationDto comChangeCarModelRelation) { return R.ok(this.baseMapper.queryAllByLimit(comChangeCarModelRelation, new Page(comChangeCarModelRelation.getPageNum(), comChangeCarModelRelation.getPageSize()))); } /** * description insert 新增数据 * * @param comChangeCarModelRelation 请求参数 * @return 新增结果 * @author lyq * @date 2022-04-07 13:55:30 */ @Override public R insert(AddComChangeCarModelRelationDto comChangeCarModelRelation) { ComChangeCarModelRelation entity = this.baseMapper.selectOne(new QueryWrapper().lambda() .eq(ComChangeCarModelRelation::getModelId,comChangeCarModelRelation.getModelId()) .eq(ComChangeCarModelRelation::getModelSpecsId,comChangeCarModelRelation.getModelSpecsId())); if(entity == null){ entity = new ComChangeCarModelRelation(); BeanUtils.copyProperties(comChangeCarModelRelation, entity); if (this.baseMapper.insert(entity) > 0) { return R.ok(); } }else{ if(entity.getModelSpecsChildrenId() == null){ BeanUtils.copyProperties(comChangeCarModelRelation, entity); if (this.baseMapper.updateById(entity) > 0) { return R.ok(); } }else{ return R.fail("已关联该规格,不可重复关联"); } } return R.fail("添加失败"); } /** * description update 修改数据 * * @param editDto 请求参数 * @return 修改结果 * @author lyq * @date 2022-04-07 13:55:30 */ @Override public R update(EditComChangeCarModelRelationDto editDto) { ComChangeCarModelRelation entity = this.baseMapper.selectById(editDto.getId()); if (entity == null) { return R.fail("未查询到该记录"); } BeanUtils.copyProperties(editDto, entity); if (this.baseMapper.updateById(entity) > 0) { return R.ok(); } return R.fail("修改失败"); } /** * description deleteById 通过主键删除数据 * * @param id 主键id * @return 删除结果 * @author lyq * @date 2022-04-07 13:55:30 */ @Override public R deleteById(Long id) { if (this.baseMapper.deleteById(id) > 0) { return R.ok(); } return R.fail("删除失败"); } /** * description detailById 查询详情 * * @param id 主键id * @return 详情数据 * @author lyq * @date 2022-04-07 13:55:30 */ @Override public R detailById(Long id) { return R.ok(this.baseMapper.queryById(id)); } /** * description queryByPage 查询列表 * * @param comChangeCarModelRelation 请求参数 * @return 列表数据 * @author lyq * @date 2022-04-07 13:55:30 */ @Override public R queryByList(PageComChangeCarModelRelationDto comChangeCarModelRelation) { return R.ok(this.baseMapper.queryAllByList(comChangeCarModelRelation)); } /** * description queryByPage 小程序分页查询 * * @param comChangeCarModelRelation 请求参数 * @return 小程序分页查询返回参数 * @author lyq * @date 2022-04-07 13:55:29 */ @Override public R queryByAppletsPage(PageComChangeCarModelRelationDto comChangeCarModelRelation) { IPage carModelVoIPage = this.baseMapper.queryAllByAppletsLimit(comChangeCarModelRelation, new Page(comChangeCarModelRelation.getPageNum(), comChangeCarModelRelation.getPageSize())); carModelVoIPage.getRecords().forEach(carModel -> { //查询车型规格列表 List carModelRelationVoList = this.baseMapper.queryAllByModelId(carModel.getId()); carModel.setCarModelRelationList(carModelRelationVoList); }); return R.ok(carModelVoIPage); } }