package com.ruoyi.web.controller.api;
|
|
|
import com.github.pagehelper.util.StringUtil;
|
import com.ruoyi.common.core.page.PageDomain;
|
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.station.domain.MjFingerprintReadHead;
|
import com.ruoyi.station.domain.MjHeadsUsers;
|
import com.ruoyi.station.domain.MjOrderDetail;
|
import com.ruoyi.station.service.*;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.Serializable;
|
import java.util.*;
|
import java.util.stream.Collectors;
|
import java.util.stream.Stream;
|
|
|
@RestController
|
@RequestMapping("/api")
|
public class QueryController {
|
|
@Autowired
|
private IMjFingerprintReadHeadService iMjFingerprintReadHeadService;
|
@Autowired
|
private IMjHeadsUsersService iMjHeadsUsersService;
|
@Autowired
|
private IMjTeamService iMjTeamService;
|
@Autowired
|
private IMjOrderDetailService iMjOrderDetailService;
|
@Autowired
|
private IMjWorkUserService iMjWorkUserService;
|
@Autowired
|
private IMjWorkOrderService iMjWorkOrderService;
|
|
@RequestMapping(value = "/selectInfo", method = RequestMethod.GET)
|
@ResponseBody
|
public Layui getInfo(String ip, String page, String limit){
|
//正则表达式
|
String ipChecks = "^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
|
"([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
|
"([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
|
"([01]?\\d\\d?|2[0-4]\\d|25[0-5])$";
|
|
//验证ip是否合法
|
if(StringUtil.isNotEmpty(ip)){
|
boolean matches = ip.matches(ipChecks);
|
if(!matches){
|
return Layui.data(0,null);
|
}
|
}else {
|
return Layui.data(0,null);
|
}
|
//根据IP获取读头ID
|
MjFingerprintReadHead mjFingerprintReadHead = iMjFingerprintReadHeadService.selectMjFingerprintReadHeadByIp(ip);
|
|
//非空验证
|
if(Objects.isNull(mjFingerprintReadHead)){
|
return Layui.data(0,null);
|
}
|
|
List<Object> list = new ArrayList<>();
|
|
List<MjHeadsUsers> mjHeadsUsersList = iMjHeadsUsersService.getAuthorizeType(mjFingerprintReadHead.getId());
|
|
for (MjHeadsUsers mjHeadsUsers : mjHeadsUsersList){
|
Map<String,Object> map = new HashMap<>();
|
if (mjHeadsUsers.getAuthorizeType() == 0){
|
String groupName = iMjTeamService.getName(mjHeadsUsers.getOrderId());
|
List<Long> userIds = iMjHeadsUsersService.getUserId(mjHeadsUsers.getOrderId());
|
List<String> userNames = iMjWorkUserService.getUserNames(userIds);
|
map.put("authorizeType",mjHeadsUsers.getAuthorizeType());
|
map.put("groupName",groupName);
|
map.put("userName",StringUtils.join(userNames.toArray(),","));
|
}else {
|
List<String> mainUserList = new ArrayList<>();
|
String groupName = iMjWorkOrderService.getOrderName(mjHeadsUsers.getOrderId());
|
String userName = iMjWorkUserService.getUserName(mjHeadsUsers.getUserId());
|
List<MjOrderDetail> mjOrderDetailList = iMjOrderDetailService.getUser(mjHeadsUsers.getOrderId());
|
//List<? extends Serializable> collect = mjOrderDetailList.stream().flatMap(e -> Stream.of(e.getUserName(), e.getMainUser())).collect(Collectors.toList());
|
// List<User> userList = mjOrderDetailList.stream().map(mjOrderDetail -> {
|
// return new User(mjOrderDetail.getUserName(), mjOrderDetail.getMainUser());
|
// }).collect(Collectors.toList());
|
for (MjOrderDetail mjOrderDetail : mjOrderDetailList) {
|
if(mjOrderDetail.getMainUser()==0){
|
mainUserList.add(mjOrderDetail.getUserName());
|
}
|
}
|
map.put("authorizeType",mjHeadsUsers.getAuthorizeType());
|
map.put("groupName",groupName);
|
map.put("userName",userName);
|
map.put("userList", StringUtils.join(mainUserList.toArray(),","));
|
}
|
list.add(map);
|
}
|
int total = list.size();
|
return Layui.data(total,list);
|
}
|
}
|