Код: Выделить всё
@GetMapping("/v8/searchWithDate")
public ResponseEntity userSearchWithDateFilter
(@RequestHeader Map headers, @RequestParam("startDate") @DateTimeFormat(pattern="yyyy-MM-dd") Date startDate, @RequestParam("endDate") @DateTimeFormat(pattern="yyyy-MM-dd") Date endDate, @RequestParam("managerStatus") String managerStatus, @RequestParam("accountStatus") String accountStatus)
throws JsonProcessingException {
List usersPropsList = null;
String json = null;
String beginDate;
String finalDate;
Format formatter = new SimpleDateFormat("yyyyMMddHHmmss.SSS'Z'");;
beginDate = formatter.format(startDate);
finalDate = formatter.format(endDate);
usersPropsList = ldapClient.searchUserWithDate(null, beginDate, finalDate, managerStatus, accountStatus);
int count = usersPropsList.size();
json = new ObjectMapper().writeValueAsString(usersPropsList);
if (json == null || json.isEmpty()) {
return new ResponseEntity( "{ \"error\": {\"message\": \" Not Found \",\"content\" :" + json + " }}", HttpStatus.NOT_FOUND);
}
// return new ResponseEntity( "{ \"data\": " + json + " }", HttpStatus.OK);
return new ResponseEntity( "{ \"data\": " + json + ", \"count\": " + count + " }", HttpStatus.OK);
}
Код: Выделить всё
public List searchUserWithDate(String attribPattern, String startDate, String endDate, String managerStatus, String accountStatus) {
if (attribPattern == null) {
attribPattern = "+"; //else: "memberOf"
}
if (Objects.equals(accountStatus, "1")) {
accountStatus = "FALSE";
} else {
accountStatus = "TRUE";
}
List finalList = new ArrayList() ;
try {
String baseDN = buildDNbyCN().get("ldapAccountDN").toString();
// (baseDN == null) ? "" : baseDN
List foundObj = ldapTemplate.search(
LdapQueryBuilder.query().base((baseDN == null) ? "" : baseDN).attributes("*",attribPattern.toString()).where("objectclass").like("*")
.and(LdapQueryBuilder.query()
.where("createTimestamp").gte(startDate)
.and("createTimestamp").lte(endDate)
.and("pwdLockout").is(accountStatus)
.and("employeeType").is(managerStatus))
,
(AttributesMapper) attrs
-> {
SearchResponse searchResponse = getObjectAttrs(attrs);
Map ss = new HashMap();
// NOTE: If UID is not present it will be assigned with APPUID value (assuming appuid is not null)
String uid = "", appuid="";
if (attrs.get("appuid") != null) {
appuid = attrs.get("appuid").get().toString();
} else {
appuid = "";
}
if (attrs.get("uid") != null) {
uid = attrs.get("uid").get().toString();
}
if (uid != null && uid != "") {
finalList.add(searchResponse);
}
ss = searchResponse.getProperties();
return ss;
}
);
} catch (Exception allExc) {
LOG.error("=> (Error )" + allExc.getMessage());
throw new RuntimeException(allExc);
}
return finalList;
}
Подробнее здесь: https://stackoverflow.com/questions/784 ... spring-boo