zhangxin 7 سال پیش
والد
کامیت
bbfdbf7deb

+ 1 - 1
mooctest-user-server/pom.xml

@@ -24,7 +24,7 @@
         <dependency>
             <groupId>cn.iselab.mooctest</groupId>
             <artifactId>user-dubbo-api</artifactId>
-            <version>1.0.6</version>
+            <version>1.0.8</version>
         </dependency>
         <dependency>
             <groupId>cn.iselab.mooctest</groupId>

+ 18 - 0
mooctest-user-server/src/main/java/cn/iselab/mooctest/user/dao/UserDao.java

@@ -0,0 +1,18 @@
+package cn.iselab.mooctest.user.dao;
+
+import cn.iselab.mooctest.user.model.User;
+import org.springframework.data.repository.CrudRepository;
+
+import javax.transaction.Transactional;
+
+/**
+ * @author sean
+ * @date 2018-03-04.
+ */
+@Transactional
+public interface UserDao extends CrudRepository<User, Long>{
+
+    User findByEmail(String email);
+
+    User findByMobile(String mobile);
+}

+ 1 - 1
mooctest-user-server/src/main/java/cn/iselab/mooctest/user/model/User.java

@@ -31,7 +31,7 @@ public class User {
     private String school;
 
     @Column(name = "create_time")
-    private Timestamp createTime;
+    private Timestamp createTime = new Timestamp(System.currentTimeMillis());
 
     @Column(name = "photo_url")
     private String photoUrl;

+ 2 - 1
mooctest-user-server/src/main/java/cn/iselab/mooctest/user/rpc/MedalRPC.java

@@ -29,7 +29,8 @@ public class MedalRPC implements MedalService{
      * @return medalTO
      */
     @Override
-    public MedalDTO saveMedal(MedalDTO dto){
+    public MedalDTO saveMedal(MedalDTO dto)
+    {
         return medalLogic.saveMedal(dto);
     }
 

+ 51 - 0
mooctest-user-server/src/main/java/cn/iselab/mooctest/user/rpc/UserRPC.java

@@ -0,0 +1,51 @@
+package cn.iselab.mooctest.user.rpc;
+
+import cn.iselab.mooctest.rpc.user.api.UserService;
+import cn.iselab.mooctest.rpc.user.data.UserDTO;
+import cn.iselab.mooctest.user.web.logic.UserLogic;
+import com.alibaba.dubbo.config.annotation.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author sean
+ * @date 2018-03-03.
+ */
+@Service(version = "1.0.0")
+@Component
+public class UserRPC implements UserService {
+
+    @Autowired
+    private UserLogic userLogic;
+
+    @Override
+    public UserDTO getUserByEmail(String s) {
+        return userLogic.getUserByEmail(s);
+    }
+
+    @Override
+    public UserDTO getUserByMobile(String s) {
+        return userLogic.getUserByMobile(s);
+    }
+
+    @Override
+    public UserDTO getUserById(Long userId) {
+        return userLogic.getUserById(userId);
+    }
+
+    @Override
+    public Boolean checkPassword(UserDTO userDTO) {
+        return userLogic.checkPassword(userDTO);
+    }
+
+    @Override
+    public UserDTO save(UserDTO userDTO)
+    {
+        return userLogic.save(userDTO);
+    }
+
+    @Override
+    public UserDTO updateUser(UserDTO userDTO) {
+        return userLogic.updateUser(userDTO);
+    }
+}

+ 2 - 6
mooctest-user-server/src/main/java/cn/iselab/mooctest/user/service/UserService.java

@@ -12,14 +12,10 @@ public interface UserService {
 
     User findByMobile(String mobile);
 
-    Boolean checkPassword(String username, String password);
-
     User register(User user);
 
-    User updatePassword(String password);
-
-    User updateName(String name);
-
+    User findById(Long userId);
 
+    User update(User user);
 }
 

+ 43 - 0
mooctest-user-server/src/main/java/cn/iselab/mooctest/user/service/impl/UserServiceImpl.java

@@ -0,0 +1,43 @@
+package cn.iselab.mooctest.user.service.impl;
+
+import cn.iselab.mooctest.user.dao.UserDao;
+import cn.iselab.mooctest.user.model.User;
+import cn.iselab.mooctest.user.service.UserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author sean
+ * @date 2018-03-04.
+ */
+@Service
+public class UserServiceImpl implements UserService {
+
+    @Autowired
+    private UserDao userDao;
+
+    @Override
+    public User findByEmail(String email) {
+        return userDao.findByEmail(email);
+    }
+
+    @Override
+    public User findByMobile(String mobile) {
+        return userDao.findByMobile(mobile);
+    }
+
+    @Override
+    public User register(User user) {
+        return userDao.save(user);
+    }
+
+    @Override
+    public User findById(Long userId) {
+        return userDao.findOne(userId);
+    }
+
+    @Override
+    public User update(User user) {
+        return userDao.save(user);
+    }
+}

+ 22 - 0
mooctest-user-server/src/main/java/cn/iselab/mooctest/user/web/logic/UserLogic.java

@@ -0,0 +1,22 @@
+package cn.iselab.mooctest.user.web.logic;
+
+import cn.iselab.mooctest.rpc.user.data.UserDTO;
+
+/**
+ * @author sean
+ * @date 2018-03-04.
+ */
+public interface UserLogic {
+
+    UserDTO getUserByEmail(String s);
+
+    UserDTO getUserByMobile(String s);
+
+    UserDTO getUserById(Long userId);
+
+    Boolean checkPassword(UserDTO userDTO);
+
+    UserDTO save(UserDTO userDTO);
+
+    UserDTO updateUser(UserDTO userDTO);
+}

+ 77 - 0
mooctest-user-server/src/main/java/cn/iselab/mooctest/user/web/logic/impl/UserLogicImpl.java

@@ -0,0 +1,77 @@
+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.service.UserService;
+import cn.iselab.mooctest.user.web.exception.HttpBadRequestException;
+import cn.iselab.mooctest.user.web.logic.BaseLogic;
+import cn.iselab.mooctest.user.web.logic.UserLogic;
+import cn.iselab.mooctest.user.web.wrapper.UserWrapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author sean
+ * @date 2018-03-04.
+ */
+@Service
+public class UserLogicImpl extends BaseLogic implements UserLogic {
+
+    @Autowired
+    private UserService userService;
+
+    @Autowired
+    private UserWrapper userWrapper;
+
+    @Override
+    public UserDTO getUserByEmail(String s) {
+        User user = userService.findByEmail(s);
+        return userWrapper.wrap(user);
+    }
+
+    @Override
+    public UserDTO getUserByMobile(String s) {
+        User user = userService.findByMobile(s);
+        return userWrapper.wrap(user);
+    }
+
+    @Override
+    public UserDTO getUserById(Long userId) {
+        User user = userService.findById(userId);
+        return userWrapper.wrap(user);
+    }
+
+    @Override
+    public Boolean checkPassword(UserDTO userDTO) {
+        String password = userDTO.getPassword();
+        User user = new User();
+        if (userDTO.getEmail().isEmpty() && userDTO.getMobile().isEmpty()) {
+            throw new HttpBadRequestException("empty username");
+        }
+        if (!userDTO.getEmail().isEmpty()) {
+            user = userService.findByEmail(userDTO.getEmail());
+            if (user.getPassword().equals(password)) {
+                return true;
+            } else
+                return false;
+        } else {
+            user = userService.findByMobile(userDTO.getMobile());
+            if (user.getPassword().equals(password)) {
+                return true;
+            } else
+                return false;
+        }
+    }
+
+    @Override
+    public UserDTO save(UserDTO userDTO) {
+        User user = userWrapper.unwrap(userDTO);
+        return userWrapper.wrap(userService.register(user));
+    }
+
+    @Override
+    public UserDTO updateUser(UserDTO userDTO) {
+        User user = userWrapper.unwrap(userDTO);
+        return userWrapper.wrap(userService.update(user));
+    }
+}

+ 54 - 0
mooctest-user-server/src/main/java/cn/iselab/mooctest/user/web/wrapper/UserWrapper.java

@@ -0,0 +1,54 @@
+package cn.iselab.mooctest.user.web.wrapper;
+
+import cn.iselab.mooctest.rpc.user.data.UserDTO;
+import cn.iselab.mooctest.user.model.User;
+import org.springframework.stereotype.Service;
+
+import java.sql.Timestamp;
+
+/**
+ * @author sean
+ * @date 2018-03-04.
+ */
+@Service
+public class UserWrapper extends BaseWrapper<UserDTO, User> {
+
+    @Override
+    public UserDTO wrap(User user) {
+        UserDTO userDTO = new UserDTO();
+
+        userDTO.setAvailable(user.getAvailable());
+        userDTO.setCity(user.getCity());
+        userDTO.setCreateTime(user.getCreateTime().getTime());
+        userDTO.setEmail(user.getEmail());
+        userDTO.setId(user.getId());
+        userDTO.setManualCheckValid(user.getManualCheckValid());
+        userDTO.setMobile(user.getMobile());
+        userDTO.setName(user.getName());
+        userDTO.setPassword(user.getPassword());
+        userDTO.setPhotoUrl(user.getPhotoUrl());
+        userDTO.setProvince(user.getProvince());
+        userDTO.setSchool(user.getSchool());
+        return userDTO;
+    }
+
+    @Override
+    public User unwrap(UserDTO data) {
+        User user = new User();
+
+        user.setSchool(data.getSchool());
+        user.setProvince(data.getProvince());
+        user.setPhotoUrl(data.getPhotoUrl());
+        user.setAvailable(data.getAvailable());
+        user.setCity(data.getCity());
+        user.setCreateTime(new Timestamp(data.getCreateTime()));
+        user.setEmail(data.getEmail());
+        user.setId(data.getId());
+        user.setManualCheckValid(data.getManualCheckValid());
+        user.setMobile(data.getMobile());
+        user.setName(data.getName());
+        user.setPassword(data.getPassword());
+
+        return user;
+    }
+}