From 37f9d55f69d393b729b7775d65810836e64171e7 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 23 五月 2024 18:46:36 +0800
Subject: [PATCH] 最新版本
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java | 170 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 158 insertions(+), 12 deletions(-)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
index 7fee8ac..e7c940c 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
@@ -1,20 +1,32 @@
package com.doumee.service.business.impl;
-import com.doumee.core.model.PageData;
-import com.doumee.core.model.PageWrap;
-import com.doumee.core.utils.Utils;
-import com.doumee.dao.business.HiddenDangerMapper;
-import com.doumee.dao.business.model.HiddenDanger;
-import com.doumee.service.business.HiddenDangerService;
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.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+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.HiddenDangerLogMapper;
+import com.doumee.dao.business.HiddenDangerMapper;
+import com.doumee.dao.business.HiddenDangerParamMapper;
+import com.doumee.dao.business.MemberMapper;
+import com.doumee.dao.business.model.*;
+import com.doumee.dao.system.MultifileMapper;
+import com.doumee.dao.system.model.Multifile;
+import com.doumee.service.business.HiddenDangerLogService;
+import com.doumee.service.business.HiddenDangerService;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
-import java.util.List;
+import java.util.*;
/**
* 闅愭偅淇℃伅琛⊿ervice瀹炵幇
@@ -26,10 +38,69 @@
@Autowired
private HiddenDangerMapper hiddenDangerMapper;
+ @Autowired
+ private MultifileMapper multifileMapper;
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
+ @Autowired
+ private MemberMapper memberMapper;
+
+ @Autowired
+ private HiddenDangerParamMapper hiddenDangerParamMapper;
+
+ @Autowired
+ private HiddenDangerLogMapper hiddenDangerLogMapper;
+
@Override
public Integer create(HiddenDanger hiddenDanger) {
+ if(Objects.isNull(hiddenDanger)
+ || Objects.isNull(hiddenDanger.getCreator())
+ || Objects.isNull(hiddenDanger.getAreaId())
+ || Objects.isNull(hiddenDanger.getCateId())
+ || Objects.isNull(hiddenDanger.getApplyCheckUserId())
+ || Objects.isNull(hiddenDanger.getSubmitTime())
+ || StringUtils.isBlank(hiddenDanger.getContent())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ hiddenDanger.setIsdeleted(Constants.ZERO);
+ hiddenDanger.setCreateDate(new Date());
+ HiddenDangerParam hiddenDangerParam = hiddenDangerParamMapper.selectById(hiddenDanger.getAreaId());
+ if(Objects.isNull(hiddenDangerParam)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌闅愭偅鍖哄煙");
+ }
+ hiddenDanger.setAreaName(hiddenDangerParam.getName());
+ hiddenDanger.setStatus(Constants.ZERO);
+ if(StringUtils.isBlank(hiddenDangerParam.getMemberIds())
+ || hiddenDangerParam.getMemberIds().indexOf(hiddenDanger.getApplyCheckUserId().toString())<0){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"闅愭偅鍖哄煙涓庡鐞嗕汉涓嶅尮閰�");
+ }
hiddenDangerMapper.insert(hiddenDanger);
+ //瀛樺偍 鎿嶄綔鏃ュ織
+ HiddenDangerLog hiddenDangerLog = new HiddenDangerLog();
+ hiddenDangerLog.setIsdeleted(Constants.ZERO);
+ hiddenDangerLog.setCreateDate(new Date());
+ hiddenDangerLog.setCreator(hiddenDanger.getCreator());
+ hiddenDangerLog.setHiddenDangerId(hiddenDanger.getId());
+ hiddenDangerLog.setObjType(Constants.ZERO);
+ hiddenDangerLogMapper.insert(hiddenDangerLog);
+
+ List<Multifile> multifiles = hiddenDanger.getMultifileList();
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifiles)){
+ for (int i = 0; i < multifiles.size(); i++) {
+ Multifile multifile = multifiles.get(i);
+ multifile.setCreateDate(hiddenDanger.getCreateDate());
+ multifile.setCreator(hiddenDanger.getCreator());
+ multifile.setIsdeleted(Constants.ZERO);
+ multifile.setObjId(hiddenDanger.getId());
+ multifile.setObjType(Constants.multifileObjType.zero);
+ multifile.setSortnum(i+1);
+ multifileMapper.insert(multifile);
+ }
+ }
+
+
return hiddenDanger.getId();
}
@@ -69,9 +140,67 @@
@Override
public HiddenDanger findById(Integer id) {
- return hiddenDangerMapper.selectById(id);
- }
+ MPJLambdaWrapper<HiddenDanger> queryWrapper = new MPJLambdaWrapper<>();
+ queryWrapper.selectAll(HiddenDanger.class)
+ .selectAs(HiddenDangerParam::getName,HiddenDanger::getCategoryName)
+ .select("t1.name", HiddenDanger::getMemberName)
+ .select("t1.phone",HiddenDanger::getMemberPhone)
+ .select("t2.name",HiddenDanger::getCheckorName)
+ .select("t3.phone",HiddenDanger::getCheckorPhone)
+ .select("t4.company_name_path",HiddenDanger::getCompanyName);
+ queryWrapper.leftJoin(Member.class,Member::getId,HiddenDanger::getMemberId)
+ .leftJoin("company t4 on t1.company_id=t4.id")
+ .leftJoin(Member.class,Member::getId,HiddenDanger::getCheckUserId)
+ .leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getCateId);
+ queryWrapper
+ .eq(HiddenDanger::getId, id).last("limit 1");
+ HiddenDanger model = hiddenDangerMapper.selectJoinOne(HiddenDanger.class,queryWrapper);
+ if(model ==null || Constants.equalsObject(model.getIsdeleted(),Constants.ONE)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ initFiles(model);
+ return model;
+ }
+ private void initFiles(HiddenDanger unionChange) {
+ List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda()
+ .eq(Multifile::getObjId, unionChange.getId() )
+ .in(Multifile::getObjType, Arrays.asList(new Integer[]{Constants.MultiFile.HIDDEN_DANGER_SUBMIT.getKey()
+ ,Constants.MultiFile.HIDDEN_DANGER_DEAL_BEFORE.getKey()
+ ,Constants.MultiFile.HIDDEN_DANGER_DEAL_AFTER.getKey()}))
+ .eq(Multifile::getIsdeleted,Constants.ZERO));
+ if(multifiles!=null){
+ String path = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()
+ +systemDictDataBiz.queryByCode(Constants.OSS,Constants.HIDDEN_DANGER_FILE).getCode();
+ for(Multifile f : multifiles){
+ if(StringUtils.isBlank(f.getFileurl())){
+ continue;
+ }
+ f.setFileurlFull(path+f.getFileurl());
+ if(Constants.equalsInteger(f.getObjType(),Constants.MultiFile.HIDDEN_DANGER_SUBMIT.getKey())){
+ //鐜板満鎯呭喌
+ if(unionChange.getSubmitFileList() == null){
+ unionChange.setSubmitFileList(new ArrayList<>());
+ }
+ unionChange.getSubmitFileList().add(f);
+ }
+ if(Constants.equalsInteger(f.getObjType(),Constants.MultiFile.HIDDEN_DANGER_DEAL_BEFORE.getKey())){
+ //澶勭悊鍓嶉檮浠�
+ if(unionChange.getDealBeforeFileList() == null){
+ unionChange.setDealBeforeFileList(new ArrayList<>());
+ }
+ unionChange.getDealBeforeFileList().add(f);
+ }
+ if(Constants.equalsInteger(f.getObjType(),Constants.MultiFile.HIDDEN_DANGER_DEAL_AFTER.getKey())){
+ //澶勭悊鍚庨檮浠�
+ if(unionChange.getDealAfterFileList() == null){
+ unionChange.setDealAfterFileList(new ArrayList<>());
+ }
+ unionChange.getDealAfterFileList().add(f);
+ }
+ }
+ }
+ }
@Override
public HiddenDanger findOne(HiddenDanger hiddenDanger) {
QueryWrapper<HiddenDanger> wrapper = new QueryWrapper<>(hiddenDanger);
@@ -87,9 +216,20 @@
@Override
public PageData<HiddenDanger> findPage(PageWrap<HiddenDanger> pageWrap) {
IPage<HiddenDanger> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
- QueryWrapper<HiddenDanger> queryWrapper = new QueryWrapper<>();
+ MPJLambdaWrapper<HiddenDanger> queryWrapper = new MPJLambdaWrapper<>();
Utils.MP.blankToNull(pageWrap.getModel());
- queryWrapper.lambda()
+ queryWrapper.selectAll(HiddenDanger.class)
+ .selectAs(HiddenDangerParam::getName,HiddenDanger::getCategoryName)
+ .select("t1.name", HiddenDanger::getMemberName)
+ .select("t1.phone",HiddenDanger::getMemberPhone)
+ .select("t2.name",HiddenDanger::getCheckorName)
+ .select("t3.phone",HiddenDanger::getCheckorPhone)
+ .select("t4.company_name_path",HiddenDanger::getCompanyName);
+ queryWrapper.leftJoin(Member.class,Member::getId,HiddenDanger::getMemberId)
+ .leftJoin("company t4 on t1.company_id=t4.id")
+ .leftJoin(Member.class,Member::getId,HiddenDanger::getCheckUserId)
+ .leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getCateId);
+ queryWrapper
.eq(pageWrap.getModel().getId() != null, HiddenDanger::getId, pageWrap.getModel().getId())
.eq(pageWrap.getModel().getCreator() != null, HiddenDanger::getCreator, pageWrap.getModel().getCreator())
.ge(pageWrap.getModel().getCreateDate() != null, HiddenDanger::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()))
@@ -110,6 +250,12 @@
.eq(pageWrap.getModel().getChecklInfo() != null, HiddenDanger::getChecklInfo, pageWrap.getModel().getChecklInfo())
.eq(pageWrap.getModel().getCheckUserId() != null, HiddenDanger::getCheckUserId, pageWrap.getModel().getCheckUserId())
.eq(pageWrap.getModel().getAreaName() != null, HiddenDanger::getAreaName, pageWrap.getModel().getAreaName())
+
+ .and(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()), ms->ms.like(Member::getName,pageWrap.getModel().getMemberName())
+ .or().like(Member::getPhone,pageWrap.getModel().getMemberName()))
+ .ge(Objects.nonNull(pageWrap.getModel().getQueryStartTime()), Empower::getCreateDate,pageWrap.getModel().getQueryStartTime())
+ .le(Objects.nonNull(pageWrap.getModel().getQueryEndTime()),Empower::getCreateDate,pageWrap.getModel().getQueryEndTime())
+ .orderByDesc(Visits::getCreateDate)
;
for(PageWrap.SortData sortData: pageWrap.getSorts()) {
if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
@@ -118,7 +264,7 @@
queryWrapper.orderByAsc(sortData.getProperty());
}
}
- return PageData.from(hiddenDangerMapper.selectPage(page, queryWrapper));
+ return PageData.from(hiddenDangerMapper.selectJoinPage(page,HiddenDanger.class, queryWrapper));
}
@Override
--
Gitblit v1.9.3