From 77cf158d3ceb20d53e445f2c498e8e312b540932 Mon Sep 17 00:00:00 2001 From: wangff Date: Tue, 23 Sep 2025 14:00:01 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E8=8E=B7=E5=8F=96=E9=97=A8=E5=BA=97?= =?UTF-8?q?=E4=BA=BA=E5=91=98=E4=BF=A1=E6=81=AF=E6=96=B0=E5=A2=9E=E7=AD=BE?= =?UTF-8?q?=E7=BA=A6=E4=BA=BA=E5=91=98=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/store/StoreMasterSignerInfoDAO.java | 37 +++++++++++++++++++ .../cool/store/dto/store/StoreUserDTO.java | 6 +++ .../store/service/impl/StoreServiceImpl.java | 17 +++++++++ pom.xml | 2 +- 4 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 coolstore-partner-dao/src/main/java/com/cool/store/dao/store/StoreMasterSignerInfoDAO.java diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/store/StoreMasterSignerInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/store/StoreMasterSignerInfoDAO.java new file mode 100644 index 000000000..75a361452 --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/store/StoreMasterSignerInfoDAO.java @@ -0,0 +1,37 @@ +package com.cool.store.dao.store; + +import cn.hutool.core.collection.CollStreamUtil; +import com.cool.store.entity.store.StoreMasterSignerInfoDO; +import com.cool.store.mapper.store.StoreMasterSignerInfoMapper; +import lombok.RequiredArgsConstructor; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.stereotype.Repository; + +import java.util.Collections; +import java.util.List; +import java.util.Map; + +/** + *

+ * 门店签约信息DAO + *

+ * + * @author wangff + * @since 2025/9/23 + */ +@Repository +@RequiredArgsConstructor +public class StoreMasterSignerInfoDAO { + private final StoreMasterSignerInfoMapper storeMasterSignerInfoMapper; + + /** + * 获取门店签约信息Map + */ + public Map getSignerMapByStoreIds(List storeIds) { + if (CollectionUtils.isEmpty(storeIds)) { + return Collections.emptyMap(); + } + List list = storeMasterSignerInfoMapper.selectByStoreIds(storeIds); + return CollStreamUtil.toMap(list, StoreMasterSignerInfoDO::getStoreId, v -> v); + } +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/store/StoreUserDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/store/StoreUserDTO.java index 9ea6811b7..33104e47a 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/dto/store/StoreUserDTO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/store/StoreUserDTO.java @@ -1,6 +1,7 @@ package com.cool.store.dto.store; import lombok.Data; +import lombok.NoArgsConstructor; /** * @Author suzhuhong @@ -8,6 +9,7 @@ import lombok.Data; * @Version 1.0 */ @Data +@NoArgsConstructor public class StoreUserDTO { private String userId; @@ -18,4 +20,8 @@ public class StoreUserDTO { private String positionName; + public StoreUserDTO(String userName, String mobile) { + this.userName = userName; + this.mobile = mobile; + } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/StoreServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/StoreServiceImpl.java index c2b36d9c6..30d9d5bf0 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/StoreServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/StoreServiceImpl.java @@ -1,8 +1,10 @@ package com.cool.store.service.impl; +import cn.hutool.core.collection.CollStreamUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; +import com.cool.store.dao.store.StoreMasterSignerInfoDAO; import com.cool.store.dto.store.AuthStoreUserDTO; import com.cool.store.dao.EnterpriseUserDAO; import com.cool.store.dao.EnterpriseUserRoleDao; @@ -16,6 +18,7 @@ import com.cool.store.entity.EnterpriseUserDO; import com.cool.store.entity.StoreDO; import com.cool.store.entity.SysRoleDO; import com.cool.store.entity.UserAuthMappingDO; +import com.cool.store.entity.store.StoreMasterSignerInfoDO; import com.cool.store.enums.*; import com.cool.store.exception.ServiceException; import com.cool.store.mapper.*; @@ -70,6 +73,8 @@ public class StoreServiceImpl implements StoreService { EnterpriseUserMapper enterpriseUserMapper; @Resource EnterpriseUserGroupMappingMapper enterpriseUserGroupMappingMapper; + @Resource + StoreMasterSignerInfoDAO storeMasterSignerInfoDAO; @Override public PageInfo getStoreExtendFieldInfo(Integer pageSize, Integer pageNum) { @@ -120,6 +125,8 @@ public class StoreServiceImpl implements StoreService { if (CollectionUtils.isEmpty(list)){ return new ArrayList<>(); } + List storeIds = CollStreamUtil.toList(list, StoreDO::getStoreId); + Map signerMap = storeMasterSignerInfoDAO.getSignerMapByStoreIds(storeIds); List result = new ArrayList<>(); list.forEach(x->{ StoreUserPositionDTO storeUserPositionDTO = new StoreUserPositionDTO(); @@ -140,6 +147,16 @@ public class StoreServiceImpl implements StoreService { storeUserDTO.setPositionName(String.join(Constants.COMMA, positionNameList)); userList.add(storeUserDTO); } + StoreMasterSignerInfoDO signerInfoDO = signerMap.get(x.getStoreId()); + if (Objects.nonNull(signerInfoDO)) { + Set mobiles = CollStreamUtil.toSet(userList, StoreUserDTO::getMobile); + if (StringUtils.isNotBlank(signerInfoDO.getSigner1Mobile()) && mobiles.add(signerInfoDO.getSigner1Mobile())) { + userList.add(new StoreUserDTO(signerInfoDO.getSigner1Name(), signerInfoDO.getSigner1Mobile())); + } + if (StringUtils.isNotBlank(signerInfoDO.getSigner2Mobile()) && mobiles.add(signerInfoDO.getSigner2Mobile())) { + userList.add(new StoreUserDTO(signerInfoDO.getSigner2Name(), signerInfoDO.getSigner2Mobile())); + } + } storeUserPositionDTO.setUserList(userList); result.add(storeUserPositionDTO); }); diff --git a/pom.xml b/pom.xml index 545c8d7fa..b4d687d85 100644 --- a/pom.xml +++ b/pom.xml @@ -135,7 +135,7 @@ cn.hutool hutool-all - 5.0.7 + 5.7.22 com.aliyun