|
@@ -7,6 +7,8 @@ import cn.com.qmth.examcloud.commons.base.exception.StatusException;
|
|
|
import cn.com.qmth.examcloud.core.basic.dao.UserRepo;
|
|
|
import cn.com.qmth.examcloud.core.basic.dao.entity.UserEntity;
|
|
|
import cn.com.qmth.examcloud.core.basic.service.UserService;
|
|
|
+import cn.com.qmth.examcloud.task.api.DataSyncCloudService;
|
|
|
+import cn.com.qmth.examcloud.task.api.request.SyncUserReq;
|
|
|
|
|
|
/**
|
|
|
* 用户服务类 Created by songyue on 17/1/13.
|
|
@@ -17,13 +19,39 @@ public class UserServiceImpl implements UserService {
|
|
|
@Autowired
|
|
|
UserRepo userRepo;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ DataSyncCloudService dataSyncCloudService;
|
|
|
+
|
|
|
public UserEntity save(UserEntity user) {
|
|
|
UserEntity one = userRepo.findByRootOrgIdAndLoginName(user.getRootOrgId(),
|
|
|
user.getLoginName());
|
|
|
if (one != null && (!one.getId().equals(user.getId()))) {
|
|
|
throw new StatusException("B-150002", "登录名已存在");
|
|
|
}
|
|
|
- return userRepo.save(user);
|
|
|
+
|
|
|
+ long updateTime = 0L;
|
|
|
+ if (null != one && null != one.getUpdateTime()) {
|
|
|
+ updateTime = one.getUpdateTime().getTime();
|
|
|
+ }
|
|
|
+
|
|
|
+ UserEntity saved = userRepo.save(user);
|
|
|
+
|
|
|
+ if (updateTime != saved.getUpdateTime().getTime()) {
|
|
|
+ SyncUserReq r = new SyncUserReq();
|
|
|
+ r.setEnable(saved.getEnable());
|
|
|
+ r.setId(saved.getId());
|
|
|
+ r.setLoginName(saved.getLoginName());
|
|
|
+ r.setName(saved.getName());
|
|
|
+ r.setOrgId(saved.getOrgId());
|
|
|
+ r.setPassword(saved.getPassword());
|
|
|
+ r.setPhoneNumber(saved.getPhoneNumber());
|
|
|
+ r.setRootOrgId(saved.getRootOrgId());
|
|
|
+ r.setSyncType("update");
|
|
|
+
|
|
|
+ dataSyncCloudService.syncUser(r);
|
|
|
+ }
|
|
|
+
|
|
|
+ return saved;
|
|
|
}
|
|
|
|
|
|
}
|