123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- 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.*;
- import com.om.entity.vo.AppVO;
- import com.om.entity.vo.DignosisPageVO;
- import com.om.entity.vo.PcbInfoVO;
- import com.om.mapper.AppMapper;
- import com.om.service.*;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.om.utils.CommonUtil;
- import com.om.utils.Result;
- import com.om.utils.UserContext;
- import lombok.extern.slf4j.Slf4j;
- import org.apache.commons.lang.StringUtils;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import javax.annotation.Resource;
- import java.util.ArrayList;
- import java.util.List;
- /**
- * <p>
- * 服务实现类
- * </p>
- *
- * @author bmmx
- * @since 2024-03-11
- */
- @Service
- @Slf4j
- public class AppServiceImpl extends ServiceImpl<AppMapper, App> implements IAppService {
- @Resource
- private IUserService userService;
- @Resource
- private IAppVersionDescribeService describeService;
- @Resource
- private IAppsClientsService clientsService;
- @Override
- public Result add(AppVO appVO) {
- App app = new App();
- BeanUtil.copyProperties(appVO,app);
- this.save(app);
- Integer appId = app.getId();
- //appClient
- for (int i = 0; i < appVO.getClientNums().length; i++) {
- AppsClients appsClients = new AppsClients();
- appsClients.setAppId(appId);
- appsClients.setClientNum(appVO.getClientNums()[i]);
- clientsService.save(appsClients);
- }
- for (int i = 0; i < appVO.getLanguage().length; i++) {
- AppVersionDescribe describe = new AppVersionDescribe();
- describe.setAppId(appId);
- describe.setLanguage(appVO.getLanguage()[i]);
- describe.setDescription(appVO.getDescription()[i]);
- describeService.save(describe);
- }
- return Result.ok();
- }
- @Override
- public Result delete(Integer id) {
- removeById(id);
- LambdaQueryWrapper<AppVersionDescribe> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(AppVersionDescribe::getAppId,id);
- boolean info = describeService.remove(queryWrapper);
- //还有关联表删除
- LambdaQueryWrapper<AppsClients> clientsLambdaQueryWrapper = new LambdaQueryWrapper<>();
- clientsLambdaQueryWrapper.eq(AppsClients::getAppId,id);
- clientsService.remove(clientsLambdaQueryWrapper);
- return Result.ok();
- }
- @Override
- public Result downloadFile(AppVO app) {
- return null;
- }
- @Override
- public Result getPageList(Integer pageIndex, Integer pageSize, String username) {
- Page<App> page = this.lambdaQuery()
- .like(StringUtils.isNotBlank(username), App::getAdmin, username)
- .page(new Page<>(pageIndex, pageSize));
- List<App> infoList = page.getRecords();
- //返回的List集合
- List<AppVO> appInfoVOS = new ArrayList<>();
- for (int i = 0; i < infoList.size(); i++) {
- //传输的类型
- AppVO appVO = new AppVO();
- App appInfo = infoList.get(i);
- //先copy基本数据
- BeanUtil.copyProperties(appInfo,appVO);
- Integer id = appInfo.getId();
- //先取语言和描述信息
- LambdaQueryWrapper<AppVersionDescribe> describeQueryWrapper = new LambdaQueryWrapper<>();
- describeQueryWrapper.eq(AppVersionDescribe::getAppId,id);
- List<AppVersionDescribe> describeList = describeService.list(describeQueryWrapper);
- //把取出来的数据存入俩个字符串中
- String [] l = new String[describeList.size()];
- String [] d = new String[describeList.size()];
- for (int i1 = 0; i1 < describeList.size(); i1++) {
- l[i1] = describeList.get(i1).getLanguage();
- d[i1] = describeList.get(i1).getDescription();
- }
- appVO.setDescription(d);
- appVO.setLanguage(l);
- //在取出来客户端编号
- LambdaQueryWrapper<AppsClients> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(AppsClients::getAppId,id);
- List<AppsClients> list = clientsService.list(queryWrapper);
- String [] n = new String[list.size()];
- for (int j = 0; j < n.length; j++) {
- n[j] = list.get(j).getClientNum();
- }
- appVO.setClientNums(n);
- appInfoVOS.add(appVO);
- }
- Page<AppVO> appVOPage = new Page<>();
- BeanUtil.copyProperties(page,appVOPage);
- appVOPage.setRecords(appInfoVOS);
- return Result.ok(appVOPage);
- }
- @Override
- @Transactional
- public Result edit(AppVO appVO) {
- App app = getById(appVO.getId());
- LambdaQueryWrapper<App> infoQueryWapper = new LambdaQueryWrapper<>();
- infoQueryWapper.eq(App::getId,app.getId());
- BeanUtil.copyProperties(appVO,app);
- this.update(app,infoQueryWapper);
- //修改客户端id
- String[] clientNum = appVO.getClientNums();
- LambdaQueryWrapper<AppsClients> clientQueryWrapper = new LambdaQueryWrapper<>();
- clientQueryWrapper.eq(AppsClients::getAppId,appVO.getId());
- clientsService.remove(clientQueryWrapper);
- for (int i = 0; i < clientNum.length; i++) {
- AppsClients clients = new AppsClients();
- clients.setAppId(appVO.getId());
- clients.setClientNum(clientNum[i]);
- log.info("修改之后添加的");
- clientsService.save(clients);
- }
- //没有进行描述和语言进行修改
- String[] language = appVO.getLanguage();
- String[] description = appVO.getDescription();
- LambdaQueryWrapper<AppVersionDescribe> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(AppVersionDescribe::getAppId,appVO.getId());
- describeService.remove(queryWrapper);
- for (int i = 0; i < language.length; i++) {
- AppVersionDescribe describe = new AppVersionDescribe();
- describe.setAppId(appVO.getId());
- describe.setDescription(description[i]);
- describe.setLanguage(language[i]);
- describeService.save(describe);
- }
- return Result.ok();
- }
- }
|