Просмотр исходного кода

商务平台、账户中心企业用户数据更新同步到商城

hejq 8 лет назад
Родитель
Сommit
58f2b61b09

+ 1 - 1
src/main/java/com/uas/platform/b2c/common/account/Readme.md

@@ -16,4 +16,4 @@ hejq
 
 ## 说明
 
-商务平台用户企业数据更新同步到商城
+商务平台、账户中心用户企业数据更新同步到商城

+ 24 - 16
src/main/java/com/uas/platform/b2c/common/account/v2/controller/EnterpriseController.java

@@ -1,18 +1,15 @@
 package com.uas.platform.b2c.common.account.v2.controller;
 
-import com.uas.platform.b2c.common.account.model.Enterprise;
+import com.uas.account.entity.UserSpace;
+import com.uas.account.entity.UserSpaceDetail;
+import com.uas.platform.b2c.common.account.model.ChangeAdminDetail;
 import com.uas.platform.b2c.common.account.v2.service.EnterpriseService;
-import com.uas.platform.core.util.serializer.FlexJsonUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-
 @Controller("v2.EnterpriseController")
 @RequestMapping(value = "api/public/enterprise")
 public class EnterpriseController {
@@ -20,19 +17,30 @@ public class EnterpriseController {
 	@Autowired
 	private EnterpriseService enterpriseService;
 
-	/**
-	 * b2b更新企业信息
+    /**
+     * 企业信息更新
      *
-	 * @param data
-	 * @return
-	 */
+     * @param userSpace
+     * @param userSpaceDetail
+     */
 	@RequestMapping(method = RequestMethod.POST)
 	@ResponseBody
-	public void update(@RequestParam("data") String data) throws UnsupportedEncodingException {
-        String jsonStr = URLDecoder.decode(data, "UTF-8");
-        Enterprise enterprise = FlexJsonUtils.fromJson(jsonStr, Enterprise.class);
-		if (enterprise != null) {
-			 enterpriseService.update(enterprise);
+	public void update(UserSpace userSpace, UserSpaceDetail userSpaceDetail) {
+		if (null != userSpace && null != userSpaceDetail) {
+			 enterpriseService.update(userSpace, userSpaceDetail);
 		}
 	}
+
+    /**
+     * 更换管理员同步信息
+     *
+     * @param detail
+     */
+	@RequestMapping(value = "/changeadmin", method = RequestMethod.POST)
+    @ResponseBody
+    public void  changeAmin(ChangeAdminDetail detail) {
+	    if(null != detail) {
+            enterpriseService.changeAdmin(detail);
+        }
+    }
 }

+ 14 - 10
src/main/java/com/uas/platform/b2c/common/account/v2/controller/UserController.java

@@ -1,18 +1,14 @@
 package com.uas.platform.b2c.common.account.v2.controller;
 
-import com.uas.platform.b2c.common.account.model.User;
+import com.uas.account.entity.User;
 import com.uas.platform.b2c.common.account.v2.service.UserService;
-import com.uas.platform.core.util.serializer.FlexJsonUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-
 @Controller("v2.UserController")
 @RequestMapping(value = "api/public/user")
 public class UserController {
@@ -23,16 +19,24 @@ public class UserController {
     /**
      * b2b修改用户信息
      *
-     * @param data
+     * @param user
      */
 	@RequestMapping(method = RequestMethod.POST)
 	@ResponseBody
-	public void save(@RequestParam("data") String data) throws UnsupportedEncodingException {
-        String jsonStr = URLDecoder.decode(data, "UTF-8");
-        User user = FlexJsonUtils.fromJson(jsonStr, User.class);
+	public void save(User user) {
 		if (user != null) {
 			 userService.save(user);
 		}
 	}
 
+    /**
+     * 删除用户
+     *
+     * @param uu
+     */
+	@RequestMapping(value = "/removeUser/{uu}", method = RequestMethod.POST)
+    @ResponseBody
+    public void removeUser(@PathVariable Long uu) {
+        userService.delete(uu);
+    }
 }

+ 17 - 7
src/main/java/com/uas/platform/b2c/common/account/v2/service/EnterpriseService.java

@@ -1,13 +1,23 @@
 package com.uas.platform.b2c.common.account.v2.service;
 
-import com.uas.platform.b2c.common.account.model.Enterprise;
+import com.uas.account.entity.UserSpace;
+import com.uas.account.entity.UserSpaceDetail;
+import com.uas.platform.b2c.common.account.model.ChangeAdminDetail;
 
 public interface EnterpriseService {
 
-	/**
-	 * b2b更新企业信息
-	 * @param enterprise
-	 * @return
-	 */
-	void update(Enterprise enterprise);
+    /**
+     * 更新企业信息
+     *
+     * @param userSpace
+     * @param userSpaceDetail
+     */
+    void update(UserSpace userSpace, UserSpaceDetail userSpaceDetail);
+
+    /**
+     * 更换管理员
+     *
+     * @param detail
+     */
+    void changeAdmin(ChangeAdminDetail detail);
 }

+ 7 - 1
src/main/java/com/uas/platform/b2c/common/account/v2/service/UserService.java

@@ -1,7 +1,7 @@
 package com.uas.platform.b2c.common.account.v2.service;
 
 
-import com.uas.platform.b2c.common.account.model.User;
+import com.uas.account.entity.User;
 
 public interface UserService {
 
@@ -12,4 +12,10 @@ public interface UserService {
      */
 	void save(User user);
 
+    /**
+     * 删除用户
+     *
+     * @param uu
+     */
+    void delete(Long uu);
 }

+ 46 - 7
src/main/java/com/uas/platform/b2c/common/account/v2/service/impl/EnterpriseServiceImpl.java

@@ -1,15 +1,22 @@
 package com.uas.platform.b2c.common.account.v2.service.impl;
 
+import com.uas.account.entity.UserSpace;
+import com.uas.account.entity.UserSpaceDetail;
 import com.uas.platform.b2c.common.account.dao.EnterpriseDao;
+import com.uas.platform.b2c.common.account.dao.UserDao;
+import com.uas.platform.b2c.common.account.model.ChangeAdminDetail;
 import com.uas.platform.b2c.common.account.model.Enterprise;
+import com.uas.platform.b2c.common.account.model.User;
 import com.uas.platform.b2c.common.account.v2.service.EnterpriseService;
 import com.uas.platform.b2c.core.support.log.UsageBufferedLogger;
 import com.uas.platform.core.logging.BufferedLoggerManager;
+import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.text.SimpleDateFormat;
 import java.util.Date;
+import java.util.List;
 
 @Service("v2.EnterpriseService")
 public class EnterpriseServiceImpl implements EnterpriseService {
@@ -17,15 +24,47 @@ public class EnterpriseServiceImpl implements EnterpriseService {
 	@Autowired
 	private EnterpriseDao enterpriseDao;
 
+	@Autowired
+    private UserDao userDao;
+
     private static final UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
 
     private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
 
-	@Override
-	public void update(Enterprise enterprise) {
-		if (enterprise != null) {
-            enterpriseDao.save(enterprise);
-            logger.log("b2b更新企业信息", enterprise.getUu()+"time: " + sdf.format(new Date()));
-		}
-	}
+    @Override
+    public void update(UserSpace userSpace, UserSpaceDetail userSpaceDetail) {
+        Enterprise enterprise = new Enterprise();
+        Enterprise oldenterprise = enterpriseDao.findByUu(Long.valueOf(userSpace.getDialectUID()));
+        enterprise.setEnAddress(userSpaceDetail.getAddress());
+        enterprise.setEnArea(userSpaceDetail.getArea());
+        enterprise.setEnCorporation(userSpaceDetail.getCorporation());
+        enterprise.setEnBussinessCode(userSpaceDetail.getBusinessCode());
+        enterprise.setEnFax(userSpaceDetail.getFax());
+        enterprise.setEnEmail(userSpaceDetail.getAdminEmail());
+        enterprise.setEnIndustry(userSpaceDetail.getIndustry());
+        enterprise.setEnName(userSpaceDetail.getName());
+        enterprise.setEnLogoUrl(userSpaceDetail.getBusinessCodeImage());
+        enterprise.setUu(Long.valueOf(userSpace.getDialectUID()));
+        enterpriseDao.save(enterprise);
+        if(null != oldenterprise) {
+            logger.log("更新企业信息", enterprise.getUu()+"time: " + sdf.format(new Date()));
+        } else {
+            logger.log("新增企业信息", enterprise.getUu()+"time: " + sdf.format(new Date()));
+        }
+    }
+
+    @Override
+    public void changeAdmin(ChangeAdminDetail detail) {
+        Enterprise enterprise = enterpriseDao.findByUu(detail.getEnUu());
+        if(null != enterprise) {
+            if(null != detail.getAdminTel()) {
+                List<User> users = userDao.findUserByUserTel(detail.getAdminTel());
+                if(!CollectionUtils.isEmpty(users)) {
+                    enterprise.setEnAdminuu(users.get(0).getUserUU());
+                    enterpriseDao.save(enterprise);
+                    logger.log("更换管理员", enterprise.getEnName()+"," +users.get(0).getUserName() + "time:" + sdf.format(new Date()));
+                }
+            }
+        }
+    }
 }

+ 49 - 3
src/main/java/com/uas/platform/b2c/common/account/v2/service/impl/UserServiceImpl.java

@@ -1,15 +1,20 @@
 package com.uas.platform.b2c.common.account.v2.service.impl;
 
+import com.uas.account.entity.User;
+import com.uas.platform.b2c.common.account.dao.EnterpriseDao;
 import com.uas.platform.b2c.common.account.dao.UserDao;
-import com.uas.platform.b2c.common.account.model.User;
+import com.uas.platform.b2c.common.account.model.Enterprise;
 import com.uas.platform.b2c.common.account.v2.service.UserService;
+import com.uas.platform.b2c.core.support.SystemSession;
 import com.uas.platform.b2c.core.support.log.UsageBufferedLogger;
 import com.uas.platform.core.logging.BufferedLoggerManager;
+import com.uas.platform.core.model.Status;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.text.SimpleDateFormat;
 import java.util.Date;
+import java.util.List;
 
 
 @Service("v2.UserService")
@@ -18,15 +23,56 @@ public class UserServiceImpl implements UserService {
 	@Autowired
 	private UserDao userDao;
 
+	@Autowired
+    private EnterpriseDao enterpriseDao;
+
     private static final UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
 
     private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
 
     @Override
     public void save(User user) {
+        com.uas.platform.b2c.common.account.model.User u =  new com.uas.platform.b2c.common.account.model.User();
+        u.setUserPwd(user.getPassword());
+        u.setUserName(user.getName());
+        u.setEnable((short) 1);
+        u.setUserEmail(user.getSecondUID());
+        u.setUserUU(Long.valueOf(user.getDialectUID()));
+        Enterprise enterprise = enterpriseDao.findByUu(Long.valueOf(user.getSpaceDialectUID()));
+        if(null != enterprise) {
+            u.setEnterprise(enterprise);
+        }
+        List<com.uas.platform.b2c.common.account.model.User> oldUsers = userDao.findUserByUserUU(u.getUserUU());
+        userDao.save(u);
+        if(oldUsers.size() > 0) {
+            logger.log("更新用户信息", user.getDialectUID() + "time: " + sdf.format(new Date()));
+        } else {
+            if(null != enterprise && null == enterprise.getEnAdminuu()) {
+                enterprise.setEnAdminuu(u.getUserUU());
+                enterpriseDao.save(enterprise);
+                logger.log("设置管理员", enterprise.getEnName() + "," + u.getUserName() + "time: " + sdf.format(new Date()));
+            }
+            logger.log("新增用户信息", user.getDialectUID() + "time: " + sdf.format(new Date()));
+        }
+    }
+
+
+    @Override
+    public void delete(Long uu) {
+        com.uas.platform.b2c.common.account.model.User user = userDao.findOne(uu);
         if(null != user) {
-            userDao.save(user);
-            logger.log("b2b更新用户信息", user.getUserUU() +"time: " + sdf.format(new Date()));
+            if (user.getEnterprises().contains(SystemSession.getUser().getEnterprise())) {
+                user.removeEnterprise(SystemSession.getUser().getEnterprise());
+                if (user.getEnterprises().size() != 0) {
+                    user.setEnable((short) Status.DISABLED.value());
+                    logger.log("删除用户", "禁用" + user.getUserUU());
+                    userDao.save(user);
+                }
+                if (user.getEnterprises().size() == 0) {
+                    userDao.delete(user);
+                    logger.log("删除用户", "删除" + user.getUserUU());
+                }
+            }
         }
     }
 }