From 4fabfe4dbd2eb28d07a4350597d314958cc1c281 Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期四, 09 十月 2025 11:16:43 +0800 Subject: [PATCH] 优化 --- server/services/src/main/java/com/doumee/service/business/impl/BikeRepairServiceImpl.java | 163 +++++++++++++++++++++++++++++------------------------- 1 files changed, 88 insertions(+), 75 deletions(-) diff --git a/server/services/src/main/java/com/doumee/service/business/impl/BikeRepairServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/BikeRepairServiceImpl.java index 2406bd9..6adcb52 100644 --- a/server/services/src/main/java/com/doumee/service/business/impl/BikeRepairServiceImpl.java +++ b/server/services/src/main/java/com/doumee/service/business/impl/BikeRepairServiceImpl.java @@ -1,19 +1,32 @@ 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.google.common.collect.Lists; +import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.constants.Constants; +import com.doumee.core.dingding.DingDingNotice; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Utils; import com.doumee.dao.business.BikeRepairMapper; import com.doumee.dao.business.MultifileMapper; -import com.doumee.dao.business.model.BikeRepair; -import com.doumee.dao.business.model.Multifile; +import com.doumee.dao.business.join.BikeRepairJoinMapper; +import com.doumee.dao.business.model.*; +import com.doumee.dao.business.web.request.BikeRepairDTO; +import com.doumee.dao.business.web.request.BikeRepairProblemDTO; +import com.doumee.dao.business.web.request.BikeRepairQuery; import com.doumee.dao.business.web.request.RepairRequest; import com.doumee.service.business.BikeRepairService; 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 org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -35,7 +48,14 @@ private BikeRepairMapper bikeRepairMapper; @Autowired + private BikeRepairJoinMapper bikeRepairJoinMapper; + + @Autowired + SystemDictDataBiz systemDictDataBiz; + + @Autowired private MultifileMapper multifileMapper; + @Override public String create(BikeRepair bikeRepair) { @@ -66,6 +86,23 @@ public void updateById(BikeRepair bikeRepair) { bikeRepairMapper.updateById(bikeRepair); } + @Override + public void dealDo(BikeRepair param){ + + BikeRepair bikeRepair = findById(param.getId()); + if(bikeRepair == null ){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + if(Constants.formatIntegerNum(bikeRepair.getStatus()) != Constants.ZERO ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"璇ヤ笂鎶ュ凡澶勭悊锛屾棤闇�閲嶅澶勭悊锛�"); + } + LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + bikeRepair.setDealInfo(param.getDealInfo()); + bikeRepair.setDealUser(user.getId()); + bikeRepair.setStatus(Constants.ONE); + bikeRepair.setDealDate(new Date()); + bikeRepairMapper.updateById(bikeRepair); + } @Override public void updateByIdInBatch(List<BikeRepair> bikeRepairs) { @@ -85,7 +122,7 @@ @Override public BikeRepair findOne(BikeRepair bikeRepair) { QueryWrapper<BikeRepair> wrapper = new QueryWrapper<>(bikeRepair); - return bikeRepairMapper.selectOne(wrapper); + return bikeRepairMapper.selectOne(wrapper.last(" limit 1")); } @Override @@ -93,83 +130,51 @@ QueryWrapper<BikeRepair> wrapper = new QueryWrapper<>(bikeRepair); return bikeRepairMapper.selectList(wrapper); } - + @Override - public PageData<BikeRepair> findPage(PageWrap<BikeRepair> pageWrap) { + public PageData<BikeRepairDTO> findPage(PageWrap<BikeRepairQuery> pageWrap) { IPage<BikeRepair> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); - QueryWrapper<BikeRepair> queryWrapper = new QueryWrapper<>(); + MPJLambdaWrapper<BikeRepair> queryWrapper = new MPJLambdaWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); - if (pageWrap.getModel().getId() != null) { - queryWrapper.lambda().eq(BikeRepair::getId, pageWrap.getModel().getId()); + queryWrapper.leftJoin(Member.class,Member::getId,BikeRepair::getMemberId) + .leftJoin(BaseParam.class,BaseParam::getId,BikeRepair::getTypeId); + queryWrapper.selectAll(BikeRepair.class) + .selectAs(Member::getOpenid,BikeRepairDTO::getOpenid) + .selectAs(BikeRepair::getBinkeId,BikeRepairDTO::getBikeCode) + .selectAs(BaseParam::getName,BikeRepairDTO::getBikeTypeName); + queryWrapper.like(StringUtils.isNotEmpty(pageWrap.getModel().getOpenid()),Member::getOpenid,pageWrap.getModel().getOpenid()) + .like(StringUtils.isNotEmpty(pageWrap.getModel().getBikeCode()),BikeRepair::getBinkeId,pageWrap.getModel().getBikeCode()) + .eq( pageWrap.getModel().getStatus() !=null,BikeRepair::getStatus,pageWrap.getModel().getStatus()); + if (Objects.nonNull(pageWrap.getModel().getStartDate())) { + queryWrapper.ge(BikeRepair::getCreateDate,Utils.Date.getStart(pageWrap.getModel().getStartDate())); } - if (pageWrap.getModel().getCreateDate() != null) { - queryWrapper.lambda().ge(BikeRepair::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); - queryWrapper.lambda().le(BikeRepair::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); + if (Objects.nonNull(pageWrap.getModel().getEndDate())) { + queryWrapper.le(BikeRepair::getCreateDate,Utils.Date.getEnd(pageWrap.getModel().getEndDate())); } - if (pageWrap.getModel().getCreator() != null) { - queryWrapper.lambda().eq(BikeRepair::getCreator, pageWrap.getModel().getCreator()); + queryWrapper.orderByDesc(BikeRepair::getCreateDate); + return PageData.from(bikeRepairJoinMapper.selectJoinPage(page, BikeRepairDTO.class,queryWrapper)); + } + + @Override + public List<Multifile> getBikeRepairProblemDTO(String id) { + QueryWrapper<Multifile> wrapper = new QueryWrapper<>(); + wrapper.lambda() + .eq(Multifile::getObjId,id) + .eq(Multifile::getObjType,Constants.ZERO) + .eq(Multifile::getIsdeleted,Constants.ZERO); + List<Multifile> multifiles = multifileMapper.selectList(wrapper); + //TODO 闇�瑕佷慨鏀� + String path =systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.FILE_DIR).getCode()+ systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.REPAIR).getCode(); + if (!CollectionUtils.isEmpty(multifiles)){ + multifiles.forEach(s->{ + if(StringUtils.isNotBlank(s.getFileurl())){ + //瀹屾暣闄勪欢鍦板潃 + s.setFileurlfull(path+s.getFileurl()); + } + }); } - if (pageWrap.getModel().getEditDate() != null) { - queryWrapper.lambda().ge(BikeRepair::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); - queryWrapper.lambda().le(BikeRepair::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); - } - if (pageWrap.getModel().getEditor() != null) { - queryWrapper.lambda().eq(BikeRepair::getEditor, pageWrap.getModel().getEditor()); - } - if (pageWrap.getModel().getIsdeleted() != null) { - queryWrapper.lambda().eq(BikeRepair::getIsdeleted, pageWrap.getModel().getIsdeleted()); - } - if (pageWrap.getModel().getBinkeId() != null) { - queryWrapper.lambda().eq(BikeRepair::getBinkeId, pageWrap.getModel().getBinkeId()); - } - if (pageWrap.getModel().getLongitude() != null) { - queryWrapper.lambda().eq(BikeRepair::getLongitude, pageWrap.getModel().getLongitude()); - } - if (pageWrap.getModel().getLatitude() != null) { - queryWrapper.lambda().eq(BikeRepair::getLatitude, pageWrap.getModel().getLatitude()); - } - if (pageWrap.getModel().getAddr() != null) { - queryWrapper.lambda().eq(BikeRepair::getAddr, pageWrap.getModel().getAddr()); - } - if (pageWrap.getModel().getParamId() != null) { - queryWrapper.lambda().eq(BikeRepair::getParamId, pageWrap.getModel().getParamId()); - } - if (pageWrap.getModel().getParam() != null) { - queryWrapper.lambda().eq(BikeRepair::getParam, pageWrap.getModel().getParam()); - } - if (pageWrap.getModel().getStatus() != null) { - queryWrapper.lambda().eq(BikeRepair::getStatus, pageWrap.getModel().getStatus()); - } - if (pageWrap.getModel().getInfo() != null) { - queryWrapper.lambda().eq(BikeRepair::getInfo, pageWrap.getModel().getInfo()); - } - if (pageWrap.getModel().getLinkname() != null) { - queryWrapper.lambda().eq(BikeRepair::getLinkname, pageWrap.getModel().getLinkname()); - } - if (pageWrap.getModel().getLinkphone() != null) { - queryWrapper.lambda().eq(BikeRepair::getLinkphone, pageWrap.getModel().getLinkphone()); - } - if (pageWrap.getModel().getDealUser() != null) { - queryWrapper.lambda().eq(BikeRepair::getDealUser, pageWrap.getModel().getDealUser()); - } - if (pageWrap.getModel().getDealDate() != null) { - queryWrapper.lambda().ge(BikeRepair::getDealDate, Utils.Date.getStart(pageWrap.getModel().getDealDate())); - queryWrapper.lambda().le(BikeRepair::getDealDate, Utils.Date.getEnd(pageWrap.getModel().getDealDate())); - } - if (pageWrap.getModel().getDealInfo() != null) { - queryWrapper.lambda().eq(BikeRepair::getDealInfo, pageWrap.getModel().getDealInfo()); - } - if (pageWrap.getModel().getContent() != null) { - queryWrapper.lambda().eq(BikeRepair::getContent, pageWrap.getModel().getContent()); - } - for(PageWrap.SortData sortData: pageWrap.getSorts()) { - if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { - queryWrapper.orderByDesc(sortData.getProperty()); - } else { - queryWrapper.orderByAsc(sortData.getProperty()); - } - } - return PageData.from(bikeRepairMapper.selectPage(page, queryWrapper)); + + return multifiles; } @Override @@ -180,17 +185,20 @@ @Override - public void saveRepair(RepairRequest repairRequest){ + public void saveRepair(RepairRequest repairRequest) throws Exception{ BikeRepair bikeRepair = new BikeRepair(); BeanUtils.copyProperties(repairRequest,bikeRepair); bikeRepair.setCreateDate(new Date()); bikeRepair.setIsdeleted(Constants.ZERO); + bikeRepair.setStatus(Constants.ZERO); + bikeRepair.setId(Constants.getUUID()); bikeRepairMapper.insert(bikeRepair); //澶勭悊闄勪欢淇℃伅 List<String> stringList = repairRequest.getFileUrlList(); if(!Objects.isNull(stringList)&&stringList.size()>Constants.ZERO){ for (int i = 0; i < stringList.size(); i++) { Multifile multifile = new Multifile(); + multifile.setId(Constants.getUUID()); multifile.setCreateDate(new Date()); multifile.setIsdeleted(Constants.ZERO); multifile.setSortnum(i+Constants.ONE); @@ -201,6 +209,11 @@ multifileMapper.insert(multifile); } } + //鍙戦�侀拤閽夐�氱煡 + DingDingNotice.bikeRepair(repairRequest, + systemDictDataBiz.queryByCode(Constants.DINGDING,Constants.DINGDING_URL).getCode(), + systemDictDataBiz.queryByCode(Constants.DINGDING,Constants.DINGDING_SECRET).getCode()); + } -- Gitblit v1.9.3