Commit 1ac4cb18 authored by 赵啸非's avatar 赵啸非

添加用户同步接口

parent f1f693b5
package com.mortals.xhx.daemon.task;
import com.alibaba.fastjson.JSON;
import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.service.ITask;
import com.mortals.framework.service.ITaskExcuteService;
import com.mortals.xhx.base.system.user.model.UserEntity;
import com.mortals.xhx.base.system.user.service.UserService;
import com.mortals.xhx.common.pdu.RespData;
import com.mortals.xhx.common.pdu.user.UserPdu;
import com.mortals.xhx.common.utils.BeanUtil;
import com.mortals.xhx.feign.user.IUserFeign;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtilsBean;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.util.List;
/**
* 同步用户
*/
@Slf4j
@Service("SyncUserTask")
public class SyncUserTaskImpl implements ITaskExcuteService {
@Autowired
private IUserFeign userFeign;
@Autowired
private UserService userService;
@Override
public void excuteTask(ITask task) throws AppException {
UserPdu userPdu = new UserPdu();
userPdu.setPage(1);
userPdu.setSize(-1);
Rest<RespData<List<UserPdu>>> list = userFeign.list(userPdu);
//更新本地用户信息,并且更新用户树
list.getData().getData().forEach(user -> {
//查询用户是否存在,
UserEntity userEntity = userService.get(user.getId());
if (ObjectUtils.isEmpty(userEntity)) {
//新增
UserEntity entity = new UserEntity();
entity.initAttrValue();
BeanUtils.copyProperties(user, entity, BeanUtil.getNullPropertyNames(user));
userService.save(entity);
}
});
// log.info("syncUserResp:{}", JSON.toJSONString(list));
// return;
// UserPdu userPdu = new UserPdu();
// userPdu.setPage(1);
// userPdu.setSize(-1);
// String resp = userFeign.findAllUser(userPdu);
// log.info("resp:{}",resp);
// JSONObject jsonObject = JSONObject.parseObject(resp);
// if (jsonObject.getInteger("code") == 1) {
// List<UserPdu> userList = jsonObject.getJSONObject("data").getObject("data", new TypeReference<List<UserPdu>>() {
// });
//
// log.info("userList:{}", JSON.toJSONString(userList));
//
// }
}
@Override
public void stopTask(ITask task) throws AppException {
}
}
package com.mortals.xhx.common.pdu;
import com.mortals.framework.model.PageInfo;
import lombok.Data;
/**
* @author: zxfei
* @date: 2022/7/13 14:17
* @description:
**/
@Data
public class RespData<T> {
private T data;
private T entity;
private PageInfo pageInfo;
public static void main(String[] args) {
String resp="";
//JSON.parseObject()
}
}
package com.mortals.xhx.feign.user;
import com.mortals.xhx.common.pdu.RespData;
import com.mortals.xhx.common.pdu.user.UserPdu;
import com.alibaba.fastjson.JSON;
import com.mortals.framework.common.Rest;
import com.mortals.xhx.common.pdu.user.UserPdu;
import com.mortals.xhx.feign.IFeign;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
......@@ -10,6 +11,8 @@ import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 用户信息业务 Feign接口
* @author zxfei
......@@ -26,7 +29,7 @@ public interface IUserFeign extends IFeign {
* @return
*/
@PostMapping(value = "/user/list")
String list(@RequestBody UserPdu userPdu);
Rest<RespData<List<UserPdu>>> list(@RequestBody UserPdu userPdu);
/**
......@@ -36,7 +39,7 @@ public interface IUserFeign extends IFeign {
* @return
*/
@GetMapping(value = "/user/info")
String info(@RequestParam(value = "id") Long id);
Rest<UserPdu> info(@RequestParam(value = "id") Long id);
/**
* 删除用户信息业务
......@@ -45,7 +48,7 @@ public interface IUserFeign extends IFeign {
* @return
*/
@GetMapping(value = "/user/delete")
String delete(Long[] ids,@RequestHeader("Authorization") String authorization);
Rest<Void> delete(Long[] ids,@RequestHeader("Authorization") String authorization);
/**
......@@ -55,17 +58,13 @@ public interface IUserFeign extends IFeign {
* @return
*/
@PostMapping(value = "/user/save")
String save(@RequestBody UserPdu userPdu,@RequestHeader("Authorization") String authorization);
Rest<RespData<UserPdu>> save(@RequestBody UserPdu userPdu,@RequestHeader("Authorization") String authorization);
@PostMapping(value = "/login/login")
String portalLogin(@RequestBody UserPdu userPdu);
/**
* 查询用户列表
*
* @param userPdu
* @return
*/
@PostMapping("/api/user/findAllUser")
String findAllUser(@RequestBody UserPdu userPdu);
}
......@@ -77,28 +76,28 @@ class UserFeignFallbackFactory implements FallbackFactory<IUserFeign> {
public IUserFeign create(Throwable t) {
return new IUserFeign() {
@Override
public String list(UserPdu userPdu) {
return JSON.toJSONString(Rest.fail("暂时无法获取用户信息业务列表,请稍后再试!"));
public Rest<RespData<List<UserPdu>>> list(UserPdu userPdu) {
return Rest.fail("暂时无法获取用户信息业务列表,请稍后再试!");
}
@Override
public String info(Long id) {
return JSON.toJSONString(Rest.fail("暂时无法获取用户信息业务详细,请稍后再试!"));
public Rest<UserPdu> info(Long id) {
return Rest.fail("暂时无法获取用户信息业务详细,请稍后再试!");
}
@Override
public String delete(Long[] ids, String authorization) {
return JSON.toJSONString(Rest.fail("暂时无法删除用户信息业务,请稍后再试!"));
public Rest<Void> delete(Long[] ids, String authorization) {
return Rest.fail("暂时无法删除用户信息业务,请稍后再试!");
}
@Override
public String save(UserPdu userPdu, String authorization) {
return JSON.toJSONString(Rest.fail("暂时无法保存用户信息业务,请稍后再试!"));
public Rest<RespData<UserPdu>> save(UserPdu userPdu, String authorization) {
return Rest.fail("暂时无法保存用户信息业务,请稍后再试!");
}
@Override
public String findAllUser(UserPdu userPdu) {
return JSON.toJSONString(Rest.fail("暂时无法获取用户信息业务列表,请稍后再试!"));
public String portalLogin(UserPdu userPdu) {
return JSON.toJSONString(Rest.fail("登录失败!"));
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment