package cn.huge.module.ctuser.controller.web;
|
|
import cn.huge.base.common.bo.ReturnBO;
|
import cn.huge.base.common.utils.ReturnFailUtils;
|
import cn.huge.base.common.utils.ReturnSucUtils;
|
import cn.huge.base.config.CurrentUser;
|
import cn.huge.module.constant.BaseConsts;
|
import cn.huge.module.ctuser.domain.po.CtAccount;
|
import cn.huge.module.ctuser.domain.po.CtUnit;
|
import cn.huge.module.ctuser.dto.CtAccountLoginDTO;
|
import cn.huge.module.ctuser.dto.CtCipherDTO;
|
import cn.huge.module.ctuser.service.CtAccountService;
|
import cn.huge.module.sys.dto.GridTokenBaseDTO;
|
import cn.huge.module.utils.JwtUtils;
|
import com.google.common.collect.Maps;
|
import lombok.extern.slf4j.Slf4j;
|
import org.apache.commons.lang3.StringUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.PageRequest;
|
import org.springframework.data.domain.Sort;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.stream.Collectors;
|
import java.util.stream.Stream;
|
|
/**
|
* @title: 客户用户账号表接口api-web端-web端
|
* @description: 客户用户账号表接口api-web端-web端
|
* @company: hugeinfo
|
* @author: liyj
|
* @time: 2024-08-19 20:04:18
|
* @version: 1.0.0
|
*/
|
@Slf4j
|
@RestController
|
@RequestMapping("/api/web/ctAccount")
|
public class CtAccountWebController {
|
|
@Autowired(required = false)
|
private HttpServletRequest request;
|
|
@Autowired
|
private CtAccountService service;
|
|
/**
|
* web端-工作人员-用户登录
|
* @url {ctx}/api/web/ctAccount/login
|
* @param ctAccountLoginDTO 登录对象
|
* @return Object
|
*/
|
@PostMapping(value = "login")
|
public Object login(@RequestBody CtAccountLoginDTO ctAccountLoginDTO) {
|
try {
|
ReturnBO returnBO = service.webLogin(ctAccountLoginDTO);
|
return returnBO;
|
} catch (Exception e) {
|
return ReturnFailUtils.getRepInfo(e.getMessage());
|
}
|
}
|
|
/**
|
* web端-工作人员-用户选择/切换角色
|
* @url {ctx}/api/web/ctAccount/switchRole
|
* @return Object
|
*/
|
@GetMapping(value = "switchRole")
|
public Object switchRole(@RequestParam(value = "roleCode") String roleCode, @CurrentUser String userId) {
|
try {
|
StringBuffer result = new StringBuffer();
|
if (userId.indexOf(BaseConsts.AND) != -1){
|
String[] userIds = userId.split(BaseConsts.AND);
|
result.append(userIds[0]).append(BaseConsts.AND).append(roleCode);
|
}else {
|
result.append(userId).append(BaseConsts.AND).append(roleCode);
|
}
|
return ReturnSucUtils.getRepInfo(JwtUtils.buildJWT(result.toString()));
|
} catch (Exception e) {
|
return ReturnFailUtils.getRepInfo();
|
}
|
}
|
|
/**
|
* web端-工作人员-修改密码
|
* @url {ctx}/api/web/ctAccount/changeCipher
|
* @param ctCipherDTO 修改密码对象
|
* @return Object
|
*/
|
@PostMapping(value = "changeCipher")
|
public Object changeCipher(@CurrentUser String userId, @RequestBody CtCipherDTO ctCipherDTO) {
|
try {
|
return service.webChangeCipher(userId, ctCipherDTO);
|
} catch (Exception e) {
|
return ReturnFailUtils.getRepInfo();
|
}
|
}
|
|
/**
|
* web端-网格系统单点登录
|
* @url {ctx}/api/web/ctAccount/gridLogin
|
* @param gridTokenBaseDTO 网格系统token
|
* @return Object
|
*/
|
@PostMapping(value = "gridLogin")
|
public Object gridLogin(@RequestBody GridTokenBaseDTO gridTokenBaseDTO) {
|
try {
|
ReturnBO returnBO = service.webGridLogin(gridTokenBaseDTO);
|
return returnBO;
|
} catch (Exception e) {
|
return ReturnFailUtils.getRepInfo(e.getMessage());
|
}
|
}
|
|
}
|