소스 검색

OA数据同步

river 4 년 전
부모
커밋
8b08bb4fdd

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/EmployeeService.java

@@ -7,6 +7,7 @@ import com.ym.mec.biz.dal.enums.EmployeeOperateEnum;
 import com.ym.mec.biz.dal.page.EmployeeQueryInfo;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
+import com.ym.mec.oa.entity.OAUser;
 
 import java.util.HashMap;
 import java.util.List;
@@ -95,4 +96,11 @@ public interface EmployeeService extends BaseService<Integer, Employee> {
     List<SimpleUserDto> findAllByRole(String roleIds,String organIds);
 
     List<Integer> queryUserRole(Integer sysUserId);
+
+    /**
+     * 添加OA用户
+     * @param oaUser
+     * @return
+     */
+    Object addOaUser(OAUser oaUser);
 }

+ 24 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java

@@ -11,8 +11,11 @@ import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.service.ImUserFriendService;
 import com.ym.mec.im.entity.GroupMember;
 import com.ym.mec.im.entity.GroupModel;
+import com.ym.mec.oa.OaFeignService;
+import com.ym.mec.oa.entity.OAUser;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -67,6 +70,8 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 	private ImGroupDao imGroupDao;
 	@Autowired
 	private CooperationOrganDao cooperationOrganDao;
+	@Autowired
+	private OaFeignService oaFeignService;
 
 	@Override
 	public BaseDAO<Integer, Employee> getDAO() {
@@ -107,6 +112,19 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 		ImResult imResult = imFeignService.register(new ImUserModel(employee.getId().toString(), employee.getUsername(),null));
 		employee.setImToken(imResult.getToken());
 		teacherDao.updateUser(employee);
+
+		//添加到OA
+		OAUser oaUser = new OAUser();
+		oaUser.setMecUserId(employee.getUserId());
+		oaUser.setUserName(employee.getRealName());
+		oaUser.setNickName(employee.getRealName());
+		oaUser.setPhone(employee.getPhone());
+		oaUser.setDeptId(employee.getDeptId());
+		oaUser.setPostId(employee.getPostId());
+		if(user != null){
+			oaUser.setAvatar(user.getAvatar());
+		}
+		addOaUser(oaUser);
 	}
 
 	@Override
@@ -386,4 +404,10 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 	public List<Integer> queryUserRole(Integer sysUserId) {
 		return employeeDao.queryUserRole(sysUserId);
 	}
+
+    @Override
+	@Async
+    public Object addOaUser(OAUser oaUser) {
+		return oaFeignService.register(oaUser);
+    }
 }

+ 33 - 0
mec-client-api/src/main/java/com/ym/mec/oa/OaFeignService.java

@@ -0,0 +1,33 @@
+package com.ym.mec.oa;
+
+import com.ym.mec.common.config.FeignConfiguration;
+import com.ym.mec.common.entity.*;
+import com.ym.mec.oa.entity.OAUser;
+import com.ym.mec.oa.fallback.OaFeignServiceFallback;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+@FeignClient(name = "oa-server", url = "http://localhost:8002/api/v1", configuration = FeignConfiguration.class, fallback = OaFeignServiceFallback.class)
+public interface OaFeignService {
+
+    /**
+     * 用户注册
+     *
+     * @param oaUser
+     * @return
+     */
+    @PostMapping(value = "/register", consumes = MediaType.APPLICATION_JSON_VALUE)
+    Object register(@RequestBody OAUser oaUser);
+
+    /**
+     * 用户信息修改
+     *
+     * @param userModel
+     * @return
+     */
+    @PostMapping(value = "/updateUser", consumes = MediaType.APPLICATION_JSON_VALUE)
+    void update(@RequestBody ImUserModel userModel);
+
+}

+ 73 - 0
mec-client-api/src/main/java/com/ym/mec/oa/entity/OAUser.java

@@ -0,0 +1,73 @@
+package com.ym.mec.oa.entity;
+
+public class OAUser {
+    private Integer mecUserId;
+
+    private String nickName;
+
+    private String userName;
+
+    private String phone;
+
+    private String avatar;
+
+    private Integer deptId;
+
+    private Integer postId;
+
+    public Integer getMecUserId() {
+        return mecUserId;
+    }
+
+    public void setMecUserId(Integer mecUserId) {
+        this.mecUserId = mecUserId;
+    }
+
+    public String getNickName() {
+        return nickName;
+    }
+
+    public void setNickName(String nickName) {
+        this.nickName = nickName;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getPhone() {
+        return phone;
+    }
+
+    public void setPhone(String phone) {
+        this.phone = phone;
+    }
+
+    public String getAvatar() {
+        return avatar;
+    }
+
+    public void setAvatar(String avatar) {
+        this.avatar = avatar;
+    }
+
+    public Integer getDeptId() {
+        return deptId;
+    }
+
+    public void setDeptId(Integer deptId) {
+        this.deptId = deptId;
+    }
+
+    public Integer getPostId() {
+        return postId;
+    }
+
+    public void setPostId(Integer postId) {
+        this.postId = postId;
+    }
+}

+ 19 - 0
mec-client-api/src/main/java/com/ym/mec/oa/fallback/OaFeignServiceFallback.java

@@ -0,0 +1,19 @@
+package com.ym.mec.oa.fallback;
+
+import com.ym.mec.common.entity.*;
+import com.ym.mec.oa.OaFeignService;
+import com.ym.mec.oa.entity.OAUser;
+import org.springframework.stereotype.Component;
+
+@Component
+public class OaFeignServiceFallback implements OaFeignService {
+    @Override
+    public Object register(OAUser oaUser) {
+        return null;
+    }
+
+    @Override
+    public void update(ImUserModel userModel) {
+    }
+
+}