From 6525935588f4b9a06e08f91dfc9d2895e5ec2c38 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期一, 20 十月 2025 11:00:12 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wuhuyancao' into wuhuyancao
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetServiceImpl.java | 147 ++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 138 insertions(+), 9 deletions(-)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetServiceImpl.java
index 161d43f..cd2a697 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetServiceImpl.java
@@ -6,21 +6,18 @@
import com.doumee.core.exception.BusinessException;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
+import com.doumee.dao.business.CategoryMapper;
import com.doumee.dao.business.JkCabinetGridMapper;
import com.doumee.dao.business.JkKeysMapper;
-import com.doumee.dao.business.model.JkCabinetGrid;
-import com.doumee.dao.business.model.JkKeys;
-import com.doumee.dao.business.vo.AdminCabinetVO;
-import com.doumee.dao.business.vo.CabinetConfigDataVO;
-import com.doumee.dao.business.vo.CabinetDetailVO;
-import com.doumee.dao.business.vo.CabinetGridInfoVO;
+import com.doumee.dao.business.dao.MemberMapper;
+import com.doumee.dao.business.model.*;
+import com.doumee.dao.business.vo.*;
import com.doumee.dao.system.model.SystemDictData;
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.Utils;
import com.doumee.dao.business.JkCabinetMapper;
-import com.doumee.dao.business.model.JkCabinet;
import com.doumee.service.business.JkCabinetService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -51,6 +48,9 @@
private JkCabinetMapper jkCabinetMapper;
@Autowired
+ private CategoryMapper categoryMapper;
+
+ @Autowired
private JkCabinetGridMapper jkCabinetGridMapper;
@Autowired
@@ -58,6 +58,9 @@
@Autowired
private SystemDictDataBiz systemDictDataBiz;
+
+ @Autowired
+ private MemberMapper memberMapper;
@Override
@Transactional(rollbackFor = {Exception.class,BusinessException.class})
@@ -261,6 +264,16 @@
jkCabinet.setJwd(jkCabinet.getLongitude() + "," + jkCabinet.getLatitude());
}
jkCabinet.setGridNum(jkCabinet.getColumnNum()*jkCabinet.getRowNum());
+ if(StringUtils.isNotBlank(jkCabinet.getManagerId())){
+ jkCabinet.setManagerIdList(Arrays.asList(
+ jkCabinet.getManagerId().split(",")
+ ));
+ }
+ if(StringUtils.isNotBlank(jkCabinet.getAuthMemberId())){
+ jkCabinet.setAuthMemberIdList(Arrays.asList(
+ jkCabinet.getAuthMemberId().split(",")
+ ));
+ }
return jkCabinet;
}
@@ -277,7 +290,7 @@
QueryWrapper<JkCabinet> wrapper = new QueryWrapper<>(jkCabinet);
return jkCabinetMapper.selectList(wrapper);
}
-
+
@Override
public PageData<JkCabinet> findPage(PageWrap<JkCabinet> pageWrap) {
IPage<JkCabinet> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
@@ -373,11 +386,12 @@
@Override
- public CabinetDetailVO getCabinetDetail(Integer cabinetId){
+ public CabinetDetailVO getCabinetDetail(Integer cabinetId,LoginUserInfo loginUserInfo){
CabinetDetailVO cabinetDetailVO = new CabinetDetailVO();
JkCabinet cabinet = jkCabinetMapper.selectOne(new QueryWrapper<JkCabinet>()
.lambda()
.eq(JkCabinet::getIsdeleted,Constants.ZERO)
+ .apply(" FIND_IN_SET("+loginUserInfo.getId()+",MANAGER_ID) ")
.eq(JkCabinet::getId,cabinetId)
.last(" limit 1")
);
@@ -433,4 +447,119 @@
}
+
+ @Override
+ public CabinetFaceVO getCabinetFaceVO(String code){
+ CabinetFaceVO cabinetFaceVO = new CabinetFaceVO();
+ List<CabinetFaceInfoVO> driverFaceList = new ArrayList<>();
+ List<CabinetFaceInfoVO> autoFaceList = new ArrayList<>();
+
+ JkCabinet jkCabinet = jkCabinetMapper.selectOne(new QueryWrapper<JkCabinet>().lambda()
+ .eq(JkCabinet::getCode,code)
+ .eq(JkCabinet::getIsdeleted,Constants.ZERO)
+ .last("limit 1")
+ );
+ if(Objects.nonNull(jkCabinet)){
+ String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
+ systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
+ //鏌ヨ鍙告満淇℃伅
+ List<JkCabinetGrid> jkCabinetGridList = jkCabinetGridMapper.selectJoinList(JkCabinetGrid.class,new MPJLambdaWrapper<JkCabinetGrid>()
+ .selectAll(JkCabinetGrid.class)
+ .selectAs(JkKeys::getCarId,JkCabinetGrid::getCarId)
+ .innerJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId)
+ .eq(JkCabinetGrid::getIsdeleted,Constants.ZERO)
+ .eq(JkKeys::getIsdeleted,Constants.ZERO)
+ .isNotNull(JkKeys::getCarId)
+ .eq(JkCabinetGrid::getCabinetId,jkCabinet.getId())
+ );
+ if(CollectionUtils.isNotEmpty(jkCabinetGridList)){
+ List<Integer> carIdList = jkCabinetGridList.stream().map(i->i.getKeyId()).collect(Collectors.toList());
+ //鏌ヨ杞﹁締鎵�鏈変汉鍛樹俊鎭�
+ List<Member> memberList = memberMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>()
+ .selectAll(Member.class)
+ .leftJoin(CarDriver.class,CarDriver::getMemberId,Member::getId)
+ .eq(Member::getIsdeleted,Constants.ZERO)
+ .eq(CarDriver::getIsdeleted,Constants.ZERO)
+ .eq(CarDriver::getStatus,Constants.ZERO)
+ .isNotNull(Member::getFaceImg)
+ .in(CarDriver::getCarId,carIdList)
+ );
+ if(CollectionUtils.isNotEmpty(memberList)){
+ Set<Member> memberSet = new HashSet<>(memberList);
+ for (Member member:memberSet) {
+ CabinetFaceInfoVO cabinetFaceInfoVO = new CabinetFaceInfoVO();
+ cabinetFaceInfoVO.setMemberId(member.getId());
+ cabinetFaceInfoVO.setMemberName(member.getName());
+ cabinetFaceInfoVO.setFaceImg(prefixUrl + member.getFaceImg());
+ driverFaceList.add(cabinetFaceInfoVO);
+ }
+ }
+ }
+ //鏌ヨ璁惧楠岃瘉浜哄憳
+ List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda()
+ .eq(Member::getIsdeleted,Constants.ZERO)
+ .isNotNull(Member::getFaceImg)
+ .apply(" FIND_IN_SET( id ,'"+jkCabinet.getManagerId()+"') ")
+ );
+ if(CollectionUtils.isNotEmpty(memberList)){
+ for (Member member:memberList) {
+ CabinetFaceInfoVO cabinetFaceInfoVO = new CabinetFaceInfoVO();
+ cabinetFaceInfoVO.setMemberId(member.getId());
+ cabinetFaceInfoVO.setMemberName(member.getName());
+ cabinetFaceInfoVO.setFaceImg(prefixUrl + member.getFaceImg());
+ autoFaceList.add(cabinetFaceInfoVO);
+ }
+ }
+
+ }
+ cabinetFaceVO.setAutoFaceList(autoFaceList);
+ cabinetFaceVO.setDriverFaceList(driverFaceList);
+ return cabinetFaceVO;
+ }
+
+
+ @Override
+ public CabinetInfoVO getCabinetInfoForDriver(String code){
+ JkCabinet jkCabinet = jkCabinetMapper.selectOne(new QueryWrapper<JkCabinet>()
+ .lambda()
+ .eq(JkCabinet::getIsdeleted,Constants.ZERO)
+ .eq(JkCabinet::getCode,code)
+ .orderByAsc(JkCabinet::getCreateDate)
+ .last(" limit 1 ")
+ );
+ CabinetInfoVO cabinetInfoVO = new CabinetInfoVO();
+ if(Objects.nonNull(jkCabinet)){
+ BeanUtil.copyProperties(jkCabinet,cabinetInfoVO);
+ }
+ List<Category> categoryList = categoryMapper.selectList(new QueryWrapper<Category>().lambda()
+ .eq(Category::getIsdeleted,Constants.ZERO)
+ .eq(Category::getStatus,Constants.ZERO)
+ .eq(Category::getType,Constants.THREE)
+ .orderByAsc(Category::getSortnum)
+ );
+ if(CollectionUtils.isNotEmpty(categoryList)){
+ String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
+ systemDictDataBiz.queryByCode(Constants.FTP,Constants.BANNER_IMG).getCode();
+ for (Category category:categoryList) {
+ category.setImgurlFull(prefixUrl + category.getImgurl());
+ }
+ cabinetInfoVO.setBannerList(
+ categoryList.stream().map(i->i.getImgurlFull()).collect(Collectors.toList())
+ );
+ }
+ return cabinetInfoVO;
+ }
+
+
+
+ @Override
+ public void updateRunStatusById(Integer id) {
+ jkCabinetMapper.update(null,new UpdateWrapper<JkCabinet>()
+ .lambda().set(JkCabinet::getRunStatus,Constants.ZERO)
+ .set(JkCabinet::getEditDate, DateUtil.getCurrDateTime())
+ .set(JkCabinet::getHaertTime, DateUtil.getCurrDateTime())
+ .eq(JkCabinet::getId,id));
+ }
+
+
}
--
Gitblit v1.9.3