|
@@ -2,6 +2,8 @@ package cn.iselab.mooctest.user.web.logic.impl;
|
|
|
|
|
|
import cn.iselab.mooctest.rpc.user.data.UserDTO;
|
|
|
import cn.iselab.mooctest.user.model.User;
|
|
|
+import cn.iselab.mooctest.user.model.UserIntegral;
|
|
|
+import cn.iselab.mooctest.user.service.IntegralService;
|
|
|
import cn.iselab.mooctest.user.service.UserService;
|
|
|
import cn.iselab.mooctest.user.web.exception.HttpBadRequestException;
|
|
|
import cn.iselab.mooctest.user.web.logic.BaseLogic;
|
|
@@ -10,6 +12,9 @@ import cn.iselab.mooctest.user.web.wrapper.UserWrapper;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.sql.Timestamp;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
/**
|
|
|
* @author sean
|
|
|
* @date 2018-03-04.
|
|
@@ -23,13 +28,18 @@ public class UserLogicImpl extends BaseLogic implements UserLogic {
|
|
|
@Autowired
|
|
|
private UserWrapper userWrapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IntegralService integralService;
|
|
|
+
|
|
|
@Override
|
|
|
public UserDTO getUserByEmail(String s) {
|
|
|
User user = userService.findByEmail(s);
|
|
|
if (user == null) {
|
|
|
return null;
|
|
|
}
|
|
|
- return userWrapper.wrap(user);
|
|
|
+ UserDTO dto = userWrapper.wrap(user);
|
|
|
+ setIntegral(dto, user);
|
|
|
+ return dto;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -38,7 +48,9 @@ public class UserLogicImpl extends BaseLogic implements UserLogic {
|
|
|
if (user == null) {
|
|
|
return null;
|
|
|
}
|
|
|
- return userWrapper.wrap(user);
|
|
|
+ UserDTO dto = userWrapper.wrap(user);
|
|
|
+ setIntegral(dto, user);
|
|
|
+ return dto;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -47,13 +59,15 @@ public class UserLogicImpl extends BaseLogic implements UserLogic {
|
|
|
if (user == null) {
|
|
|
return null;
|
|
|
}
|
|
|
- return userWrapper.wrap(user);
|
|
|
+ UserDTO dto = userWrapper.wrap(user);
|
|
|
+ setIntegral(dto, user);
|
|
|
+ return dto;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public Boolean checkPassword(UserDTO userDTO) {
|
|
|
String password = userDTO.getPassword();
|
|
|
- User user = new User();
|
|
|
+ User user;
|
|
|
if (userDTO.getEmail().isEmpty() && userDTO.getMobile().isEmpty()) {
|
|
|
throw new HttpBadRequestException("empty username");
|
|
|
}
|
|
@@ -81,6 +95,46 @@ public class UserLogicImpl extends BaseLogic implements UserLogic {
|
|
|
@Override
|
|
|
public UserDTO updateUser(UserDTO userDTO) {
|
|
|
User user = userWrapper.unwrap(userDTO);
|
|
|
- return userWrapper.wrap(userService.update(user));
|
|
|
+ user = userService.update(user);
|
|
|
+ return userWrapper.wrap(user);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void setIntegral(UserDTO dto, User user) {
|
|
|
+ UserIntegral integral = integralService.findByUserId(user.getId());
|
|
|
+ if (integral == null) {
|
|
|
+ UserIntegral integral1 = new UserIntegral();
|
|
|
+ integral1.setEnabled(true);
|
|
|
+ integral1.setTotal(0);
|
|
|
+ integral1.setUserId(user.getId());
|
|
|
+ integral1.setCreateTime(new Timestamp(System.currentTimeMillis()));
|
|
|
+ integralService.saveIntegral(integral1);
|
|
|
+ dto.setIntegral(integral1.getTotal());
|
|
|
+ } else {
|
|
|
+ dto.setIntegral(integral.getTotal());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<UserDTO> getUserByFuzzyName(UserDTO userDTO) {
|
|
|
+ List<User> users = userService.findByFuzzyName(userDTO.getName());
|
|
|
+ return userWrapper.wrap(users);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<UserDTO> getUserByFuzzyEmail(UserDTO userDTO) {
|
|
|
+ List<User> users = userService.findByFuzzyEmail(userDTO.getEmail());
|
|
|
+ return userWrapper.wrap(users);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<UserDTO> getUserByFuzzyNameOrEmail(UserDTO userDTO) {
|
|
|
+ String keyword = null;
|
|
|
+ if(userDTO.getName() != null) {
|
|
|
+ keyword = userDTO.getName();
|
|
|
+ } else if (userDTO.getEmail() != null) {
|
|
|
+ keyword = userDTO.getEmail();
|
|
|
+ }
|
|
|
+ List<User> userList = userService.findByFuzzyNameOrEmail(keyword);
|
|
|
+ return userWrapper.wrap(userList);
|
|
|
}
|
|
|
}
|