|  |  |  | 
|---|
|  |  |  | import com.doumee.biz.system.SystemDictDataBiz; | 
|---|
|  |  |  | 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.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.springframework.beans.BeanUtils; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  | import org.springframework.util.CollectionUtils; | 
|---|
|  |  |  | import org.springframework.util.StringUtils; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.Date; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private MultifileMapper multifileMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public String create(BikeRepair bikeRepair) { | 
|---|
|  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public BikeRepair findOne(BikeRepair bikeRepair) { | 
|---|
|  |  |  | QueryWrapper<BikeRepair> wrapper = new QueryWrapper<>(bikeRepair); | 
|---|
|  |  |  | return bikeRepairMapper.selectOne(wrapper); | 
|---|
|  |  |  | return bikeRepairMapper.selectOne(wrapper.last(" limit 1")); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | 
|---|
|  |  |  | IPage<BikeRepair> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); | 
|---|
|  |  |  | MPJLambdaWrapper<BikeRepair> queryWrapper = new MPJLambdaWrapper<>(); | 
|---|
|  |  |  | Utils.MP.blankToNull(pageWrap.getModel()); | 
|---|
|  |  |  | if (pageWrap.getModel().getCreateDateStart() != null | 
|---|
|  |  |  | && pageWrap.getModel().getCreateDateEnd() != null) { | 
|---|
|  |  |  | queryWrapper.ge(BikeRepair::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDateStart())); | 
|---|
|  |  |  | queryWrapper.le(BikeRepair::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDateEnd())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getStatus() != null) { | 
|---|
|  |  |  | queryWrapper.eq(BikeRepair::getStatus, pageWrap.getModel().getStatus()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | queryWrapper.leftJoin(Member.class,Member::getId,BikeRepair::getMemberId) | 
|---|
|  |  |  | .leftJoin(Bikes.class,Bikes::getId,BikeRepair::getBinkeId) | 
|---|
|  |  |  | .leftJoin(BaseParam.class,BaseParam::getId,Bikes::getParamId) | 
|---|
|  |  |  | .leftJoin("base_param bpp on b.param_id = bp.id and bp.type = 1"); | 
|---|
|  |  |  | queryWrapper.selectAs(Member::getOpenid,BikeRepairDTO::getOpenid) | 
|---|
|  |  |  | .selectAs(BikeRepair::getLinkname,BikeRepairDTO::getLinkname) | 
|---|
|  |  |  | .selectAs(BikeRepair::getLinkphone,BikeRepairDTO::getLinkphone) | 
|---|
|  |  |  | .selectAs(Bikes::getCode,BikeRepairDTO::getBikeCode) | 
|---|
|  |  |  | .selectAs(BikeRepair::getCreateDate,BikeRepairDTO::getCreateDate) | 
|---|
|  |  |  | .selectAs(BikeRepair::getStatus,BikeRepairDTO::getStatus) | 
|---|
|  |  |  | .selectAs(BaseParam::getName,BikeRepairDTO::getBikeTypeName) | 
|---|
|  |  |  | .select("bpp.name as problemName"); | 
|---|
|  |  |  | queryWrapper.like(!StringUtils.isEmpty(pageWrap.getModel().getOpenid()),Member::getOpenid,pageWrap.getModel().getOpenid()) | 
|---|
|  |  |  | .like(!StringUtils.isEmpty(pageWrap.getModel().getBikeId()),Bikes::getId,pageWrap.getModel().getBikeId()) | 
|---|
|  |  |  | .eq(!StringUtils.isEmpty(pageWrap.getModel().getStatus()),BikeRepair::getStatus,pageWrap.getModel().getStatus()) | 
|---|
|  |  |  | .ge(Objects.nonNull(pageWrap.getModel().getCreateDateStart()), | 
|---|
|  |  |  | BikeRepair::getCreateDate, | 
|---|
|  |  |  | Utils.Date.getStart(pageWrap.getModel().getCreateDateStart())) | 
|---|
|  |  |  | .le(Objects.nonNull(pageWrap.getModel().getCreateDateEnd()), | 
|---|
|  |  |  | BikeRepair::getCreateDate, | 
|---|
|  |  |  | Utils.Date.getStart(pageWrap.getModel().getCreateDateEnd())); | 
|---|
|  |  |  | .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()),Bikes::getCode,pageWrap.getModel().getBikeCode()) | 
|---|
|  |  |  | .eq( pageWrap.getModel().getStatus() !=null,BikeRepair::getStatus,pageWrap.getModel().getStatus()) | 
|---|
|  |  |  | .ge(Objects.nonNull(pageWrap.getModel().getStartDate()),BikeRepair::getCreateDate,pageWrap.getModel().getStartDate()) | 
|---|
|  |  |  | .le(Objects.nonNull(pageWrap.getModel().getEndDate()),BikeRepair::getCreateDate,pageWrap.getModel().getEndDate()); | 
|---|
|  |  |  | return PageData.from(bikeRepairJoinMapper.selectJoinPage(page, BikeRepairDTO.class,queryWrapper)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public BikeRepairProblemDTO getBikeRepairProblemDTO(String id) { | 
|---|
|  |  |  | BikeRepairProblemDTO bikeRepairProblemDTO = new BikeRepairProblemDTO(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | BikeRepair bikeRepair = bikeRepairMapper.selectById(id); | 
|---|
|  |  |  | bikeRepairProblemDTO.setParam(bikeRepair.getParam()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //        multifileMapper.multifile); | 
|---|
|  |  |  | public List<Multifile> getBikeRepairProblemDTO(String id) { | 
|---|
|  |  |  | QueryWrapper<Multifile> wrapper = new QueryWrapper<>(); | 
|---|
|  |  |  | wrapper.lambda() | 
|---|
|  |  |  | .eq(Multifile::getObjId,id) | 
|---|
|  |  |  | 
|---|
|  |  |  | .eq(Multifile::getIsdeleted,Constants.ZERO); | 
|---|
|  |  |  | List<Multifile> multifiles = multifileMapper.selectList(wrapper); | 
|---|
|  |  |  | //TODO 需要修改 | 
|---|
|  |  |  | String path =systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode(); | 
|---|
|  |  |  | String projectFile = systemDictDataBiz.queryByCode(Constants.OSS, Constants.PROJECT_FILE).getCode(); | 
|---|
|  |  |  | String path =systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+ systemDictDataBiz.queryByCode(Constants.OSS, Constants.PROJECT_FILE).getCode(); | 
|---|
|  |  |  | if (!CollectionUtils.isEmpty(multifiles)){ | 
|---|
|  |  |  | multifiles.forEach(s->{ | 
|---|
|  |  |  | s.setFileurlfull(path+projectFile+s.getFileurl()); | 
|---|
|  |  |  | if(StringUtils.isNotBlank(s.getFileurl())){ | 
|---|
|  |  |  | //完整附件地址 | 
|---|
|  |  |  | s.setFileurlfull(path+s.getFileurl()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | bikeRepairProblemDTO.setList(multifiles); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | return multifiles; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @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); | 
|---|
|  |  |  | 
|---|
|  |  |  | multifileMapper.insert(multifile); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //发送钉钉通知 | 
|---|
|  |  |  | DingDingNotice.bikeRepair(repairRequest, | 
|---|
|  |  |  | systemDictDataBiz.queryByCode(Constants.DINGDING,Constants.DINGDING_URL).getCode(), | 
|---|
|  |  |  | systemDictDataBiz.queryByCode(Constants.DINGDING,Constants.DINGDING_SECRET).getCode()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|