Ver Fonte

同步旧数据接口修改

wangmh há 7 anos atrás
pai
commit
3c1193e887

+ 7 - 3
sso-server/src/main/java/com/uas/sso/controller/PartnershipManagerController.java

@@ -8,6 +8,7 @@ import com.uas.sso.common.util.HttpUtil;
 import com.uas.sso.entity.InvitationRecord;
 import com.uas.sso.entity.PartnershipRecord;
 import com.uas.sso.entity.RequestStatus;
+import com.uas.sso.entity.Userspace;
 import com.uas.sso.exception.VisibleError;
 import com.uas.sso.service.PartnershipService;
 import com.uas.sso.service.UserspaceService;
@@ -182,13 +183,16 @@ public class PartnershipManagerController extends BaseController {
                     });
                     List<PartnershipRecord> partnershipRecords = page.getContent();
                     for (int i = 0; i < partnershipRecords.size(); i++) {
+                        PartnershipRecord partnershipRecord = partnershipRecords.get(i);
                         try {
-                            PartnershipRecord partnershipRecord = partnershipRecords.get(i);
-                            partnershipRecord.setVendSpaceUU(userSpaceService.findByBusinessCode(partnershipRecord.getVendBusinessCode()).getSpaceUU());
-                            partnershipRecord.setVendSpaceUU(userSpaceService.findByBusinessCode(partnershipRecord.getCustBusinessCode()).getSpaceUU());
+                            Userspace vendSpace = userSpaceService.findByBusinessCode(partnershipRecord.getVendBusinessCode());
+                            Userspace custSpace = userSpaceService.findByBusinessCode(partnershipRecord.getCustBusinessCode());
+                            partnershipRecord.setVendSpaceUU(vendSpace == null ? null : vendSpace.getSpaceUU());
+                            partnershipRecord.setCustSpaceUU(custSpace == null ? null : custSpace.getSpaceUU());
                             partnershipService.save(partnershipRecord);
                         } catch (Exception e) {
                             e.getStackTrace();
+                            System.out.println("venduid:"+partnershipRecord.getVendBusinessCode() + "\tcustuid:"+partnershipRecord.getCustBusinessCode());
                         }
                     }
                     } catch (Exception e) {

+ 8 - 5
sso-server/src/main/java/com/uas/sso/controller/UserManagerController.java

@@ -349,6 +349,7 @@ public class UserManagerController extends BaseController {
     public ModelMap sync(@RequestParam(defaultValue = "1") int pageNumber, @RequestParam(defaultValue = "20") int pageSize, @RequestParam(defaultValue = "true") boolean isAll, String mobile) {
         Page<UserDetail> pUsers = null;
         List<String> repeatMobile = new ArrayList<>();
+        String lastMobile = null;
         do {
             // 获取数据
             try {
@@ -357,8 +358,7 @@ public class UserManagerController extends BaseController {
                 writerToFile("pageNumber" + (pageNumber-1), null, e.getMessage());
             }
             int i = 1;
-            String lastMobile = null;
-            System.out.println("------------ start pageNumber:"+(pageNumber-1)+"pageSize"+pageSize+"-------------");
+            System.out.println("------------ start pageNumber:"+(pageNumber-1)+"    pageSize:"+pageSize+"-------------");
             for (UserDetail detail : pUsers.getContent()) {
                 try {
                     // 将数据保存
@@ -369,7 +369,7 @@ public class UserManagerController extends BaseController {
                     lastMobile = detail.getMobile();
                     System.out.println(((pageNumber - 2) * pageSize + i++) + "\t" + detail.getMobile() + "\t" + detail.getName());
                 } catch (Exception e) {
-                    writerToFile("pageNumber:"+(pageNumber-1)+"pageSize"+pageSize, detail.getMobile(), e.getMessage());
+                    writerToFile((pageNumber-1) + "\t" + i++, detail.getMobile(), e.getMessage());
                 }
             }
             System.out.println("------------ end pageNumber:"+(pageNumber-1)+"pageSize"+pageSize+"-------------");
@@ -393,6 +393,9 @@ public class UserManagerController extends BaseController {
 
     public void saveUser(UserDetail detail) throws Exception {
         User user = new User();
+        if (StringUtils.isEmpty(detail.getMobile()) && StringUtils.isEmpty(detail.getEmail())) {
+            return;
+        }
 
         // 手机号判空,正则判断
         if (StringUtils.isEmpty(detail.getMobile())) {
@@ -468,13 +471,13 @@ public class UserManagerController extends BaseController {
 
     private Long getUserUUFromB2B(String keyword) {
         String url = "http://10.1.51.50:8090/platform-b2b";
-        url = url + "/searchUser";
+        url = url + "/account/user/searchUser";
         Long userUU = null;
         try {
             HttpUtil.ResponseWrap responseWrap = HttpUtil.doGet(url, new ModelMap("keyWord", keyword));
             if (responseWrap.isSuccess()) {
                 JSONObject userInfo = JSON.parseObject(responseWrap.getContent());
-                userUU = (Long) userInfo.get("userUU");
+                userUU = Long.valueOf(userInfo.get("userUU").toString());
             }
         } catch (Exception e) {
             e.printStackTrace();

+ 117 - 20
sso-server/src/main/java/com/uas/sso/controller/UserspaceManagerController.java

@@ -8,9 +8,11 @@ import com.uas.account.entity.AppCreateInfo;
 import com.uas.account.entity.MasterInfo;
 import com.uas.account.entity.UserSpace;
 import com.uas.account.entity.UserSpaceDetail;
+import com.uas.account.util.AccountUtils;
 import com.uas.sso.common.util.HttpUtil;
 import com.uas.sso.core.Const;
 import com.uas.sso.core.Status;
+import com.uas.sso.dao.UserspaceDao;
 import com.uas.sso.entity.App;
 import com.uas.sso.entity.User;
 import com.uas.sso.entity.Userspace;
@@ -24,15 +26,18 @@ import com.uas.sso.util.HttpUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.ui.ModelMap;
+import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.*;
+import java.net.URLEncoder;
 import java.sql.Timestamp;
 import java.util.*;
 
 import static com.alibaba.fastjson.JSON.parseObject;
+import static com.uas.sso.service.impl.UserspaceServiceImpl.SPACE_INIT_UU;
 
 /**
  * 企业信息管理controller
@@ -56,6 +61,9 @@ public class UserspaceManagerController extends BaseController {
     @Autowired
     private ApplyUserSpaceService applyUserSpaceService;
 
+    @Autowired
+    private UserspaceDao userspaceDao;
+
     /**
      * 校验企业名称
      *
@@ -347,13 +355,13 @@ public class UserspaceManagerController extends BaseController {
      */
     @RequestMapping("/saveOldUserSpaces/{spaceUU}")
     public ModelMap syncOldUserSpaces(@PathVariable Long spaceUU, @RequestParam(defaultValue = "1") int pageNumber,
-                                      @RequestParam(defaultValue = "20")int pageSize) {
+                                      @RequestParam(defaultValue = "20")int pageSize, @RequestParam(defaultValue = "false") boolean isAll) {
         // 由于旧数据问题,记录重复的企业名称和营业执照号
         Map<String, Integer> repeatSpaceName = new HashMap<>();
         Map<String, Integer> repeatBusinessCode = new HashMap<>();
 
         Userspace userspace;
-        Page<UserSpaceDetail> page = null;
+        com.uas.sso.support.Page<UserSpaceDetail> page = null;
         // 循环分页请求,如果是最后一页则退出循环
         while (page == null || !page.isLast()) {
             // 获取分页信息
@@ -363,6 +371,10 @@ public class UserspaceManagerController extends BaseController {
             int i = 1;
             for (UserSpaceDetail detail : page.getContent()) {
                 try {
+                    userspace = userspaceService.findByBusinessCode(detail.getBusinessCode());
+                    if (userspace != null) {
+                        continue;
+                    }
                     userspace = saveUserspace(detail);
                     System.out.println(page.getNumber() + "\t" + page.getSize() + "\t" + i++ + "\t" + userspace.getSpaceName() + "\t" + userspace.getBusinessCode());
                 } catch (Exception e) {
@@ -370,6 +382,9 @@ public class UserspaceManagerController extends BaseController {
                 }
             }
             spaceNameUnique();
+            if (!isAll) {
+                break;
+            }
         }
         return success();
     }
@@ -419,8 +434,10 @@ public class UserspaceManagerController extends BaseController {
             userspace.setApps(new ArrayList<App>());
         }
         String url = "http://10.1.51.50:8080/api/userspace";
-        url = url + "/" + userspace.getBusinessCode();
-        HttpUtil.ResponseWrap res = HttpUtil.doGet(url);
+        ModelMap data = new ModelMap();
+        data.put("businessCode", userspace.getBusinessCode());
+        data.put("_operate", "getapp");
+        HttpUtil.ResponseWrap res = HttpUtil.doGet(url, data);
         if (!res.isSuccess()) {
             throw new Exception(res.getContent());
         } else {
@@ -439,6 +456,10 @@ public class UserspaceManagerController extends BaseController {
                 if (!userspace.getApps().contains(app)) {
                     userspace.getApps().add(app);
                 }
+                app = appService.findOne("mall");
+                if (!userspace.getApps().contains(app)) {
+                    userspace.getApps().add(app);
+                }
             }
         }
     }
@@ -449,7 +470,7 @@ public class UserspaceManagerController extends BaseController {
         }
         int pageNumber = 1;
         int pageSize = 20;
-        Page<com.uas.account.entity.User> page;
+        com.uas.sso.support.Page<com.uas.account.entity.User> page;
         String url = "http://10.1.51.50:8080/api/user";
         url = url + "/findByBusinessCode";
         do {
@@ -462,7 +483,7 @@ public class UserspaceManagerController extends BaseController {
             if (!res.isSuccess()) {
                 throw new Exception(res.getContent());
             } else {
-                page = JSON.parseObject(res.getContent(), new TypeReference<Page<com.uas.account.entity.User>>() {});
+                page = JSON.parseObject(res.getContent(), new TypeReference<com.uas.sso.support.Page<com.uas.account.entity.User>>() {});
                 List<com.uas.account.entity.User> users = page.getContent();
                 for (int i = 0; i < users.size(); i++) {
                     User user = users.get(i).getDialectUID() == null ? userService.findByMobile(users.get(i).getUid()) : userService.findOne(Long.valueOf(users.get(i).getDialectUID()));
@@ -480,9 +501,18 @@ public class UserspaceManagerController extends BaseController {
         }
 
         String url = "http://10.1.51.50:8080/api/userspace/info";
-        url = url + "/" + businessCode + "/" + name;
+        if (!StringUtils.isEmpty(businessCode)) {
+            businessCode = businessCode.trim();
+        }
+        if (!StringUtils.isEmpty(name)) {
+            name = name.trim();
+        }
+//        url = url + "/" + URLEncoder.encode(businessCode, "UTF-8") + "/" + URLEncoder.encode(name, "UTF-8");
         HttpUtil.ResponseWrap res = null;
-        res = HttpUtil.doGet(url);
+        ModelMap data = new ModelMap();
+        data.put("businessCode", businessCode);
+        data.put("name", name);
+        res = HttpUtil.doGet(url, data);
         if(res.isSuccess() && !StringUtils.isEmpty(res.getContent())) {
             JSONObject jsonObject = JSON.parseObject(res.getContent());
             if (jsonObject.containsKey("dialectUID")) {
@@ -492,8 +522,8 @@ public class UserspaceManagerController extends BaseController {
         return null;
     }
 
-    public Page<UserSpaceDetail> getUserSpace(@RequestParam(defaultValue = "1") int pageNumber, @RequestParam(defaultValue = "20") int pageSize) {
-        Page<UserSpaceDetail> page = null;
+    public com.uas.sso.support.Page<UserSpaceDetail> getUserSpace(@RequestParam(defaultValue = "1") int pageNumber, @RequestParam(defaultValue = "20") int pageSize) {
+        com.uas.sso.support.Page<UserSpaceDetail> page = null;
         String url = "http://10.1.51.50:8080/api/partners";
         if(!StringUtils.isEmpty(url)) {
             HttpUtil.ResponseWrap res = null;
@@ -503,7 +533,7 @@ public class UserspaceManagerController extends BaseController {
                 data.put("pageSize", Integer.valueOf(pageSize));
                 res = HttpUtil.doGet(url, data);
                 if(res.isSuccess()) {
-                    return (Page) parseObject(res.getContent(), new TypeReference<Page<UserSpaceDetail>>() {});
+                    return JSON.parseObject(res.getContent(), new TypeReference<com.uas.sso.support.Page<UserSpaceDetail>>() {});
                 }
             } catch (Exception e) {
                 e.printStackTrace();
@@ -517,7 +547,7 @@ public class UserspaceManagerController extends BaseController {
      * @return
      */
     @RequestMapping(value = "/saveAccessSecret/{businessCode}")
-    public ModelMap saveAccessSecret(@PathVariable String businessCode) {
+    public ModelMap saveAccessSecret(@PathVariable String businessCode) throws UnsupportedEncodingException {
         if (!StringUtils.isEmpty(businessCode)) {
             getAccessSecret(businessCode);
         }
@@ -529,9 +559,9 @@ public class UserspaceManagerController extends BaseController {
      * @param businessCode 营业执照号
      * @return
      */
-    public String getAccessSecret(String businessCode) {
+    public String getAccessSecret(String businessCode) throws UnsupportedEncodingException {
         String url = "http://10.1.51.50:8090/platform-b2b";
-        url = url + "/account/enterprise/info/" + businessCode;
+        url = url + "/account/enterprise/info/" + URLEncoder.encode(businessCode, "UTF-8");
         String accessSecret = null;
         try {
             HttpUtil.ResponseWrap responseWrap = HttpUtil.doGet(url);
@@ -613,7 +643,7 @@ public class UserspaceManagerController extends BaseController {
     @RequestMapping("/getWebsite")
     public String getWebsite() {
         String url = "http://10.1.51.50:8080/api/userspace/getWebsite";
-        int pageNumber = 1;
+        int pageNumber = 3;
         int pageSize = 20;
         com.uas.account.support.Page<MasterInfo> page = null;
         do {
@@ -627,11 +657,59 @@ public class UserspaceManagerController extends BaseController {
                         page = JSON.parseObject(responseWrap.getContent(), new TypeReference<com.uas.account.support.Page<MasterInfo>>() {
                         });
                         for (MasterInfo masterInfo : page.getContent()) {
-                            /*Userspace userspace = userspaceService.findByBusinessCode(masterInfo.getBusinessCode());
-                            if (userspace != null && masterInfo.getWebsite() != null) {
-                                userspace.setWebsite(masterInfo.getWebsite());
-                                userspaceService.save(userspace);
-                            }*/
+                            try {
+                                Userspace userspace = userspaceService.findByBusinessCode(masterInfo.getBusinessCode());
+                                if (userspace == null) {
+                                    userspace = userspaceService.findBySpaceName(masterInfo.getName());
+                                }
+                                if (userspace == null && !StringUtils.isEmpty(masterInfo.getUu())) {
+                                    userspace = userspaceService.findOne(Long.valueOf(masterInfo.getUu()));
+                                }
+                                if (userspace != null && masterInfo.getWebsite() != null) {
+                                    userspace.setWebsite(masterInfo.getWebsite());
+                                    userspaceService.save(userspace);
+                                }
+
+                                if (userspace == null && !StringUtils.isEmpty(masterInfo.getPlatform())) {
+                                    userspace = new Userspace();
+                                    userspace.setSpaceName(masterInfo.getName());
+                                    userspace.setBusinessCode(masterInfo.getBusinessCode());
+                                    userspace.setValidCode((short) Status.NOT_APPLYING.getCode());
+                                    userspace.setWebsite(masterInfo.getWebsite());
+                                    // 设置uu号
+                                    Long maxUU = userspaceDao.findMaxUU();
+                                    userspace.setSpaceUU(maxUU < 10050000L ? 10050000L : (maxUU + 1));
+                                    userspace.setApps(new ArrayList<App>());
+                                    userspace.getApps().add(appService.findOne(masterInfo.getPlatform()));
+                                    userspace = userspaceService.save(userspace);
+                                    System.out.println(String.format("%s\t%s\t%s", userspace.getSpaceName(), userspace.getBusinessCode(), userspace.getSpaceUU()));
+                                }
+                                if (CollectionUtils.isEmpty(userspace.getUsers())) {
+                                    userspace.setUsers(new ArrayList<User>());
+                                }
+                                if (!StringUtils.isEmpty(masterInfo.getUu())) {
+                                    continue;
+                                }
+                                com.uas.account.support.Page<com.uas.account.entity.User> userInfos = null;
+                                int pageNumber2 = 1;
+                                int pageSize2 = 20;
+                                do {
+                                    userInfos = AccountUtils.findUsersByBusinessCode(userspace.getBusinessCode(), pageNumber2++, pageSize2);
+                                    for (com.uas.account.entity.User userInfo : userInfos.getContent()) {
+                                        try {
+                                            User user = userService.findByMobile(userInfo.getUid());
+                                            if (!userInfo.getAppId().equals("b2b") && !userspace.getUsers().contains(user)) {
+                                                userspace.getUsers().add(user);
+                                            }
+                                        } catch (Exception e) {
+                                            System.out.println(userInfo.getName() + "\t" + userInfo.getUid() + "\t" + e.getMessage());
+                                        }
+                                    }
+                                } while (userInfos == null || !userInfos.isLast());
+                                userspace = userspaceService.save(userspace);
+                            } catch (Exception e) {
+                                System.out.println((pageNumber-1) + "\t" + masterInfo.getName() + "\t" +e.getMessage());
+                            }
                         }
                     } catch (Exception e) {
                         e.printStackTrace();
@@ -643,4 +721,23 @@ public class UserspaceManagerController extends BaseController {
         } while (page == null || !page.isLast());
         return null;
     }
+
+    @RequestMapping("/delete")
+    public ModelMap delete() {
+        List<Userspace> userspaces = userspaceDao.findtest();
+        userspaceDao.delete(userspaces);
+        return success();
+    }
+
+    @RequestMapping("/update")
+    public ModelMap update () {
+        Userspace userspace = userspaceDao.findOne(20000012L);
+        userspace.setSpaceUU(10050072L);
+        userspaceDao.save(userspace);
+
+        userspace = userspaceDao.findOne(20000013L);
+        userspace.setSpaceUU(10050073L);
+        userspaceDao.save(userspace);
+        return success();
+    }
 }

+ 3 - 0
sso-server/src/main/java/com/uas/sso/dao/UserspaceDao.java

@@ -99,4 +99,7 @@ public interface UserspaceDao extends JpaRepository<Userspace, Long>, JpaSpecifi
 
     @Query(value = "select t from Userspace t where t.spaceName = :name")
     List<Userspace> findAllBySpaceName(@Param("name") String name);
+
+    @Query("select t from Userspace t where t.spaceUU > 20000000")
+    List<Userspace> findtest();
 }