Browse Source

修改手机号码修改邮箱修改密码增加日志记录

hejq 8 years ago
parent
commit
ac78121884

+ 13 - 0
src/main/java/com/uas/platform/b2b/dao/CommunalLogDao.java

@@ -0,0 +1,13 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.CommunalLog;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+/**
+ * Created by US50 on 2017-12-12.
+ */
+@Repository
+public interface CommunalLogDao extends JpaSpecificationExecutor<CommunalLog>, JpaRepository<CommunalLog, Long> {
+}

+ 9 - 0
src/main/java/com/uas/platform/b2b/model/CommunalLog.java

@@ -150,6 +150,15 @@ public class CommunalLog extends BufferedLogable implements Serializable {
         this.detail = detail;
     }
 
+    public CommunalLog(String title, String message, String detail, Long userUU, Long enUU) {
+        this.enUU = enUU;
+        this.title = title;
+        this.message = message;
+        this.time = new Date().getTime();
+        this.detail = detail;
+        this.userUU = userUU;
+    }
+
     @Override
     public String bufferedMessage() {
         StringBuffer sb = new StringBuffer();

+ 27 - 0
src/main/java/com/uas/platform/b2b/service/impl/CommunalLogServiceImpl.java

@@ -0,0 +1,27 @@
+package com.uas.platform.b2b.service.impl;
+
+import com.uas.platform.b2b.dao.CommunalLogDao;
+import com.uas.platform.b2b.model.CommunalLog;
+import com.uas.platform.b2b.service.CommunalLogService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * Created by hejq on 2017-12-12.
+ */
+@Service
+public class CommunalLogServiceImpl implements CommunalLogService {
+
+    @Autowired
+    private CommunalLogDao communalLogDao;
+
+    @Override
+    public void save(CommunalLog communalLog) {
+        communalLogDao.save(communalLog);
+    }
+
+    @Override
+    public void save(Iterable<CommunalLog> iterable) {
+        communalLogDao.save(iterable);
+    }
+}

+ 24 - 17
src/main/java/com/uas/platform/b2b/service/impl/UserServiceImpl.java

@@ -1,5 +1,4 @@
 package com.uas.platform.b2b.service.impl;
-
 import com.uas.account.entity.UserDetail;
 import com.uas.account.util.AccountUtils;
 import com.uas.message.mail.service.MailService;
@@ -7,33 +6,22 @@ import com.uas.platform.b2b.dao.*;
 import com.uas.platform.b2b.model.*;
 import com.uas.platform.b2b.service.UserService;
 import com.uas.platform.b2b.service.VendorService;
-import com.uas.platform.b2b.support.MessageConf;
-import com.uas.platform.b2b.support.SendMailService;
-import com.uas.platform.b2b.support.SystemSession;
-import com.uas.platform.b2b.support.TokenService;
+import com.uas.platform.b2b.support.*;
 import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.exception.SystemException;
+import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.Status;
-import com.uas.platform.core.persistence.criteria.CriterionExpression;
-import com.uas.platform.core.persistence.criteria.LogicalExpression;
-import com.uas.platform.core.persistence.criteria.SimpleExpression;
 import com.uas.platform.core.util.AgentUtils;
 import com.uas.platform.core.util.encry.Md5Utils;
 import com.uas.search.b2b.model.SPage;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
-import org.springframework.data.jpa.domain.Specification;
 import org.springframework.security.core.userdetails.UsernameNotFoundException;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
-
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
 import javax.servlet.http.HttpServletRequest;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -81,6 +69,8 @@ public class UserServiceImpl implements UserService {
 	 */
 	private static final String ENGLISH_REGEXP = "^[A-Za-z]+$";
 
+	private final static CommBufferedLogger logger = BufferedLoggerManager.getLogger(CommBufferedLogger.class);
+
 	@Override
 	public boolean isEmailUseable(String email) {
 		return userDao.findUserByUserEmail(email).size() == 0;
@@ -164,15 +154,22 @@ public class UserServiceImpl implements UserService {
 	}
 
 	@Override
-	public User updateUserInfo(User user) throws Exception {
+	public User updateUserInfo(User user){
 		User newUser = userDao.findOne(user.getUserUU());
+		Long enuu = SystemSession.getUser().getEnterprise().getUu();
 		if (newUser != null) {
 			if (!newUser.getUserTel().equals(user.getUserTel().trim())) {// 修改了用户手机号
 				List<User> users = userDao.findUserByUserTel(user.getUserTel().trim());
 				if (users.size() > 0) {
 					throw new IllegalOperatorException("电话号码重复,建议输入您自己的手机号");
 				}
-				AccountUtils.updateTel(user.getUserTel().trim(),newUser.getUserTel().trim());
+				try {
+					AccountUtils.updateTel(user.getUserTel().trim(),newUser.getUserTel().trim());
+					logger.log("修改用户信息", "success", "修改电话号码: " + user.getUserTel() + "->" + newUser.getUserTel() + "同步到账户中心成功", user.getUserUU(), enuu);
+				} catch (Exception e) {
+					logger.log("修改用户信息", "error", "修改电话号码: " + user.getUserTel() + "->" + newUser.getUserTel() + "同步到账户中心失败", user.getUserUU(), enuu);
+					e.printStackTrace();
+				}
 			}
 			if (newUser.getUserEmail() != null) {
 				if (!newUser.getUserEmail().equals(user.getUserEmail().trim())) {// 修改了用户邮箱地址
@@ -180,7 +177,13 @@ public class UserServiceImpl implements UserService {
 					if (users.size() > 0) {
 						throw new IllegalOperatorException("邮箱地址重复,建议输入您自己的电子邮箱地址");
 					}
-					AccountUtils.updateEmail(user.getUserTel().trim(),newUser.getUserEmail().trim());
+					try {
+						AccountUtils.updateEmail(user.getUserTel().trim(),newUser.getUserEmail().trim());
+						logger.log("修改用户信息", "error", "修改邮箱: " + user.getUserEmail() + "->" + newUser.getUserEmail() + "同步到账户中心失败", user.getUserUU(), enuu);
+					} catch (Exception e) {
+						logger.log("修改用户信息", "error", "修改邮箱: " + user.getUserEmail() + "->" + newUser.getUserEmail() + "同步到账户中心失败", user.getUserUU(), enuu);
+						e.printStackTrace();
+					}
 				}
 				newUser.setUserEmail(user.getUserEmail().trim());
 			}
@@ -344,7 +347,11 @@ public class UserServiceImpl implements UserService {
 			try {
 				user1 = userDao.save(user1);
 				AccountUtils.resetPassword(user1.getUserUU(), enterprise.getUu(), newPassword);
+				logger.log("修改用户信息", "success",
+						"修改密码: " + Md5Utils.encode(password, user.getUserUU()) + "->" + user1.getUserPwd() + "同步到账户中心成功", user.getUserUU(), SystemSession.getUser().getEnterprise().getUu());
 			} catch (Exception e) {
+				logger.log("修改用户信息", "error",
+						"修改密码: " + Md5Utils.encode(password, user.getUserUU()) + "->" + user1.getUserPwd() + "同步到账户中心失败", user.getUserUU(), SystemSession.getUser().getEnterprise().getUu());
 				throw new SystemException(e.getMessage());
 			}
 			return user1;

+ 14 - 1
src/main/java/com/uas/platform/b2b/support/CommBufferedLogger.java

@@ -17,7 +17,7 @@ public class CommBufferedLogger  extends BufferedLogger<CommunalLog> {
     }
 
     /**
-     * 记录平台密码找回日志
+     * 记录数据同步日志
      *
      * @param title
      *            消息标题
@@ -27,4 +27,17 @@ public class CommBufferedLogger  extends BufferedLogger<CommunalLog> {
     public void log(String title, String message, String detail, Long enUU) {
         log(new CommunalLog(title, message, detail, enUU));
     }
+
+    /**
+     * 用户修改信息同步日志记录
+     *
+     * @param title
+     * @param message
+     * @param detail
+     * @param userUU
+     * @param enUU
+     */
+    public void log(String title, String message, String detail, Long userUU, Long enUU) {
+        log(new CommunalLog(title, message, detail, userUU, enUU));
+    }
 }