package com.om.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.om.entity.po.PcbVersionDescribe;
import com.om.entity.po.PcbVersionInfo;
import com.om.entity.vo.PcbInfoVO;
import com.om.mapper.PcbVersionInfoMapper;
import com.om.service.IPcbVersionDescribeService;
import com.om.service.IPcbVersionInfoService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.om.utils.Result;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
*
* 服务实现类
*
*
* @author bmmx
* @since 2024-03-12
*/
@Service
public class PcbVersionInfoServiceImpl extends ServiceImpl implements IPcbVersionInfoService {
@Resource
private IPcbVersionDescribeService describeService;
@Override
public Result getPageList(Integer pageIndex, Integer pageSize, String username) {
return null;
}
@Override
public Result edit(PcbInfoVO pcbInfoVO) {
PcbVersionInfo info = getById(pcbInfoVO.getId());
LambdaQueryWrapper infoQueryWapper = new LambdaQueryWrapper<>();
infoQueryWapper.eq(PcbVersionInfo::getId,info.getId());
BeanUtil.copyProperties(pcbInfoVO,info);
this.update(info,infoQueryWapper);
LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PcbVersionDescribe::getPcbId,pcbInfoVO.getId());
List describes = describeService.list(queryWrapper);
return null;
}
@Override
public Result downloadFile(Integer id) {
return null;
}
@Override
public Result delete(Integer id) {
boolean pcb = removeById(id);
LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PcbVersionDescribe::getPcbId,id);
boolean info = describeService.remove(queryWrapper);
//还有关联表删除
return Result.ok();
}
@Override
public Result add(PcbInfoVO pcbInfoVO) {
PcbVersionInfo pcbVersionInfo = new PcbVersionInfo();
BeanUtil.copyProperties(pcbInfoVO,pcbVersionInfo);
this.save(pcbVersionInfo);
Integer pcbInfoId = pcbVersionInfo.getId();
//PcbClient表关联num没写
for (int i = 0; i < pcbInfoVO.getLanguage().length; i++) {
PcbVersionDescribe describe = new PcbVersionDescribe();
describe.setPcbId(pcbInfoId);
describe.setLanguage(pcbInfoVO.getLanguage()[i]);
describe.setDescription(pcbInfoVO.getDescription()[i]);
describeService.save(describe);
}
return Result.ok();
}
}