From 0915f9c21ee26c3b52a763eed9000d3b165e19ce Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Fri, 27 Nov 2020 11:22:15 +0800
Subject: [PATCH] BS登陆接口增加返回数据regionCode 开通mapPath接口,通过token获取用户地图

---
 src/main/java/com/moral/service/impl/AccountServiceImpl.java |   85 ++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 80 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/moral/service/impl/AccountServiceImpl.java b/src/main/java/com/moral/service/impl/AccountServiceImpl.java
index 69752c4..39f4669 100644
--- a/src/main/java/com/moral/service/impl/AccountServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/AccountServiceImpl.java
@@ -12,6 +12,8 @@
 
 import javax.annotation.Resource;
 
+import com.moral.entity.*;
+import com.moral.mapper.DictionaryDataMapper;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.stereotype.Service;
@@ -25,10 +27,6 @@
 import com.moral.common.exception.BusinessException;
 import com.moral.common.util.ResourceUtil;
 import com.moral.common.util.ValidateUtil;
-import com.moral.entity.Account;
-import com.moral.entity.Menu;
-import com.moral.entity.Organization;
-import com.moral.entity.Role;
 import com.moral.mapper.AccountMapper;
 import com.moral.mapper.OrganizationMapper;
 import com.moral.service.AccountService;
@@ -58,7 +56,6 @@
     private OrganizationMapper organizationMapper;
 
 
-
     @Override
     public Map<String, Object> getAccountInfoById(String accountId) {
         Map<String, Object> result = new HashMap<String, Object>();
@@ -81,6 +78,7 @@
         }
         return result;
     }
+
 
     @Override
     public Map<String, Object> webLogin(Map<String, Object> parameters) {
@@ -382,5 +380,82 @@
         return result;
     }
 
+    @Resource
+    DictionaryDataMapper dictionaryDataMapper;
 
+    @Override
+    public Map<String, Object> bsWebLogin(Map<String, Object> parameters) {
+        Map<String, Object> result = new HashMap<String, Object>();
+        Account account = new Account();
+        account.setAccountName((String) parameters.get("account"));
+        String rawPassword = (String) parameters.get("password");
+        account = accountMapper.selectOne(account);
+        boolean isValid = account == null ? false : encoder.matches(rawPassword, account.getPassword());
+        if (!isValid) {
+            result.put("msg", "���������������������������������");
+            result.put("accountId", -1);
+        } else {
+            result = judgeAccountInfo(account);
+            if (!result.get("accountId").equals(-1)){
+                String regionCode = getRegionCodeByAccount(account);
+                if(!ObjectUtils.isEmpty(regionCode))
+                    result.put("regionCode",regionCode);
+            }
+
+        }
+        return result;
+    }
+
+    /**
+     * @Description: ������id������������������������������
+     * @Param: [params]
+     * @return: java.util.Map<java.lang.String               ,               java.lang.Object>
+     * @Author: ������������
+     * @Date: 2020/11/25
+     */
+    private String getRegionCodeByAccount(Account account) {
+        Organization organization = new Organization();
+        organization.setId(account.getOrganizationId());
+        organization = organizationMapper.selectOne(organization);
+        Map<String, Object> regionCodeAndType = getRegionCodeAndTypeByOrg(organization);
+        if(ObjectUtils.isEmpty(regionCodeAndType))
+            return null;
+        return (String) regionCodeAndType.get("regionCode");
+    }
+
+    public static Map<String,Object> getRegionCodeAndTypeByOrg(Organization organization){
+        Map<String,Object> result = new HashMap<>();
+        String regionCode = "";
+        String regionType = "";
+        Long villageCode = organization.getVillageCode();
+        Long townCode = organization.getTownCode();
+        Integer areaCode = organization.getAreaCode();
+        Integer cityCode = organization.getCityCode();
+        Integer provinceCode = organization.getProvinceCode();
+
+        if(!ObjectUtils.isEmpty(villageCode)){
+            regionCode = String.valueOf(villageCode);
+            regionType = "village";
+        }else if(!ObjectUtils.isEmpty(townCode)){
+            regionCode = String.valueOf(townCode);
+            regionType = "town";
+        }else if(!ObjectUtils.isEmpty(areaCode)){
+            regionCode = String.valueOf(areaCode);
+            regionType = "area";
+        }else if(!ObjectUtils.isEmpty(cityCode)){
+            regionCode = String.valueOf(cityCode);
+            regionType = "city";
+        }else if(!ObjectUtils.isEmpty(provinceCode)){
+            regionCode = String.valueOf(provinceCode);
+            regionType = "province";
+        }else{
+            return null;
+        }
+        result.put("regionCode",regionCode);
+        result.put("regionType",regionType);
+        return result;
+    }
 }
+
+
+

--
Gitblit v1.8.0