package com.om.service.impl; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.om.entity.po.App; import com.om.entity.po.AppVersionDescribe; import com.om.entity.po.User; import com.om.entity.vo.AppVO; import com.om.entity.vo.DignosisPageVO; import com.om.mapper.AppMapper; import com.om.service.IAppService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.om.service.IAppVersionDescribeService; import com.om.service.IUserService; import com.om.utils.CommonUtil; import com.om.utils.Result; import com.om.utils.UserContext; import org.apache.commons.lang.StringUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; /** *

* 服务实现类 *

* * @author bmmx * @since 2024-03-11 */ @Service public class AppServiceImpl extends ServiceImpl implements IAppService { @Resource private IUserService userService; @Resource private IAppVersionDescribeService describeService; @Override public Result add(AppVO app) { if (StringUtils.isEmpty(app.getClientNums())){ return Result.error(); } //保存app表 App appSave = new App(); appSave.setClientNums(app.getClientNums()); appSave.setVersionNum(CommonUtil.appVersion(null)); User user = userService.getById(UserContext.getUserId()); appSave.setAdmin(user.getNickName()); this.save(appSave); //获取保存表的id Integer id = appSave.getId(); //保存到另一个表 AppVersionDescribe describe = new AppVersionDescribe(); describe.setAppId(id); describe.setDescription(app.getDescription()); describeService.save(describe); return Result.ok(); } @Override public Result delete(AppVO app) { //删除当前表 int appId = app.getId(); this.removeById(appId); //删除描述表 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(AppVersionDescribe::getAppId,appId); describeService.remove(queryWrapper); return Result.ok(); } @Override public Result downloadFile(AppVO app) { return null; } @Override public Result getPageList(DignosisPageVO dignosisPageVO) { Page page = this.lambdaQuery() .like(StringUtils.isNotBlank(dignosisPageVO.getQuery()),App::getAdmin,dignosisPageVO.getQuery()) .page(new Page<>(dignosisPageVO.getPageIndex(),dignosisPageVO.getPageSize())); return Result.ok(page); } @Override public Result edit(AppVO app) { int appId = app.getId(); App newApp = this.getById(appId); newApp.setClientNums(app.getClientNums()); this.update(newApp,null); //此处运用单表删 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(AppVersionDescribe::getAppId,appId); AppVersionDescribe one = describeService.getOne(queryWrapper); one.setDescription(app.getDescription()); describeService.update(one,null); return Result.ok(); } }