|
@@ -5,20 +5,26 @@ import cn.rankin.common.utils.api.page.Page;
|
|
|
import cn.rankin.common.utils.enums.BaseOrderEnum;
|
|
|
import cn.rankin.common.utils.enums.BaseStatusEnum;
|
|
|
import cn.rankin.common.utils.util.HttpUtil;
|
|
|
+import cn.rankin.common.utils.util.ListUtil;
|
|
|
import cn.rankin.common.utils.util.ProvinceUtil;
|
|
|
+import cn.rankin.data.api.auth.dto.AuthQueryDTO;
|
|
|
+import cn.rankin.data.api.auth.vo.AuthVo;
|
|
|
import cn.rankin.data.api.user.dto.TerminalUserDTO;
|
|
|
import cn.rankin.data.api.user.dto.TerminalUserSearchDTO;
|
|
|
import cn.rankin.data.api.user.entity.Campus;
|
|
|
import cn.rankin.data.api.user.entity.Merchant;
|
|
|
import cn.rankin.data.api.user.entity.TerminalDevice;
|
|
|
import cn.rankin.data.api.user.entity.TerminalUser;
|
|
|
+import cn.rankin.data.api.user.vo.TerminalUserAuthVo;
|
|
|
import cn.rankin.userservice.code.UserServiceAPICode;
|
|
|
import cn.rankin.userservice.dto.RemoteUser;
|
|
|
+import cn.rankin.userservice.proxy.RemoteAuthProxy;
|
|
|
import cn.rankin.userservice.proxy.RemoteUserProxy;
|
|
|
import cn.rankin.userservice.service.CampusService;
|
|
|
import cn.rankin.userservice.service.MerchantService;
|
|
|
import cn.rankin.userservice.service.TerminalDeviceService;
|
|
|
import cn.rankin.userservice.service.TerminalUserService;
|
|
|
+import cn.rankin.userservice.utils.Converter;
|
|
|
import cn.rankin.userservice.utils.StudentNumberUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -53,6 +59,9 @@ public class TerminalUserController {
|
|
|
private RemoteUserProxy remoteUserProxy;
|
|
|
|
|
|
@Autowired
|
|
|
+ private RemoteAuthProxy remoteAuthProxy;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
private TerminalDeviceService terminalDeviceService;
|
|
|
|
|
|
@RequestMapping(value = "/list", method = RequestMethod.GET)
|
|
@@ -116,6 +125,62 @@ public class TerminalUserController {
|
|
|
return APIResult.ok(terminalUserList);
|
|
|
}
|
|
|
|
|
|
+ @RequestMapping(value = "/auth/list", method = RequestMethod.GET)
|
|
|
+ public Page<TerminalUserAuthVo> findAuthListByCondition(TerminalUserSearchDTO terminalUserSearchDTO) {
|
|
|
+ Page<TerminalUserAuthVo> pageResult = new Page<>();
|
|
|
+ List<TerminalUserAuthVo> terminalUserAuthVos = new ArrayList<>();
|
|
|
+
|
|
|
+ //终端用户鉴权查询条件
|
|
|
+ AuthQueryDTO authQueryDTO = new AuthQueryDTO();
|
|
|
+ authQueryDTO.setPageNo(terminalUserSearchDTO.getPageNo());
|
|
|
+ authQueryDTO.setPageSize(terminalUserSearchDTO.getPageSize());
|
|
|
+
|
|
|
+
|
|
|
+ TerminalUser terminalUser = new TerminalUser();
|
|
|
+ String code = terminalUserSearchDTO.getCode();
|
|
|
+ if (!StringUtils.isEmpty(code)) {
|
|
|
+ terminalUser.setCode("%" + code + "%");
|
|
|
+ }
|
|
|
+ LinkedHashMap<String, BaseOrderEnum> sort = new LinkedHashMap<>();
|
|
|
+ sort.put("gmtModified", BaseOrderEnum.DESC);
|
|
|
+
|
|
|
+ List<TerminalUser> terminalUserList = terminalUserService.find(terminalUser, sort);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ if(CollectionUtils.isEmpty(terminalUserList)){
|
|
|
+ log.info("terminalUser list is empty!");
|
|
|
+ return pageResult;
|
|
|
+ }else if(terminalUserList.size() == 1){
|
|
|
+ //查询到唯一用户时,设置资源库查询条件 | 其他情况默认查询全部
|
|
|
+ TerminalUser user = terminalUserList.get(0);
|
|
|
+ authQueryDTO.setUid(user.getId());
|
|
|
+ }
|
|
|
+
|
|
|
+ Page<AuthVo> authPage = remoteAuthProxy.findAuthList(authQueryDTO);
|
|
|
+ List<AuthVo> authList = authPage.getList();
|
|
|
+ if(CollectionUtils.isEmpty(authList)){
|
|
|
+ log.info("authList is empty!");
|
|
|
+ return pageResult;
|
|
|
+ }
|
|
|
+
|
|
|
+ Map<String, TerminalUser> terminalUserMap = ListUtil.convert(terminalUserList, "id", TerminalUser.class);
|
|
|
+
|
|
|
+ authList.forEach(authVo -> {
|
|
|
+ TerminalUser termianlUser = terminalUserMap.get(authVo.getUid());
|
|
|
+ TerminalUserAuthVo vo = Converter.getTerminalUserAuthVo(termianlUser,authVo);
|
|
|
+ terminalUserAuthVos.add(vo);
|
|
|
+ });
|
|
|
+
|
|
|
+ //设置分页数据
|
|
|
+ pageResult.setTotalSize((int)authPage.getTotalSize());
|
|
|
+ pageResult.setList(terminalUserAuthVos);
|
|
|
+
|
|
|
+ return pageResult;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
@Transactional
|
|
|
@RequestMapping(method = RequestMethod.POST)
|
|
|
public APIResult<TerminalUser> create(HttpServletRequest request, @RequestBody @Valid TerminalUserDTO terminalUserDTO) {
|