From cb94ff4f0a46eb74c21dd7b34b8d958ef9a9f11c Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期一, 02 二月 2026 09:05:28 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/zbom_dianjiang

---
 server/web/src/main/java/com/doumee/api/web/LoginController.java |  105 +++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 99 insertions(+), 6 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 0015f4f..80b7ca5 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,11 +2,16 @@
 
 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;
+import com.doumee.config.jwt.JwtTokenUtil;
 import com.doumee.core.annotation.excel.ExcelExporter;
 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;
@@ -14,12 +19,20 @@
 import com.doumee.core.utils.HttpsUtil;
 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;
@@ -34,6 +47,7 @@
 import java.net.URLEncoder;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 import java.util.UUID;
 
 /**
@@ -41,24 +55,35 @@
  * @date 2025/07/09 12:00
  */
 @Api(tags = "web鐧诲綍鐩稿叧鎺ュ彛")
+@Trace(exclude = true)
 @RestController
-@RequestMapping("/web")
+@RequestMapping("/web/login")
 @Slf4j
-public class LoginController extends BaseController {
+public class LoginController extends ApiController {
 
     @Autowired
     private CategoryService categoryService;
 
     @Autowired
+    private JwtTokenUtil jwtTokenUtil;
+
+    @Autowired
     private SystemDictDataBiz systemDictDataBiz;
 
+    @Autowired
+    private MemberService memberService;
+
+    @Autowired
+    private DingTalk dingTalk;
+
+
     @ApiOperation("UK鍗曠偣鐧诲綍")
-    @RequestMapping("/ukLogin")
+    @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";
         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));
@@ -80,10 +105,27 @@
             log.error("ticket鎺ュ彛璇锋眰閿欒锛�" + e.getMessage());
             response.sendRedirect(errorUrl + "?title=" + enCode("鐧婚檰閿欒") + "&msg=" + enCode("绯荤粺绻佸繖锛岃绋嶅悗閲嶈瘯~"));
             return;
-        }
+        }*/
         requestParam.setRediUrl("http://localhost:10087/#/login");
-        String token = UUID.randomUUID().toString()+"_doumee";
+        WebLoginUserVO loginUserVO = new WebLoginUserVO();
+        loginUserVO.setId("123");
+        loginUserVO.setRoleType("admin");
+        loginUserVO.setZhanqu("1");
+        String token = jwtTokenUtil.generateToken(loginUserVO);
         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);
     }
 
 
@@ -99,5 +141,56 @@
         return str;
     }
 
+    @LoginRequired
+    @ApiOperation("鑰佸笀鍒嗛〉鏌ヨ")
+    @PostMapping("/memberPage")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+    })
+    public ApiResponse<PageData<Member>> memberPage(@RequestBody PageWrap<Member> pageWrap) {
+        WebLoginUserVO loginUserVO = this.getMemberResponse();
+        pageWrap.getModel().setQueryUserRole(loginUserVO.getRoleType());
+        pageWrap.getModel().setQueryZQCode(loginUserVO.getZhanqu());
+        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);
+    }
+
+
+
+    @LoginRequired
+    @ApiOperation("鑰佸笀璇︽儏")
+    @GetMapping("/memberDetail")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+    })
+    public ApiResponse<Member> memberPage(@RequestParam Integer id) {
+        WebLoginUserVO loginUserVO = this.getMemberResponse();
+        return ApiResponse.success(memberService.findDetailById(id,loginUserVO.getRoleType()));
+    }
+
+
+    @LoginRequired
+    @ApiOperation("鍒嗙被淇℃伅鏌ヨ")
+    @GetMapping("/categoryList")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+    })
+    public ApiResponse<List<Category>> categoryList(@RequestParam Integer type) {
+        return ApiResponse.success(categoryService.getCategoryList(type));
+    }
+
+
+
+
+
 
 }

--
Gitblit v1.9.3