|
@@ -3,6 +3,8 @@ package cn.iselab.mooctest.user.web.logic.impl;
|
|
|
import cn.iselab.mooctest.rpc.user.data.UserDTO;
|
|
|
import cn.iselab.mooctest.user.constants.Converter;
|
|
|
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;
|
|
@@ -11,6 +13,7 @@ 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.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
@@ -28,13 +31,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
|
|
@@ -43,7 +51,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
|
|
@@ -52,7 +62,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
|
|
@@ -79,18 +91,30 @@ public class UserLogicImpl extends BaseLogic implements UserLogic {
|
|
|
|
|
|
@Override
|
|
|
public UserDTO save(UserDTO userDTO) {
|
|
|
- User user = Converter.convert(User.class, userDTO);
|
|
|
- user = userService.register(user);
|
|
|
- return Converter.convert(UserDTO.class, user);
|
|
|
+ User user = userWrapper.unwrap(userDTO);
|
|
|
+ return userWrapper.wrap(userService.register(user));
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public UserDTO updateUser(UserDTO userDTO) {
|
|
|
- User user = Converter.convert(User.class, userDTO);
|
|
|
- user = userService.update(user);
|
|
|
- return Converter.convert(UserDTO.class, user);
|
|
|
+ User user = userWrapper.unwrap(userDTO);
|
|
|
+ return userWrapper.wrap(userService.update(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> findByCondition(Map<String , String> condition) {
|
|
|
List<User> userList = userService.findByCondition(condition);
|
|
@@ -102,6 +126,5 @@ public class UserLogicImpl extends BaseLogic implements UserLogic {
|
|
|
|
|
|
}
|
|
|
return userDTOList;
|
|
|
-
|
|
|
}
|
|
|
}
|