|
|
@@ -1,171 +1,32 @@
|
|
|
package com.uas.platform.b2c.common.account.v2.service.impl;
|
|
|
|
|
|
-import com.uas.account.entity.User;
|
|
|
-import com.uas.account.entity.UserDetail;
|
|
|
-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.Enterprise;
|
|
|
+import com.uas.platform.b2c.common.account.model.User;
|
|
|
import com.uas.platform.b2c.common.account.v2.service.UserService;
|
|
|
-import com.uas.platform.core.model.Constant;
|
|
|
-import com.uas.platform.core.util.encry.Md5Utils;
|
|
|
-import org.apache.axis.utils.StringUtils;
|
|
|
+import com.uas.platform.b2c.core.support.log.UsageBufferedLogger;
|
|
|
+import com.uas.platform.core.logging.BufferedLoggerManager;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
-import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
-import java.util.List;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.util.Date;
|
|
|
+
|
|
|
|
|
|
@Service("v2.UserService")
|
|
|
public class UserServiceImpl implements UserService {
|
|
|
|
|
|
@Autowired
|
|
|
private UserDao userDao;
|
|
|
-// @Autowired
|
|
|
-// private RoleDao roleDao;
|
|
|
- @Autowired
|
|
|
- private EnterpriseDao enterpriseDao;
|
|
|
-
|
|
|
- static final String defaultPassword = "111111";
|
|
|
-
|
|
|
- @Override
|
|
|
- public User save(User user, UserDetail detail) {
|
|
|
- com.uas.platform.b2c.common.account.model.User oldUser = getUser(user);
|
|
|
- if (oldUser == null) { // 如果是新用户,就新增一个user
|
|
|
- oldUser = new com.uas.platform.b2c.common.account.model.User();
|
|
|
- oldUser.setEnable(Constant.YES);
|
|
|
- oldUser.setUserPwd(Md5Utils.encode(defaultPassword, oldUser.getUserUU()));
|
|
|
- }
|
|
|
- if (null != detail.getEmail())
|
|
|
- oldUser.setUserEmail(detail.getEmail());
|
|
|
- if (null != detail.getIdCode())
|
|
|
- oldUser.setUserIdcode(detail.getIdCode());
|
|
|
- if (null != detail.getName())
|
|
|
- oldUser.setUserName(detail.getName());
|
|
|
- boolean needChangePwd = false;
|
|
|
- if (user.getPassword() != null) {
|
|
|
- if (user.getPassword().length() < 32) {// 传过来的是明文
|
|
|
- if (oldUser.getUserUU() != null)
|
|
|
- oldUser.setUserPwd(Md5Utils.encode(user.getPassword(), oldUser.getUserUU()));
|
|
|
- else
|
|
|
- needChangePwd = true;
|
|
|
- } else {
|
|
|
- oldUser.setUserPwd(user.getPassword());// 传过来的是密文
|
|
|
- }
|
|
|
- }
|
|
|
- if (null != detail.getSex())
|
|
|
- oldUser.setUserSex(detail.getSex());
|
|
|
- if (null != detail.getMobile())
|
|
|
- oldUser.setUserTel(detail.getMobile());
|
|
|
-
|
|
|
- Enterprise enterprise = getEnterprise(user);
|
|
|
- if (enterprise != null) {
|
|
|
- oldUser.addEnterprise(enterprise);
|
|
|
- }
|
|
|
-
|
|
|
- oldUser = userDao.save(oldUser);
|
|
|
- if (needChangePwd) {
|
|
|
- oldUser.setUserPwd(Md5Utils.encode(user.getPassword(), oldUser.getUserUU()));
|
|
|
- oldUser = userDao.save(oldUser);
|
|
|
- }
|
|
|
- if (enterprise != null) {
|
|
|
- // 管理员账号
|
|
|
- if (/*StringUtils.isEmpty(enterprise.getEnAdminTel()) &&*/ null == enterprise.getEnAdminuu()) {
|
|
|
-// enterprise.setEnAdminName(oldUser.getUserName());
|
|
|
-// enterprise.setEnAdminEmail(oldUser.getUserEmail());
|
|
|
-// enterprise.setEnAdminTel(oldUser.getUserTel());
|
|
|
- enterprise.setEnAdminuu(oldUser.getUserUU());
|
|
|
- enterpriseDao.save(enterprise);
|
|
|
- }
|
|
|
-// else if (oldUser.getUserTel().equals(enterprise.getEnAdminTel())) {
|
|
|
-// enterprise.setEnAdminName(oldUser.getUserName());
|
|
|
-// enterprise.setEnAdminEmail(oldUser.getUserEmail());
|
|
|
-// enterprise.setEnAdminuu(oldUser.getUserUU());
|
|
|
-// enterpriseDao.save(enterprise);
|
|
|
-// }
|
|
|
-// // 将用户设置为管理员,只对用户的当前企业的角色进行修改
|
|
|
-// Set<Role> existRoles = new HashSet<Role>(); // 新用户注册企业时为空
|
|
|
-// if (!CollectionUtils.isEmpty(oldUser.getRoles())) { // 老用户注册新企业
|
|
|
-// existRoles = oldUser.getRoles();
|
|
|
-// }
|
|
|
-// // 设置为本企业管理员
|
|
|
-// List<Role> adminList = roleDao.findByEnUUAndDesc(enterprise.getUu(),"管理员");
|
|
|
-// existRoles.add(adminList.get(0));
|
|
|
-// oldUser.setRoles(existRoles);
|
|
|
- oldUser = userDao.save(oldUser);
|
|
|
- }
|
|
|
- user.setDialectUID(String.valueOf(oldUser.getUserUU()));
|
|
|
- user.setSalt(String.valueOf(oldUser.getUserUU()));
|
|
|
-
|
|
|
- return user;
|
|
|
- }
|
|
|
-
|
|
|
- private com.uas.platform.b2c.common.account.model.User getUser(User user) {
|
|
|
- com.uas.platform.b2c.common.account.model.User oldUser = null;
|
|
|
- if (!StringUtils.isEmpty(user.getDialectUID()))
|
|
|
- oldUser = userDao.findOne(Long.parseLong(user.getDialectUID()));
|
|
|
- else if (!StringUtils.isEmpty(user.getUid())) {
|
|
|
- List<com.uas.platform.b2c.common.account.model.User> users = userDao.findUserByUserTel(user.getUid());
|
|
|
- oldUser = CollectionUtils.isEmpty(users) ? null : users.get(0);
|
|
|
- }
|
|
|
- return oldUser;
|
|
|
- }
|
|
|
-
|
|
|
- private com.uas.platform.b2c.common.account.model.User getUser(UserDetail userDetail) {
|
|
|
- com.uas.platform.b2c.common.account.model.User oldUser = null;
|
|
|
- if (!StringUtils.isEmpty(userDetail.getSalt()))
|
|
|
- oldUser = userDao.findOne(Long.parseLong(userDetail.getSalt()));
|
|
|
- else if (!StringUtils.isEmpty(userDetail.getMobile())) {
|
|
|
- List<com.uas.platform.b2c.common.account.model.User> users = userDao.findUserByUserTel(userDetail.getMobile());
|
|
|
- oldUser = CollectionUtils.isEmpty(users) ? null : users.get(0);
|
|
|
- }
|
|
|
- return oldUser;
|
|
|
- }
|
|
|
-
|
|
|
- private Enterprise getEnterprise(User user) {
|
|
|
- Enterprise enterprise = null;
|
|
|
- if (user.getSpaceDialectUID() != null)
|
|
|
- enterprise = enterpriseDao.findByUu(Long.parseLong(user.getSpaceDialectUID()));
|
|
|
- else if (user.getSpaceUID() != null)
|
|
|
- enterprise = enterpriseDao.findByEnBussinessCode(user.getSpaceUID());
|
|
|
- return enterprise;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void delete(User user) {
|
|
|
- com.uas.platform.b2c.common.account.model.User oldUser = getUser(user);
|
|
|
- if (oldUser != null) {
|
|
|
- Enterprise enterprise = getEnterprise(user);
|
|
|
- if (enterprise != null) {
|
|
|
- oldUser.getEnterprises().remove(enterprise);
|
|
|
- userDao.save(oldUser);
|
|
|
- } else if (CollectionUtils.isEmpty(oldUser.getEnterprises())) {
|
|
|
- userDao.delete(oldUser);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
- @Override
|
|
|
- public com.uas.platform.b2c.common.account.model.User update(UserDetail user) {
|
|
|
- com.uas.platform.b2c.common.account.model.User oldUser = getUser(user);
|
|
|
- if (oldUser == null) {
|
|
|
- throw new IllegalAccessError("此用户信息不存在");
|
|
|
- } else {
|
|
|
- oldUser.setUserName(user.getName());
|
|
|
- oldUser.setUserTel(user.getMobile());
|
|
|
- oldUser.setUserIdcode(user.getIdCode());
|
|
|
- oldUser.setUserEmail(user.getEmail());
|
|
|
- oldUser.setUserSex(user.getSex());
|
|
|
- return userDao.save(oldUser);
|
|
|
- }
|
|
|
- }
|
|
|
+ private static final UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
|
|
|
|
|
|
- @Override
|
|
|
- public void changePassword(User user, String password) {
|
|
|
- com.uas.platform.b2c.common.account.model.User oldUser = getUser(user);
|
|
|
- if (oldUser != null) {
|
|
|
- oldUser.setUserPwd(Md5Utils.encode(password, oldUser.getUserUU()));
|
|
|
- userDao.save(oldUser);
|
|
|
- }
|
|
|
- }
|
|
|
+ private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
|
|
|
|
|
|
+ @Override
|
|
|
+ public void save(User user) {
|
|
|
+ if(null != user) {
|
|
|
+ userDao.save(user);
|
|
|
+ logger.log("b2b更新用户信息", user.getUserUU() +"time: " + sdf.format(new Date()));
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|