刘俊驰 1 year ago
parent
commit
4e0713b10e

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysAreaDao.java

@@ -27,4 +27,6 @@ public interface SysAreaDao extends BaseDAO<Integer, SysArea> {
     SysArea getParentArea(Integer id);
 
     SysArea queryByCode(String code);
+
+    List<SysArea> queryByIds(@Param("areaIds") List<String> areaIds);
 }

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/SysAreaService.java

@@ -2,10 +2,10 @@ package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.dto.TreeDto;
 import com.ym.mec.biz.dal.entity.SysArea;
-import com.ym.mec.biz.dal.page.OrganizationQueryInfo;
 import com.ym.mec.common.service.BaseService;
 
 import java.util.List;
+import java.util.Map;
 
 public interface SysAreaService extends BaseService<Integer, SysArea> {
 
@@ -35,4 +35,5 @@ public interface SysAreaService extends BaseService<Integer, SysArea> {
      */
     SysArea queryByCode(String code);
 
+    Map<String,String> getNameMapByIds(List<String> areaIds);
 }

+ 13 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -147,6 +147,9 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
     @Autowired
     private GoodsDao goodsDao;
 
+    @Autowired
+    private SysAreaService sysAreaService;
+
     @Override
     public BaseDAO<Long, MusicGroupPaymentCalender> getDAO() {
         return musicGroupPaymentCalenderDao;
@@ -1069,6 +1072,13 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
                 if (CollectionUtils.isEmpty(goods)) {
                     throw new BizException("商品信息不存在");
                 }
+                // 查询地区信息
+                List<String> areaIds = new ArrayList<>();
+                areaIds.add(address.getProvince());
+                areaIds.add(address.getCity());
+                areaIds.add(address.getRegion());
+                areaIds = areaIds.stream().filter(StringUtils::isNotBlank).distinct().collect(Collectors.toList());
+                Map<String, String> nameMapByIds = sysAreaService.getNameMapByIds(areaIds);
                 OrderCreate orderCreate = new OrderCreate();
                 String orderNo = idGeneratorService.generatorId("payment") + "";
                 address.setOrderNo(orderNo);
@@ -1083,9 +1093,9 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
                 orderCreate.setReceiverName(address.getName());
                 orderCreate.setReceiverPostCode(address.getPostCode());
                 orderCreate.setReceiverPhone(address.getPhone());
-                orderCreate.setReceiverProvince(address.getProvince());
-                orderCreate.setReceiverCity(address.getCity());
-                orderCreate.setReceiverRegion(address.getRegion());
+                orderCreate.setReceiverProvince(nameMapByIds.getOrDefault(address.getProvince(),""));
+                orderCreate.setReceiverCity(nameMapByIds.getOrDefault(address.getCity(),""));
+                orderCreate.setReceiverRegion(nameMapByIds.getOrDefault(address.getRegion(),""));
                 orderCreate.setReceiverDetailAddress(address.getAddress());
                 orderCreate.setStatus(1);
                 List<OrderCreate.OrderItem> orderItems = new ArrayList<>();

+ 17 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysAreaServiceImpl.java

@@ -12,9 +12,13 @@ import com.ym.mec.common.service.impl.BaseServiceImpl;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 @Service
 public class SysAreaServiceImpl extends BaseServiceImpl<Integer, SysArea> implements SysAreaService {
@@ -52,6 +56,19 @@ public class SysAreaServiceImpl extends BaseServiceImpl<Integer, SysArea> implem
         return sysAreaDao.queryByCode(code);
     }
 
+    @Override
+    public Map<String, String> getNameMapByIds(List<String> areaIds) {
+        if (CollectionUtils.isEmpty(areaIds)) {
+            return new HashMap<>();
+        }
+        List<SysArea> sysAreas = sysAreaDao.queryByIds(areaIds);
+        if (CollectionUtils.isEmpty(sysAreas)) {
+            return new HashMap<>();
+        }
+
+        return sysAreas.stream().collect(Collectors.toMap(o -> o.getId().toString(), SysArea::getName,(o1,o2)->o1));
+    }
+
     private SysArea getTree(SysArea area){
 		//得到根节点对象
 		//获取子节点list

+ 7 - 0
mec-biz/src/main/resources/config/mybatis/SysAreaMapper.xml

@@ -87,4 +87,11 @@
     <select id="queryByCode" resultMap="SysArea">
        SELECT * FROM sys_area WHERE code_ = #{code}
     </select>
+
+    <select id="queryByIds" resultMap="SysArea">
+        SELECT * FROM sys_area WHERE id_ IN
+        <foreach collection="areaIds" item="id" open="(" close=")" separator=",">
+            #{id}
+        </foreach>
+    </select>
 </mapper>