From f1864f6d2d85b49fc901b22e9f6759a5d0fb360b Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期二, 26 十一月 2024 09:33:03 +0800 Subject: [PATCH] 开发更新 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java | 182 +++++++++++++++++++++++++++++---------------- 1 files changed, 118 insertions(+), 64 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java index 0684415..1b4b13a 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java @@ -1,21 +1,35 @@ package com.doumee.service.business.impl; +import com.doumee.biz.system.SystemDictDataBiz; +import com.doumee.core.constants.ResponseStatus; +import com.doumee.core.exception.BusinessException; import com.doumee.core.model.LoginUserInfo; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; +import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; import com.doumee.dao.business.YwDeviceMapper; +import com.doumee.dao.business.model.Category; import com.doumee.dao.business.model.YwDevice; +import com.doumee.dao.system.MultifileMapper; +import com.doumee.dao.system.model.Multifile; +import com.doumee.dao.system.model.SystemUser; import com.doumee.service.business.YwDeviceService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import lombok.extern.java.Log; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import java.util.Date; import java.util.List; +import java.util.Objects; /** * 杩愮淮璁惧淇℃伅琛⊿ervice瀹炵幇 @@ -28,15 +42,61 @@ @Autowired private YwDeviceMapper ywDeviceMapper; + @Autowired + private SystemDictDataBiz systemDictDataBiz; + @Autowired + private MultifileMapper multifileMapper; + + @Autowired + private RedisTemplate<String,Object> redisTemplate; + + @Override public Integer create(YwDevice ywDevice) { + if(Objects.isNull(ywDevice) + || StringUtils.isBlank(ywDevice.getName()) + || StringUtils.isBlank(ywDevice.getCode()) + || Objects.isNull(ywDevice.getStatus()) + ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + LoginUserInfo loginUserInfo = ywDevice.getLoginUserInfo(); + if(ywDeviceMapper.selectCount(new QueryWrapper<YwDevice>().lambda().eq(YwDevice::getIsdeleted,Constants.ZERO).eq(YwDevice::getCode,ywDevice.getCode()))>Constants.ZERO){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁惧缂栧彿閲嶅!"); + } +// if(StringUtils.isBlank(ywDevice.getCode())){ +// String code = this.getMaxAutoMaticDeviceCode(); +// while (ywDeviceMapper.selectCount(new QueryWrapper<YwDevice>().lambda().eq(YwDevice::getIsdeleted,Constants.ZERO).eq(YwDevice::getCode,code))>Constants.ZERO){ +// code = this.getMaxAutoMaticDeviceCode(); +// } +// ywDevice.setCode(code); +// }else{ +// +// } + ywDevice.setCreateDate(new Date()); + ywDevice.setCreator(loginUserInfo.getId()); + ywDevice.setIsdeleted(Constants.ZERO); ywDeviceMapper.insert(ywDevice); + + if(Objects.nonNull(ywDevice.getMultifile())){ + ywDevice.getMultifile().setCreator(loginUserInfo.getId()); + ywDevice.getMultifile().setCreateDate(new Date()); + ywDevice.getMultifile().setIsdeleted(Constants.ZERO); + ywDevice.getMultifile().setObjType(Constants.MultiFile.FN_DEVICE_FILE.getKey()); + ywDevice.getMultifile().setObjId(ywDevice.getId()); + multifileMapper.insert(ywDevice.getMultifile()); + } + return ywDevice.getId(); } @Override public void deleteById(Integer id, LoginUserInfo user) { - ywDeviceMapper.deleteById(id); + ywDeviceMapper.update(new UpdateWrapper<YwDevice>().lambda().set(YwDevice::getIsdeleted,Constants.ONE) + .set(YwDevice::getEditDate," now() ") + .set(YwDevice::getEditor,user.getId()) + .eq(YwDevice::getId,user.getId()) + ); } @Override @@ -55,7 +115,36 @@ @Override public void updateById(YwDevice ywDevice) { + if(Objects.isNull(ywDevice) + || StringUtils.isBlank(ywDevice.getName()) + || StringUtils.isBlank(ywDevice.getCode()) + || Objects.isNull(ywDevice.getStatus()) + ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + LoginUserInfo loginUserInfo = ywDevice.getLoginUserInfo(); + if(ywDeviceMapper.selectCount(new QueryWrapper<YwDevice>().lambda().eq(YwDevice::getIsdeleted,Constants.ZERO) + .eq(YwDevice::getCode,ywDevice.getCode()) + .ne(YwDevice::getId,ywDevice.getId()))>Constants.ZERO){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁惧缂栧彿閲嶅!"); + } + ywDevice.setEditDate(new Date()); + ywDevice.setEditor(loginUserInfo.getId()); ywDeviceMapper.updateById(ywDevice); + multifileMapper.delete(new QueryWrapper<Multifile>().lambda() + .eq(Multifile::getObjId,ywDevice.getId()) + .eq(Multifile::getObjType,Constants.MultiFile.FN_DEVICE_FILE.getKey()) + ); + if(Objects.nonNull(ywDevice.getMultifile())){ + ywDevice.getMultifile().setCreator(loginUserInfo.getId()); + ywDevice.getMultifile().setCreateDate(new Date()); + ywDevice.getMultifile().setIsdeleted(Constants.ZERO); + ywDevice.getMultifile().setObjType(Constants.MultiFile.FN_DEVICE_FILE.getKey()); + ywDevice.getMultifile().setObjId(ywDevice.getId()); + multifileMapper.insert(ywDevice.getMultifile()); + } + + } @Override @@ -74,6 +163,20 @@ } @Override + public YwDevice getDetail(Integer id) { + YwDevice ywDevice = ywDeviceMapper.selectById(id); + Multifile multifile = multifileMapper.selectOne(new QueryWrapper<Multifile>().lambda().eq(Multifile::getObjId,id).eq(Multifile::getObjType,Constants.MultiFile.FN_DEVICE_FILE).last(" limit 1")); + if(Objects.nonNull(multifile)){ + String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() + +systemDictDataBiz.queryByCode(Constants.FTP,Constants.YW_DEVICE).getCode(); + multifile.setFileurlFull(path + multifile.getFileurl()); + ywDevice.setMultifile(multifile); + } + return ywDevice; + } + + + @Override public YwDevice findOne(YwDevice ywDevice) { QueryWrapper<YwDevice> wrapper = new QueryWrapper<>(ywDevice); return ywDeviceMapper.selectOne(wrapper); @@ -88,70 +191,21 @@ @Override public PageData<YwDevice> findPage(PageWrap<YwDevice> pageWrap) { IPage<YwDevice> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); - QueryWrapper<YwDevice> queryWrapper = new QueryWrapper<>(); + MPJLambdaWrapper<YwDevice> queryWrapper = new MPJLambdaWrapper<YwDevice>(); Utils.MP.blankToNull(pageWrap.getModel()); - if (pageWrap.getModel().getId() != null) { - queryWrapper.lambda().eq(YwDevice::getId, pageWrap.getModel().getId()); - } - if (pageWrap.getModel().getCreator() != null) { - queryWrapper.lambda().eq(YwDevice::getCreator, pageWrap.getModel().getCreator()); - } - if (pageWrap.getModel().getCreateDate() != null) { - queryWrapper.lambda().ge(YwDevice::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); - queryWrapper.lambda().le(YwDevice::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); - } - if (pageWrap.getModel().getEditor() != null) { - queryWrapper.lambda().eq(YwDevice::getEditor, pageWrap.getModel().getEditor()); - } - if (pageWrap.getModel().getEditDate() != null) { - queryWrapper.lambda().ge(YwDevice::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); - queryWrapper.lambda().le(YwDevice::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); - } - if (pageWrap.getModel().getIsdeleted() != null) { - queryWrapper.lambda().eq(YwDevice::getIsdeleted, pageWrap.getModel().getIsdeleted()); - } - if (pageWrap.getModel().getName() != null) { - queryWrapper.lambda().eq(YwDevice::getName, pageWrap.getModel().getName()); - } - if (pageWrap.getModel().getRemark() != null) { - queryWrapper.lambda().eq(YwDevice::getRemark, pageWrap.getModel().getRemark()); - } - if (pageWrap.getModel().getStatus() != null) { - queryWrapper.lambda().eq(YwDevice::getStatus, pageWrap.getModel().getStatus()); - } - if (pageWrap.getModel().getSortnum() != null) { - queryWrapper.lambda().eq(YwDevice::getSortnum, pageWrap.getModel().getSortnum()); - } - if (pageWrap.getModel().getModelNo() != null) { - queryWrapper.lambda().eq(YwDevice::getModelNo, pageWrap.getModel().getModelNo()); - } - if (pageWrap.getModel().getCateId() != null) { - queryWrapper.lambda().eq(YwDevice::getCateId, pageWrap.getModel().getCateId()); - } - if (pageWrap.getModel().getUserId() != null) { - queryWrapper.lambda().eq(YwDevice::getUserId, pageWrap.getModel().getUserId()); - } - if (pageWrap.getModel().getCompany() != null) { - queryWrapper.lambda().ge(YwDevice::getCompany, Utils.Date.getStart(pageWrap.getModel().getCompany())); - queryWrapper.lambda().le(YwDevice::getCompany, Utils.Date.getEnd(pageWrap.getModel().getCompany())); - } - if (pageWrap.getModel().getContent() != null) { - queryWrapper.lambda().eq(YwDevice::getContent, pageWrap.getModel().getContent()); - } - if (pageWrap.getModel().getCode() != null) { - queryWrapper.lambda().eq(YwDevice::getCode, pageWrap.getModel().getCode()); - } - if (pageWrap.getModel().getAddr() != null) { - queryWrapper.lambda().eq(YwDevice::getAddr, pageWrap.getModel().getAddr()); - } - for(PageWrap.SortData sortData: pageWrap.getSorts()) { - if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { - queryWrapper.orderByDesc(sortData.getProperty()); - } else { - queryWrapper.orderByAsc(sortData.getProperty()); - } - } - return PageData.from(ywDeviceMapper.selectPage(page, queryWrapper)); + YwDevice model = pageWrap.getModel(); + queryWrapper.selectAll(YwDevice.class) + .selectAs(Category::getName,YwDevice::getCategoryName) + .selectAs(SystemUser::getRealname,YwDevice::getRealName) + .leftJoin(Category.class,Category::getId,YwDevice::getCateId) + .leftJoin(SystemUser.class,SystemUser::getId,YwDevice::getUserId) + .and(Objects.nonNull(model)&&StringUtils.isNotBlank(model.getName()),i->i.like(YwDevice::getName,model.getName()).or().like(YwDevice::getCode,model.getName())) + .eq(Objects.nonNull(model.getStatus()),YwDevice::getStatus,model.getStatus()) + .eq(YwDevice::getIsdeleted,Constants.ZERO) + .orderByDesc(YwDevice::getCreateDate) + ; + IPage iPage = ywDeviceMapper.selectJoinPage(page,YwDevice.class,queryWrapper); + return PageData.from(iPage); } @Override -- Gitblit v1.9.3