From 8d8ff48ab58d1a8bd7f2308335e8593e55b91d19 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期一, 02 二月 2026 10:30:07 +0800
Subject: [PATCH] 功能开发
---
server/web/src/main/java/com/doumee/api/web/LoginController.java | 42 ++++++++++++++++++++++++++++++++++++++----
1 files changed, 38 insertions(+), 4 deletions(-)
diff --git a/server/web/src/main/java/com/doumee/api/web/LoginController.java b/server/web/src/main/java/com/doumee/api/web/LoginController.java
index e4a8040..33cc68b 100644
--- a/server/web/src/main/java/com/doumee/api/web/LoginController.java
+++ b/server/web/src/main/java/com/doumee/api/web/LoginController.java
@@ -2,6 +2,7 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
+import com.dingtalk.api.response.OapiV2UserGetuserinfoResponse;
import com.doumee.api.BaseController;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.config.annotation.LoginRequired;
@@ -10,6 +11,7 @@
import com.doumee.core.annotation.pr.PreventRepeat;
import com.doumee.core.annotation.trace.Trace;
import com.doumee.core.constants.Constants;
+import com.doumee.core.dingTalk.DingTalk;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
@@ -18,16 +20,18 @@
import com.doumee.dao.business.dto.LoginRequestNewParam;
import com.doumee.dao.business.model.Category;
import com.doumee.dao.business.model.Member;
+import com.doumee.dao.system.dto.DingLoginDTO;
import com.doumee.dao.system.model.SystemJob;
import com.doumee.dao.vo.WebLoginUserVO;
import com.doumee.service.business.CategoryService;
import com.doumee.service.business.MemberService;
-import com.sun.deploy.net.HttpUtils;
+import com.taobao.api.ApiException;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
@@ -42,6 +46,7 @@
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
+import java.util.Objects;
import java.util.UUID;
/**
@@ -67,14 +72,17 @@
@Autowired
private MemberService memberService;
+ @Autowired
+ private DingTalk dingTalk;
+
@ApiOperation("UK鍗曠偣鐧诲綍")
@GetMapping("/ukLogin")
public void ukLogin(String tick, Object obj, HttpServletRequest request, HttpServletResponse response) throws Exception {
LoginRequestNewParam requestParam = new LoginRequestNewParam();
- /*// UK_ERROR_URL = "http://u.zhibang.com/sso/web/token/error";
+ // UK_ERROR_URL = "http://u.zhibang.com/sso/web/token/error";
String errorUrl =systemDictDataBiz.queryByCode(Constants.ZBOM_PARAM,Constants.ZBOM_UK_ERROR_URL).getCode();
- try {
+ /* try {
log.error("璇锋眰鍙傛暟TICK鏈�鍘熷===========锛�" + tick);
JSONObject urlParams = new JSONObject();
log.info("璇锋眰鍙傛暟锛�" + JSON.toJSONString(urlParams));
@@ -106,6 +114,19 @@
response.sendRedirect(requestParam.getRediUrl()+"?token="+token);
}
+ @ApiOperation("閽夐拤鐧诲綍")
+ @PostMapping("/ddLogin")
+ public ApiResponse<WebLoginUserVO> ddLogin(@Validated @RequestBody DingLoginDTO dingLoginDTO) throws ApiException {
+ WebLoginUserVO loginUserVO = new WebLoginUserVO();
+ OapiV2UserGetuserinfoResponse.UserGetByCodeResponse response = dingTalk.getDDUserByCode(dingLoginDTO);
+ if(Objects.nonNull(response)){
+ loginUserVO.setId(response.getUserid());
+ loginUserVO.setRoleType(Constants.DD_USER_TYPE);
+ }
+ loginUserVO.setToken(jwtTokenUtil.generateToken(loginUserVO));
+ return ApiResponse.success(loginUserVO);
+ }
+
private String enCode(String string) {
// TODO Auto-generated method stub
@@ -129,7 +150,17 @@
WebLoginUserVO loginUserVO = this.getMemberResponse();
pageWrap.getModel().setQueryUserRole(loginUserVO.getRoleType());
pageWrap.getModel().setQueryZQCode(loginUserVO.getZhanqu());
- return ApiResponse.success(memberService.findPage(pageWrap));
+ PageData<Member> pageData = memberService.findPage(pageWrap);
+ if(CollectionUtils.isNotEmpty(pageData.getRecords())){
+ String roleConfig = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.ROLE_CONFIG).getCode();
+ if(StringUtils.isBlank(roleConfig)||StringUtils.isBlank(pageWrap.getModel().getQueryUserRole())
+ || ! (roleConfig.contains(pageWrap.getModel().getQueryUserRole()) || pageWrap.getModel().getQueryUserRole().equals(Constants.DD_USER_TYPE) )){
+ pageData.getRecords().forEach(i->{
+ i.setFee(null);
+ });
+ }
+ }
+ return ApiResponse.success(pageData);
}
@@ -158,4 +189,7 @@
+
+
+
}
--
Gitblit v1.9.3