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()); } } }