From 4ed09be8e23b555ee43dfc471020cb4619da20a0 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期一, 20 十月 2025 17:00:28 +0800
Subject: [PATCH] 月台自动叫号处理问题
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java | 209 ++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 187 insertions(+), 22 deletions(-)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java
index a096272..0a6c8e1 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java
@@ -1,20 +1,29 @@
package com.doumee.service.business.impl;
-import com.doumee.core.model.PageData;
-import com.doumee.core.model.PageWrap;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.service.business.third.model.LoginUserInfo;
+import com.doumee.service.business.third.model.PageData;
+import com.doumee.service.business.third.model.PageWrap;
+import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.HiddenDangerParamMapper;
-import com.doumee.dao.business.model.HiddenDangerParam;
+import com.doumee.dao.business.dao.MemberMapper;
+import com.doumee.dao.business.model.*;
+import com.doumee.dao.business.model.Member;
import com.doumee.service.business.HiddenDangerParamService;
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.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
-import java.util.List;
+import java.util.*;
/**
* 闅愭偅鍖哄煙閰嶇疆绫诲瀷淇℃伅琛⊿ervice瀹炵幇
@@ -23,19 +32,76 @@
*/
@Service
public class HiddenDangerParamServiceImpl implements HiddenDangerParamService {
-
@Autowired
private HiddenDangerParamMapper hiddenDangerParamMapper;
+ @Autowired
+ private MemberMapper memberMapper;
+
@Override
- public Integer create(HiddenDangerParam hiddenDangerParam) {
- hiddenDangerParamMapper.insert(hiddenDangerParam);
- return hiddenDangerParam.getId();
+ public Integer create(HiddenDangerParam model) {
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(loginUserInfo == null){
+ loginUserInfo = model.getLoginUserInfo();
+ }
+ /* if(hiddenDangerParamMapper.selectCount(new QueryWrapper<HiddenDangerParam>().lambda()
+ .eq(HiddenDangerParam::getType,model.getType())
+ .eq(HiddenDangerParam::getName,model.getName())
+ .eq(HiddenDangerParam::getIsdeleted,Constants.ZERO)
+ )>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ュ悕绉板凡瀛樺湪!");
+ }*/
+ if(Constants.equalsInteger(model.getType(),Constants.ZERO)){
+ //濡傛灉鏄尯鍩熼厤缃�
+ if(model.getCompanyId() == null){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨璐d换閮ㄩ棬锛�");
+ }
+ List<Integer> ids = model.getMemberIdList();
+ if(ids==null || ids.size() ==0){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝瀹夊叏鍛樹俊鎭笉姝g‘锛岃鎸夎姹傚~鍐欏唴瀹癸紒");
+ }
+ List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda()
+// .eq(Member::getType,Constants.TWO)
+ .eq(Member::getCompanyId,model.getCompanyId())
+ .in(Member::getId,ids)
+ .eq(Member::getIsdeleted,Constants.ZERO));
+ if(memberList == null || memberList.size() == 0 || memberList.size() != ids.size() ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勫畨鍏ㄥ憳淇℃伅锛�");
+ }
+ String names = "";
+ String idss = "";
+ for(Member member : memberList){
+ if(StringUtils.isNotBlank(names)){
+ names += ",";
+ }
+ if(StringUtils.isNotBlank(idss)){
+ idss += ",";
+ }
+ names += member.getName();
+ idss += member.getId();
+ }
+ model.setMemberNames(names);
+ model.setMemberIds(idss);
+ }
+ model.setType(Constants.formatIntegerNum(model.getType()));
+ model.setCreateDate(new Date());
+ model.setCreator(loginUserInfo.getId());
+ model.setEditDate(new Date());
+ model.setEditor(loginUserInfo.getId());
+ model.setStatus(Constants.ZERO);
+ model.setIsdeleted(Constants.ZERO);
+ hiddenDangerParamMapper.insert(model);
+ return model.getId();
}
@Override
- public void deleteById(Integer id) {
- hiddenDangerParamMapper.deleteById(id);
+ public void deleteById(Integer id, LoginUserInfo userInfo) {
+ HiddenDangerParam model = new HiddenDangerParam();
+ model.setEditDate(new Date());
+ model.setEditor(userInfo.getId());
+ model.setId(id);
+ model.setIsdeleted(Constants.ONE);
+ hiddenDangerParamMapper.updateById(model);
}
@Override
@@ -45,16 +111,70 @@
}
@Override
- public void deleteByIdInBatch(List<Integer> ids) {
+ public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo userInfo) {
if (CollectionUtils.isEmpty(ids)) {
return;
}
- hiddenDangerParamMapper.deleteBatchIds(ids);
+ for(Integer id :ids){
+ deleteById(id,userInfo);
+ }
}
@Override
- public void updateById(HiddenDangerParam hiddenDangerParam) {
- hiddenDangerParamMapper.updateById(hiddenDangerParam);
+ public void updateById(HiddenDangerParam model) {
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(loginUserInfo == null){
+ loginUserInfo = model.getLoginUserInfo();
+ }
+ HiddenDangerParam hiddenDangerParam = hiddenDangerParamMapper.selectById(model.getId());
+ if(hiddenDangerParam == null || Constants.equalsInteger(hiddenDangerParam.getIsdeleted(),Constants.ONE)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇ラ厤缃俊鎭笉瀛樺湪锛岃杩斿洖鍒锋柊椤甸潰閲嶈瘯锛�");
+ }
+ /* if(hiddenDangerParamMapper.selectCount(new QueryWrapper<HiddenDangerParam>().lambda()
+ .eq(HiddenDangerParam::getType,model.getType())
+ .eq(HiddenDangerParam::getName,model.getName())
+ .eq(HiddenDangerParam::getIsdeleted,Constants.ZERO)
+ .ne(HiddenDangerParam::getId,model.getId())
+ )>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ュ悕绉板凡瀛樺湪!");
+ }*/
+ if(Constants.equalsInteger(hiddenDangerParam.getType(),Constants.ZERO)){
+ //濡傛灉鏄尯鍩熼厤缃�,鏍¢獙瀹夊叏鍛樹俊鎭槸鍚︽纭�
+ if(model.getCompanyId() == null){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨璐d换閮ㄩ棬锛�");
+ }
+ List<Integer> ids =model.getMemberIdList();
+ if(ids==null || ids.size() ==0){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝瀹夊叏鍛樹俊鎭笉姝g‘锛岃鎸夎姹傚~鍐欏唴瀹癸紒");
+ }
+ List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda()
+ .eq(Member::getType,Constants.TWO)
+ .eq(Member::getCompanyId,model.getCompanyId())
+ .in(Member::getId,ids)
+ .eq(Member::getIsdeleted,Constants.ZERO));
+ if(memberList == null || memberList.size() == 0 || memberList.size() != ids.size() ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勫畨鍏ㄥ憳淇℃伅锛�");
+ }
+ String names = "";
+ String idss = "";
+ for(Member member : memberList){
+ if(StringUtils.isNotBlank(names)){
+ names += ",";
+ }
+ if(StringUtils.isNotBlank(idss)){
+ idss += ",";
+ }
+ names += member.getName();
+ idss += member.getId();
+ }
+ model.setMemberNames(names);
+ model.setMemberIds(idss);
+ }
+ model.setType(Constants.formatIntegerNum(model.getType()));
+ model.setEditDate(new Date());
+ model.setEditor(loginUserInfo.getId());
+ model.setStatus(Constants.ZERO);
+ hiddenDangerParamMapper.updateById(model);
}
@Override
@@ -80,25 +200,28 @@
@Override
public List<HiddenDangerParam> findList(HiddenDangerParam hiddenDangerParam) {
+
+ hiddenDangerParam.setIsdeleted(Constants.ZERO);
QueryWrapper<HiddenDangerParam> wrapper = new QueryWrapper<>(hiddenDangerParam);
+ wrapper.lambda().orderByAsc(HiddenDangerParam::getSortnum);
return hiddenDangerParamMapper.selectList(wrapper);
}
@Override
public PageData<HiddenDangerParam> findPage(PageWrap<HiddenDangerParam> pageWrap) {
IPage<HiddenDangerParam> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
- QueryWrapper<HiddenDangerParam> queryWrapper = new QueryWrapper<>();
+ MPJLambdaWrapper<HiddenDangerParam> queryWrapper = new MPJLambdaWrapper<>();
Utils.MP.blankToNull(pageWrap.getModel());
- queryWrapper.lambda()
+ pageWrap.getModel().setIsdeleted(Constants.ZERO);
+ queryWrapper. selectAll(HiddenDangerParam.class)
+ .selectAs(Company::getCompanyNamePath,HiddenDangerParam::getCompanyName)
+ .leftJoin(Company.class,Company::getId,HiddenDangerParam::getCompanyId)
.eq(pageWrap.getModel().getId() != null, HiddenDangerParam::getId, pageWrap.getModel().getId())
.eq(pageWrap.getModel().getCreator() != null, HiddenDangerParam::getCreator, pageWrap.getModel().getCreator())
- .ge(pageWrap.getModel().getCreateDate() != null, HiddenDangerParam::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()))
- .le(pageWrap.getModel().getCreateDate() != null, HiddenDangerParam::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()))
.eq(pageWrap.getModel().getEditor() != null, HiddenDangerParam::getEditor, pageWrap.getModel().getEditor())
- .ge(pageWrap.getModel().getEditDate() != null, HiddenDangerParam::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()))
- .le(pageWrap.getModel().getEditDate() != null, HiddenDangerParam::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()))
.eq(pageWrap.getModel().getIsdeleted() != null, HiddenDangerParam::getIsdeleted, pageWrap.getModel().getIsdeleted())
- .eq(pageWrap.getModel().getName() != null, HiddenDangerParam::getName, pageWrap.getModel().getName())
+ .like(pageWrap.getModel().getName() != null, HiddenDangerParam::getName, pageWrap.getModel().getName())
+ .like(pageWrap.getModel().getCompanyName() != null, Company::getName, pageWrap.getModel().getCompanyName())
.eq(pageWrap.getModel().getRemark() != null, HiddenDangerParam::getRemark, pageWrap.getModel().getRemark())
.eq(pageWrap.getModel().getStatus() != null, HiddenDangerParam::getStatus, pageWrap.getModel().getStatus())
.eq(pageWrap.getModel().getSortnum() != null, HiddenDangerParam::getSortnum, pageWrap.getModel().getSortnum())
@@ -106,6 +229,9 @@
.eq(pageWrap.getModel().getMemberIds() != null, HiddenDangerParam::getMemberIds, pageWrap.getModel().getMemberIds())
.eq(pageWrap.getModel().getMemberNames() != null, HiddenDangerParam::getMemberNames, pageWrap.getModel().getMemberNames())
.eq(pageWrap.getModel().getType() != null, HiddenDangerParam::getType, pageWrap.getModel().getType())
+ .orderByAsc(HiddenDangerParam::getSortnum)
+ .orderByDesc(HiddenDangerParam::getCreateDate)
+ .eq( HiddenDangerParam::getIsdeleted, Constants.ZERO)
;
for(PageWrap.SortData sortData: pageWrap.getSorts()) {
if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
@@ -114,7 +240,9 @@
queryWrapper.orderByAsc(sortData.getProperty());
}
}
- return PageData.from(hiddenDangerParamMapper.selectPage(page, queryWrapper));
+ PageData<HiddenDangerParam> result = PageData.from(hiddenDangerParamMapper.selectJoinPage(page,HiddenDangerParam.class, queryWrapper));
+
+ return result;
}
@Override
@@ -122,4 +250,41 @@
QueryWrapper<HiddenDangerParam> wrapper = new QueryWrapper<>(hiddenDangerParam);
return hiddenDangerParamMapper.selectCount(wrapper);
}
+ @Override
+ public List<Member> findHiddenAreaMemberList(HiddenDangerParam pageWrap) {
+ HiddenDangerParam hiddenDangerParam = new HiddenDangerParam();
+ hiddenDangerParam.setIsdeleted(Constants.ZERO);
+ if(Objects.nonNull(pageWrap.getId())){
+ hiddenDangerParam.setId(pageWrap.getId());
+ }
+ QueryWrapper<HiddenDangerParam> wrapper = new QueryWrapper<>(hiddenDangerParam);
+ List<HiddenDangerParam> list = hiddenDangerParamMapper.selectList(wrapper);
+ List<Member> memberList = new ArrayList<>();
+ if(list!=null){
+ List<Integer> idList = new ArrayList<>();
+ for(HiddenDangerParam m : list){
+ String ids = m.getMemberIds();
+ if(StringUtils.isNotBlank(ids)){
+ String[] t = ids.split(",");
+ for(String d : t){
+ try {
+ idList.add(Integer.parseInt(d));
+ }catch (Exception e){}
+ }
+ }
+ }
+ if(idList.size()>0){
+ memberList = memberMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>().
+ selectAll(Member.class)
+ .selectAs(Company::getCompanyNamePath,Member::getCompanyName)
+ .leftJoin(Company.class, Company::getId,Member::getCompanyId)
+ .eq(Member::getType,Constants.TWO)
+ .eq(Member::getIsdeleted,Constants.ZERO)
+ .like(StringUtils.isNotBlank(pageWrap.getName()),Member::getName,pageWrap.getName())
+ .in(Member::getId,idList)
+ );
+ }
+ }
+ return memberList;
+ }
}
--
Gitblit v1.9.3