|
|
@@ -12,12 +12,14 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
+import org.springframework.util.StringUtils;
|
|
|
|
|
|
import com.uas.platform.b2b.dao.UserDao;
|
|
|
import com.uas.platform.b2b.model.User;
|
|
|
import com.uas.platform.b2b.service.UserService;
|
|
|
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.core.exception.IllegalOperatorException;
|
|
|
import com.uas.platform.core.model.Constant;
|
|
|
import com.uas.platform.core.model.Status;
|
|
|
@@ -26,11 +28,18 @@ import com.uas.platform.core.util.encry.Md5Utils;
|
|
|
|
|
|
@Service
|
|
|
public class UserServiceImpl implements UserService {
|
|
|
+
|
|
|
|
|
|
@Autowired
|
|
|
private UserDao userDao;
|
|
|
@Autowired
|
|
|
private SendMailService sendMailService;
|
|
|
+ @Autowired
|
|
|
+ private TokenService tokenService;
|
|
|
+
|
|
|
+ static final String TEL_REGEXP = "^((\\(\\d{3}\\))|(\\d{3}\\-))?(13|15|18)\\d{9}$";
|
|
|
+
|
|
|
+ static final String UU_REGEXP = "^\\d{4,}$";
|
|
|
|
|
|
@Override
|
|
|
public boolean isEmailUseable(String email) {
|
|
|
@@ -157,7 +166,7 @@ public class UserServiceImpl implements UserService {
|
|
|
model.put("dateTime", timeFormat.format(new Date()));
|
|
|
model.put("userTel", user.getUserTel());
|
|
|
model.put("rootpath", AgentUtils.getHost(request));
|
|
|
- sendMailService.sendTemplateMail(user.getUserEmail(), "欢迎使用UAS管理平台", model, "velocity/newUser.vm");
|
|
|
+ sendMailService.sendTemplateMail(user.getUserEmail(), "欢迎使用UAS商务平台", model, "velocity/newUser.vm");
|
|
|
return user;
|
|
|
}
|
|
|
|
|
|
@@ -191,4 +200,76 @@ public class UserServiceImpl implements UserService {
|
|
|
return CollectionUtils.isEmpty(users) ? null : users.get(0);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public User findShieldUuserInfo(String userName) {
|
|
|
+ User user = null;
|
|
|
+ if (userName.contains("@")) { // 邮箱登录
|
|
|
+ user = findUserByUserEmail(userName);
|
|
|
+ } else if (userName.matches(TEL_REGEXP)) {// 手机号登录
|
|
|
+ user = findUserByUserTel(userName);
|
|
|
+ } else if (userName.matches(UU_REGEXP)) {
|
|
|
+ user = findUserByUserUU(Long.parseLong(userName));
|
|
|
+ }
|
|
|
+ if(user == null)
|
|
|
+ throw new IllegalOperatorException("未查找到您输入账号的用户信息");
|
|
|
+ user.setCurrentEnterprise();
|
|
|
+ if(user.getEnterprise() == null)
|
|
|
+ throw new IllegalOperatorException("您的账号已被管理员删除,无法操作");
|
|
|
+ return user;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void sendForgetEmai(Long userUU, String type, HttpServletRequest request) {
|
|
|
+ User user = userDao.findOne(userUU);
|
|
|
+ user.setCurrentEnterprise();
|
|
|
+ String encodeString = tokenService.getEncodeToken("user", user.getUserUU());
|
|
|
+ // 发送邮件
|
|
|
+ Map<String, Object> model = new HashMap<String, Object>();
|
|
|
+ model.put("enName", user.getEnterprise().getEnName());
|
|
|
+ model.put("userName", user.getUserName());
|
|
|
+ model.put("uu", user.getUserUU());
|
|
|
+ model.put("checkcode", encodeString);
|
|
|
+ model.put("rootpath", AgentUtils.getHost(request));
|
|
|
+ if("admin".equals(type)) {//发送给管理员
|
|
|
+ User admin = userDao.findOne(user.getEnterprise().getEnAdminuu());
|
|
|
+ // 发送邮件
|
|
|
+ model.put("email", admin.getUserEmail());
|
|
|
+ sendMailService.sendTemplateMail(admin.getUserEmail(), "UAS商务平台找回密码", model, "velocity/forgetPwd.vm");
|
|
|
+ } else {//发送给自己
|
|
|
+ // 发送邮件
|
|
|
+ model.put("email", user.getUserEmail());
|
|
|
+ sendMailService.sendTemplateMail(user.getUserEmail(), "UAS商务平台找回密码", model, "velocity/forgetPwd.vm");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String checkForget(Long userUU, String checkcode) {
|
|
|
+ String encodeString = null;
|
|
|
+ if(tokenService.isCertified("user", userUU, checkcode)) {
|
|
|
+ encodeString = tokenService.getEncodeToken("user", userUU);
|
|
|
+ } else {
|
|
|
+ throw new IllegalOperatorException("验证码验证失败");
|
|
|
+ }
|
|
|
+ return encodeString;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void resetPwdByCheckcode(Long userUU, String newPwd, String checkcode) {
|
|
|
+ if(StringUtils.hasText(newPwd) && StringUtils.hasText(checkcode) && userUU != null) {
|
|
|
+ boolean result = tokenService.isCertified("user", userUU, checkcode);
|
|
|
+ if (result) {
|
|
|
+ User user = userDao.findOne(userUU);
|
|
|
+ if(user != null) {
|
|
|
+ user.setUserPwd(Md5Utils.encode(newPwd, userUU));
|
|
|
+ userDao.save(user);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ throw new IllegalArgumentException();
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ throw new IllegalArgumentException();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|