package com.om.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.PageUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.om.entity.dto.DiagnosisInfoDTO; import com.om.entity.dto.UpStatusDto; import com.om.entity.po.*; import com.om.entity.vo.DiagnosisVersionVO; import com.om.entity.vo.DignosisPageVO; import com.om.mapper.DiagnosisVersionInfoMapper; import com.om.service.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.om.utils.Result; import com.om.utils.UserContext; import io.swagger.v3.oas.annotations.parameters.RequestBody; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; /** *

* 服务实现类 *

* * @author bmmx * @since 2024-03-06 */ @Service @Slf4j public class DiagnosisVersionInfoServiceImpl extends ServiceImpl implements IDiagnosisVersionInfoService { @Resource IDiagnosisVersionDescribeService describeService; @Resource IBrandService brandService; @Resource IClientService clientService; @Resource IUserService userService; @Override public Result add(DiagnosisVersionVO diagnosisVersionVO) { DiagnosisVersionInfo info = new DiagnosisVersionInfo(); //copy了文件地址和名称,品牌名称,文件大小 info.setBrandCode(diagnosisVersionVO.getBrandCode()); //获取user用户。保存当前操作人 // Integer userId = UserContext.getUserId(); //用户信息 // User user = userService.getById(userId); // // log.info("========当前用户名{}==={}======",user,userId); // info.setUsername(user.getUsername()); // info.setAdminId(userId); //版本号 info.setVersionNum("1.0"); //状态码 info.setStatus(0); //文件地址 if (diagnosisVersionVO.getFileUrl() == null){ diagnosisVersionVO.setFileUrl("null"); } info.setFile(diagnosisVersionVO.getFileUrl()); //文件大小 info.setDiagnosisFileSize(diagnosisVersionVO.getDiagnosisFileSize()); //品牌代码 info.setBrandCode(diagnosisVersionVO.getBrandCode()); //诊断程序名称 info.setDiagnosisName(diagnosisVersionVO.getDiagnosisName()); log.info("========{}========",diagnosisVersionVO); //客户端编号 String s = ""; for (int i = 0; i < diagnosisVersionVO.getClientNums().length; i++) { s = s +( i != diagnosisVersionVO.getClientNums().length-1?diagnosisVersionVO.getClientNums()[i]+",":diagnosisVersionVO.getClientNums()[i]); } info.setClientNumber(s); //保存 this.save(info); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(DiagnosisVersionInfo::getFile,diagnosisVersionVO.getFileUrl()); queryWrapper.eq(DiagnosisVersionInfo::getDiagnosisName,diagnosisVersionVO.getDiagnosisName()); queryWrapper.eq(DiagnosisVersionInfo::getBrandCode,diagnosisVersionVO.getBrandCode()); //保存后获取 DiagnosisVersionInfo versionInfo = getOne(queryWrapper); log.info("==========={}=========",versionInfo); for (int i = 0; i < diagnosisVersionVO.getDescriptionList().length; i++) { DiagnosisVersionDescribe describe = new DiagnosisVersionDescribe(); describe.setDiagnosisId(versionInfo.getId()); describe.setDescription(diagnosisVersionVO.getDescriptionList()[i]); describe.setLanguage(diagnosisVersionVO.getLanguage().toString()); describeService.save(describe); } log.info("============================"); return Result.ok(); } @Override public Result downloadFile(Integer id) { return null; } @Override public Result edit(DiagnosisVersionVO diagnosisVersionVO) { Integer diaId = diagnosisVersionVO.getId(); DiagnosisVersionInfo versionInfo = getById(diaId); versionInfo.setBrandCode(diagnosisVersionVO.getBrandCode()); String s = ""; for (int i = 0; i < diagnosisVersionVO.getClientNums().length; i++) { s = s +( i != diagnosisVersionVO.getClientNums().length-1?diagnosisVersionVO.getClientNums()[i]+",":diagnosisVersionVO.getClientNums()[i]); } versionInfo.setClientNumber(s); this.update(versionInfo,null); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(DiagnosisVersionDescribe::getDiagnosisId,diaId); queryWrapper.eq(DiagnosisVersionDescribe::getLanguage,diagnosisVersionVO.getLanguage()); DiagnosisVersionDescribe one = describeService.getOne(queryWrapper); one.setDescription(diagnosisVersionVO.getDescriptionList()[0]); describeService.update(one,null); return Result.ok(); } @Override public Result getByUserId(Integer id) { DiagnosisVersionInfo versionInfo = this.getById(id); if (versionInfo == null){ return Result.ok(); } DiagnosisInfoDTO diagnosisInfo = new DiagnosisInfoDTO(); diagnosisInfo.setId(id); diagnosisInfo.setBrandName(versionInfo.getBrandCode()); //根据客户端信息,获取客户端名称 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(Client::getName,diagnosisInfo.getClientName()); Client client = clientService.getOne(queryWrapper); diagnosisInfo.setClientName(client.getName()); diagnosisInfo.setCreateTime(versionInfo.getCreateTime()); diagnosisInfo.setDiagnosisName(versionInfo.getDiagnosisName()); diagnosisInfo.setFileSize(versionInfo.getDiagnosisFileSize()); diagnosisInfo.setStatus(diagnosisInfo.getStatus()); diagnosisInfo.setUsername(diagnosisInfo.getUsername()); diagnosisInfo.setVersion(versionInfo.getVersionNum()); return Result.ok(diagnosisInfo); } @Override public Result getPageList(Integer pageIndex, Integer pageSize) { log.info("---------{}",pageIndex); log.info("---------{}",pageSize); Page page = this.lambdaQuery() .page(new Page<>(pageIndex,pageSize)); return Result.ok(page); } @Override public Result release(Integer id) { DiagnosisVersionInfo info = this.getById(id); info.setStatus(1); this.update(info,null); return Result.ok(); } @Override public Result repeal(Integer id) { DiagnosisVersionInfo info = this.getById(id); info.setStatus(0); this.update(info,null); return Result.ok(); } /* 目前用不上 */ @Override public Result upStatus(UpStatusDto upStatusDto) { return null; } @Override public Result getDesc(DiagnosisVersionVO diagnosisVersionVO) { return null; } }