Commit ebf0cbec authored by 赵啸非's avatar 赵啸非

添加用户同步接口

parent 53513f8f
package com.mortals.xhx.common.pdu.user;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 用户信息
*
* @author: zxfei
* @date: 2022/5/30 10:46
*/
@Data
public class UserPdu implements Serializable {
/**
* 用户Id
*/
private Long id;
/**
* 登录名
*/
private String loginName;
/**
* 登录密码,使用md5双次加密
*/
private String loginPwd;
/**
* 登录限制地址,多个IP地址用逗号分隔,可以使用IP段匹配,如:172.17.*非空:则只能该值内的IP可以登录
*/
private String loginLimitAddress;
/**
* 用户名
*/
private String realName;
/**
* 用户手机号
*/
private String mobile;
/**
* 用户联系电话
*/
private String phone;
/**
* 用户邮箱
*/
private String email;
/**
* QQ号码
*/
private String qq;
/**
* 用户类型,0:系统用户 1:普通用户 2:工作人员,默认2
*/
private Integer userType;
/**
* 所属站点id,多个逗号分隔
*/
private String siteIds;
/**
* 用户状态,0:停用,1:正常,2:冻结,3:销户,4:离职,默认1
*/
private Integer status;
/**
* 客户ID
*/
private Long customerId;
/**
* 创建用户名称
*/
private String createUserName;
/**
* 最后一次登录时间
*/
private Date lastLoginTime;
/**
* 最后一次登录地址
*/
private String lastLoginAddress;
}
package com.mortals.xhx.feign.flowable;
import com.mortals.xhx.feign.IFeign;
import com.mortals.xhx.feign.req.BaseUserQuery;
import com.mortals.xhx.feign.req.BaseUserReq;
import com.mortals.xhx.feign.rsp.ApiResp;
import com.mortals.xhx.feign.rsp.UserRsp;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
* 用户服务
*
* @author: zxfei
* @date: 2022/5/30 10:40
*/
@FeignClient(name = "portal-manager", path = "/m")
public interface IApiUserFeign extends IFeign {
/**
* 查询用户列表
*
* @param req
* @return
*/
@PostMapping("/api/user/findAllUser")
ApiResp<UserRsp> findAllUser(@RequestBody BaseUserReq<BaseUserQuery> req);
}
package com.mortals.xhx.feign.req;
import lombok.Data;
import java.util.List;
/**
* 基础Query
*
* @author: zxfei
* @date: 2021/8/24 20:42
*/
@Data
public class BaseUserQuery {
/**
* 用户登录名
*/
private String loginName;
}
package com.mortals.xhx.feign.req;
import com.mortals.xhx.common.pdu.api.Page;
import lombok.Data;
/**
* 流程通用Req
*
* @author: zxfei
* @date: 2021/8/24 20:40
*/
@Data
public class BaseUserReq<T> {
/**
* 分页对象
*/
private Page page;
/**
* 列表查询对象
*/
private T query;
}
......@@ -2,9 +2,6 @@ package com.mortals.xhx.feign.rsp;
import lombok.Data;
/**
* @author karlhoo
*/
@Data
public class ApiResp<T> {
/**
......
package com.mortals.xhx.feign.rsp;
import com.mortals.xhx.common.pdu.api.Page;
import com.mortals.xhx.common.pdu.flow.FlowTaskPdu;
import com.mortals.xhx.common.pdu.user.UserPdu;
import lombok.Data;
import java.util.List;
/**
* 用户列表详细返回
*
* @author: zxfei
* @date: 2021/8/24 20:51
*/
@Data
public class UserRsp {
private Page page;
private List<UserPdu> list;
}
package com.mortals.xhx.busiz.rsp;
import com.mortals.xhx.common.code.YesNoEnum;
import lombok.Data;
/**
* @author karlhoo
*/
@Data
public class ApiResp<T> {
/**
* 结果编码
*/
private int code;
/**
* 结果描述
*/
private String msg;
/**
* 响应数据
*/
private T data;
public boolean isSuccess() {
if (YesNoEnum.YES.getValue() == code) {
return true;
}
return false;
}
}
package com.mortals.xhx.busiz.web;
import com.alibaba.fastjson.JSONObject;
import com.mortals.framework.model.PageInfo;
import com.mortals.xhx.busiz.rsp.ApiResp;
import com.mortals.xhx.common.code.ApiRespCodeEnum;
import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.common.pdu.user.UserPdu;
import com.mortals.xhx.common.utils.BeanUtil;
import com.mortals.xhx.feign.req.BaseUserQuery;
import com.mortals.xhx.feign.req.BaseUserReq;
import com.mortals.xhx.feign.rsp.UserRsp;
import com.mortals.xhx.module.user.model.UserQuery;
import com.mortals.xhx.module.user.service.UserService;
import lombok.extern.apachecommons.CommonsLog;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.stream.Collectors;
/**
* 用户对外服务接口
*
* @author: zxfei
* @date: 2022/5/30 11:04
*/
@RestController
@CommonsLog
@RequestMapping("/api/user")
public class UserApiController {
@Autowired
private UserService userService;
/**
* 用户列表
* @param req
* @return
*/
@PostMapping("/findAllUser")
public ApiResp<UserRsp> findAllUser(@RequestBody BaseUserReq<BaseUserQuery> req) {
ApiResp<UserRsp> rsp = new ApiResp<>();
rsp.setMsg(ApiRespCodeEnum.SUCCESS.getLabel());
rsp.setCode(ApiRespCodeEnum.SUCCESS.getValue());
PageInfo page = new PageInfo();
page.setPrePageResult(-1);
UserRsp userRsp = new UserRsp();
try {
if (!ObjectUtils.isEmpty(req.getPage())) {
page.setPrePageResult(req.getPage().getPer() == 0 ? -1 : req.getPage().getPer());
page.setCurrPage(req.getPage().getSize() == 0 ? 1 : req.getPage().getSize());
}
UserQuery userQuery = new UserQuery();
BeanUtils.copyProperties(req.getQuery(), userQuery, BeanUtil.getNullPropertyNames(req.getQuery()));
List<UserPdu> collect = userService.find(userQuery, page, null).getList().stream().map(item -> {
UserPdu userPdu = new UserPdu();
BeanUtils.copyProperties(item, userPdu, BeanUtil.getNullPropertyNames(item));
return userPdu;
}).collect(Collectors.toList());
userRsp.setList(collect);
userRsp.setPage(req.getPage());
} catch (Exception e) {
log.error("获取用户列表异常", e);
rsp.setCode(YesNoEnum.NO.getValue());
rsp.setMsg(e.getMessage());
return rsp;
}
rsp.setData(userRsp);
log.info("响应【用户列表】【响应体】--> " + JSONObject.toJSONString(rsp));
return rsp;
}
}
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