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