Commit 0cfcb633 authored by yajun.zhang's avatar yajun.zhang

查询用户

parent 68b51b47
......@@ -5,13 +5,19 @@ import cn.quantgroup.customer.rest.vo.JsonResult;
import cn.quantgroup.customer.rest.vo.thirdworkorder.ThirdWorkOrderVo;
import cn.quantgroup.customer.service.IThirdWorkOrderService;
import cn.quantgroup.customer.service.IWorkOrderService;
import cn.quantgroup.third.customer.entity.LhpdsSysUser;
import cn.quantgroup.third.customer.repo.LhpdsCustomer2Repo;
import cn.quantgroup.third.customer.repo.LhpdsSysUserRepo;
import java.rmi.MarshalledObject;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.function.Function;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.persistence.EntityManager;
import javax.persistence.Query;
......@@ -40,7 +46,8 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService {
@Autowired
private LhpdsCustomer2Repo customer2Repo;
@Autowired
private LhpdsSysUserRepo lhpdsSysUserRepo;
@Autowired
@Qualifier("entityManagerSecondary")
private EntityManager entityManager;
......@@ -97,20 +104,39 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService {
List<Object[]> result = nativeQuery.getResultList();
Query countQuery = entityManager.createNativeQuery(countSql.toString());
Object count = countQuery.getSingleResult();
Set<String> userSet = new HashSet<>();
for (Object[] objects : result){
if (objects[1] != null){
userSet.add(objects[1].toString());
}
if (objects[2] != null){
userSet.add(objects[2].toString());
}
}
//查询用户名称
List<LhpdsSysUser> userList = lhpdsSysUserRepo.getUserByAccountIdList(new ArrayList<>(userSet));
Map<String,String> userNameMap = userList.stream().collect(
Collectors.toMap(LhpdsSysUser::getAccountId, LhpdsSysUser::getNickname,(key1,key2)->key2));
List<ThirdWorkOrderVo> resultList = new ArrayList<>();
for (Object[] objects : result){
ThirdWorkOrderVo vo = new ThirdWorkOrderVo();
vo.setId(Long.parseLong(objects[0].toString()));
if (objects[1] != null){
vo.setCreateUser(objects[1].toString());
String name = userNameMap.get(objects[1].toString());
name = StringUtils.isBlank(name) ? objects[1].toString():objects[1].toString()+"("+userNameMap.get(objects[1].toString())+")";
vo.setCreateUser(name);
}
if (objects[2] != null){
vo.setAcceptUser(String.valueOf(objects[2]));
String name = userNameMap.get(objects[2].toString());
name = StringUtils.isBlank(name) ? objects[2].toString():objects[2].toString()+"("+userNameMap.get(objects[2].toString())+")";
vo.setAcceptUser(name);
}
if (objects[3] != null){
vo.setOrderId(objects[3].toString());
}
if (objects[4] != null){
vo.setProblemDesc(objects[4].toString());
}
......
......@@ -10,6 +10,7 @@ import javax.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
......@@ -20,65 +21,156 @@ import lombok.ToString;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class LhpdsSysUser {
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
// 用户编号
private Long id;
// 用户帐号
@Column(name = "account_id")
private String accountId;
// 用户昵称(在线字段)
@Column(name = "nickname")
private String nickname;
// 用户姓名
@Column(name = "username")
private String username;
// 用户密码
@Column(name = "password")
private String password;
// 盐值
private String field11;
@Column(name = "salt")
private String salt;
// 用户类型(1-普通用户 2-在线用户 3-坐席用户 4-在线+坐席)
@Column(name = "user_type")
private Integer userType;
// 用户等级(在线字段 取值1-5)
@Column(name = "level")
private Integer level;
// 创建时间
@Column(name = "create_time")
private Date createTime;
// 创建人员
@Column(name = "create_user")
private String createUser;
// 更新时间
@Column(name = "update_time")
private Date updateTime;
// 更新人员
@Column(name = "update_user")
private String updateUser;
// 是否首次登录(默认为0 0-首次登录 1-不是首次登录)
@Column(name = "is_first_login")
private Integer isFirstLogin;
// 错误密码次数(默认值为0)
@Column(name = "login_fail_count")
private Integer loginFailCount;
// 登录超限锁定时间
@Column(name = "login_locking_time")
private Date loginLockingTime;
// 最大同时会话量(在线字段 取值0-100)
@Column(name = "max_current_session_count")
private Integer maxCurrentSessionCount;
// 状态(默认为0,0-启用 1-禁用 2-删除)
@Column(name = "status")
private Integer status;
// 预留字段01 to field20
// 预留字段01
@Column(name = "field01")
private String field01;
// 预留字段02
@Column(name = "field02")
private String field02;
// 预留字段03
@Column(name = "field03")
private String field03;
// 预留字段04
@Column(name = "field04")
private String field04;
// 预留字段05
@Column(name = "field05")
private String field05;
// 预留字段06
@Column(name = "field06")
private String field06;
// 预留字段07
@Column(name = "field07")
private String field07;
// 预留字段08
@Column(name = "field08")
private String field08;
// 预留字段09
@Column(name = "field09")
private String field09;
// 预留字段10
@Column(name = "field10")
private String field10;
// 预留字段11
@Column(name = "field11")
private String field11;
// 预留字段12
@Column(name = "field12")
private String field12;
// 预留字段13
@Column(name = "field13")
private String field13;
// 预留字段14
@Column(name = "field14")
private String field14;
// 预留字段15
@Column(name = "field15")
private String field15;
// 预留字段16
@Column(name = "field16")
private String field16;
// 预留字段17
@Column(name = "field17")
private String field17;
// 预留字段18
@Column(name = "field18")
private String field18;
// 预留字段19
@Column(name = "field19")
private String field19;
// 预留字段20
@Column(name = "field20")
private String field20;
// Constructors, getters, and setters
}
package cn.quantgroup.third.customer.repo;
import cn.quantgroup.customer.rest.vo.thirdworkorder.ThirdWorkOrderVo;
import cn.quantgroup.third.customer.entity.LhpdsCustomer2;
import java.util.List;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
public interface LhpdsCustomer2Repo extends JpaRepository<LhpdsCustomer2, Long> , JpaSpecificationExecutor<LhpdsCustomer2> {
/* @Query(value = "SELECT new cn.quantgroup.customer.rest.vo.thirdworkorder.ThirdWorkOrderVo (lc.id,lwpi.processInstanceId,lc.field10,lc.createUser,"
+ "assignee.assignee,lwpi.priority,lwpi.global_state,lc.field17)"
+ "FROM LhpdsCustomer2 lc left join WorkflowProcessInstance lwpi on lc .id =lwpi.dataId "
+ "left join WorkflowProcessInstanceTaskAssignee assignee "
+ "on lwpi.processInstanceId = assignee.processInstanceId and assignee.taskName ='处理工单' and assignee.state =0", nativeQuery = true)
Page<ThirdWorkOrderVo> findWorkOrder(String a,Pageable pageable);
*/
/* @Query(value = "SELECT new cn.quantgroup.customer.rest.vo.thirdworkorder.ThirdWorkOrderVo ()"
+ "lc.id,lc.create_user,assignee.assignee ,lc.field10 orderId,lc.field17 problemDesc,lwpi.process_instance_id ,lwpi.priority ,lwpi.global_state "
+ "FROM lhpds_customer_2 lc left join lhpds_workflow_process_instance lwpi on lc .id =lwpi.data_id "
+ "left join lhpds_workflow_process_instance_task_assignee assignee "
+ "on lwpi.process_instance_id = assignee.process_instance_id and assignee.task_name ='处理工单' and assignee.state =0", nativeQuery = true)
Page<ThirdWorkOrderVo> findWorkOrder(String a,Pageable pageable);*/
}
package cn.quantgroup.third.customer.repo;
import cn.quantgroup.third.customer.entity.LhpdsSysUser;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
public interface LhpdsSysUserRepo extends JpaRepository<LhpdsSysUser, Long> , JpaSpecificationExecutor<LhpdsSysUser> {
@Query(value = "select * from lhpds_sys_user where account_id IN :accountIds", nativeQuery = true)
List<LhpdsSysUser> getUserByAccountIdList(@Param("accountIds") List<String> accountIds);
}
package cn.quantgroup.third.customer.repo;
import cn.quantgroup.customer.rest.vo.thirdworkorder.ThirdWorkOrderVo;
import cn.quantgroup.third.customer.entity.LhpdsCustomer2;
import cn.quantgroup.third.customer.entity.WorkflowProcessInstance;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
public interface WorkflowProcessInstanceRepo extends JpaRepository<WorkflowProcessInstance, Long> , JpaSpecificationExecutor<WorkflowProcessInstance> {
}
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